From 212baaa88241feaf78e9ddc5d331752eeabeb409 Mon Sep 17 00:00:00 2001 From: Alec Larson <1925840+aleclarson@users.noreply.github.com> Date: Tue, 6 Aug 2024 02:59:10 -0400 Subject: [PATCH] chore: update docs --- 404.html | 80 +++++ Changes-dark.svg | 1 + Community-dark.svg | 1 + Ethos-dark.svg | 1 + Github-dark.svg | 1 + Github-large.svg | 1 + Install-dark.svg | 1 + JSR-dark.svg | 1 + Lodash-parity-dark.svg | 1 + Npm-dark.svg | 1 + assets/Swup.BAW7Fnls.js | 1 + assets/SwupA11yPlugin.BwOJ-1de.js | 1 + assets/SwupBodyClassPlugin.B8ok040w.js | 1 + assets/SwupHeadPlugin.6Q8td7LP.js | 1 + assets/SwupPreloadPlugin.Bit36d99.js | 1 + assets/SwupScriptsPlugin.f2nwucqv.js | 1 + assets/SwupScrollPlugin.rmSN6-xu.js | 1 + assets/browser-support.Dm4bF8Ee.css | 1 + assets/browser-support.QSDFT8qv.css | 1 + assets/client.CFbmdnQb.js | 2 + assets/ec.3zb7u.js | 3 + assets/ec.wnxus.css | 1 + assets/hoisted.iBdn6T_D.js | 2 + assets/hooks.module.vf81mID6.js | 1 + assets/index.modern.CtKZhHHv.js | 1 + assets/page.LpqHvsRr.js | 2 + assets/preact.module.BP4etL1N.js | 1 + assets/preload-helper.B5A3MRH_.js | 1 + assets/radashi-logo-dark@3x.BWiB2XXX.webp | Bin 0 -> 163830 bytes assets/signals.module.B8hOACSr.js | 1 + assets/tabbed-code-block.D-hdeFmn.js | 1 + assets/ui-core.BmpKj71L.js | 1 + bell.svg | 1 + browser-support/index.html | 214 ++++++++++++ changelog/index.html | 324 +++++++++++++++++++ clipboard.svg | 3 + contributing/index.html | 111 +++++++ favicon.svg | 1 + github-big.svg | 1 + index.html | 136 ++++++++ installation/index.html | 136 ++++++++ our-ethos/index.html | 124 +++++++ pagefind/fragment/en_0c51cd4.pf_fragment | Bin 0 -> 321 bytes pagefind/fragment/en_1132a24.pf_fragment | Bin 0 -> 1506 bytes pagefind/fragment/en_136b475.pf_fragment | Bin 0 -> 319 bytes pagefind/fragment/en_139eb6b.pf_fragment | Bin 0 -> 300 bytes pagefind/fragment/en_1488656.pf_fragment | Bin 0 -> 405 bytes pagefind/fragment/en_1518cb6.pf_fragment | Bin 0 -> 418 bytes pagefind/fragment/en_152440f.pf_fragment | Bin 0 -> 400 bytes pagefind/fragment/en_154e135.pf_fragment | Bin 0 -> 447 bytes pagefind/fragment/en_179c2f3.pf_fragment | Bin 0 -> 309 bytes pagefind/fragment/en_1966a63.pf_fragment | Bin 0 -> 680 bytes pagefind/fragment/en_19ef97b.pf_fragment | Bin 0 -> 526 bytes pagefind/fragment/en_1c383b1.pf_fragment | Bin 0 -> 466 bytes pagefind/fragment/en_1fa3a12.pf_fragment | Bin 0 -> 412 bytes pagefind/fragment/en_1fbe2d8.pf_fragment | Bin 0 -> 351 bytes pagefind/fragment/en_20591fb.pf_fragment | Bin 0 -> 963 bytes pagefind/fragment/en_2637a16.pf_fragment | Bin 0 -> 319 bytes pagefind/fragment/en_2671c63.pf_fragment | Bin 0 -> 864 bytes pagefind/fragment/en_26baff4.pf_fragment | Bin 0 -> 638 bytes pagefind/fragment/en_2857c2d.pf_fragment | Bin 0 -> 414 bytes pagefind/fragment/en_2e97b45.pf_fragment | Bin 0 -> 317 bytes pagefind/fragment/en_30577e3.pf_fragment | Bin 0 -> 567 bytes pagefind/fragment/en_32c9803.pf_fragment | Bin 0 -> 318 bytes pagefind/fragment/en_3918eac.pf_fragment | Bin 0 -> 3024 bytes pagefind/fragment/en_3a32beb.pf_fragment | Bin 0 -> 314 bytes pagefind/fragment/en_3b8ae19.pf_fragment | Bin 0 -> 639 bytes pagefind/fragment/en_40315b9.pf_fragment | Bin 0 -> 435 bytes pagefind/fragment/en_452f157.pf_fragment | Bin 0 -> 415 bytes pagefind/fragment/en_46a9708.pf_fragment | Bin 0 -> 304 bytes pagefind/fragment/en_4852bdb.pf_fragment | Bin 0 -> 362 bytes pagefind/fragment/en_4a9fa49.pf_fragment | Bin 0 -> 528 bytes pagefind/fragment/en_4c2a837.pf_fragment | Bin 0 -> 506 bytes pagefind/fragment/en_4dfa389.pf_fragment | Bin 0 -> 2376 bytes pagefind/fragment/en_5234d2d.pf_fragment | Bin 0 -> 436 bytes pagefind/fragment/en_5237137.pf_fragment | Bin 0 -> 339 bytes pagefind/fragment/en_552e1ff.pf_fragment | Bin 0 -> 523 bytes pagefind/fragment/en_561c4f3.pf_fragment | Bin 0 -> 402 bytes pagefind/fragment/en_581d4d7.pf_fragment | Bin 0 -> 885 bytes pagefind/fragment/en_58fa83c.pf_fragment | Bin 0 -> 344 bytes pagefind/fragment/en_5aba3f7.pf_fragment | Bin 0 -> 708 bytes pagefind/fragment/en_5ad39f4.pf_fragment | Bin 0 -> 504 bytes pagefind/fragment/en_5c4d19b.pf_fragment | Bin 0 -> 499 bytes pagefind/fragment/en_5cc01d2.pf_fragment | Bin 0 -> 407 bytes pagefind/fragment/en_5d6871c.pf_fragment | Bin 0 -> 325 bytes pagefind/fragment/en_61533e6.pf_fragment | Bin 0 -> 1075 bytes pagefind/fragment/en_63f987d.pf_fragment | Bin 0 -> 749 bytes pagefind/fragment/en_6952aaa.pf_fragment | Bin 0 -> 2475 bytes pagefind/fragment/en_69ec4c7.pf_fragment | Bin 0 -> 799 bytes pagefind/fragment/en_6a6bc2e.pf_fragment | Bin 0 -> 457 bytes pagefind/fragment/en_6c2392f.pf_fragment | Bin 0 -> 518 bytes pagefind/fragment/en_7211a31.pf_fragment | Bin 0 -> 400 bytes pagefind/fragment/en_7470966.pf_fragment | Bin 0 -> 427 bytes pagefind/fragment/en_7493951.pf_fragment | Bin 0 -> 383 bytes pagefind/fragment/en_76f1c41.pf_fragment | Bin 0 -> 376 bytes pagefind/fragment/en_77d65a4.pf_fragment | Bin 0 -> 426 bytes pagefind/fragment/en_77fcc9a.pf_fragment | Bin 0 -> 370 bytes pagefind/fragment/en_7850e44.pf_fragment | Bin 0 -> 448 bytes pagefind/fragment/en_7be5d1f.pf_fragment | Bin 0 -> 348 bytes pagefind/fragment/en_7d46d2a.pf_fragment | Bin 0 -> 451 bytes pagefind/fragment/en_7e69ae4.pf_fragment | Bin 0 -> 509 bytes pagefind/fragment/en_8193822.pf_fragment | Bin 0 -> 496 bytes pagefind/fragment/en_82b37ce.pf_fragment | Bin 0 -> 323 bytes pagefind/fragment/en_8630d57.pf_fragment | Bin 0 -> 347 bytes pagefind/fragment/en_866f716.pf_fragment | Bin 0 -> 524 bytes pagefind/fragment/en_88b4125.pf_fragment | Bin 0 -> 438 bytes pagefind/fragment/en_8b83c0e.pf_fragment | Bin 0 -> 457 bytes pagefind/fragment/en_8ed909e.pf_fragment | Bin 0 -> 475 bytes pagefind/fragment/en_8f702de.pf_fragment | Bin 0 -> 618 bytes pagefind/fragment/en_9255fac.pf_fragment | Bin 0 -> 332 bytes pagefind/fragment/en_9316176.pf_fragment | Bin 0 -> 373 bytes pagefind/fragment/en_94dff80.pf_fragment | Bin 0 -> 501 bytes pagefind/fragment/en_95143a2.pf_fragment | Bin 0 -> 513 bytes pagefind/fragment/en_96b85fd.pf_fragment | Bin 0 -> 435 bytes pagefind/fragment/en_998e5ac.pf_fragment | Bin 0 -> 455 bytes pagefind/fragment/en_9cd1277.pf_fragment | Bin 0 -> 313 bytes pagefind/fragment/en_9e3fcbb.pf_fragment | Bin 0 -> 789 bytes pagefind/fragment/en_a2f80e9.pf_fragment | Bin 0 -> 436 bytes pagefind/fragment/en_a535ca7.pf_fragment | Bin 0 -> 3423 bytes pagefind/fragment/en_a65b29b.pf_fragment | Bin 0 -> 793 bytes pagefind/fragment/en_a67f6dc.pf_fragment | Bin 0 -> 320 bytes pagefind/fragment/en_a91f898.pf_fragment | Bin 0 -> 347 bytes pagefind/fragment/en_abd1677.pf_fragment | Bin 0 -> 341 bytes pagefind/fragment/en_b1d8f02.pf_fragment | Bin 0 -> 690 bytes pagefind/fragment/en_b35542d.pf_fragment | Bin 0 -> 315 bytes pagefind/fragment/en_b372d81.pf_fragment | Bin 0 -> 323 bytes pagefind/fragment/en_b57a71e.pf_fragment | Bin 0 -> 312 bytes pagefind/fragment/en_b88475c.pf_fragment | Bin 0 -> 328 bytes pagefind/fragment/en_b8e6c14.pf_fragment | Bin 0 -> 427 bytes pagefind/fragment/en_b8e919d.pf_fragment | Bin 0 -> 435 bytes pagefind/fragment/en_beb0be5.pf_fragment | Bin 0 -> 429 bytes pagefind/fragment/en_c0ccb61.pf_fragment | Bin 0 -> 754 bytes pagefind/fragment/en_c0eddaf.pf_fragment | Bin 0 -> 1186 bytes pagefind/fragment/en_c46eca2.pf_fragment | Bin 0 -> 442 bytes pagefind/fragment/en_c64b689.pf_fragment | Bin 0 -> 368 bytes pagefind/fragment/en_c721d46.pf_fragment | Bin 0 -> 314 bytes pagefind/fragment/en_c8f6d24.pf_fragment | Bin 0 -> 453 bytes pagefind/fragment/en_cd93a23.pf_fragment | Bin 0 -> 383 bytes pagefind/fragment/en_d442f28.pf_fragment | Bin 0 -> 341 bytes pagefind/fragment/en_d4f7f6b.pf_fragment | Bin 0 -> 410 bytes pagefind/fragment/en_d57a80b.pf_fragment | Bin 0 -> 359 bytes pagefind/fragment/en_d64f98a.pf_fragment | Bin 0 -> 339 bytes pagefind/fragment/en_d844c42.pf_fragment | Bin 0 -> 479 bytes pagefind/fragment/en_da3b82e.pf_fragment | Bin 0 -> 342 bytes pagefind/fragment/en_dd9d49d.pf_fragment | Bin 0 -> 329 bytes pagefind/fragment/en_dea4b9d.pf_fragment | Bin 0 -> 447 bytes pagefind/fragment/en_df1bf5f.pf_fragment | Bin 0 -> 1768 bytes pagefind/fragment/en_e3ab39e.pf_fragment | Bin 0 -> 718 bytes pagefind/fragment/en_e51e17d.pf_fragment | Bin 0 -> 501 bytes pagefind/fragment/en_e7fb665.pf_fragment | Bin 0 -> 313 bytes pagefind/fragment/en_e8fa90b.pf_fragment | Bin 0 -> 441 bytes pagefind/fragment/en_eb424d9.pf_fragment | Bin 0 -> 368 bytes pagefind/fragment/en_ebab7a5.pf_fragment | Bin 0 -> 531 bytes pagefind/fragment/en_ebd0194.pf_fragment | Bin 0 -> 807 bytes pagefind/fragment/en_ec57b37.pf_fragment | Bin 0 -> 328 bytes pagefind/fragment/en_eebee6f.pf_fragment | Bin 0 -> 437 bytes pagefind/fragment/en_f155edc.pf_fragment | Bin 0 -> 1096 bytes pagefind/fragment/en_f1f4213.pf_fragment | Bin 0 -> 551 bytes pagefind/fragment/en_f4b341b.pf_fragment | Bin 0 -> 548 bytes pagefind/fragment/en_f7586eb.pf_fragment | Bin 0 -> 1471 bytes pagefind/fragment/en_f75c789.pf_fragment | Bin 0 -> 2028 bytes pagefind/fragment/en_f7bce5b.pf_fragment | Bin 0 -> 439 bytes pagefind/fragment/en_f8c57a2.pf_fragment | Bin 0 -> 319 bytes pagefind/fragment/en_f8d27cb.pf_fragment | Bin 0 -> 374 bytes pagefind/fragment/en_f9abcc6.pf_fragment | Bin 0 -> 357 bytes pagefind/fragment/en_fb29739.pf_fragment | Bin 0 -> 336 bytes pagefind/fragment/en_fb9d195.pf_fragment | Bin 0 -> 372 bytes pagefind/index/en_3655664.pf_index | Bin 0 -> 33779 bytes pagefind/index/en_f92d448.pf_index | Bin 0 -> 27103 bytes pagefind/pagefind-entry.json | 1 + pagefind/pagefind-modular-ui.css | 214 ++++++++++++ pagefind/pagefind-modular-ui.js | 8 + pagefind/pagefind-ui.css | 1 + pagefind/pagefind-ui.js | 2 + pagefind/pagefind.en_b77047e476.pf_meta | Bin 0 -> 968 bytes pagefind/pagefind.js | 9 + pagefind/wasm.en.pagefind | Bin 0 -> 60558 bytes pagefind/wasm.unknown.pagefind | Bin 0 -> 55930 bytes parity/100.svg | 30 ++ parity/no.svg | 22 ++ parity/null.svg | 41 +++ parity/soon.svg | 35 ++ parity/yes.svg | 22 ++ reference/array/alphabetical/index.html | 96 ++++++ reference/array/boil/index.html | 92 ++++++ reference/array/castArray/index.html | 91 ++++++ reference/array/castArrayIfExists/index.html | 91 ++++++ reference/array/cluster/index.html | 94 ++++++ reference/array/counting/index.html | 95 ++++++ reference/array/diff/index.html | 93 ++++++ reference/array/first/index.html | 92 ++++++ reference/array/flat/index.html | 93 ++++++ reference/array/fork/index.html | 92 ++++++ reference/array/group/index.html | 92 ++++++ reference/array/intersects/index.html | 94 ++++++ reference/array/iterate/index.html | 92 ++++++ reference/array/last/index.html | 92 ++++++ reference/array/list/index.html | 106 ++++++ reference/array/mapify/index.html | 111 +++++++ reference/array/merge/index.html | 94 ++++++ reference/array/objectify/index.html | 94 ++++++ reference/array/replace/index.html | 93 ++++++ reference/array/replaceOrAppend/index.html | 94 ++++++ reference/array/select/index.html | 93 ++++++ reference/array/selectFirst/index.html | 101 ++++++ reference/array/shift/index.html | 90 ++++++ reference/array/sift/index.html | 92 ++++++ reference/array/sort/index.html | 93 ++++++ reference/array/toggle/index.html | 103 ++++++ reference/array/unique/index.html | 93 ++++++ reference/array/unzip/index.html | 91 ++++++ reference/array/zip/index.html | 92 ++++++ reference/array/zipToObject/index.html | 94 ++++++ reference/async/all/index.html | 98 ++++++ reference/async/defer/index.html | 105 ++++++ reference/async/guard/index.html | 92 ++++++ reference/async/map/index.html | 92 ++++++ reference/async/parallel/index.html | 102 ++++++ reference/async/reduce/index.html | 92 ++++++ reference/async/retry/index.html | 94 ++++++ reference/async/sleep/index.html | 91 ++++++ reference/async/tryit/index.html | 97 ++++++ reference/curry/chain/index.html | 100 ++++++ reference/curry/compose/index.html | 96 ++++++ reference/curry/debounce/index.html | 115 +++++++ reference/curry/flip/index.html | 93 ++++++ reference/curry/memo/index.html | 106 ++++++ reference/curry/once/index.html | 96 ++++++ reference/curry/partial/index.html | 93 ++++++ reference/curry/partob/index.html | 93 ++++++ reference/curry/proxied/index.html | 93 ++++++ reference/curry/throttle/index.html | 114 +++++++ reference/function/always/index.html | 96 ++++++ reference/function/castComparator/index.html | 104 ++++++ reference/function/castMapping/index.html | 132 ++++++++ reference/function/noop/index.html | 97 ++++++ reference/index.html | 210 ++++++++++++ reference/number/clamp/index.html | 101 ++++++ reference/number/inRange/index.html | 97 ++++++ reference/number/lerp/index.html | 94 ++++++ reference/number/max/index.html | 92 ++++++ reference/number/min/index.html | 92 ++++++ reference/number/range/index.html | 109 +++++++ reference/number/round/index.html | 97 ++++++ reference/number/sum/index.html | 92 ++++++ reference/number/toFloat/index.html | 91 ++++++ reference/number/toInt/index.html | 91 ++++++ reference/object/assign/index.html | 92 ++++++ reference/object/clone/index.html | 93 ++++++ reference/object/cloneDeep/index.html | 107 ++++++ reference/object/construct/index.html | 92 ++++++ reference/object/crush/index.html | 92 ++++++ reference/object/filterKey/index.html | 92 ++++++ reference/object/get/index.html | 92 ++++++ reference/object/invert/index.html | 92 ++++++ reference/object/keys/index.html | 96 ++++++ reference/object/listify/index.html | 92 ++++++ reference/object/lowerize/index.html | 93 ++++++ reference/object/mapEntries/index.html | 95 ++++++ reference/object/mapKeys/index.html | 93 ++++++ reference/object/mapValues/index.html | 93 ++++++ reference/object/omit/index.html | 92 ++++++ reference/object/pick/index.html | 104 ++++++ reference/object/set/index.html | 92 ++++++ reference/object/shake/index.html | 92 ++++++ reference/object/traverse/index.html | 160 +++++++++ reference/object/upperize/index.html | 93 ++++++ reference/random/draw/index.html | 92 ++++++ reference/random/random/index.html | 91 ++++++ reference/random/shuffle/index.html | 92 ++++++ reference/random/uid/index.html | 92 ++++++ reference/series/series/index.html | 99 ++++++ reference/string/camel/index.html | 91 ++++++ reference/string/capitalize/index.html | 91 ++++++ reference/string/dash/index.html | 91 ++++++ reference/string/pascal/index.html | 91 ++++++ reference/string/similarity/index.html | 105 ++++++ reference/string/snake/index.html | 94 ++++++ reference/string/template/index.html | 91 ++++++ reference/string/title/index.html | 91 ++++++ reference/string/trim/index.html | 93 ++++++ reference/typed/isArray/index.html | 91 ++++++ reference/typed/isBoolean/index.html | 91 ++++++ reference/typed/isDate/index.html | 91 ++++++ reference/typed/isEmpty/index.html | 92 ++++++ reference/typed/isEqual/index.html | 92 ++++++ reference/typed/isFloat/index.html | 91 ++++++ reference/typed/isFunction/index.html | 91 ++++++ reference/typed/isInt/index.html | 91 ++++++ reference/typed/isIntString/index.html | 93 ++++++ reference/typed/isMap/index.html | 92 ++++++ reference/typed/isNumber/index.html | 91 ++++++ reference/typed/isObject/index.html | 92 ++++++ reference/typed/isPlainObject/index.html | 92 ++++++ reference/typed/isPrimitive/index.html | 92 ++++++ reference/typed/isPromise/index.html | 91 ++++++ reference/typed/isRegExp/index.html | 92 ++++++ reference/typed/isSet/index.html | 92 ++++++ reference/typed/isString/index.html | 91 ++++++ reference/typed/isSymbol/index.html | 91 ++++++ reference/typed/isWeakMap/index.html | 92 ++++++ reference/typed/isWeakSet/index.html | 92 ++++++ search-dark.svg | 1 + search.svg | 1 + sitemap-0.xml | 1 + sitemap-index.xml | 1 + 306 files changed, 13019 insertions(+) create mode 100644 404.html create mode 100644 Changes-dark.svg create mode 100644 Community-dark.svg create mode 100644 Ethos-dark.svg create mode 100644 Github-dark.svg create mode 100644 Github-large.svg create mode 100644 Install-dark.svg create mode 100644 JSR-dark.svg create mode 100644 Lodash-parity-dark.svg create mode 100644 Npm-dark.svg create mode 100644 assets/Swup.BAW7Fnls.js create mode 100644 assets/SwupA11yPlugin.BwOJ-1de.js create mode 100644 assets/SwupBodyClassPlugin.B8ok040w.js create mode 100644 assets/SwupHeadPlugin.6Q8td7LP.js create mode 100644 assets/SwupPreloadPlugin.Bit36d99.js create mode 100644 assets/SwupScriptsPlugin.f2nwucqv.js create mode 100644 assets/SwupScrollPlugin.rmSN6-xu.js create mode 100644 assets/browser-support.Dm4bF8Ee.css create mode 100644 assets/browser-support.QSDFT8qv.css create mode 100644 assets/client.CFbmdnQb.js create mode 100644 assets/ec.3zb7u.js create mode 100644 assets/ec.wnxus.css create mode 100644 assets/hoisted.iBdn6T_D.js create mode 100644 assets/hooks.module.vf81mID6.js create mode 100644 assets/index.modern.CtKZhHHv.js create mode 100644 assets/page.LpqHvsRr.js create mode 100644 assets/preact.module.BP4etL1N.js create mode 100644 assets/preload-helper.B5A3MRH_.js create mode 100644 assets/radashi-logo-dark@3x.BWiB2XXX.webp create mode 100644 assets/signals.module.B8hOACSr.js create mode 100644 assets/tabbed-code-block.D-hdeFmn.js create mode 100644 assets/ui-core.BmpKj71L.js create mode 100644 bell.svg create mode 100644 browser-support/index.html create mode 100644 changelog/index.html create mode 100644 clipboard.svg create mode 100644 contributing/index.html create mode 100644 favicon.svg create mode 100644 github-big.svg create mode 100644 index.html create mode 100644 installation/index.html create mode 100644 our-ethos/index.html create mode 100644 pagefind/fragment/en_0c51cd4.pf_fragment create mode 100644 pagefind/fragment/en_1132a24.pf_fragment create mode 100644 pagefind/fragment/en_136b475.pf_fragment create mode 100644 pagefind/fragment/en_139eb6b.pf_fragment create mode 100644 pagefind/fragment/en_1488656.pf_fragment create mode 100644 pagefind/fragment/en_1518cb6.pf_fragment create mode 100644 pagefind/fragment/en_152440f.pf_fragment create mode 100644 pagefind/fragment/en_154e135.pf_fragment create mode 100644 pagefind/fragment/en_179c2f3.pf_fragment create mode 100644 pagefind/fragment/en_1966a63.pf_fragment create mode 100644 pagefind/fragment/en_19ef97b.pf_fragment create mode 100644 pagefind/fragment/en_1c383b1.pf_fragment create mode 100644 pagefind/fragment/en_1fa3a12.pf_fragment create mode 100644 pagefind/fragment/en_1fbe2d8.pf_fragment create mode 100644 pagefind/fragment/en_20591fb.pf_fragment create mode 100644 pagefind/fragment/en_2637a16.pf_fragment create mode 100644 pagefind/fragment/en_2671c63.pf_fragment create mode 100644 pagefind/fragment/en_26baff4.pf_fragment create mode 100644 pagefind/fragment/en_2857c2d.pf_fragment create mode 100644 pagefind/fragment/en_2e97b45.pf_fragment create mode 100644 pagefind/fragment/en_30577e3.pf_fragment create mode 100644 pagefind/fragment/en_32c9803.pf_fragment create mode 100644 pagefind/fragment/en_3918eac.pf_fragment create mode 100644 pagefind/fragment/en_3a32beb.pf_fragment create mode 100644 pagefind/fragment/en_3b8ae19.pf_fragment create mode 100644 pagefind/fragment/en_40315b9.pf_fragment create mode 100644 pagefind/fragment/en_452f157.pf_fragment create mode 100644 pagefind/fragment/en_46a9708.pf_fragment create mode 100644 pagefind/fragment/en_4852bdb.pf_fragment create mode 100644 pagefind/fragment/en_4a9fa49.pf_fragment create mode 100644 pagefind/fragment/en_4c2a837.pf_fragment create mode 100644 pagefind/fragment/en_4dfa389.pf_fragment create mode 100644 pagefind/fragment/en_5234d2d.pf_fragment create mode 100644 pagefind/fragment/en_5237137.pf_fragment create mode 100644 pagefind/fragment/en_552e1ff.pf_fragment create mode 100644 pagefind/fragment/en_561c4f3.pf_fragment create mode 100644 pagefind/fragment/en_581d4d7.pf_fragment create mode 100644 pagefind/fragment/en_58fa83c.pf_fragment create mode 100644 pagefind/fragment/en_5aba3f7.pf_fragment create mode 100644 pagefind/fragment/en_5ad39f4.pf_fragment create mode 100644 pagefind/fragment/en_5c4d19b.pf_fragment create mode 100644 pagefind/fragment/en_5cc01d2.pf_fragment create mode 100644 pagefind/fragment/en_5d6871c.pf_fragment create mode 100644 pagefind/fragment/en_61533e6.pf_fragment create mode 100644 pagefind/fragment/en_63f987d.pf_fragment create mode 100644 pagefind/fragment/en_6952aaa.pf_fragment create mode 100644 pagefind/fragment/en_69ec4c7.pf_fragment create mode 100644 pagefind/fragment/en_6a6bc2e.pf_fragment create mode 100644 pagefind/fragment/en_6c2392f.pf_fragment create mode 100644 pagefind/fragment/en_7211a31.pf_fragment create mode 100644 pagefind/fragment/en_7470966.pf_fragment create mode 100644 pagefind/fragment/en_7493951.pf_fragment create mode 100644 pagefind/fragment/en_76f1c41.pf_fragment create mode 100644 pagefind/fragment/en_77d65a4.pf_fragment create mode 100644 pagefind/fragment/en_77fcc9a.pf_fragment create mode 100644 pagefind/fragment/en_7850e44.pf_fragment create mode 100644 pagefind/fragment/en_7be5d1f.pf_fragment create mode 100644 pagefind/fragment/en_7d46d2a.pf_fragment create mode 100644 pagefind/fragment/en_7e69ae4.pf_fragment create mode 100644 pagefind/fragment/en_8193822.pf_fragment create mode 100644 pagefind/fragment/en_82b37ce.pf_fragment create mode 100644 pagefind/fragment/en_8630d57.pf_fragment create mode 100644 pagefind/fragment/en_866f716.pf_fragment create mode 100644 pagefind/fragment/en_88b4125.pf_fragment create mode 100644 pagefind/fragment/en_8b83c0e.pf_fragment create mode 100644 pagefind/fragment/en_8ed909e.pf_fragment create mode 100644 pagefind/fragment/en_8f702de.pf_fragment create mode 100644 pagefind/fragment/en_9255fac.pf_fragment create mode 100644 pagefind/fragment/en_9316176.pf_fragment create mode 100644 pagefind/fragment/en_94dff80.pf_fragment create mode 100644 pagefind/fragment/en_95143a2.pf_fragment create mode 100644 pagefind/fragment/en_96b85fd.pf_fragment create mode 100644 pagefind/fragment/en_998e5ac.pf_fragment create mode 100644 pagefind/fragment/en_9cd1277.pf_fragment create mode 100644 pagefind/fragment/en_9e3fcbb.pf_fragment create mode 100644 pagefind/fragment/en_a2f80e9.pf_fragment create mode 100644 pagefind/fragment/en_a535ca7.pf_fragment create mode 100644 pagefind/fragment/en_a65b29b.pf_fragment create mode 100644 pagefind/fragment/en_a67f6dc.pf_fragment create mode 100644 pagefind/fragment/en_a91f898.pf_fragment create mode 100644 pagefind/fragment/en_abd1677.pf_fragment create mode 100644 pagefind/fragment/en_b1d8f02.pf_fragment create mode 100644 pagefind/fragment/en_b35542d.pf_fragment create mode 100644 pagefind/fragment/en_b372d81.pf_fragment create mode 100644 pagefind/fragment/en_b57a71e.pf_fragment create mode 100644 pagefind/fragment/en_b88475c.pf_fragment create mode 100644 pagefind/fragment/en_b8e6c14.pf_fragment create mode 100644 pagefind/fragment/en_b8e919d.pf_fragment create mode 100644 pagefind/fragment/en_beb0be5.pf_fragment create mode 100644 pagefind/fragment/en_c0ccb61.pf_fragment create mode 100644 pagefind/fragment/en_c0eddaf.pf_fragment create mode 100644 pagefind/fragment/en_c46eca2.pf_fragment create mode 100644 pagefind/fragment/en_c64b689.pf_fragment create mode 100644 pagefind/fragment/en_c721d46.pf_fragment create mode 100644 pagefind/fragment/en_c8f6d24.pf_fragment create mode 100644 pagefind/fragment/en_cd93a23.pf_fragment create mode 100644 pagefind/fragment/en_d442f28.pf_fragment create mode 100644 pagefind/fragment/en_d4f7f6b.pf_fragment create mode 100644 pagefind/fragment/en_d57a80b.pf_fragment create mode 100644 pagefind/fragment/en_d64f98a.pf_fragment create mode 100644 pagefind/fragment/en_d844c42.pf_fragment create mode 100644 pagefind/fragment/en_da3b82e.pf_fragment create mode 100644 pagefind/fragment/en_dd9d49d.pf_fragment create mode 100644 pagefind/fragment/en_dea4b9d.pf_fragment create mode 100644 pagefind/fragment/en_df1bf5f.pf_fragment create mode 100644 pagefind/fragment/en_e3ab39e.pf_fragment create mode 100644 pagefind/fragment/en_e51e17d.pf_fragment create mode 100644 pagefind/fragment/en_e7fb665.pf_fragment create mode 100644 pagefind/fragment/en_e8fa90b.pf_fragment create mode 100644 pagefind/fragment/en_eb424d9.pf_fragment create mode 100644 pagefind/fragment/en_ebab7a5.pf_fragment create mode 100644 pagefind/fragment/en_ebd0194.pf_fragment create mode 100644 pagefind/fragment/en_ec57b37.pf_fragment create mode 100644 pagefind/fragment/en_eebee6f.pf_fragment create mode 100644 pagefind/fragment/en_f155edc.pf_fragment create mode 100644 pagefind/fragment/en_f1f4213.pf_fragment create mode 100644 pagefind/fragment/en_f4b341b.pf_fragment create mode 100644 pagefind/fragment/en_f7586eb.pf_fragment create mode 100644 pagefind/fragment/en_f75c789.pf_fragment create mode 100644 pagefind/fragment/en_f7bce5b.pf_fragment create mode 100644 pagefind/fragment/en_f8c57a2.pf_fragment create mode 100644 pagefind/fragment/en_f8d27cb.pf_fragment create mode 100644 pagefind/fragment/en_f9abcc6.pf_fragment create mode 100644 pagefind/fragment/en_fb29739.pf_fragment create mode 100644 pagefind/fragment/en_fb9d195.pf_fragment create mode 100644 pagefind/index/en_3655664.pf_index create mode 100644 pagefind/index/en_f92d448.pf_index create mode 100644 pagefind/pagefind-entry.json create mode 100644 pagefind/pagefind-modular-ui.css create mode 100644 pagefind/pagefind-modular-ui.js create mode 100644 pagefind/pagefind-ui.css create mode 100644 pagefind/pagefind-ui.js create mode 100644 pagefind/pagefind.en_b77047e476.pf_meta create mode 100644 pagefind/pagefind.js create mode 100644 pagefind/wasm.en.pagefind create mode 100644 pagefind/wasm.unknown.pagefind create mode 100644 parity/100.svg create mode 100644 parity/no.svg create mode 100644 parity/null.svg create mode 100644 parity/soon.svg create mode 100644 parity/yes.svg create mode 100644 reference/array/alphabetical/index.html create mode 100644 reference/array/boil/index.html create mode 100644 reference/array/castArray/index.html create mode 100644 reference/array/castArrayIfExists/index.html create mode 100644 reference/array/cluster/index.html create mode 100644 reference/array/counting/index.html create mode 100644 reference/array/diff/index.html create mode 100644 reference/array/first/index.html create mode 100644 reference/array/flat/index.html create mode 100644 reference/array/fork/index.html create mode 100644 reference/array/group/index.html create mode 100644 reference/array/intersects/index.html create mode 100644 reference/array/iterate/index.html create mode 100644 reference/array/last/index.html create mode 100644 reference/array/list/index.html create mode 100644 reference/array/mapify/index.html create mode 100644 reference/array/merge/index.html create mode 100644 reference/array/objectify/index.html create mode 100644 reference/array/replace/index.html create mode 100644 reference/array/replaceOrAppend/index.html create mode 100644 reference/array/select/index.html create mode 100644 reference/array/selectFirst/index.html create mode 100644 reference/array/shift/index.html create mode 100644 reference/array/sift/index.html create mode 100644 reference/array/sort/index.html create mode 100644 reference/array/toggle/index.html create mode 100644 reference/array/unique/index.html create mode 100644 reference/array/unzip/index.html create mode 100644 reference/array/zip/index.html create mode 100644 reference/array/zipToObject/index.html create mode 100644 reference/async/all/index.html create mode 100644 reference/async/defer/index.html create mode 100644 reference/async/guard/index.html create mode 100644 reference/async/map/index.html create mode 100644 reference/async/parallel/index.html create mode 100644 reference/async/reduce/index.html create mode 100644 reference/async/retry/index.html create mode 100644 reference/async/sleep/index.html create mode 100644 reference/async/tryit/index.html create mode 100644 reference/curry/chain/index.html create mode 100644 reference/curry/compose/index.html create mode 100644 reference/curry/debounce/index.html create mode 100644 reference/curry/flip/index.html create mode 100644 reference/curry/memo/index.html create mode 100644 reference/curry/once/index.html create mode 100644 reference/curry/partial/index.html create mode 100644 reference/curry/partob/index.html create mode 100644 reference/curry/proxied/index.html create mode 100644 reference/curry/throttle/index.html create mode 100644 reference/function/always/index.html create mode 100644 reference/function/castComparator/index.html create mode 100644 reference/function/castMapping/index.html create mode 100644 reference/function/noop/index.html create mode 100644 reference/index.html create mode 100644 reference/number/clamp/index.html create mode 100644 reference/number/inRange/index.html create mode 100644 reference/number/lerp/index.html create mode 100644 reference/number/max/index.html create mode 100644 reference/number/min/index.html create mode 100644 reference/number/range/index.html create mode 100644 reference/number/round/index.html create mode 100644 reference/number/sum/index.html create mode 100644 reference/number/toFloat/index.html create mode 100644 reference/number/toInt/index.html create mode 100644 reference/object/assign/index.html create mode 100644 reference/object/clone/index.html create mode 100644 reference/object/cloneDeep/index.html create mode 100644 reference/object/construct/index.html create mode 100644 reference/object/crush/index.html create mode 100644 reference/object/filterKey/index.html create mode 100644 reference/object/get/index.html create mode 100644 reference/object/invert/index.html create mode 100644 reference/object/keys/index.html create mode 100644 reference/object/listify/index.html create mode 100644 reference/object/lowerize/index.html create mode 100644 reference/object/mapEntries/index.html create mode 100644 reference/object/mapKeys/index.html create mode 100644 reference/object/mapValues/index.html create mode 100644 reference/object/omit/index.html create mode 100644 reference/object/pick/index.html create mode 100644 reference/object/set/index.html create mode 100644 reference/object/shake/index.html create mode 100644 reference/object/traverse/index.html create mode 100644 reference/object/upperize/index.html create mode 100644 reference/random/draw/index.html create mode 100644 reference/random/random/index.html create mode 100644 reference/random/shuffle/index.html create mode 100644 reference/random/uid/index.html create mode 100644 reference/series/series/index.html create mode 100644 reference/string/camel/index.html create mode 100644 reference/string/capitalize/index.html create mode 100644 reference/string/dash/index.html create mode 100644 reference/string/pascal/index.html create mode 100644 reference/string/similarity/index.html create mode 100644 reference/string/snake/index.html create mode 100644 reference/string/template/index.html create mode 100644 reference/string/title/index.html create mode 100644 reference/string/trim/index.html create mode 100644 reference/typed/isArray/index.html create mode 100644 reference/typed/isBoolean/index.html create mode 100644 reference/typed/isDate/index.html create mode 100644 reference/typed/isEmpty/index.html create mode 100644 reference/typed/isEqual/index.html create mode 100644 reference/typed/isFloat/index.html create mode 100644 reference/typed/isFunction/index.html create mode 100644 reference/typed/isInt/index.html create mode 100644 reference/typed/isIntString/index.html create mode 100644 reference/typed/isMap/index.html create mode 100644 reference/typed/isNumber/index.html create mode 100644 reference/typed/isObject/index.html create mode 100644 reference/typed/isPlainObject/index.html create mode 100644 reference/typed/isPrimitive/index.html create mode 100644 reference/typed/isPromise/index.html create mode 100644 reference/typed/isRegExp/index.html create mode 100644 reference/typed/isSet/index.html create mode 100644 reference/typed/isString/index.html create mode 100644 reference/typed/isSymbol/index.html create mode 100644 reference/typed/isWeakMap/index.html create mode 100644 reference/typed/isWeakSet/index.html create mode 100644 search-dark.svg create mode 100644 search.svg create mode 100644 sitemap-0.xml create mode 100644 sitemap-index.xml diff --git a/404.html b/404.html new file mode 100644 index 00000000..31a82c22 --- /dev/null +++ b/404.html @@ -0,0 +1,80 @@ + 404 | Radashi + + Skip to content

404

Page not found. Check the URL or try using the search bar.
\ No newline at end of file diff --git a/Changes-dark.svg b/Changes-dark.svg new file mode 100644 index 00000000..cf46925f --- /dev/null +++ b/Changes-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Community-dark.svg b/Community-dark.svg new file mode 100644 index 00000000..95760f9f --- /dev/null +++ b/Community-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Ethos-dark.svg b/Ethos-dark.svg new file mode 100644 index 00000000..6ae76c1e --- /dev/null +++ b/Ethos-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Github-dark.svg b/Github-dark.svg new file mode 100644 index 00000000..4a17894d --- /dev/null +++ b/Github-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Github-large.svg b/Github-large.svg new file mode 100644 index 00000000..ba93eab2 --- /dev/null +++ b/Github-large.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Install-dark.svg b/Install-dark.svg new file mode 100644 index 00000000..f6d2dbe6 --- /dev/null +++ b/Install-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/JSR-dark.svg b/JSR-dark.svg new file mode 100644 index 00000000..97e4bdb4 --- /dev/null +++ b/JSR-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Lodash-parity-dark.svg b/Lodash-parity-dark.svg new file mode 100644 index 00000000..7e669acd --- /dev/null +++ b/Lodash-parity-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Npm-dark.svg b/Npm-dark.svg new file mode 100644 index 00000000..e3272c50 --- /dev/null +++ b/Npm-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/Swup.BAW7Fnls.js b/assets/Swup.BAW7Fnls.js new file mode 100644 index 00000000..49d1370d --- /dev/null +++ b/assets/Swup.BAW7Fnls.js @@ -0,0 +1 @@ +const t=new WeakMap;function e(e,i,s,n){if(!e&&!t.has(i))return!1;const o=t.get(i)??new WeakMap;t.set(i,o);const a=o.get(s)??new Set;o.set(s,a);const r=a.has(n);return e?a.add(n):a.delete(n),r&&e}function i(t,i,s,n={}){const{signal:o,base:a=document}=n;if(o?.aborted)return;const{once:r,...l}=n,c=a instanceof Document?a.documentElement:a,h=Boolean("object"==typeof n?n.capture:n),u=n=>{const o=function(t,e){let i=t.target;if(i instanceof Text&&(i=i.parentElement),i instanceof Element&&t.currentTarget instanceof Element){const s=i.closest(e);if(s&&t.currentTarget.contains(s))return s}}(n,t);if(o){const t=Object.assign(n,{delegateTarget:o});s.call(c,t),r&&(c.removeEventListener(i,u,l),e(!1,c,s,d))}},d=JSON.stringify({selector:t,type:i,capture:h});e(!0,c,s,d)||c.addEventListener(i,u,l),o?.addEventListener("abort",(()=>{e(!1,c,s,d)}))}function s(){return s=Object.assign?Object.assign.bind():function(t){for(var e=1;eString(t).toLowerCase().replace(/[\s/_.]+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+|-+$/g,"")||e||"",o=({hash:t}={})=>window.location.pathname+window.location.search+(t?window.location.hash:""),a=(t,e={})=>{const i=s({url:t=t||o({hash:!0}),random:Math.random(),source:"swup"},e);window.history.pushState(i,"",t)},r=(t=null,e={})=>{t=t||o({hash:!0});const i=s({},window.history.state||{},{url:t,random:Math.random(),source:"swup"},e);window.history.replaceState(i,"",t)},l=(t,e,n,o)=>{const a=new AbortController;return i(t,e,n,o=s({},o,{signal:a.signal})),{destroy:()=>a.abort()}};let c=class t extends URL{constructor(e,i=document.baseURI){super(e.toString(),i),Object.setPrototypeOf(this,t.prototype)}get url(){return this.pathname+this.search}static fromElement(e){const i=e.getAttribute("href")||e.getAttribute("xlink:href")||"";return new t(i)}static fromUrl(e){return new t(e)}};class h extends Error{constructor(t,e){super(t),this.url=void 0,this.status=void 0,this.aborted=void 0,this.timedOut=void 0,this.name="FetchError",this.url=e.url,this.status=e.status,this.aborted=e.aborted||!1,this.timedOut=e.timedOut||!1}}async function u(t,e={}){var i;t=c.fromUrl(t).url;const{visit:n=this.visit}=e,o=s({},this.options.requestHeaders,e.headers),a=null!=(i=e.timeout)?i:this.options.timeout,r=new AbortController,{signal:l}=r;e=s({},e,{headers:o,signal:l});let u,d=!1,p=null;a&&a>0&&(p=setTimeout((()=>{d=!0,r.abort("timeout")}),a));try{u=await this.hooks.call("fetch:request",n,{url:t,options:e},((t,{url:e,options:i})=>fetch(e,i))),p&&clearTimeout(p)}catch(e){if(d)throw this.hooks.call("fetch:timeout",n,{url:t}),new h(`Request timed out: ${t}`,{url:t,timedOut:d});if("AbortError"===(null==e?void 0:e.name)||l.aborted)throw new h(`Request aborted: ${t}`,{url:t,aborted:!0});throw e}const{status:m,url:f}=u,g=await u.text();if(500===m)throw this.hooks.call("fetch:error",n,{status:m,response:u,url:f}),new h(`Server error: ${f}`,{status:m,url:f});if(!g)throw new h(`Empty response: ${f}`,{status:m,url:f});const{url:w}=c.fromUrl(f),v={url:w,html:g};return!n.cache.write||e.method&&"GET"!==e.method||t!==w||this.cache.set(v.url,v),v}class d{constructor(t){this.swup=void 0,this.pages=new Map,this.swup=t}get size(){return this.pages.size}get all(){const t=new Map;return this.pages.forEach(((e,i)=>{t.set(i,s({},e))})),t}has(t){return this.pages.has(this.resolve(t))}get(t){const e=this.pages.get(this.resolve(t));return e?s({},e):e}set(t,e){e=s({},e,{url:t=this.resolve(t)}),this.pages.set(t,e),this.swup.hooks.callSync("cache:set",void 0,{page:e})}update(t,e){t=this.resolve(t);const i=s({},this.get(t),e,{url:t});this.pages.set(t,i)}delete(t){this.pages.delete(this.resolve(t))}clear(){this.pages.clear(),this.swup.hooks.callSync("cache:clear",void 0,void 0)}prune(t){this.pages.forEach(((e,i)=>{t(i,e)&&this.delete(i)}))}resolve(t){const{url:e}=c.fromUrl(t);return this.swup.resolveUrl(e)}}const p=(t,e=document)=>e.querySelector(t),m=(t,e=document)=>Array.from(e.querySelectorAll(t)),f=()=>new Promise((t=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{t()}))}))}));function g(t){return!!t&&("object"==typeof t||"function"==typeof t)&&"function"==typeof t.then}function w(t,e=[]){return new Promise(((i,s)=>{const n=t(...e);g(n)?n.then(i,s):i(n)}))}function v(t,e){const i=null==t?void 0:t.closest(`[${e}]`);return null!=i&&i.hasAttribute(e)?(null==i?void 0:i.getAttribute(e))||!0:void 0}class y{constructor(t){this.swup=void 0,this.swupClasses=["to-","is-changing","is-rendering","is-popstate","is-animating","is-leaving"],this.swup=t}get selectors(){const{scope:t}=this.swup.visit.animation;return"containers"===t?this.swup.visit.containers:"html"===t?["html"]:Array.isArray(t)?t:[]}get selector(){return this.selectors.join(",")}get targets(){return this.selector.trim()?m(this.selector):[]}add(...t){this.targets.forEach((e=>e.classList.add(...t)))}remove(...t){this.targets.forEach((e=>e.classList.remove(...t)))}clear(){this.targets.forEach((t=>{const e=t.className.split(" ").filter((t=>this.isSwupClass(t)));t.classList.remove(...e)}))}isSwupClass(t){return this.swupClasses.some((e=>t.startsWith(e)))}}class k{constructor(t,e){this.id=void 0,this.state=void 0,this.from=void 0,this.to=void 0,this.containers=void 0,this.animation=void 0,this.trigger=void 0,this.cache=void 0,this.history=void 0,this.scroll=void 0;const{to:i,from:s,hash:n,el:o,event:a}=e;this.id=Math.random(),this.state=1,this.from={url:null!=s?s:t.location.url,hash:t.location.hash},this.to={url:i,hash:n},this.containers=t.options.containers,this.animation={animate:!0,wait:!1,name:void 0,native:t.options.native,scope:t.options.animationScope,selector:t.options.animationSelector},this.trigger={el:o,event:a},this.cache={read:t.options.cache,write:t.options.cache},this.history={action:"push",popstate:!1,direction:void 0},this.scroll={reset:!0,target:void 0}}advance(t){this.state=7}}function b(t){return new k(this,t)}class S{constructor(t){this.swup=void 0,this.registry=new Map,this.hooks=["animation:out:start","animation:out:await","animation:out:end","animation:in:start","animation:in:await","animation:in:end","animation:skip","cache:clear","cache:set","content:replace","content:scroll","enable","disable","fetch:request","fetch:error","fetch:timeout","history:popstate","link:click","link:self","link:anchor","link:newtab","page:load","page:view","scroll:top","scroll:anchor","visit:start","visit:transition","visit:abort","visit:end"],this.swup=t,this.init()}init(){this.hooks.forEach((t=>this.create(t)))}create(t){this.registry.has(t)||this.registry.set(t,new Map)}exists(t){return this.registry.has(t)}get(t){const e=this.registry.get(t);if(e)return e;console.error(`Unknown hook '${t}'`)}clear(){this.registry.forEach((t=>t.clear()))}on(t,e,i={}){const n=this.get(t);if(!n)return console.warn(`Hook '${t}' not found.`),()=>{};const o=s({},i,{id:n.size+1,hook:t,handler:e});return n.set(e,o),()=>this.off(t,e)}before(t,e,i={}){return this.on(t,e,s({},i,{before:!0}))}replace(t,e,i={}){return this.on(t,e,s({},i,{replace:!0}))}once(t,e,i={}){return this.on(t,e,s({},i,{once:!0}))}off(t,e){const i=this.get(t);i&&e?i.delete(e)||console.warn(`Handler for hook '${t}' not found.`):i&&i.clear()}async call(t,e,i,s){const[n,o,a]=this.parseCallArgs(t,e,i,s),{before:r,handler:l,after:c}=this.getHandlers(t,a);await this.run(r,n,o);const[h]=await this.run(l,n,o,!0);return await this.run(c,n,o),this.dispatchDomEvent(t,n,o),h}callSync(t,e,i,s){const[n,o,a]=this.parseCallArgs(t,e,i,s),{before:r,handler:l,after:c}=this.getHandlers(t,a);this.runSync(r,n,o);const[h]=this.runSync(l,n,o,!0);return this.runSync(c,n,o),this.dispatchDomEvent(t,n,o),h}parseCallArgs(t,e,i,s){return e instanceof k||"object"!=typeof e&&"function"!=typeof i?[e,i,s]:[void 0,e,i]}async run(t,e=this.swup.visit,i,s=!1){const n=[];for(const{hook:o,handler:a,defaultHandler:r,once:l}of t)if(null==e||!e.done){l&&this.off(o,a);try{const t=await w(a,[e,i,r]);n.push(t)}catch(t){if(s)throw t;console.error(`Error in hook '${o}':`,t)}}return n}runSync(t,e=this.swup.visit,i,s=!1){const n=[];for(const{hook:o,handler:a,defaultHandler:r,once:l}of t)if(null==e||!e.done){l&&this.off(o,a);try{const t=a(e,i,r);n.push(t),g(t)&&console.warn(`Swup will not await Promises in handler for synchronous hook '${o}'.`)}catch(t){if(s)throw t;console.error(`Error in hook '${o}':`,t)}}return n}getHandlers(t,e){const i=this.get(t);if(!i)return{found:!1,before:[],handler:[],after:[],replaced:!1};const s=Array.from(i.values()),n=this.sortRegistrations,o=s.filter((({before:t,replace:e})=>t&&!e)).sort(n),a=s.filter((({replace:t})=>t)).filter((t=>!0)).sort(n),r=s.filter((({before:t,replace:e})=>!t&&!e)).sort(n),l=a.length>0;let c=[];if(e&&(c=[{id:0,hook:t,handler:e}],l)){const i=a.length-1,s=t=>{const i=a[t-1];return i?(e,n)=>i.handler(e,n,s(t-1)):e};c=[{id:0,hook:t,handler:a[i].handler,defaultHandler:s(i)}]}return{found:!0,before:o,handler:c,after:r,replaced:l}}sortRegistrations(t,e){var i,s;return(null!=(i=t.priority)?i:0)-(null!=(s=e.priority)?s:0)||t.id-e.id||0}dispatchDomEvent(t,e,i){if(null!=e&&e.done)return;const s={hook:t,args:i,visit:e||this.swup.visit};document.dispatchEvent(new CustomEvent("swup:any",{detail:s,bubbles:!0})),document.dispatchEvent(new CustomEvent(`swup:${t}`,{detail:s,bubbles:!0}))}}const E=t=>{if(t&&"#"===t.charAt(0)&&(t=t.substring(1)),!t)return null;const e=decodeURIComponent(t);let i=document.getElementById(t)||document.getElementById(e)||p(`a[name='${CSS.escape(t)}']`)||p(`a[name='${CSS.escape(e)}']`);return i||"top"!==t||(i=document.body),i},C="transition",U="animation";async function P({selector:t,elements:e}){if(!1===t&&!e)return;let i=[];if(e)i=Array.from(e);else if(t&&(i=m(t,document.body),!i.length))return void console.warn(`[swup] No elements found matching animationSelector \`${t}\``);const s=i.map((t=>function(t){const{type:e,timeout:i,propCount:s}=function(t){const e=window.getComputedStyle(t),i=$(e,`${C}Delay`),s=$(e,`${C}Duration`),n=x(i,s),o=$(e,`${U}Delay`),a=$(e,`${U}Duration`),r=x(o,a),l=Math.max(n,r),c=l>0?n>r?C:U:null;return{type:c,timeout:l,propCount:c?c===C?s.length:a.length:0}}(t);return!(!e||!i)&&new Promise((n=>{const o=`${e}end`,a=performance.now();let r=0;const l=()=>{t.removeEventListener(o,c),n()},c=e=>{e.target===t&&((performance.now()-a)/1e3=s&&l())};setTimeout((()=>{r0?await Promise.all(s):t&&console.warn(`[swup] No CSS animation duration defined on elements matching \`${t}\``)}function $(t,e){return(t[e]||"").split(", ")}function x(t,e){for(;t.lengthA(e)+A(t[i]))))}function A(t){return 1e3*parseFloat(t)}function H(t,e={},i={}){if("string"!=typeof t)throw new Error("swup.navigate() requires a URL parameter");if(this.shouldIgnoreVisit(t,{el:i.el,event:i.event}))return void window.location.assign(t);const{url:n,hash:o}=c.fromUrl(t),a=this.createVisit(s({},i,{to:n,hash:o}));this.performNavigation(a,e)}async function T(t,e={}){if(this.navigating){if(this.visit.state>=6)return t.state=2,void(this.onVisitEnd=()=>this.performNavigation(t,e));await this.hooks.call("visit:abort",this.visit,void 0),delete this.visit.to.document,this.visit.state=8}this.navigating=!0,this.visit=t;const{el:i}=t.trigger;e.referrer=e.referrer||this.location.url,!1===e.animate&&(t.animation.animate=!1),t.animation.animate||this.classes.clear();const s=e.history||v(i,"data-swup-history");"string"==typeof s&&["push","replace"].includes(s)&&(t.history.action=s);const o=e.animation||v(i,"data-swup-animation");var l,h;"string"==typeof o&&(t.animation.name=o),"object"==typeof e.cache?(t.cache.read=null!=(l=e.cache.read)?l:t.cache.read,t.cache.write=null!=(h=e.cache.write)?h:t.cache.write):void 0!==e.cache&&(t.cache={read:!!e.cache,write:!!e.cache}),delete e.cache;try{await this.hooks.call("visit:start",t,void 0),t.state=3;const i=this.hooks.call("page:load",t,{options:e},(async(t,e)=>{let i;return t.cache.read&&(i=this.cache.get(t.to.url)),e.page=i||await this.fetchPage(t.to.url,e.options),e.cache=!!i,e.page}));i.then((({html:e})=>{t.advance(5),t.to.html=e,t.to.document=(new DOMParser).parseFromString(e,"text/html")}));const s=t.to.url+t.to.hash;if(t.history.popstate||("replace"===t.history.action||t.to.url===this.location.url?r(s):(this.currentHistoryIndex++,a(s,{index:this.currentHistoryIndex}))),this.location=c.fromUrl(s),t.history.popstate&&this.classes.add("is-popstate"),t.animation.name&&this.classes.add(`to-${n(t.animation.name)}`),t.animation.wait&&await i,t.done)return;if(await this.hooks.call("visit:transition",t,void 0,(async()=>{if(!t.animation.animate)return await this.hooks.call("animation:skip",void 0),void(await this.renderPage(t,await i));t.advance(4),await this.animatePageOut(t),t.animation.native&&document.startViewTransition?await document.startViewTransition((async()=>await this.renderPage(t,await i))).finished:await this.renderPage(t,await i),await this.animatePageIn(t)})),t.done)return;await this.hooks.call("visit:end",t,void 0,(()=>this.classes.clear())),t.state=7,this.navigating=!1,this.onVisitEnd&&(this.onVisitEnd(),this.onVisitEnd=void 0)}catch(e){if(!e||null!=e&&e.aborted)return void(t.state=8);t.state=9,console.error(e),this.options.skipPopStateHandling=()=>(window.location.assign(t.to.url+t.to.hash),!0),window.history.back()}finally{delete t.to.document}}const L=async function(t){await this.hooks.call("animation:out:start",t,void 0,(()=>{this.classes.add("is-changing","is-animating","is-leaving")})),await this.hooks.call("animation:out:await",t,{skip:!1},((t,{skip:e})=>{if(!e)return this.awaitAnimations({selector:t.animation.selector})})),await this.hooks.call("animation:out:end",t,void 0)},V=function(t){var e;const i=t.to.document;if(!i)return!1;const s=(null==(e=i.querySelector("title"))?void 0:e.innerText)||"";document.title=s;const n=m('[data-swup-persist]:not([data-swup-persist=""])'),o=t.containers.map((t=>{const e=document.querySelector(t),s=i.querySelector(t);return e&&s?(e.replaceWith(s.cloneNode(!0)),!0):(e||console.warn(`[swup] Container missing in current document: ${t}`),s||console.warn(`[swup] Container missing in incoming document: ${t}`),!1)})).filter(Boolean);return n.forEach((t=>{const e=t.getAttribute("data-swup-persist"),i=p(`[data-swup-persist="${e}"]`);i&&i!==t&&i.replaceWith(t)})),o.length===t.containers.length},I=function(t){const e={behavior:"auto"},{target:i,reset:n}=t.scroll,o=null!=i?i:t.to.hash;let a=!1;return o&&(a=this.hooks.callSync("scroll:anchor",t,{hash:o,options:e},((t,{hash:e,options:i})=>{const s=this.getAnchorElement(e);return s&&s.scrollIntoView(i),!!s}))),n&&!a&&(a=this.hooks.callSync("scroll:top",t,{options:e},((t,{options:e})=>(window.scrollTo(s({top:0,left:0},e)),!0)))),a},O=async function(t){if(t.done)return;const e=this.hooks.call("animation:in:await",t,{skip:!1},((t,{skip:e})=>{if(!e)return this.awaitAnimations({selector:t.animation.selector})}));await f(),await this.hooks.call("animation:in:start",t,void 0,(()=>{this.classes.remove("is-animating")})),await e,await this.hooks.call("animation:in:end",t,void 0)},q=async function(t,e){if(t.done)return;t.advance(6);const{url:i}=e;this.isSameResolvedUrl(o(),i)||(r(i),this.location=c.fromUrl(i),t.to.url=this.location.url,t.to.hash=this.location.hash),await this.hooks.call("content:replace",t,{page:e},((t,{})=>{if(this.classes.remove("is-leaving"),t.animation.animate&&this.classes.add("is-rendering"),!this.replaceContent(t))throw new Error("[swup] Container mismatch, aborting");t.animation.animate&&(this.classes.add("is-changing","is-animating","is-rendering"),t.animation.name&&this.classes.add(`to-${n(t.animation.name)}`))})),await this.hooks.call("content:scroll",t,void 0,(()=>this.scrollToContent(t))),await this.hooks.call("page:view",t,{url:this.location.url,title:document.title})},R=function(t){var e;if(e=t,Boolean(null==e?void 0:e.isSwupPlugin)){if(t.swup=this,!t._checkRequirements||t._checkRequirements())return t._beforeMount&&t._beforeMount(),t.mount(),this.plugins.push(t),this.plugins}else console.error("Not a swup plugin instance",t)};function M(t){const e=this.findPlugin(t);if(e)return e.unmount(),e._afterUnmount&&e._afterUnmount(),this.plugins=this.plugins.filter((t=>t!==e)),this.plugins;console.error("No such plugin",e)}function N(t){return this.plugins.find((e=>e===t||e.name===t||e.name===`Swup${String(t)}`))}function D(t){if("function"!=typeof this.options.resolveUrl)return console.warn("[swup] options.resolveUrl expects a callback function."),t;const e=this.options.resolveUrl(t);return e&&"string"==typeof e?e.startsWith("//")||e.startsWith("http")?(console.warn("[swup] options.resolveUrl needs to return a relative url"),t):e:(console.warn("[swup] options.resolveUrl needs to return a url"),t)}function W(t,e){return this.resolveUrl(t)===this.resolveUrl(e)}const _={animateHistoryBrowsing:!1,animationSelector:'[class*="transition-"]',animationScope:"html",cache:!0,containers:["#swup"],ignoreVisit:(t,{el:e}={})=>!(null==e||!e.closest("[data-no-swup]")),linkSelector:"a[href]",linkToSelf:"scroll",native:!1,plugins:[],resolveUrl:t=>t,requestHeaders:{"X-Requested-With":"swup",Accept:"text/html, application/xhtml+xml"},skipPopStateHandling:t=>{var e;return"swup"!==(null==(e=t.state)?void 0:e.source)},timeout:0};const j=Object.freeze(Object.defineProperty({__proto__:null,default:class{get currentPageUrl(){return this.location.url}constructor(t={}){var e,i;this.version="4.7.0",this.options=void 0,this.defaults=_,this.plugins=[],this.visit=void 0,this.cache=void 0,this.hooks=void 0,this.classes=void 0,this.location=c.fromUrl(window.location.href),this.currentHistoryIndex=void 0,this.clickDelegate=void 0,this.navigating=!1,this.onVisitEnd=void 0,this.use=R,this.unuse=M,this.findPlugin=N,this.log=()=>{},this.navigate=H,this.performNavigation=T,this.createVisit=b,this.delegateEvent=l,this.fetchPage=u,this.awaitAnimations=P,this.renderPage=q,this.replaceContent=V,this.animatePageIn=O,this.animatePageOut=L,this.scrollToContent=I,this.getAnchorElement=E,this.getCurrentUrl=o,this.resolveUrl=D,this.isSameResolvedUrl=W,this.options=s({},this.defaults,t),this.handleLinkClick=this.handleLinkClick.bind(this),this.handlePopState=this.handlePopState.bind(this),this.cache=new d(this),this.classes=new y(this),this.hooks=new S(this),this.visit=this.createVisit({to:""}),this.currentHistoryIndex=null!=(e=null==(i=window.history.state)?void 0:i.index)?e:1,this.enable()}async enable(){var t;const{linkSelector:e}=this.options;this.clickDelegate=this.delegateEvent(e,"click",this.handleLinkClick),window.addEventListener("popstate",this.handlePopState),this.options.animateHistoryBrowsing&&(window.history.scrollRestoration="manual"),this.options.native=this.options.native&&!!document.startViewTransition,this.options.plugins.forEach((t=>this.use(t))),"swup"!==(null==(t=window.history.state)?void 0:t.source)&&r(null,{index:this.currentHistoryIndex}),await f(),await this.hooks.call("enable",void 0,void 0,(()=>{const t=document.documentElement;t.classList.add("swup-enabled"),t.classList.toggle("swup-native",this.options.native)}))}async destroy(){this.clickDelegate.destroy(),window.removeEventListener("popstate",this.handlePopState),this.cache.clear(),this.options.plugins.forEach((t=>this.unuse(t))),await this.hooks.call("disable",void 0,void 0,(()=>{const t=document.documentElement;t.classList.remove("swup-enabled"),t.classList.remove("swup-native")})),this.hooks.clear()}shouldIgnoreVisit(t,{el:e,event:i}={}){const{origin:s,url:n,hash:o}=c.fromUrl(t);return s!==window.location.origin||!(!e||!this.triggerWillOpenNewWindow(e))||!!this.options.ignoreVisit(n+o,{el:e,event:i})}handleLinkClick(t){const e=t.delegateTarget,{href:i,url:s,hash:n}=c.fromElement(e);if(this.shouldIgnoreVisit(i,{el:e,event:t}))return;if(this.navigating&&s===this.visit.to.url)return void t.preventDefault();const o=this.createVisit({to:s,hash:n,el:e,event:t});t.metaKey||t.ctrlKey||t.shiftKey||t.altKey?this.hooks.callSync("link:newtab",o,{href:i}):0===t.button&&this.hooks.callSync("link:click",o,{el:e,event:t},(()=>{var e;const i=null!=(e=o.from.url)?e:"";t.preventDefault(),s&&s!==i?this.isSameResolvedUrl(s,i)||this.performNavigation(o):n?this.hooks.callSync("link:anchor",o,{hash:n},(()=>{r(s+n),this.scrollToContent(o)})):this.hooks.callSync("link:self",o,void 0,(()=>{"navigate"===this.options.linkToSelf?this.performNavigation(o):(r(s),this.scrollToContent(o))}))}))}handlePopState(t){var e,i,s,n;const a=null!=(e=null==(i=t.state)?void 0:i.url)?e:window.location.href;if(this.options.skipPopStateHandling(t))return;if(this.isSameResolvedUrl(o(),this.location.url))return;const{url:r,hash:l}=c.fromUrl(a),h=this.createVisit({to:r,hash:l,event:t});h.history.popstate=!0;const u=null!=(s=null==(n=t.state)?void 0:n.index)?s:0;u&&u!==this.currentHistoryIndex&&(h.history.direction=u-this.currentHistoryIndex>0?"forwards":"backwards",this.currentHistoryIndex=u),h.animation.animate=!1,h.scroll.reset=!1,h.scroll.target=!1,this.options.animateHistoryBrowsing&&(h.animation.animate=!0,h.scroll.reset=!0),this.hooks.callSync("history:popstate",h,{event:t},(()=>{this.performNavigation(h)}))}triggerWillOpenNewWindow(t){return!!t.matches('[download], [target="_blank"]')}}},Symbol.toStringTag,{value:"Module"}));export{j as S,c as l,m,o as n,f as w}; diff --git a/assets/SwupA11yPlugin.BwOJ-1de.js b/assets/SwupA11yPlugin.BwOJ-1de.js new file mode 100644 index 00000000..0e699e8b --- /dev/null +++ b/assets/SwupA11yPlugin.BwOJ-1de.js @@ -0,0 +1 @@ +import{l as t,w as e}from"./Swup.BAW7Fnls.js";import{e as n}from"./index.modern.CtKZhHHv.js";function i(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var o,s={exports:{}};o=s,function(t){function e(t){for(var e in t=t||{},this.settings={level:"polite",parent:"body",idPrefix:"live-region-",delay:0},t)t.hasOwnProperty(e)&&(this.settings[e]=t[e]);this.settings.parent=document.querySelector(this.settings.parent)}e.prototype.say=function(t,e){var n=this.settings.parent.querySelector('[id^="'+this.settings.idPrefix+'"]')||!1;n&&this.settings.parent.removeChild(n),e=e||this.settings.delay,this.currentRegion=document.createElement("span"),this.currentRegion.id=this.settings.idPrefix+Math.floor(1e4*Math.random());var i="assertive"!==this.settings.level?"status":"alert";return this.currentRegion.setAttribute("aria-live",this.settings.level),this.currentRegion.setAttribute("role",i),this.currentRegion.setAttribute("style","clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px"),this.settings.parent.appendChild(this.currentRegion),window.setTimeout(function(){this.currentRegion.textContent=t}.bind(this),e),this},o.exports=e}();const r=i(s.exports);function a(){return a=Object.assign?Object.assign.bind():function(t){for(var e=1;e=4"},this.defaults={contentSelector:"main",headingSelector:"h1, h2, [role=heading]",respectReducedMotion:!1,autofocus:!1,announcements:{visit:"Navigated to: {title}",url:"New page at {url}"}},this.options=void 0,this.liveRegion=void 0,this.announce=t=>{this.liveRegion.say(t)},t.announcements=a({},this.defaults.announcements,{visit:null!=(e=t.announcementTemplate)?e:String(this.defaults.announcements.visit),url:null!=(n=t.urlTemplate)?n:String(this.defaults.announcements.url)},t.announcements),this.options=a({},this.defaults,t),this.liveRegion=new r}mount(){this.swup.hooks.create("content:announce"),this.swup.hooks.create("content:focus"),this.before("visit:start",this.prepareVisit),this.on("visit:start",this.markAsBusy),this.on("visit:end",this.unmarkAsBusy),this.on("content:replace",this.prepareAnnouncement),this.on("content:replace",this.handleNewPageContent),this.options.respectReducedMotion&&(this.before("visit:start",this.disableTransitionAnimations),this.before("visit:start",this.disableScrollAnimations),this.before("link:self",this.disableScrollAnimations),this.before("link:anchor",this.disableScrollAnimations)),this.swup.announce=this.announce}unmount(){this.swup.announce=void 0}markAsBusy(){document.documentElement.setAttribute("aria-busy","true")}unmarkAsBusy(){document.documentElement.removeAttribute("aria-busy")}prepareVisit(t){t.a11y={announce:void 0,focus:this.options.contentSelector}}prepareAnnouncement(e){if(void 0!==e.a11y.announce)return;const{contentSelector:n,headingSelector:i,announcements:o}=this.options,{href:s,url:r,pathname:a}=t.fromUrl(window.location.href),u=o[document.documentElement.lang||"*"]||o["*"]||o;if("object"!=typeof u)return;const c=document.querySelector(`${n} ${i}`);let l=(null==c?void 0:c.getAttribute("aria-label"))||(null==c?void 0:c.textContent);l=l||document.title||this.parseTemplate(u.url,{href:s,url:r,path:a});const h=this.parseTemplate(u.visit,{title:l,href:s,url:r,path:a});e.a11y.announce=h}parseTemplate(t,e){return Object.keys(e).reduce(((t,n)=>t.replace(`{${n}}`,e[n]||"")),t||"")}handleNewPageContent(){var t=this;e().then((async function(){t.swup.hooks.call("content:announce",void 0,void 0,(e=>{t.announcePageName(e)})),t.swup.hooks.call("content:focus",void 0,void 0,(e=>{t.focusPageContent(e)}))}))}announcePageName(t){t.a11y.announce&&this.liveRegion.say(t.a11y.announce)}async focusPageContent(t){if(!t.a11y.focus)return;if(this.options.autofocus){const e=this.getAutofocusElement();if(e&&e!==document.activeElement)return void this.swup.hooks.once("visit:end",(n=>{n.id===t.id&&e.focus()}))}const e=document.querySelector(t.a11y.focus);e instanceof HTMLElement&&(this.needsTabindex(e)&&e.setAttribute("tabindex","-1"),e.focus({preventScroll:!0}))}getAutofocusElement(){const t=document.querySelector("body [autofocus]");if(t&&!t.closest('inert, [aria-disabled], [aria-hidden="true"]'))return t}disableTransitionAnimations(t){t.animation.animate=t.animation.animate&&this.shouldAnimate()}disableScrollAnimations(t){t.scroll.animate=t.scroll.animate&&this.shouldAnimate()}shouldAnimate(){return!window.matchMedia("(prefers-reduced-motion: reduce)").matches}needsTabindex(t){return!t.matches("a, button, input, textarea, select, details, [tabindex]")}}export{u as default}; diff --git a/assets/SwupBodyClassPlugin.B8ok040w.js b/assets/SwupBodyClassPlugin.B8ok040w.js new file mode 100644 index 00000000..b68a994b --- /dev/null +++ b/assets/SwupBodyClassPlugin.B8ok040w.js @@ -0,0 +1 @@ +import{e as s}from"./index.modern.CtKZhHHv.js";function t(){return t=Object.assign?Object.assign.bind():function(s){for(var t=1;t=4.6"},this.defaults={prefix:""},this.options=void 0,this.updateBodyClass=s=>{this.updateClassNames(document.body,s.to.document.body)},this.options=t({},this.defaults,s)}mount(){this.on("content:replace",this.updateBodyClass)}updateClassNames(s,t){const i=[...s.classList].filter((s=>this.isValidClassName(s))),a=[...t.classList].filter((s=>this.isValidClassName(s)));s.classList.remove(...i),s.classList.add(...a)}isValidClassName(s){return s&&s.startsWith(this.options.prefix)}}export{i as default}; diff --git a/assets/SwupHeadPlugin.6Q8td7LP.js b/assets/SwupHeadPlugin.6Q8td7LP.js new file mode 100644 index 00000000..c3bce493 --- /dev/null +++ b/assets/SwupHeadPlugin.6Q8td7LP.js @@ -0,0 +1 @@ +import{e}from"./index.modern.CtKZhHHv.js";function t(){return t=Object.assign?Object.assign.bind():function(e){for(var t=1;t=4.6"},this.defaults={persistTags:!1,persistAssets:!1,awaitAssets:!1,timeout:3e3},this.options=void 0,this.updateHead=async function(e,{page:{}}){const t=e.to.document,{removed:i,added:a}=function(e,t,{shouldPersist:r=(()=>!1)}={}){const o=Array.from(e.children),i=Array.from(t.children),a=(l=o,i.reduce(((e,t,s)=>(l.some((e=>n(t,e)))||e.push({el:t,index:s}),e)),[]));var l;const u=function(e,t){return e.reduce(((e,s)=>(t.some((e=>n(s,e)))||e.push({el:s}),e)),[])}(o,i);return u.reverse().filter((({el:e})=>s(e))).filter((({el:e})=>!r(e))).forEach((({el:t})=>e.removeChild(t))),a.filter((({el:e})=>s(e))).forEach((({el:t,index:s=0})=>{e.insertBefore(t.cloneNode(!0),e.children[s+1]||null)})),{removed:u.map((({el:e})=>e)),added:a.map((({el:e})=>e))}}(document.head,t.head,{shouldPersist:e=>o.isPersistentTag(e)});o.swup.log(`Removed ${i.length} / added ${a.length} tags in head`);const l=(u=document.documentElement).lang!==(d=t.documentElement).lang?(u.lang=d.lang,u.lang):null;var u,d;if(l&&o.swup.log(`Updated lang attribute: ${l}`),o.options.awaitAssets){const e=function(e,t=0){return e.filter(r).map((e=>function(e,t=0){const s=t=>{(({href:e})=>Array.from(document.styleSheets).map((({href:e})=>e)).includes(e))(e)?t():setTimeout((()=>s(t)),10)};return new Promise((e=>{s(e),t>0&&setTimeout(e,t)}))}(e,t)))}(a,o.options.timeout);e.length&&(o.swup.log(`Waiting for ${e.length} assets to load`),await Promise.all(e))}},this.options=t({},this.defaults,e),this.options.persistAssets&&!this.options.persistTags&&(this.options.persistTags="link[rel=stylesheet], script[src], style")}mount(){this.before("content:replace",this.updateHead)}isPersistentTag(e){const{persistTags:t}=this.options;return"function"==typeof t?t(e):"string"==typeof t?e.matches(t):Boolean(t)}}export{o as default}; diff --git a/assets/SwupPreloadPlugin.Bit36d99.js b/assets/SwupPreloadPlugin.Bit36d99.js new file mode 100644 index 00000000..7a6dac19 --- /dev/null +++ b/assets/SwupPreloadPlugin.Bit36d99.js @@ -0,0 +1 @@ +import{e}from"./index.modern.CtKZhHHv.js";import{l as t,n as s}from"./Swup.BAW7Fnls.js";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;tsetTimeout(e,1)),a=["preloadVisibleLinks"];class l extends e{constructor(e={}){var s;super(),s=this,this.name="SwupPreloadPlugin",this.requires={swup:">=4.5"},this.defaults={throttle:5,preloadInitialPage:!0,preloadHoveredLinks:!0,preloadVisibleLinks:{enabled:!1,threshold:.2,delay:500,containers:["body"],ignore:()=>!1}},this.options=void 0,this.queue=void 0,this.preloadObserver=void 0,this.preloadPromises=new Map,this.mouseEnterDelegate=void 0,this.touchStartDelegate=void 0,this.focusDelegate=void 0,this.onPageLoad=(e,t,s)=>{const{url:r}=e.to;return r&&this.preloadPromises.has(r)?this.preloadPromises.get(r):s(e,t)},this.onMouseEnter=async function(e){if(e.target!==e.delegateTarget)return;if(!o())return;const r=e.delegateTarget;if(!i(r))return;const{url:n,hash:a}=t.fromElement(r),l=s.swup.createVisit({to:n,hash:a,el:r,event:e});s.swup.hooks.callSync("link:hover",l,{el:r,event:e}),s.preload(r,{priority:!0})},this.onTouchStart=e=>{if(o())return;const t=e.delegateTarget;i(t)&&this.preload(t,{priority:!0})},this.onFocus=e=>{const t=e.delegateTarget;i(t)&&this.preload(t,{priority:!0})};const{preloadVisibleLinks:n}=e,l=function(e,t){if(null==e)return{};var s,r,o={},i=Object.keys(e);for(r=0;r=0||(o[s]=e[s]);return o}(e,a);this.options=r({},this.defaults,l),"object"==typeof n?this.options.preloadVisibleLinks=r({},this.options.preloadVisibleLinks,{enabled:!0},n):this.options.preloadVisibleLinks.enabled=Boolean(n),this.preload=this.preload.bind(this),this.queue=function(e=1){const t=[],s=[];let r=0,o=0;function i(){o0&&((s.shift()||t.shift()||(()=>{}))(),r--,o++)}return{add:function(e,o=!1){if(e.__queued){if(!o)return;{const s=t.indexOf(e);if(s>=0){const e=t.splice(s,1);r-=e.length}}}e.__queued=!0,(o?s:t).push(e),r++,r<=1&&i()},next:function(){o--,i()}}}(this.options.throttle)}mount(){const e=this.swup;e.options.cache?(e.hooks.create("page:preload"),e.hooks.create("link:hover"),e.preload=this.preload,e.preloadLinks=this.preloadLinks,this.replace("page:load",this.onPageLoad),this.preloadLinks(),this.on("page:view",(()=>this.preloadLinks())),this.options.preloadVisibleLinks.enabled&&(this.preloadVisibleLinks(),this.on("page:view",(()=>this.preloadVisibleLinks()))),this.options.preloadHoveredLinks&&this.preloadLinksOnAttention(),this.options.preloadInitialPage&&this.preload(s())):console.warn("SwupPreloadPlugin: swup cache needs to be enabled for preloading")}unmount(){var e,t,s;this.swup.preload=void 0,this.swup.preloadLinks=void 0,this.preloadPromises.clear(),null==(e=this.mouseEnterDelegate)||e.destroy(),null==(t=this.touchStartDelegate)||t.destroy(),null==(s=this.focusDelegate)||s.destroy(),this.stopPreloadingVisibleLinks()}async preload(e,s={}){var r;let o,n;const a=null!=(r=s.priority)&&r;if(Array.isArray(e))return Promise.all(e.map((e=>this.preload(e))));if(i(e))n=e,({href:o}=t.fromElement(e));else{if("string"!=typeof e)return;o=e}if(!o)return;if(this.preloadPromises.has(o))return this.preloadPromises.get(o);if(!this.shouldPreload(o,{el:n}))return;const l=new Promise((e=>{this.queue.add((()=>{this.performPreload(o).catch((()=>{})).then((t=>e(t))).finally((()=>{this.queue.next(),this.preloadPromises.delete(o)}))}),a)}));return this.preloadPromises.set(o,l),l}preloadLinks(){n((()=>{Array.from(document.querySelectorAll("a[data-swup-preload], [data-swup-preload-all] a")).forEach((e=>this.preload(e)))}))}preloadLinksOnAttention(){const{swup:e}=this,{linkSelector:t}=e.options,s={passive:!0,capture:!0};this.mouseEnterDelegate=e.delegateEvent(t,"mouseenter",this.onMouseEnter,s),this.touchStartDelegate=e.delegateEvent(t,"touchstart",this.onTouchStart,s),this.focusDelegate=e.delegateEvent(t,"focus",this.onFocus,s)}preloadVisibleLinks(){if(this.preloadObserver)return void this.preloadObserver.update();const{threshold:e,delay:s,containers:r}=this.options.preloadVisibleLinks;this.preloadObserver=function({threshold:e,delay:s,containers:r,callback:o,filter:i}){const a=new Map,l=new IntersectionObserver((e=>{e.forEach((e=>{e.isIntersecting?h(e.target):d(e.target)}))}),{threshold:e}),h=e=>{var r;const{href:i}=t.fromElement(e),n=null!=(r=a.get(i))?r:new Set;a.set(i,n),n.add(e),setTimeout((()=>{const t=a.get(i);null!=t&&t.size&&(o(e),l.unobserve(e),t.delete(e))}),s)},d=e=>{var s;const{href:r}=t.fromElement(e);null==(s=a.get(r))||s.delete(e)},u=()=>{n((()=>{const e=r.map((e=>`${e} a[*|href]`)).join(", ");Array.from(document.querySelectorAll(e)).filter((e=>i(e))).forEach((e=>l.observe(e)))}))};return{start:()=>u(),stop:()=>l.disconnect(),update:()=>(a.clear(),u())}}({threshold:e,delay:s,containers:r,callback:e=>this.preload(e),filter:e=>{if(this.options.preloadVisibleLinks.ignore(e))return!1;if(!e.matches(this.swup.options.linkSelector))return!1;const{href:s}=t.fromElement(e);return this.shouldPreload(s,{el:e})}}),this.preloadObserver.start()}stopPreloadingVisibleLinks(){this.preloadObserver&&this.preloadObserver.stop()}shouldPreload(e,{el:r}={}){const{url:o,href:i}=t.fromUrl(e);return!(!function(){if(navigator.connection){var e;if(navigator.connection.saveData)return!1;if(null!=(e=navigator.connection.effectiveType)&&e.endsWith("2g"))return!1}return!0}()||this.swup.cache.has(o)||this.preloadPromises.has(o)||this.swup.shouldIgnoreVisit(i,{el:r})||r&&this.swup.resolveUrl(o)===this.swup.resolveUrl(s()))}async performPreload(e){var s=this;const{url:r}=t.fromUrl(e),o=this.swup.createVisit({to:r}),i=await this.swup.hooks.call("page:preload",o,{url:r},(async function(t,r){return r.page=await s.swup.fetchPage(e,{visit:t}),r.page}));return i}}export{l as default}; diff --git a/assets/SwupScriptsPlugin.f2nwucqv.js b/assets/SwupScriptsPlugin.f2nwucqv.js new file mode 100644 index 00000000..bdd1bda4 --- /dev/null +++ b/assets/SwupScriptsPlugin.f2nwucqv.js @@ -0,0 +1 @@ +import{e as t}from"./index.modern.CtKZhHHv.js";function e(){return e=Object.assign?Object.assign.bind():function(t){for(var e=1;e=4"},this.defaults={head:!0,body:!0,optin:!1},this.options=void 0,this.options=e({},this.defaults,t)}mount(){this.on("content:replace",this.runScripts)}runScripts(){const{head:t,body:e,optin:r}=this.options,n=this.getScope({head:t,body:e});if(!n)return;const s=Array.from(n.querySelectorAll(r?"script[data-swup-reload-script]":"script:not([data-swup-ignore-script])"));s.forEach((t=>this.runScript(t))),this.swup.log(`Executed ${s.length} scripts.`)}runScript(t){const e=document.createElement("script");for(const{name:r,value:n}of t.attributes)e.setAttribute(r,n);return e.textContent=t.textContent,t.replaceWith(e),e}getScope({head:t,body:e}){return t&&e?document:t?document.head:e?document.body:null}}export{r as default}; diff --git a/assets/SwupScrollPlugin.rmSN6-xu.js b/assets/SwupScrollPlugin.rmSN6-xu.js new file mode 100644 index 00000000..bf0e7292 --- /dev/null +++ b/assets/SwupScrollPlugin.rmSN6-xu.js @@ -0,0 +1 @@ +import{e as t}from"./index.modern.CtKZhHHv.js";import{m as o}from"./Swup.BAW7Fnls.js";function i(){return i=Object.assign?Object.assign.bind():function(t){for(var o=1;o{if(t&&t.nodeType)this._targetPositionY=Math.round(t.getBoundingClientRect().top+window.pageYOffset);else{if(parseInt(this._targetPositionY)!==this._targetPositionY)return void console.error("Argument must be a number or an element.");this._targetPositionY=Math.round(t)}this._targetPositionY>document.documentElement.scrollHeight-window.innerHeight&&(this._targetPositionY=document.documentElement.scrollHeight-window.innerHeight),this._positionY=document.body.scrollTop||document.documentElement.scrollTop,this._direction=this._positionY>this._targetPositionY?-1:1,this._targetPositionYWithOffset=this._targetPositionY+this._direction,this._velocityY=0,this._positionY!==this._targetPositionY?(this.options.onStart(),this._animate()):this.options.onAlreadyAtPositions()},this._animate=()=>{this._update(),this._render(),1===this._direction&&this._targetPositionY>this._positionY||-1===this._direction&&this._targetPositionY{const t=this._targetPositionYWithOffset-this._positionY;return this._velocityY+=t*this.options.acceleration,this._velocityY*=this.options.friction,this._positionY+=this._velocityY,Math.abs(t)},this._render=()=>{window.scrollTo(0,this._positionY)},this.options=i({},{onAlreadyAtPositions:()=>{},onCancel:()=>{},onEnd:()=>{},onStart:()=>{},onTick:()=>{},friction:.7,acceleration:.04},t),t&&t.friction&&(this.options.friction=1-t.friction),window.addEventListener("mousewheel",(t=>{this._raf&&(this.options.onCancel(),cancelAnimationFrame(this._raf),this._raf=null)}),{passive:!0})}}function e(){return e=Object.assign?Object.assign.bind():function(t){for(var o=1;o=4.2.0"},this.scrl=void 0,this.defaults={doScrollingRightAway:!1,animateScroll:{betweenPages:!0,samePageWithHash:!0,samePage:!0},scrollFriction:.3,scrollAcceleration:.04,getAnchorElement:void 0,offset:0,scrollContainers:"[data-swup-scroll-container]",shouldResetScrollPosition:()=>!0,markScrollTarget:!1},this.options=void 0,this.cachedScrollPositions={},this.previousScrollRestoration=void 0,this.currentCacheKey=void 0,this.getAnchorElement=(t="")=>"function"==typeof this.options.getAnchorElement?this.options.getAnchorElement(t):this.swup.getAnchorElement(t),this.getOffset=t=>t?"function"==typeof this.options.offset?parseInt(String(this.options.offset(t)),10):parseInt(String(this.options.offset),10):0,this.onBeforeLinkToSelf=t=>{t.scroll.animate=this.shouldAnimate("samePage")},this.handleScrollToTop=t=>{var o,i;return null==(o=(i=this.swup).scrollTo)||o.call(i,0,t.scroll.animate),!0},this.onBeforeLinkToAnchor=t=>{t.scroll.animate=this.shouldAnimate("samePageWithHash")},this.handleScrollToAnchor=(t,{hash:o})=>this.maybeScrollToAnchor(o,t.scroll.animate),this.onBeforeVisitStart=t=>{t.scroll.scrolledToContent=!1,t.scroll.animate=this.shouldAnimate("betweenPages")},this.onVisitStart=t=>{var o;this.cacheScrollPositions(t.from.url),this.maybeResetScrollPositions(t);const i=null!=(o=t.scroll.target)?o:t.to.hash;t.scroll.animate&&this.options.doScrollingRightAway&&!i&&this.doScrollingBetweenPages(t)},this.handleScrollToContent=t=>{t.scroll.scrolledToContent||this.doScrollingBetweenPages(t),this.restoreScrollContainers(t.to.url)},this.doScrollingBetweenPages=t=>{var o,i;if(t.history.popstate&&!t.animation.animate)return;const s=null!=(o=t.scroll.target)?o:t.to.hash;if(s&&this.maybeScrollToAnchor(s,t.scroll.animate))return;if(!t.scroll.reset)return;const e=this.getCachedScrollPositions(t.to.url),n=(null==e||null==(i=e.window)?void 0:i.top)||0;requestAnimationFrame((()=>{var o,i;return null==(o=(i=this.swup).scrollTo)?void 0:o.call(i,n,t.scroll.animate)})),t.scroll.scrolledToContent=!0},this.maybeResetScrollPositions=t=>{const{popstate:o}=t.history,{url:i}=t.to,{el:s}=t.trigger;o||s&&!this.options.shouldResetScrollPosition(s)||this.resetScrollPositions(i)},this.options=e({},this.defaults,t)}mount(){const t=this.swup;t.hooks.create("scroll:start"),t.hooks.create("scroll:end");const o=this.swup.createVisit({to:this.swup.currentPageUrl});this.scrl=new s({onStart:()=>t.hooks.callSync("scroll:start",o,void 0),onEnd:()=>t.hooks.callSync("scroll:end",o,void 0),onCancel:()=>t.hooks.callSync("scroll:end",o,void 0),friction:this.options.scrollFriction,acceleration:this.options.scrollAcceleration}),t.scrollTo=(i,s=!0)=>{s?this.scrl.scrollTo(i):(t.hooks.callSync("scroll:start",o,void 0),window.scrollTo(0,i),t.hooks.callSync("scroll:end",o,void 0))},this.previousScrollRestoration=window.history.scrollRestoration,t.options.animateHistoryBrowsing&&(window.history.scrollRestoration="manual"),this.updateScrollTarget=this.updateScrollTarget.bind(this),this.options.markScrollTarget&&(window.addEventListener("popstate",this.updateScrollTarget),window.addEventListener("hashchange",this.updateScrollTarget),this.on("page:view",this.updateScrollTarget),this.on("link:anchor",this.updateScrollTarget),this.on("link:self",this.updateScrollTarget),this.updateScrollTarget()),this.before("visit:start",this.onBeforeVisitStart,{priority:-1}),this.on("visit:start",this.onVisitStart,{priority:1}),this.replace("content:scroll",this.handleScrollToContent),this.before("link:self",this.onBeforeLinkToSelf,{priority:-1}),this.replace("scroll:top",this.handleScrollToTop),this.before("link:anchor",this.onBeforeLinkToAnchor,{priority:-1}),this.replace("scroll:anchor",this.handleScrollToAnchor)}unmount(){super.unmount(),this.previousScrollRestoration&&(window.history.scrollRestoration=this.previousScrollRestoration),window.removeEventListener("popstate",this.updateScrollTarget),window.removeEventListener("hashchange",this.updateScrollTarget),this.cachedScrollPositions={},delete this.swup.scrollTo,delete this.scrl}shouldAnimate(t){return"boolean"==typeof this.options.animateScroll?this.options.animateScroll:this.options.animateScroll[t]}maybeScrollToAnchor(t,o=!1){var i,s;if(!t)return!1;const e=this.getAnchorElement(t);if(!e)return console.warn(`Anchor target ${t} not found`),!1;if(!(e instanceof Element))return console.warn(`Anchor target ${t} is not a DOM node`),!1;const{top:n}=e.getBoundingClientRect(),r=n+window.scrollY-this.getOffset(e);return null==(i=(s=this.swup).scrollTo)||i.call(s,r,o),!0}cacheScrollPositions(t){const i=this.swup.resolveUrl(t),s=o(this.options.scrollContainers).map((t=>({top:t.scrollTop,left:t.scrollLeft}))),e={window:{top:window.scrollY,left:window.scrollX},containers:s};this.cachedScrollPositions[i]=e}resetScrollPositions(t){const o=this.swup.resolveUrl(t);delete this.cachedScrollPositions[o]}getCachedScrollPositions(t){const o=this.swup.resolveUrl(t);return this.cachedScrollPositions[o]}restoreScrollContainers(t){const i=this.getCachedScrollPositions(t);i&&0!==i.containers.length&&o(this.options.scrollContainers).forEach(((t,o)=>{const s=i.containers[o];null!=s&&(t.scrollTop=s.top,t.scrollLeft=s.left)}))}updateScrollTarget(){var t;const{hash:o}=window.location,i=document.querySelector("[data-swup-scroll-target]");let s=this.getAnchorElement(o);s instanceof HTMLBodyElement&&(s=null),i!==s&&(null==i||i.removeAttribute("data-swup-scroll-target"),null==(t=s)||t.setAttribute("data-swup-scroll-target",""))}}export{n as default}; diff --git a/assets/browser-support.Dm4bF8Ee.css b/assets/browser-support.Dm4bF8Ee.css new file mode 100644 index 00000000..4d906fd9 --- /dev/null +++ b/assets/browser-support.Dm4bF8Ee.css @@ -0,0 +1 @@ +:root,::backdrop{--sl-color-white: hsl(0, 0%, 100%);--sl-color-gray-1: hsl(0, 20%, 94%);--sl-color-gray-2: hsl(0, 6%, 77%);--sl-color-gray-3: hsl(0, 6%, 56%);--sl-color-gray-4: hsl(0, 7%, 36%);--sl-color-gray-5: hsl(0, 10%, 23%);--sl-color-gray-6: hsl(0, 15%, 16%);--sl-color-black: hsl(224, 10%, 10%);--sl-hue-orange: 41;--sl-color-orange-low: hsl(var(--sl-hue-orange), 39%, 22%);--sl-color-orange: hsl(var(--sl-hue-orange), 82%, 63%);--sl-color-orange-high: hsl(var(--sl-hue-orange), 82%, 87%);--sl-hue-green: 101;--sl-color-green-low: hsl(var(--sl-hue-green), 39%, 22%);--sl-color-green: hsl(var(--sl-hue-green), 82%, 63%);--sl-color-green-high: hsl(var(--sl-hue-green), 82%, 80%);--sl-hue-blue: 234;--sl-color-blue-low: hsl(var(--sl-hue-blue), 54%, 20%);--sl-color-blue: hsl(var(--sl-hue-blue), 100%, 60%);--sl-color-blue-high: hsl(var(--sl-hue-blue), 100%, 87%);--sl-hue-purple: 281;--sl-color-purple-low: hsl(var(--sl-hue-purple), 39%, 22%);--sl-color-purple: hsl(var(--sl-hue-purple), 82%, 63%);--sl-color-purple-high: hsl(var(--sl-hue-purple), 82%, 89%);--sl-hue-red: 339;--sl-color-red-low: hsl(var(--sl-hue-red), 39%, 22%);--sl-color-red: hsl(var(--sl-hue-red), 82%, 63%);--sl-color-red-high: hsl(var(--sl-hue-red), 82%, 87%);--sl-color-accent-low: hsl(224, 54%, 20%);--sl-color-accent: hsl(0, 100%, 67%);--sl-color-accent-high: hsl(224, 100%, 85%);--sl-color-text: #ad9ca3;--sl-color-text-accent: var(--sl-color-accent-high);--sl-color-text-invert: var(--sl-color-accent-low);--sl-color-bg: var(--sl-color-black);--sl-color-bg-nav: var(--sl-color-gray-6);--sl-color-bg-sidebar: var(--sl-color-gray-6);--sl-color-bg-inline-code: #2f2927;--sl-color-bg-accent: var(--sl-color-accent-high);--sl-color-hairline-light: var(--sl-color-gray-5);--sl-color-hairline: var(--sl-color-gray-6);--sl-color-hairline-shade: var(--sl-color-black);--sl-color-backdrop-overlay: hsla(26, 14%, 10%, .66);--sl-shadow-sm: 0px 1px 1px hsla(0, 0%, 0%, .12), 0px 2px 1px hsla(0, 0%, 0%, .24);--sl-shadow-md: 0px 6px 4px hsla(0, 0%, 0%, .08), 0px 4px 2px hsla(0, 0%, 0%, .08), 0px 2px 2px hsla(0, 0%, 0%, .12), 0px 1px 1px hsla(0, 0%, 0%, .15);--sl-shadow-lg: 0px 25px 7px hsla(0, 0%, 0%, .03), 0px 16px 6px hsla(0, 0%, 0%, .1), 0px 9px 5px hsla(223, 13%, 10%, .33), 0px 4px 4px hsla(0, 0%, 0%, .75), 0px 4px 2px hsla(0, 0%, 0%, .25);--sl-text-xs: .8125rem;--sl-text-sm: .937rem;--sl-text-base: 1rem;--sl-text-lg: 1.125rem;--sl-text-xl: 1.25rem;--sl-text-2xl: 1.5rem;--sl-text-3xl: 1.8125rem;--sl-text-4xl: 2.1875rem;--sl-text-5xl: 2.625rem;--sl-text-6xl: 4rem;--sl-text-body: var(--sl-text-base);--sl-text-body-sm: var(--sl-text-xs);--sl-text-code: var(--sl-text-xs);--sl-text-code-sm: var(--sl-text-xs);--sl-text-h1: var(--sl-text-4xl);--sl-text-h2: var(--sl-text-3xl);--sl-text-h3: var(--sl-text-2xl);--sl-text-h4: var(--sl-text-xl);--sl-text-h5: var(--sl-text-lg);--sl-line-height: 1.75;--sl-line-height-headings: 1.2;--sl-font-system: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--sl-font-system-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--__sl-font: var(--sl-font, var(--sl-font-system)), var(--sl-font-system);--__sl-font-mono: var(--sl-font-mono, var(--sl-font-system-mono)), var(--sl-font-system-mono);--sl-nav-height: 3.5rem;--sl-nav-pad-x: 1rem;--sl-nav-pad-y: .75rem;--sl-mobile-toc-height: 3rem;--sl-sidebar-width: 16rem;--sl-sidebar-pad-x: 1rem;--sl-content-width: 45rem;--sl-content-pad-x: 1rem;--sl-menu-button-size: 2rem;--sl-nav-gap: var(--sl-content-pad-x);--sl-outline-offset-inside: -.1875rem;--sl-z-index-toc: 4;--sl-z-index-menu: 5;--sl-z-index-navbar: 10;--sl-z-index-skiplink: 20}@media (min-width: 50em){:root{--sl-nav-height: 4rem;--sl-nav-pad-x: 1.5rem;--sl-text-h1: var(--sl-text-5xl);--sl-text-h2: var(--sl-text-4xl);--sl-text-h3: var(--sl-text-3xl);--sl-text-h4: var(--sl-text-2xl)}}@media (min-width: 72rem){:root{--sl-content-pad-x: 1.5rem;--sl-mobile-toc-height: 0rem}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{color-scheme:dark;accent-color:var(--sl-color-accent)}html[data-theme=light]{color-scheme:light}body{font-family:var(--__sl-font);line-height:var(--sl-line-height);-webkit-font-smoothing:antialiased;color:var(--sl-color-text);background-color:var(--sl-color-bg)}dialog{color:var(--sl-color-text)}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6,code{overflow-wrap:anywhere}code{font-family:var(--__sl-font-mono)}:root{--astro-code-color-text: var(--sl-color-white);--astro-code-color-background: var(--sl-color-gray-6);--astro-code-token-constant: var(--sl-color-blue-high);--astro-code-token-string: var(--sl-color-green-high);--astro-code-token-comment: var(--sl-color-gray-2);--astro-code-token-keyword: var(--sl-color-purple-high);--astro-code-token-parameter: var(--sl-color-red-high);--astro-code-token-function: var(--sl-color-red-high);--astro-code-token-string-expression: var(--sl-color-green-high);--astro-code-token-punctuation: var(--sl-color-gray-2);--astro-code-token-link: var(--sl-color-blue-high)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sl-hidden{display:none}.sl-flex{display:flex}.sl-block{display:block}@media (min-width: 50rem){.md\:sl-hidden{display:none}.md\:sl-flex{display:flex}.md\:sl-block{display:block}}@media (min-width: 72rem){.lg\:sl-hidden{display:none}.lg\:sl-flex{display:flex}.lg\:sl-block{display:block}}[data-theme=light] .light\:sl-hidden,[data-theme=dark] .dark\:sl-hidden{display:none}[dir=rtl] .rtl\:flip:not(:where([dir=rtl] [dir=ltr] *)){transform:scaleX(-1)}html.is-changing .transition-fade{transition:opacity .125s;opacity:1}html.is-animating .transition-fade{opacity:0}.sl-banner:where(.astro-tjnyjkj5){--__sl-banner-text: var(--sl-color-banner-text, var(--sl-color-text-invert));padding:var(--sl-nav-pad-y) var(--sl-nav-pad-x);background-color:var(--sl-color-banner-bg, var(--sl-color-bg-accent));color:var(--__sl-banner-text);line-height:var(--sl-line-height-headings);text-align:center;text-wrap:balance;box-shadow:var(--sl-shadow-sm)}.sl-banner:where(.astro-tjnyjkj5) a{color:var(--__sl-banner-text)}.content-panel:where(.astro-dmxftcma){padding:1.5rem var(--sl-content-pad-x);html[data-has-toc] &{margin-right:0!important}}.content-panel:where(.astro-dmxftcma)+.content-panel:where(.astro-dmxftcma){border-top:1px solid var(--sl-color-hairline)}.sl-container:where(.astro-dmxftcma){max-width:var(--sl-content-width)}.sl-container:where(.astro-dmxftcma)>*+*{margin-top:1.5rem}@media (min-width: 72rem){.sl-container:where(.astro-dmxftcma){margin-inline:var(--sl-content-margin-inline, auto)}}svg:where(.astro-bkchasgr){color:var(--sl-icon-color);font-size:var(--sl-icon-size, 1em);width:1em;height:1em}p:where(.astro-muzkw2mx){border:1px solid var(--sl-color-orange);padding:.75em 1em;background-color:var(--sl-color-orange-low);color:var(--sl-color-orange-high);width:max-content;max-width:100%;align-items:center;gap:.75em;font-size:var(--sl-text-body-sm);line-height:var(--sl-line-height-headings)}a:where(.astro-mkbcaxh2){gap:.5rem;align-items:center;text-decoration:none;color:var(--sl-color-gray-3);margin-left:1em}a:where(.astro-mkbcaxh2):hover{color:var(--sl-color-white)}:root{--sl-badge-default-border: var(--sl-color-accent);--sl-badge-default-bg: var(--sl-color-accent-low);--sl-badge-default-text: #fff;--sl-badge-note-border: var(--sl-color-blue);--sl-badge-note-bg: var(--sl-color-blue-low);--sl-badge-note-text: #fff;--sl-badge-danger-border: var(--sl-color-red);--sl-badge-danger-bg: var(--sl-color-red-low);--sl-badge-danger-text: #fff;--sl-badge-success-border: var(--sl-color-green);--sl-badge-success-bg: var(--sl-color-green-low);--sl-badge-success-text: #fff;--sl-badge-caution-border: var(--sl-color-orange);--sl-badge-caution-bg: var(--sl-color-orange-low);--sl-badge-caution-text: #fff;--sl-badge-tip-border: var(--sl-color-purple);--sl-badge-tip-bg: var(--sl-color-purple-low);--sl-badge-tip-text: #fff}.sl-badge:where(.astro-so62ltvt){display:inline-block;border:1px solid var(--sl-color-border-badge);border-radius:.25rem;font-family:var(--sl-font-system-mono);line-height:normal;color:var(--sl-color-text-badge);background-color:var(--sl-color-bg-badge);overflow-wrap:anywhere}.sidebar-content .sl-badge:where(.astro-so62ltvt){line-height:1;font-size:var(--sl-text-xs);padding:.125rem .375rem}.sidebar-content a[aria-current=page]>.sl-badge:where(.astro-so62ltvt){--sl-color-bg-badge: transparent;--sl-color-border-badge: currentColor;color:inherit}.default:where(.astro-so62ltvt){--sl-color-bg-badge: var(--sl-badge-default-bg);--sl-color-border-badge: var(--sl-badge-default-border);--sl-color-text-badge: var(--sl-badge-default-text)}.note:where(.astro-so62ltvt){--sl-color-bg-badge: var(--sl-badge-note-bg);--sl-color-border-badge: var(--sl-badge-note-border);--sl-color-text-badge: var(--sl-badge-note-text)}.danger:where(.astro-so62ltvt){--sl-color-bg-badge: var(--sl-badge-danger-bg);--sl-color-border-badge: var(--sl-badge-danger-border);--sl-color-text-badge: var(--sl-badge-danger-text)}.success:where(.astro-so62ltvt){--sl-color-bg-badge: var(--sl-badge-success-bg);--sl-color-border-badge: var(--sl-badge-success-border);--sl-color-text-badge: var(--sl-badge-success-text)}.tip:where(.astro-so62ltvt){--sl-color-bg-badge: var(--sl-badge-tip-bg);--sl-color-border-badge: var(--sl-badge-tip-border);--sl-color-text-badge: var(--sl-badge-tip-text)}.caution:where(.astro-so62ltvt){--sl-color-bg-badge: var(--sl-badge-caution-bg);--sl-color-border-badge: var(--sl-badge-caution-border);--sl-color-text-badge: var(--sl-badge-caution-text)}.small:where(.astro-so62ltvt){font-size:var(--sl-text-xs);padding:.125rem .25rem}.medium:where(.astro-so62ltvt){font-size:var(--sl-text-sm);padding:.175rem .35rem}.large:where(.astro-so62ltvt){font-size:var(--sl-text-base);padding:.225rem .45rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6) .sl-badge:where(.astro-so62ltvt){vertical-align:middle}.sl-steps{--bullet-size: calc(var(--sl-line-height) * 1rem);--bullet-margin: .375rem;list-style:none;counter-reset:steps-counter var(--sl-steps-start, 0);padding-inline-start:0}.sl-steps>li{counter-increment:steps-counter;position:relative;padding-inline-start:calc(var(--bullet-size) + 1rem);padding-bottom:1px;min-height:calc(var(--bullet-size) + var(--bullet-margin))}.sl-steps>li+li{margin-top:0}.sl-steps>li:before{content:counter(steps-counter);position:absolute;top:0;inset-inline-start:0;width:var(--bullet-size);height:var(--bullet-size);line-height:var(--bullet-size);font-size:var(--sl-text-xs);font-weight:600;text-align:center;color:var(--sl-color-white);background-color:var(--sl-color-gray-6);border-radius:99rem;box-shadow:inset 0 0 0 1px var(--sl-color-gray-5)}.sl-steps>li:not(:last-of-type):after{--guide-width: 1px;content:"";position:absolute;top:calc(var(--bullet-size) + var(--bullet-margin));bottom:var(--bullet-margin);inset-inline-start:calc((var(--bullet-size) - var(--guide-width)) / 2);width:var(--guide-width);background-color:var(--sl-color-hairline-light)}.sl-steps>li>:first-child{--lh: calc(1em * var(--sl-line-height));--shift-y: calc(.5 * (var(--bullet-size) - var(--lh)));transform:translateY(var(--shift-y));margin-bottom:var(--shift-y)}.sl-steps>li>:first-child:where(h1,h2,h3,h4,h5,h6){--lh: calc(1em * var(--sl-line-height-headings))}@supports (--prop: 1lh){.sl-steps>li>:first-child{--lh: 1lh}}a:where(.astro-m6remgbt){text-decoration:none;color:inherit;transition:color .2s ease-in-out;&:hover{color:var(--sl-color-accent);cursor:pointer!important}}.icon:where(.astro-m6remgbt){vertical-align:baseline;display:inline-block;height:1em;transform:translateY(.15em);margin-right:.3em}time:where(.astro-m6remgbt){margin-left:.2em}.pagination-links:where(.astro-sh3f5jzw){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));gap:1rem}.pagination-links:where(.astro-sh3f5jzw)>:where(.astro-sh3f5jzw){display:flex;align-items:center;justify-content:flex-start;gap:.5rem;width:100%;flex-basis:calc(50% - .5rem);flex-grow:1;text-decoration:none;color:var(--sl-color-gray-2);overflow-wrap:anywhere}.pagination-links:where(.astro-sh3f5jzw)>a:where(.astro-sh3f5jzw){border:.6px solid var(--sl-color-gray-5);border-radius:1000rem;padding:1rem 1.6rem;box-shadow:var(--sl-shadow-md)}:where(.astro-sh3f5jzw)[rel=next]{justify-content:end;text-align:end;flex-direction:row-reverse;padding-right:1.6rem;padding-left:1.6rem}a:where(.astro-sh3f5jzw):hover{border-color:var(--sl-color-gray-4)}.link-title:where(.astro-sh3f5jzw){color:var(--sl-color-white);font-size:1.3rem;line-height:var(--sl-line-height-headings)}svg:where(.astro-sh3f5jzw){flex-shrink:0}.next-link-tag:where(.astro-sh3f5jzw){color:var(--sl-color-text-accent);font-size:.95rem;font-weight:var(--sl-font-weight-semibold)}footer:where(.astro-ws7dwejz){flex-direction:column;gap:1.5rem}.meta:where(.astro-ws7dwejz){gap:.75rem 3rem;justify-content:space-between;flex-wrap:wrap;margin-top:3rem;font-size:var(--sl-text-sm);color:var(--sl-color-gray-3)}.meta:where(.astro-ws7dwejz)>p:only-child{margin-inline-start:auto}label:where(.astro-xsfkp6md){--sl-label-icon-size: .875rem;--sl-caret-size: 1.25rem;--sl-inline-padding: .5rem;position:relative;display:flex;align-items:center;gap:.25rem;color:var(--sl-color-gray-1)}label:where(.astro-xsfkp6md):hover{color:var(--sl-color-gray-2)}.icon:where(.astro-xsfkp6md){position:absolute;top:50%;transform:translateY(-50%);pointer-events:none}.label-icon:where(.astro-xsfkp6md){font-size:var(--sl-label-icon-size);inset-inline-start:0}.caret:where(.astro-xsfkp6md){font-size:var(--sl-caret-size);inset-inline-end:0}select:where(.astro-xsfkp6md){border:0;padding-block:.625rem;padding-inline:calc(var(--sl-label-icon-size) + var(--sl-inline-padding) + .25rem) calc(var(--sl-caret-size) + var(--sl-inline-padding) + .25rem);margin-inline:calc(var(--sl-inline-padding) * -1);width:calc(var(--sl-select-width) + var(--sl-inline-padding) * 2);background-color:transparent;text-overflow:ellipsis;color:inherit;cursor:pointer;appearance:none}option:where(.astro-xsfkp6md){background-color:var(--sl-color-bg-nav);color:var(--sl-color-gray-1)}@media (min-width: 50rem){select:where(.astro-xsfkp6md){font-size:var(--sl-text-sm)}}.pagefind-ui__result.svelte-j9e30.svelte-j9e30{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result.svelte-j9e30.svelte-j9e30:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-thumb.svelte-j9e30.svelte-j9e30{width:min(30%,calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-j9e30.svelte-j9e30{display:block;position:absolute;left:50%;transform:translate(-50%);font-size:0;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--pagefind-ui-image-border-radius)}.pagefind-ui__result-inner.svelte-j9e30.svelte-j9e30{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-j9e30.svelte-j9e30{display:inline-block;font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-j9e30.svelte-j9e30{display:inline-block;font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));margin-bottom:0;min-width:calc(250px * var(--pagefind-ui-scale))}.pagefind-ui__loading.svelte-j9e30.svelte-j9e30{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-j9e30.svelte-j9e30{list-style-type:none;padding:0;display:flex;gap:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-tag.svelte-j9e30.svelte-j9e30{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf{display:flex;flex-direction:column;padding-left:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf:first-of-type{padding-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{font-size:.9em;position:relative}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:before{content:"⤷ ";position:absolute;top:0;right:calc(100% + .1em)}.pagefind-ui__result-thumb.svelte-4xnkmf.svelte-4xnkmf{width:min(30%,calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-4xnkmf.svelte-4xnkmf{display:block;position:absolute;left:50%;transform:translate(-50%);font-size:0;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--pagefind-ui-image-border-radius)}.pagefind-ui__result-inner.svelte-4xnkmf.svelte-4xnkmf{flex:1;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-title.svelte-4xnkmf.svelte-4xnkmf{display:inline-block;font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-4xnkmf.svelte-4xnkmf{display:inline-block;font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));margin-bottom:0;min-width:calc(250px * var(--pagefind-ui-scale))}.pagefind-ui__loading.svelte-4xnkmf.svelte-4xnkmf{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-4xnkmf.svelte-4xnkmf{list-style-type:none;padding:0;display:flex;gap:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__result-tag.svelte-4xnkmf.svelte-4xnkmf{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}legend.svelte-1v2r7ls.svelte-1v2r7ls{position:absolute;clip:rect(0 0 0 0)}.pagefind-ui__filter-panel.svelte-1v2r7ls.svelte-1v2r7ls{min-width:min(calc(260px * var(--pagefind-ui-scale)),100%);flex:1;display:flex;flex-direction:column;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{border:0;padding:0}.pagefind-ui__filter-block.svelte-1v2r7ls.svelte-1v2r7ls{padding:0;display:block;border-bottom:solid calc(2px * var(--pagefind-ui-scale)) var(--pagefind-ui-border);padding:calc(20px * var(--pagefind-ui-scale)) 0}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls{font-size:calc(16px * var(--pagefind-ui-scale));position:relative;display:flex;align-items:center;list-style:none;font-weight:700;cursor:pointer;height:calc(24px * var(--pagefind-ui-scale))}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls::-webkit-details-marker{display:none}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls:after{position:absolute;content:"";right:calc(6px * var(--pagefind-ui-scale));top:50%;width:calc(8px * var(--pagefind-ui-scale));height:calc(8px * var(--pagefind-ui-scale));border:solid calc(2px * var(--pagefind-ui-scale)) currentColor;border-right:0;border-top:0;transform:translateY(-70%) rotate(-45deg)}.pagefind-ui__filter-block[open].svelte-1v2r7ls .pagefind-ui__filter-name.svelte-1v2r7ls:after{transform:translateY(-70%) rotate(-225deg)}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{display:flex;flex-direction:column;gap:calc(20px * var(--pagefind-ui-scale));padding-top:calc(30px * var(--pagefind-ui-scale))}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls{position:relative;display:flex;align-items:center;gap:calc(8px * var(--pagefind-ui-scale))}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls:before{position:absolute;content:"";top:50%;left:calc(8px * var(--pagefind-ui-scale));width:0px;height:0px;border:solid 1px #fff;opacity:0;transform:translate(calc(4.5px * var(--pagefind-ui-scale) * -1),calc(.8px * var(--pagefind-ui-scale))) skew(-5deg) rotate(-45deg);transform-origin:top left;border-top:0;border-right:0;pointer-events:none}.pagefind-ui__filter-value.pagefind-ui__filter-value--checked.svelte-1v2r7ls.svelte-1v2r7ls:before{opacity:1;width:calc(9px * var(--pagefind-ui-scale));height:calc(4px * var(--pagefind-ui-scale));transition:width .1s ease-out .1s,height .1s ease-in}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls{margin:0;width:calc(16px * var(--pagefind-ui-scale));height:calc(16px * var(--pagefind-ui-scale));border:solid 1px var(--pagefind-ui-border);appearance:none;-webkit-appearance:none;border-radius:calc(var(--pagefind-ui-border-radius) / 2);background-color:var(--pagefind-ui-background);cursor:pointer}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls:checked{background-color:var(--pagefind-ui-primary);border:solid 1px var(--pagefind-ui-primary)}.pagefind-ui__filter-label.svelte-1v2r7ls.svelte-1v2r7ls{cursor:pointer;font-size:calc(16px * var(--pagefind-ui-scale));font-weight:400}.pagefind-ui--reset *:where(:not(html,iframe,canvas,img,svg,video):not(svg *,symbol *)){all:unset;display:revert;outline:revert}.pagefind-ui--reset *,.pagefind-ui--reset *:before,.pagefind-ui--reset *:after{box-sizing:border-box}.pagefind-ui--reset a,.pagefind-ui--reset button{cursor:revert}.pagefind-ui--reset ol,.pagefind-ui--reset ul,.pagefind-ui--reset menu{list-style:none}.pagefind-ui--reset img{max-width:100%}.pagefind-ui--reset table{border-collapse:collapse}.pagefind-ui--reset input,.pagefind-ui--reset textarea{-webkit-user-select:auto}.pagefind-ui--reset textarea{white-space:revert}.pagefind-ui--reset meter{-webkit-appearance:revert;appearance:revert}.pagefind-ui--reset ::placeholder{color:unset}.pagefind-ui--reset :where([hidden]){display:none}.pagefind-ui--reset :where([contenteditable]:not([contenteditable=false])){-moz-user-modify:read-write;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space;-webkit-user-select:auto}.pagefind-ui--reset :where([draggable=true]){-webkit-user-drag:element}.pagefind-ui--reset mark{all:revert}:root{--pagefind-ui-scale:.8;--pagefind-ui-primary:#393939;--pagefind-ui-text:#393939;--pagefind-ui-background:#ffffff;--pagefind-ui-border:#eeeeee;--pagefind-ui-tag:#eeeeee;--pagefind-ui-border-width:2px;--pagefind-ui-border-radius:8px;--pagefind-ui-image-border-radius:8px;--pagefind-ui-image-box-ratio:3 / 2;--pagefind-ui-font:system, -apple-system, "BlinkMacSystemFont", ".SFNSText-Regular", "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", "Ubuntu", "arial", sans-serif}.pagefind-ui.svelte-1d60ae3{width:100%;color:var(--pagefind-ui-text);font-family:var(--pagefind-ui-font)}.pagefind-ui__hidden.svelte-1d60ae3{display:none!important}.pagefind-ui__suppressed.svelte-1d60ae3{opacity:0;pointer-events:none}.pagefind-ui__form.svelte-1d60ae3{position:relative}.pagefind-ui__form.svelte-1d60ae3:before{background-color:var(--pagefind-ui-text);width:calc(18px * var(--pagefind-ui-scale));height:calc(18px * var(--pagefind-ui-scale));top:calc(23px * var(--pagefind-ui-scale));left:calc(20px * var(--pagefind-ui-scale));content:"";position:absolute;display:block;opacity:.7;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");-webkit-mask-size:100%;mask-size:100%;z-index:9;pointer-events:none}.pagefind-ui__search-input.svelte-1d60ae3{height:calc(64px * var(--pagefind-ui-scale));padding:0 calc(70px * var(--pagefind-ui-scale)) 0 calc(54px * var(--pagefind-ui-scale));background-color:var(--pagefind-ui-background);border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);font-size:calc(21px * var(--pagefind-ui-scale));position:relative;appearance:none;-webkit-appearance:none;display:flex;width:100%;box-sizing:border-box;font-weight:700}.pagefind-ui__search-input.svelte-1d60ae3::placeholder{opacity:.2}.pagefind-ui__search-clear.svelte-1d60ae3{position:absolute;top:calc(3px * var(--pagefind-ui-scale));right:calc(3px * var(--pagefind-ui-scale));height:calc(58px * var(--pagefind-ui-scale));padding:0 calc(15px * var(--pagefind-ui-scale)) 0 calc(2px * var(--pagefind-ui-scale));color:var(--pagefind-ui-text);font-size:calc(14px * var(--pagefind-ui-scale));cursor:pointer;background-color:var(--pagefind-ui-background);border-radius:var(--pagefind-ui-border-radius)}.pagefind-ui__drawer.svelte-1d60ae3{gap:calc(60px * var(--pagefind-ui-scale));display:flex;flex-direction:row;flex-wrap:wrap}.pagefind-ui__results-area.svelte-1d60ae3{min-width:min(calc(400px * var(--pagefind-ui-scale)),100%);flex:1000;margin-top:calc(20px * var(--pagefind-ui-scale))}.pagefind-ui__results.svelte-1d60ae3{padding:0}.pagefind-ui__message.svelte-1d60ae3{box-sizing:content-box;font-size:calc(16px * var(--pagefind-ui-scale));height:calc(24px * var(--pagefind-ui-scale));padding:calc(20px * var(--pagefind-ui-scale)) 0;display:flex;align-items:center;font-weight:700;margin-top:0}.pagefind-ui__button.svelte-1d60ae3{margin-top:calc(40px * var(--pagefind-ui-scale));border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);height:calc(48px * var(--pagefind-ui-scale));padding:0 calc(12px * var(--pagefind-ui-scale));font-size:calc(16px * var(--pagefind-ui-scale));color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background);width:100%;text-align:center;font-weight:700;cursor:pointer}.pagefind-ui__button.svelte-1d60ae3:hover{border-color:var(--pagefind-ui-primary);color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background)}[data-search-modal-open]{overflow:hidden}#starlight__search{--sl-search-result-spacing: calc(1.25rem * var(--pagefind-ui-scale));--sl-search-result-pad-inline-start: calc(3.75rem * var(--pagefind-ui-scale));--sl-search-result-pad-inline-end: calc(1.25rem * var(--pagefind-ui-scale));--sl-search-result-pad-block: calc(.9375rem * var(--pagefind-ui-scale));--sl-search-result-nested-pad-block: calc(.625rem * var(--pagefind-ui-scale));--sl-search-corners: calc(.3125rem * var(--pagefind-ui-scale));--sl-search-page-icon-size: calc(1.875rem * var(--pagefind-ui-scale));--sl-search-page-icon-inline-start: calc( (var(--sl-search-result-pad-inline-start) - var(--sl-search-page-icon-size)) / 2 );--sl-search-tree-diagram-size: calc(2.5rem * var(--pagefind-ui-scale));--sl-search-tree-diagram-inline-start: calc( (var(--sl-search-result-pad-inline-start) - var(--sl-search-tree-diagram-size)) / 2 )}#starlight__search .pagefind-ui__form:before{--pagefind-ui-text: var(--sl-color-gray-1);opacity:1}#starlight__search .pagefind-ui__search-input{color:var(--sl-color-white);font-weight:400;width:calc(100% - var(--sl-search-cancel-space))}#starlight__search input:focus{--pagefind-ui-border: var(--sl-color-accent)}#starlight__search .pagefind-ui__search-clear{inset-inline-end:var(--sl-search-cancel-space);width:calc(60px * var(--pagefind-ui-scale));padding:0;background-color:transparent;overflow:hidden}#starlight__search .pagefind-ui__search-clear:focus{outline:1px solid var(--sl-color-accent)}#starlight__search .pagefind-ui__search-clear:before{content:"";-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m13.41 12 6.3-6.29a1 1 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1 1 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 .33 1.64 1 1 0 0 0 1.09-.22l6.29-6.3 6.29 6.3a1 1 0 0 0 1.64-.33 1 1 0 0 0-.22-1.09L13.41 12Z'/%3E%3C/svg%3E") center / 50% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m13.41 12 6.3-6.29a1 1 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1 1 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 .33 1.64 1 1 0 0 0 1.09-.22l6.29-6.3 6.29 6.3a1 1 0 0 0 1.64-.33 1 1 0 0 0-.22-1.09L13.41 12Z'/%3E%3C/svg%3E") center / 50% no-repeat;background-color:var(--sl-color-text-accent);display:block;width:100%;height:100%}#starlight__search .pagefind-ui__results>*+*{margin-top:var(--sl-search-result-spacing)}#starlight__search .pagefind-ui__result{border:0;padding:0}#starlight__search .pagefind-ui__result-nested{position:relative;padding:var(--sl-search-result-nested-pad-block) var(--sl-search-result-pad-inline-end);padding-inline-start:var(--sl-search-result-pad-inline-start)}#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)),#starlight__search .pagefind-ui__result-nested{position:relative;background-color:var(--sl-color-black)}#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):hover,#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):focus-within,#starlight__search .pagefind-ui__result-nested:hover,#starlight__search .pagefind-ui__result-nested:focus-within{outline:1px solid var(--sl-color-accent-high)}#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):focus-within,#starlight__search .pagefind-ui__result-nested:focus-within{background-color:var(--sl-color-accent-low)}#starlight__search .pagefind-ui__result-thumb,#starlight__search .pagefind-ui__result-inner{margin-top:0}#starlight__search .pagefind-ui__result-inner>:first-child{border-radius:var(--sl-search-corners) var(--sl-search-corners) 0 0}#starlight__search .pagefind-ui__result-inner>:last-child{border-radius:0 0 var(--sl-search-corners) var(--sl-search-corners)}#starlight__search .pagefind-ui__result-inner>.pagefind-ui__result-title{padding:var(--sl-search-result-pad-block) var(--sl-search-result-pad-inline-end);padding-inline-start:var(--sl-search-result-pad-inline-start)}#starlight__search .pagefind-ui__result-inner>.pagefind-ui__result-title:before{content:"";position:absolute;inset-block:0;inset-inline-start:var(--sl-search-page-icon-inline-start);width:var(--sl-search-page-icon-size);background:var(--sl-color-gray-3);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 24 24'%3E%3Cpath d='M9 10h1a1 1 0 1 0 0-2H9a1 1 0 0 0 0 2Zm0 2a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2H9Zm11-3V8l-6-6a1 1 0 0 0-1 0H7a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V9Zm-6-4 3 3h-2a1 1 0 0 1-1-1V5Zm4 14a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h5v3a3 3 0 0 0 3 3h3v9Zm-3-3H9a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2Z'/%3E%3C/svg%3E") center no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 24 24'%3E%3Cpath d='M9 10h1a1 1 0 1 0 0-2H9a1 1 0 0 0 0 2Zm0 2a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2H9Zm11-3V8l-6-6a1 1 0 0 0-1 0H7a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V9Zm-6-4 3 3h-2a1 1 0 0 1-1-1V5Zm4 14a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h5v3a3 3 0 0 0 3 3h3v9Zm-3-3H9a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2Z'/%3E%3C/svg%3E") center no-repeat}#starlight__search .pagefind-ui__result-inner{align-items:stretch;gap:1px}#starlight__search .pagefind-ui__result-link{position:unset;--pagefind-ui-text: var(--sl-color-white);font-weight:600}#starlight__search .pagefind-ui__result-link:hover{text-decoration:none}#starlight__search .pagefind-ui__result-nested .pagefind-ui__result-link:before{content:unset}#starlight__search .pagefind-ui__result-nested:before{content:"";position:absolute;inset-block:0;inset-inline-start:var(--sl-search-tree-diagram-inline-start);width:var(--sl-search-tree-diagram-size);background:var(--sl-color-gray-4);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' viewBox='0 0 16 1000' preserveAspectRatio='xMinYMin slice'%3E%3Cpath d='M8 0v1000m6-988H8'/%3E%3C/svg%3E") 0% 0% / 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' viewBox='0 0 16 1000' preserveAspectRatio='xMinYMin slice'%3E%3Cpath d='M8 0v1000m6-988H8'/%3E%3C/svg%3E") 0% 0% / 100% no-repeat}#starlight__search .pagefind-ui__result-nested:last-child:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Cpath d='M8 0v12m6 0H8'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Cpath d='M8 0v12m6 0H8'/%3E%3C/svg%3E")}[dir=rtl] .pagefind-ui__result-title:before,[dir=rtl] .pagefind-ui__result-nested:before{transform:scaleX(-1)}#starlight__search .pagefind-ui__result-link:after{content:"";position:absolute;inset:0}#starlight__search .pagefind-ui__result-excerpt{font-size:calc(1rem * var(--pagefind-ui-scale));overflow-wrap:anywhere}#starlight__search mark{color:var(--sl-color-gray-2);background-color:transparent;font-weight:600}site-search:where(.astro-n63ahxst){display:contents}button:where(.astro-n63ahxst)[data-open-modal]{display:flex;border:0;background-color:transparent;color:var(--sl-color-gray-1);cursor:pointer;height:3rem;font-size:var(--sl-text-xl)}dialog:where(.astro-n63ahxst){margin:0;background-color:var(--sl-color-gray-6);border:1px solid var(--sl-color-gray-5);width:100%;max-width:100%;height:100%;max-height:100%;box-shadow:var(--sl-shadow-lg)}dialog:where(.astro-n63ahxst)[open]{display:flex}dialog:where(.astro-n63ahxst)::backdrop{background-color:var(--sl-color-backdrop-overlay);-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(1.25rem)}.dialog-frame:where(.astro-n63ahxst){flex-direction:column;flex-grow:1;gap:1rem;padding:1rem}button:where(.astro-n63ahxst)[data-close-modal]{position:absolute;z-index:1;align-items:center;align-self:flex-end;height:calc(64px * var(--pagefind-ui-scale));padding:.25rem;border:0;background:transparent;cursor:pointer;color:var(--sl-color-text-accent)}#starlight__search:where(.astro-n63ahxst){--pagefind-ui-primary: var(--sl-color-accent-light);--pagefind-ui-text: var(--sl-color-gray-2);--pagefind-ui-font: var(--__sl-font);--pagefind-ui-background: var(--sl-color-black);--pagefind-ui-border: var(--sl-color-gray-5);--pagefind-ui-border-width: 1px;--sl-search-cancel-space: 5rem}@media (min-width: 50rem){#starlight__search:where(.astro-n63ahxst){--sl-search-cancel-space: 0px}dialog:where(.astro-n63ahxst){margin:4rem auto auto;border-radius:.5rem;width:90%;max-width:40rem;height:max-content;min-height:15rem;max-height:calc(100% - 8rem)}.dialog-frame:where(.astro-n63ahxst){padding:1.5rem}}.site-title:where(.astro-z73cwxac){align-items:center;gap:var(--sl-nav-gap);font-size:var(--sl-text-h4);font-weight:600;color:var(--sl-color-text-accent);text-decoration:none;white-space:nowrap}img:where(.astro-z73cwxac){height:calc(var(--sl-nav-height) - 2 * var(--sl-nav-pad-y));width:auto;max-width:100%;object-fit:contain;object-position:0 50%}.header:where(.astro-wagtsxap){gap:var(--sl-nav-gap);justify-content:space-between;align-items:center;height:100%;background-color:#0000!important}.search-root:where(.astro-wagtsxap){justify-content:flex-end}.title-wrapper:where(.astro-wagtsxap){overflow:hidden}.right-group:where(.astro-wagtsxap),.social-icons:where(.astro-wagtsxap){gap:1rem;align-items:center}.social-icons:where(.astro-wagtsxap):after{content:"";height:2rem;border-inline-end:1px solid var(--sl-color-gray-5)}@media (min-width: 50rem){:root[data-has-sidebar]{--__sidebar-pad: calc(2 * var(--sl-nav-pad-x))}:root:not([data-has-toc]){--__toc-width: 0rem}.header:where(.astro-wagtsxap){--__sidebar-width: max(0rem, var(--sl-content-inline-start, 0rem) - var(--sl-nav-pad-x));--__main-column-fr: calc( ( 100% + var(--__sidebar-pad, 0rem) - var(--__toc-width, var(--sl-sidebar-width)) - (2 * var(--__toc-width, var(--sl-nav-pad-x))) - var(--sl-content-inline-start, 0rem) - var(--sl-content-width) ) / 2 );display:grid;grid-template-columns:minmax(calc(var(--__sidebar-width) + max(0rem,var(--__main-column-fr) - var(--sl-nav-gap))),auto) 1fr auto;align-content:center}}.action:where(.astro-xlzjlryn){gap:.5em;align-items:center;border-radius:999rem;padding:.5rem 1.125rem;color:var(--sl-color-white);line-height:1.1875;text-decoration:none;font-size:var(--sl-text-sm)}.action:where(.astro-xlzjlryn).primary{background:var(--sl-color-text-accent);color:var(--sl-color-black)}.action:where(.astro-xlzjlryn).secondary{border:1px solid}.action:where(.astro-xlzjlryn).minimal{padding-inline:0}@media (min-width: 50rem){.action:where(.astro-xlzjlryn){font-size:var(--sl-text-base);padding:1rem 1.25rem}}.hero:where(.astro-pgofn2s2){display:grid;align-items:center;gap:1rem;padding-bottom:1rem}.hero:where(.astro-pgofn2s2)>img:where(.astro-pgofn2s2),.hero:where(.astro-pgofn2s2)>.hero-html:where(.astro-pgofn2s2){object-fit:contain;width:min(70%,20rem);height:auto;margin-inline:auto}.stack:where(.astro-pgofn2s2){flex-direction:column;gap:clamp(1.5rem,calc(1.5rem + 1vw),2rem);text-align:center}.copy:where(.astro-pgofn2s2){flex-direction:column;gap:1rem;align-items:center}.copy:where(.astro-pgofn2s2)>:where(.astro-pgofn2s2){max-width:50ch}h1:where(.astro-pgofn2s2){font-size:clamp(var(--sl-text-3xl),calc(.25rem + 5vw),var(--sl-text-6xl));line-height:var(--sl-line-height-headings);font-weight:600;color:var(--sl-color-white)}.tagline:where(.astro-pgofn2s2){font-size:clamp(var(--sl-text-base),calc(.0625rem + 2vw),var(--sl-text-xl));color:var(--sl-color-gray-2)}.actions:where(.astro-pgofn2s2){gap:1rem 2rem;flex-wrap:wrap;justify-content:center}@media (min-width: 50rem){.hero:where(.astro-pgofn2s2){grid-template-columns:7fr 4fr;gap:3%;padding-block:clamp(2.5rem,calc(1rem + 10vmin),10rem)}.hero:where(.astro-pgofn2s2)>img:where(.astro-pgofn2s2),.hero:where(.astro-pgofn2s2)>.hero-html:where(.astro-pgofn2s2){order:2;width:min(100%,25rem)}.stack:where(.astro-pgofn2s2){text-align:start}.copy:where(.astro-pgofn2s2){align-items:flex-start}.actions:where(.astro-pgofn2s2){justify-content:flex-start}}.sl-markdown-content :not(a,em,del,span,input,code,:where(.not-content *)){font-weight:300}.sl-markdown-content strong:not(:where(.not-content *)){font-weight:600}.sl-markdown-content :not(a,strong,em,del,span,input,code,hr)+:not(a,strong,em,del,span,input,code,hr,:where(.not-content *)){margin-top:1rem}.sl-markdown-content :not(h1,h2,h3,h4,h5,h6)+:is(h1,h2,h3):not(:where(.not-content *)){margin-top:5rem}.sl-markdown-content :not(h1,h2,h3,h4,h5,h6)+:is(h4):not(:where(.not-content *)){margin-top:4rem}.sl-markdown-content :not(h1,h2,h3,h4,h5,h6)+:is(h5,h6):not(:where(.not-content *)){margin-top:2.5rem}.sl-markdown-content ul ul:not(:where(not-content *)){margin-bottom:1.3rem}.sl-markdown-content :is(h4):not(:where(.not-content *)){margin-top:5rem;font-weight:500!important}.sl-markdown-content :is(h3){margin-top:5rem;color:#ffeee1;font-weight:600!important}.sl-markdown-content :first-child:where(h1,h2,h3,h4,h5,h6){margin-top:0}.sl-markdown-content li+li:not(:where(.not-content *)),.sl-markdown-content dt+dt:not(:where(.not-content *)),.sl-markdown-content dt+dd:not(:where(.not-content *)),.sl-markdown-content dd+dd:not(:where(.not-content *)){margin-top:.25rem}.sl-markdown-content li:not(:where(.not-content *)){overflow-wrap:anywhere}.sl-markdown-content li>:last-child:not(li,ul,ol):not(a,strong,em,del,span,input,:where(.not-content *)){margin-bottom:1.25rem}.sl-markdown-content dt:not(:where(.not-content *)){font-weight:700}.sl-markdown-content dd:not(:where(.not-content *)){padding-inline-start:1rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6):not(:where(.not-content *)){color:#ebdbdb;line-height:var(--sl-line-height-headings);font-weight:600}.sl-markdown-content :is(h2){font-size:.6rem}.sl-markdown-content :is(img,picture,video,canvas,svg,iframe):not(:where(.not-content *)){display:block;max-width:100%;height:auto}.sl-markdown-content h1:not(:where(.not-content *)){font-size:var(--sl-text-h1)}.sl-markdown-content h2:not(:where(.not-content *)){font-size:var(--sl-text-base);color:var(--sl-color-accent)}.sl-markdown-content h3:not(:where(.not-content *)){font-size:var(--sl-text-h3)}.sl-markdown-content h4:not(:where(.not-content *)){font-size:var(--sl-text-h4)}.sl-markdown-content h5:not(:where(.not-content *)){font-size:var(--sl-text-h5)}.sl-markdown-content h6:not(:where(.not-content *)){font-size:var(--sl-text-h6)}.sl-markdown-content a:not(:where(.not-content *)){color:#eae0e0;font-weight:430;text-decoration-color:var(--sl-color-accent);text-decoration-style:solid;text-decoration-thickness:.09em;text-underline-offset:.14em;text-underline-position:from-font;transition:color .12s ease-in-out,text-decoration-color .12s ease-in-out;&:hover{color:#ffc56e;text-decoration-color:#ffc56e;text-decoration-style:solid}}.sl-markdown-content code:not(:where(.not-content *)){background-color:var(--sl-color-bg-inline-code);color:#eac183;margin-block:-.125rem;padding:.125rem .375rem;font-size:var(--sl-text-code-sm);border-radius:4px}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6) code{font-size:inherit}.sl-markdown .sl-markdown-content pre:not(:where(.not-content *)){border:1px solid var(--sl-color-gray-5);padding:0;font-size:var(--sl-text-code);tab-size:2}.sl-markdown-content pre code:not(:where(.not-content *)){all:unset;font-family:var(--__sl-font-mono)}.sl-markdown-content blockquote:not(:where(.not-content *)){border-inline-start:1px solid var(--sl-color-gray-5);padding-inline-start:1rem;color:var(--sl-color-gray-2)}.sl-markdown-content table:not(:where(.not-content *)){display:block;overflow:auto;border-collapse:collapse}.sl-markdown-content tr:nth-child(2n):not(:where(.not-content *)){background-color:var(--sl-color-gray-7, var(--sl-color-gray-6))}.sl-markdown-content :is(th,td):not(:where(.not-content *)){border:1px solid var(--sl-color-hairline-light);padding:.375rem .8125rem}.sl-markdown-content hr:not(:where(.not-content *)){border:0;border-bottom:1px solid var(--sl-color-gray-5);margin:1.8rem 0}.sl-markdown-content details:not(:where(.not-content *)){--sl-details-border-color: var(--sl-color-gray-5);--sl-details-border-color--hover: var(--sl-color-text-accent);border-inline-start:2px solid var(--sl-details-border-color);padding-inline-start:1rem}.sl-markdown-content details:not([open]):hover:not(:where(.not-content *)),.sl-markdown-content details:has(>summary:hover):not(:where(.not-content *)){border-color:var(--sl-details-border-color--hover)}.sl-markdown-content summary:not(:where(.not-content *)){color:var(--sl-color-white);cursor:pointer;display:block;font-weight:600;margin-inline-start:-.5rem;padding-inline-start:.5rem}.sl-markdown-content details[open]>summary:not(:where(.not-content *)){margin-bottom:1rem}.sl-markdown-content summary:not(:where(.not-content *))::marker,.sl-markdown-content summary:not(:where(.not-content *))::-webkit-details-marker{display:none}.sl-markdown-content summary:not(:where(.not-content *)):before{--sl-details-marker-size: 1.25rem;background-color:currentColor;content:"";display:inline-block;height:var(--sl-details-marker-size);width:var(--sl-details-marker-size);margin-inline:calc((var(--sl-details-marker-size) / 4) * -1) .25rem;vertical-align:middle;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@media (prefers-reduced-motion: no-preference){.sl-markdown-content summary:not(:where(.not-content *)):before{transition:transform .2s ease-in-out}}.sl-markdown-content details[open]>summary:not(:where(.not-content *)):before{transform:rotate(90deg)}[dir=rtl] .sl-markdown-content summary:not(:where(.not-content *)):before,.sl-markdown-content [dir=rtl] summary:not(:where(.not-content *)):before{transform:rotate(180deg)}.sl-markdown-content summary:not(:where(.not-content *)) p:only-child{display:inline}.sl-markdown-content .starlight-aside details:not(:where(.not-content *)){--sl-details-border-color: var(--sl-color-asides-border);--sl-details-border-color--hover: var(--sl-color-asides-text-accent)}[data-mobile-menu-expanded]{overflow:hidden}@media (min-width: 50rem){[data-mobile-menu-expanded]{overflow:auto}}button:where(.astro-dwzdllxx){position:fixed;top:calc((var(--sl-nav-height) - var(--sl-menu-button-size)) / 2);inset-inline-end:var(--sl-nav-pad-x);z-index:var(--sl-z-index-navbar);border:0;border-radius:50%;width:var(--sl-menu-button-size);height:var(--sl-menu-button-size);padding:.5rem;background-color:var(--sl-color-white);color:var(--sl-color-black);box-shadow:var(--sl-shadow-md);cursor:pointer}:where(.astro-dwzdllxx)[aria-expanded=true] button:where(.astro-dwzdllxx){background-color:var(--sl-color-gray-2);box-shadow:none}.page-frame:where(.astro-wu4nwam6){flex-direction:column;min-height:100vh}.header:where(.astro-wu4nwam6){z-index:var(--sl-z-index-navbar);position:fixed;inset-inline-start:0;inset-block-start:0;width:100%;height:var(--sl-nav-height);border-bottom:1px solid var(--sl-color-hairline-shade);padding:var(--sl-nav-pad-y) var(--sl-nav-pad-x);padding-inline-end:var(--sl-nav-pad-x);background-color:#0000}[data-has-sidebar] .header:where(.astro-wu4nwam6){padding-inline-end:calc(var(--sl-nav-gap) + var(--sl-nav-pad-x) + var(--sl-menu-button-size))}.sidebar-pane:where(.astro-wu4nwam6){visibility:var(--sl-sidebar-visibility, hidden);position:fixed;z-index:var(--sl-z-index-menu);inset-block:var(--sl-nav-height) 0;inset-inline-start:0;width:100%;background-color:var(--sl-color-black);overflow-y:auto}[aria-expanded=true]~.sidebar-pane:where(.astro-wu4nwam6){--sl-sidebar-visibility: visible}.sidebar-content:where(.astro-wu4nwam6){height:100%;min-height:max-content;padding:1rem var(--sl-sidebar-pad-x) 0;flex-direction:column;gap:1rem}@media (min-width: 50rem){.sidebar-content:where(.astro-wu4nwam6):after{content:"";padding-bottom:1px}}.main-frame:where(.astro-wu4nwam6){padding-top:calc(var(--sl-nav-height) + var(--sl-mobile-toc-height));padding-inline-start:var(--sl-content-inline-start)}@media (min-width: 50rem){[data-has-sidebar] .header:where(.astro-wu4nwam6){padding-inline-end:var(--sl-nav-pad-x)}.sidebar-pane:where(.astro-wu4nwam6){--sl-sidebar-visibility: visible;width:var(--sl-sidebar-width);background-color:var(--sl-color-bg-sidebar);border-inline-end:1px solid var(--sl-color-hairline-shade)}}ul:where(.astro-spfmaigg){padding:0;list-style:none}ul:where(.astro-spfmaigg) li:where(.astro-spfmaigg) a:where(.astro-spfmaigg){font-size:1.08rem}ul:where(.astro-spfmaigg) li:where(.astro-spfmaigg) li:where(.astro-spfmaigg) a:where(.astro-spfmaigg){font-size:.975em}a:where(.astro-spfmaigg){--pad-inline: .5rem;display:block;border-radius:.25rem;padding-block:.25rem;padding-inline:calc(1rem * var(--depth) + var(--pad-inline)) var(--pad-inline);line-height:1.25}a:where(.astro-spfmaigg)[aria-current=true]{color:var(--sl-color-white);&:hover{color:var(--sl-color-accent)}}.isMobile:where(.astro-spfmaigg) a:where(.astro-spfmaigg){--pad-inline: 1rem;display:flex;justify-content:space-between;gap:var(--pad-inline);border-top:1px solid var(--sl-color-gray-6);border-radius:0;padding-block:.5rem;color:var(--sl-color-text);font-size:var(--sl-text-sm);text-decoration:none;outline-offset:var(--sl-outline-offset-inside)}.isMobile:where(.astro-spfmaigg):first-child>li:where(.astro-spfmaigg):first-child>a:where(.astro-spfmaigg){border-top:0}.isMobile:where(.astro-spfmaigg) a:where(.astro-spfmaigg)[aria-current=true],.isMobile:where(.astro-spfmaigg) a:where(.astro-spfmaigg)[aria-current=true]:hover,.isMobile:where(.astro-spfmaigg) a:where(.astro-spfmaigg)[aria-current=true]:focus{background-color:unset}.isMobile:where(.astro-spfmaigg) a:where(.astro-spfmaigg)[aria-current=true]:after{content:"";width:1rem;background-color:var(--sl-color-text-accent);-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCc+PHBhdGggZD0nTTEwLjkxNCA0LjIwNmEuNTgzLjU4MyAwIDAgMC0uODI4IDBMNS43NCA4LjU1NyAzLjkxNCA2LjcyNmEuNTk2LjU5NiAwIDAgMC0uODI4Ljg1N2wyLjI0IDIuMjRhLjU4My41ODMgMCAwIDAgLjgyOCAwbDQuNzYtNC43NmEuNTgzLjU4MyAwIDAgMCAwLS44NTdaJy8+PC9zdmc+Cg==);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCc+PHBhdGggZD0nTTEwLjkxNCA0LjIwNmEuNTgzLjU4MyAwIDAgMC0uODI4IDBMNS43NCA4LjU1NyAzLjkxNCA2LjcyNmEuNTk2LjU5NiAwIDAgMC0uODI4Ljg1N2wyLjI0IDIuMjRhLjU4My41ODMgMCAwIDAgLjgyOCAwbDQuNzYtNC43NmEuNTgzLjU4MyAwIDAgMCAwLS44NTdaJy8+PC9zdmc+Cg==);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;flex-shrink:0}nav:where(.astro-g2haqgb3){position:fixed;z-index:var(--sl-z-index-toc);top:calc(var(--sl-nav-height) - 1px);inset-inline:0;border-top:1px solid var(--sl-color-gray-5);background-color:var(--sl-color-bg-nav)}@media (min-width: 50rem){nav:where(.astro-g2haqgb3){inset-inline-start:var(--sl-content-inline-start, 0)}}summary:where(.astro-g2haqgb3){gap:.5rem;align-items:center;height:var(--sl-mobile-toc-height);border-bottom:1px solid var(--sl-color-hairline-shade);padding:.5rem 1rem;font-size:var(--sl-text-xs);outline-offset:var(--sl-outline-offset-inside)}summary:where(.astro-g2haqgb3)::marker,summary:where(.astro-g2haqgb3)::-webkit-details-marker{display:none}.toggle:where(.astro-g2haqgb3){flex-shrink:0;gap:1rem;align-items:center;justify-content:space-between;border:1px solid var(--sl-color-gray-5);border-radius:.5rem;padding-block:.5rem;padding-inline-start:.75rem;padding-inline-end:.5rem;line-height:1;background-color:var(--sl-color-black);user-select:none;cursor:pointer}details:where(.astro-g2haqgb3)[open] .toggle:where(.astro-g2haqgb3){color:var(--sl-color-white);border-color:var(--sl-color-accent)}details:where(.astro-g2haqgb3) .toggle:where(.astro-g2haqgb3):hover{color:var(--sl-color-white);border-color:var(--sl-color-gray-2)}[dir=rtl] .caret:where(.astro-g2haqgb3){transform:rotate(180deg)}details:where(.astro-g2haqgb3)[open] .caret:where(.astro-g2haqgb3){transform:rotate(90deg)}.display-current:where(.astro-g2haqgb3){white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:var(--sl-color-white)}.dropdown:where(.astro-g2haqgb3){--border-top: 1px;margin-top:calc(-1 * var(--border-top));border:var(--border-top) solid var(--sl-color-gray-6);border-top-color:var(--sl-color-hairline-shade);max-height:calc(85vh - var(--sl-nav-height) - var(--sl-mobile-toc-height));overflow-y:auto;background-color:var(--sl-color-black);box-shadow:var(--sl-shadow-md);overscroll-behavior:contain}.right-sidebar-panel:where(.astro-h3vzoehi){padding:1rem var(--sl-sidebar-pad-x)}.sl-container:where(.astro-h3vzoehi){width:calc(var(--sl-sidebar-width) - 2 * var(--sl-sidebar-pad-x))}.right-sidebar-panel:where(.astro-h3vzoehi) h2{color:var(--sl-color-white);font-size:var(--sl-text-h5);font-weight:600;line-height:var(--sl-line-height-headings);margin-bottom:.5rem}.right-sidebar-panel:where(.astro-h3vzoehi) :where(a){display:block;text-decoration:none;color:var(--sl-color-gray-3);overflow-wrap:anywhere}.right-sidebar-panel:where(.astro-h3vzoehi) :where(a):hover{color:var(--sl-color-accent)}@media (min-width: 72rem){.sl-container:where(.astro-h3vzoehi){max-width:calc(((100vw - var(--sl-sidebar-width) - 2 * var(--sl-content-pad-x) - 2 * var(--sl-sidebar-pad-x)) * .25))}}h1:where(.astro-3dzsydmp){margin-top:1rem;font-size:var(--sl-text-h1);line-height:var(--sl-line-height-headings);font-weight:700;letter-spacing:.03rem;color:var(--sl-color-white)}:root p:where(.astro-3dzsydmp){margin-top:.6rem;color:#bddef2;font-style:italic}a:where(.astro-7w7pdatc){color:var(--sl-color-text-accent);padding:.5em;margin:-.5em}a:where(.astro-7w7pdatc):hover{opacity:.66}.social-icons:where(.astro-ym3r2ldi){margin-inline-end:auto;gap:1rem;align-items:center;padding-block:1rem}.social-icons:where(.astro-ym3r2ldi):empty{display:none}.mobile-preferences:where(.astro-ym3r2ldi){justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--sl-color-gray-6);column-gap:1rem;padding:.5rem 0}hr:where(.astro-bgd6mkzw){display:block;width:calc(100% + 2rem);margin-top:1rem;margin-bottom:1rem;margin-left:-1rem}.sidebar-icon:where(.astro-bgd6mkzw){display:inline-block}ul:where(.astro-bgd6mkzw){list-style:none;padding:0}li:where(.astro-bgd6mkzw){overflow-wrap:anywhere}ul:where(.astro-bgd6mkzw) ul:where(.astro-bgd6mkzw) li:where(.astro-bgd6mkzw){margin-inline-start:var(--sl-sidebar-item-padding-inline);border-inline-start:1px solid var(--sl-color-hairline-light);padding-inline-start:var(--sl-sidebar-item-padding-inline)}ul:where(.astro-bgd6mkzw).top-level li:where(.astro-bgd6mkzw):first-child summary:where(.astro-bgd6mkzw){margin-top:0}.large:where(.astro-bgd6mkzw){font-size:var(--sl-text-lg)}.top-level:where(.astro-bgd6mkzw)>li:where(.astro-bgd6mkzw)+li:where(.astro-bgd6mkzw){margin-top:.75rem;font-weight:600;color:--sl-color-gray-2}.top-level:where(.astro-bgd6mkzw) a:where(.astro-bgd6mkzw){display:flex;flex-direction:row;align-items:center;border-radius:.25rem;text-decoration:none;color:var(--sl-color-gray-2);padding:.1em var(--sl-sidebar-item-padding-inline);line-height:2;font-size:1.08rem!important;margin-left:.6rem;span{flex-shrink:0}&:hover,&:focus{color:var(--sl-color-white)}&[aria-current=page]{opacity:.5;pointer-events:none}}summary:where(.astro-bgd6mkzw){display:flex;align-items:center;justify-content:space-between;padding:.2em var(--sl-sidebar-item-padding-inline);cursor:pointer;user-select:none;margin-top:.7rem}summary:where(.astro-bgd6mkzw)::marker,summary:where(.astro-bgd6mkzw)::-webkit-details-marker{display:none}details:where(.astro-bgd6mkzw)[open]{margin-bottom:1rem}.caret:where(.astro-bgd6mkzw){transition:transform .2s ease-in-out;flex-shrink:0;display:none}[dir=rtl] .caret:where(.astro-bgd6mkzw){transform:rotate(180deg);display:none}:where(.astro-bgd6mkzw)[open]>summary:where(.astro-bgd6mkzw) .caret:where(.astro-bgd6mkzw){transform:rotate(90deg)}.group-label:where(.astro-bgd6mkzw){font-weight:550;*{font-size:.96rem!important}}a:where(.astro-bgd6mkzw)>:where(.astro-bgd6mkzw):not(:last-child),.group-label:where(.astro-bgd6mkzw)>:where(.astro-bgd6mkzw):not(:last-child){margin-inline-end:.25em}@media (min-width: 50rem){.top-level:where(.astro-bgd6mkzw)>li:where(.astro-bgd6mkzw)+li:where(.astro-bgd6mkzw){margin-top:.5rem}.large:where(.astro-bgd6mkzw){font-size:1.2rem}a:where(.astro-bgd6mkzw){font-size:var(--sl-text-sm)}}a:where(.astro-z2miczde){clip:rect(0,0,0,0);position:fixed;top:.75rem;inset-inline-start:.75rem}a:where(.astro-z2miczde):focus{clip:unset;z-index:var(--sl-z-index-skiplink);display:block;padding:.5rem 1rem;text-decoration:none;color:var(--sl-color-text-invert);background-color:var(--sl-color-text-accent);box-shadow:var(--sl-shadow-lg)}.main-pane:where(.astro-qzsemow5){isolation:isolate}@media (min-width: 72rem){.right-sidebar-container:where(.astro-qzsemow5){order:2;position:relative;width:calc(var(--sl-sidebar-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2)}.right-sidebar:where(.astro-qzsemow5){position:fixed;top:0;padding-top:var(--sl-nav-height);width:100%;height:100vh;overflow-y:auto;scrollbar-width:none}.main-pane:where(.astro-qzsemow5){width:100%}[data-has-sidebar][data-has-toc] .main-pane:where(.astro-qzsemow5){--sl-content-margin-inline: auto 0;order:1;width:calc(var(--sl-content-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2)}}.starlight-aside{padding:1rem;border-inline-start:.25rem solid var(--sl-color-asides-border);color:var(--sl-color-white)}.starlight-aside--note{--sl-color-asides-text-accent: var(--sl-color-blue-high);--sl-color-asides-border: var(--sl-color-blue);background-color:var(--sl-color-blue-low)}.starlight-aside--tip{--sl-color-asides-text-accent: var(--sl-color-purple-high);--sl-color-asides-border: var(--sl-color-purple);background-color:var(--sl-color-purple-low)}.starlight-aside--caution{--sl-color-asides-text-accent: var(--sl-color-orange-high);--sl-color-asides-border: var(--sl-color-orange);background-color:var(--sl-color-orange-low)}.starlight-aside--danger{--sl-color-asides-text-accent: var(--sl-color-red-high);--sl-color-asides-border: var(--sl-color-red);background-color:var(--sl-color-red-low)}.starlight-aside__title{display:flex;gap:.5rem;align-items:center;font-size:var(--sl-text-h5);font-weight:600;line-height:var(--sl-line-height-headings);color:var(--sl-color-asides-text-accent)}.starlight-aside__icon{font-size:1.333em;width:1em;height:1em}.starlight-aside__title+.starlight-aside__content{margin-top:.5rem}.starlight-aside__content a{color:var(--sl-color-asides-text-accent);text-decoration-color:var(--sl-color-asides-text-accent)}.sl-markdown-content{h1{margin-bottom:1rem}.big-page-link{display:block;text-decoration:none;padding:1.2rem 2rem;margin-top:1rem;margin-left:-2rem;border-radius:1rem;h3{margin-top:0}p{color:#b9b9b9;margin-top:.5rem;font-size:110%}}}.sidebar-pane .h3{font-size:var(--sl-text-sm);font-weight:300;img+span{margin-left:.3rem}&.top-level-link{margin-left:0}&:not(:hover,:focus){color:var(--sl-color-text)}}:root,::backdrop{--sl-hue-red: 360;--sl-font-system: "Figtree", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--sl-color-text: #dfd1d7;--sl-color-bg: #1e1b1a;--sl-color-bg-nav: #1e1b1a;--sl-color-bg-sidebar: #1e1b1a;--sl-color-hairline: #221e1d;--sl-color-black: #1e1b1a;--sl-content-width: 45rem;--sl-color-text-accent: #ff6464;--sl-sidebar-item-padding-inline: 0rem;--ec-frm-inlBtnBg: #ff6464;#starlight__sidebar ul ul li{border-inline-start:none;font-weight:300}#starlight__sidebar summary{color:#ff6464}.content-panel{margin-right:14vw;margin-left:4vw}.header{border:none}.expressive-code{box-shadow:0 2px 4px #00000040;border-radius:8px}.expressive-code .frame pre{border-radius:8px;background:#221f1f;border:.6px solid #342f2f}.expressive-code .frame{--code-background: #00000000}.expressive-code pre{border-radius:8px}.content-panel+.content-panel{border-top:none}.sidebar-pane{padding-left:.8rem}--ec-codePadBlk: 2rem;.expressive-code .copy button:before{border:1px none #00000000}}.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}html:not([data-has-toc]){--sl-mobile-toc-height: 0rem}html:not([data-has-sidebar]){--sl-content-width: 67.5rem}html{scroll-padding-top:calc(1.5rem + var(--sl-nav-height) + var(--sl-mobile-toc-height))}main:where(.astro-rwlsmwlq){padding-bottom:3vh}@media (min-width: 50em){:where(.astro-rwlsmwlq)[data-has-sidebar]{--sl-content-inline-start: var(--sl-sidebar-width)}}@media (min-width: 72em){html{scroll-padding-top:calc(1.5rem + var(--sl-nav-height))}} diff --git a/assets/browser-support.QSDFT8qv.css b/assets/browser-support.QSDFT8qv.css new file mode 100644 index 00000000..fc4e6349 --- /dev/null +++ b/assets/browser-support.QSDFT8qv.css @@ -0,0 +1 @@ +*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5)}::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5)}.\!p-0{padding:0!important}.pa{padding:auto}.px,.px-4{padding-left:1rem;padding-right:1rem}.px-0\.8rem{padding-left:.8rem;padding-right:.8rem}.px-1\.125rem{padding-left:1.125rem;padding-right:1.125rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-0\.4rem{padding-top:.4rem;padding-bottom:.4rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-0\.8125rem{padding-top:.8125rem;padding-bottom:.8125rem}.pb{padding-bottom:1rem}.pb-8{padding-bottom:2rem}.pl-1\.125rem{padding-left:1.125rem}.pr-1\.495rem{padding-right:1.495rem}.pt-6{padding-top:1.5rem}.mt-3{margin-top:.75rem}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.opacity-50{opacity:.5}.bg-\#8a6e6f{--un-bg-opacity:1;background-color:rgb(138 110 111 / var(--un-bg-opacity))}.bg-\#bddef2{--un-bg-opacity:1;background-color:rgb(189 222 242 / var(--un-bg-opacity))}.bg-\#fffa85{--un-bg-opacity:1;background-color:rgb(255 250 133 / var(--un-bg-opacity))}.bg-\$sl-color-accent{background-color:var(--sl-color-accent)}.border-0{border-width:0px}.rounded-0\.6rem{border-radius:.6rem}.rounded-full{border-radius:9999px}.text-0\.8rem{font-size:.8rem}.text-0\.9rem{font-size:.9rem}.text-1rem{font-size:1rem}.text-pink100{--un-text-opacity:1;color:rgb(252 231 243 / var(--un-text-opacity))}.color-\[hsl\(224\,_10\%\,_10\%\)\]{--un-text-opacity:1;color:hsl(224 10% 10% / var(--un-text-opacity))}.color-\#1e1b1a{--un-text-opacity:1;color:rgb(30 27 26 / var(--un-text-opacity))}.font-500{font-weight:500}.font-600{font-weight:600}.font-700{font-weight:700}.font-800{font-weight:800}.tracking--0\.011em{letter-spacing:-.011em}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.indent{text-indent:1.5rem}.flex{display:flex}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.gap-0\.2{gap:.05rem}.absolute{position:absolute}.relative{position:relative}.h-1em{height:1em}.h-2\.6px{height:2.6px}.h1{height:.25rem}.w-1em{width:1em}.w-full{width:100%}.cursor-pointer{cursor:pointer}.whitespace-nowrap{white-space:nowrap}.overflow-hidden{overflow:hidden}.items-center{align-items:center}.\!self-start{align-self:flex-start!important}.bottom--1{bottom:-.25rem}.left-0{left:0}.transition-650{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.65s}.ease{transition-timing-function:cubic-bezier(.4,0,.2,1)}.translate-x-1rem{--un-translate-x:1rem;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.translate-y--20\%{--un-translate-y:-20%;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))} diff --git a/assets/client.CFbmdnQb.js b/assets/client.CFbmdnQb.js new file mode 100644 index 00000000..19eda97d --- /dev/null +++ b/assets/client.CFbmdnQb.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/signals.module.B8hOACSr.js","assets/preact.module.BP4etL1N.js","assets/hooks.module.vf81mID6.js"])))=>i.map(i=>d[i]); +import{_ as t}from"./preload-helper.B5A3MRH_.js";import{_ as e,B as a,D as n}from"./preact.module.BP4etL1N.js";const s=({value:t,name:a,hydrate:n=!0})=>{if(!t)return null;return e(n?"astro-slot":"astro-static-slot",{name:a,dangerouslySetInnerHTML:{__html:t}})};s.shouldComponentUpdate=()=>!1;var r=s;const o=new Map;var l=s=>async(l,i,{default:u,...c},{client:d})=>{if(!s.hasAttribute("ssr"))return;for(const[t,a]of Object.entries(c))i[t]=e(r,{value:a,name:t});if(s.dataset.preactSignals){const{signal:e}=await t((async()=>{const{signal:t}=await import("./signals.module.B8hOACSr.js");return{signal:t}}),__vite__mapDeps([0,1,2]));let a=JSON.parse(s.dataset.preactSignals);for(const[t,n]of Object.entries(a)){if(!o.has(n)){const a=e(i[t]);o.set(n,a)}i[t]=o.get(n)}}("only"!==d?n:a)(e(l,i,null!=u?e(r,{value:u}):u),s),s.addEventListener("astro:unmount",(()=>a(null,s)),{once:!0})};export{l as default}; diff --git a/assets/ec.3zb7u.js b/assets/ec.3zb7u.js new file mode 100644 index 00000000..8c0e188f --- /dev/null +++ b/assets/ec.3zb7u.js @@ -0,0 +1,3 @@ +try{(()=>{function i(e){if(!e)return;let r=e.getAttribute("tabindex")!==null,t=e.scrollWidth>e.clientWidth;t&&!r?e.setAttribute("tabindex","0"):!t&&r&&e.removeAttribute("tabindex")}function a(e){let r=new Set,t;return new ResizeObserver(u=>{u.forEach(o=>r.add(o.target)),t&&clearTimeout(t),t=setTimeout(()=>{t=void 0,r.forEach(o=>e(o)),r.clear()},250)})}function s(e,r){e.querySelectorAll?.(".expressive-code pre > code").forEach(t=>{let n=t.parentElement;n&&(i(n),r.observe(n))})}var d=a(i);s(document,d);var c=new MutationObserver(e=>e.forEach(r=>r.addedNodes.forEach(t=>{s(t,d)})));c.observe(document.body,{childList:!0,subtree:!0});document.addEventListener("astro:page-load",()=>{s(document,d)});})();}catch(e){console.error("[EC] tabindex-js-module failed:",e)} +try{(()=>{function i(o){let e=document.createElement("pre");Object.assign(e.style,{opacity:"0",pointerEvents:"none",position:"absolute",overflow:"hidden",left:"0",top:"0",width:"20px",height:"20px",webkitUserSelect:"auto",userSelect:"all"}),e.ariaHidden="true",e.textContent=o,document.body.appendChild(e);let a=document.createRange();a.selectNode(e);let n=getSelection();if(!n)return!1;n.removeAllRanges(),n.addRange(a);let r=!1;try{r=document.execCommand("copy")}finally{n.removeAllRanges(),document.body.removeChild(e)}return r}async function l(o){let e=o.currentTarget,a=e.dataset,n=!1,r=a.code.replace(/\u007f/g,` +`);try{await navigator.clipboard.writeText(r),n=!0}catch{n=i(r)}if(!n||e.parentNode?.querySelector(".feedback"))return;let t=document.createElement("div");t.classList.add("feedback"),t.append(a.copied),e.before(t),t.offsetWidth,requestAnimationFrame(()=>t?.classList.add("show"));let c=()=>!t||t.classList.remove("show"),d=()=>{!t||parseFloat(getComputedStyle(t).opacity)>0||(t.remove(),t=void 0)};setTimeout(c,1500),setTimeout(d,2500),e.addEventListener("blur",c),t.addEventListener("transitioncancel",d),t.addEventListener("transitionend",d)}function s(o){o.querySelectorAll?.(".expressive-code .copy button").forEach(e=>e.addEventListener("click",l))}s(document);var u=new MutationObserver(o=>o.forEach(e=>e.addedNodes.forEach(a=>{s(a)})));u.observe(document.body,{childList:!0,subtree:!0});document.addEventListener("astro:page-load",()=>{s(document)});})();}catch(e){console.error("[EC] copy-js-module failed:",e)} \ No newline at end of file diff --git a/assets/ec.wnxus.css b/assets/ec.wnxus.css new file mode 100644 index 00000000..59c3c6b0 --- /dev/null +++ b/assets/ec.wnxus.css @@ -0,0 +1 @@ +.expressive-code{font-family:var(--ec-uiFontFml);font-size:var(--ec-uiFontSize);font-weight:var(--ec-uiFontWg);line-height:var(--ec-uiLineHt);text-size-adjust:none;-webkit-text-size-adjust:none}.expressive-code *:not(path){all:revert;box-sizing:border-box}.expressive-code pre{display:flex;margin:0;padding:0;border:var(--ec-brdWd) solid var(--ec-brdCol);border-radius:calc(var(--ec-brdRad) + var(--ec-brdWd));background:var(--ec-codeBg)}.expressive-code pre:focus-visible{outline:3px solid var(--ec-focusBrd);outline-offset:-3px}.expressive-code pre > code{all:unset;display:block;flex:1 0 100%;padding:var(--ec-codePadBlk) 0;color:var(--ec-codeFg);font-family:var(--ec-codeFontFml);font-size:var(--ec-codeFontSize);font-weight:var(--ec-codeFontWg);line-height:var(--ec-codeLineHt)}.expressive-code pre{overflow-x:auto}.expressive-code pre.wrap .ec-line .code{white-space:pre-wrap;overflow-wrap:break-word;min-width:min(20ch, var(--ecMaxLine, 20ch))}.expressive-code pre.wrap .ec-line .code span.indent{white-space:pre}.expressive-code pre::-webkit-scrollbar,.expressive-code pre::-webkit-scrollbar-track{background-color:inherit;border-radius:calc(var(--ec-brdRad) + var(--ec-brdWd));border-top-left-radius:0;border-top-right-radius:0}.expressive-code pre::-webkit-scrollbar-thumb{background-color:var(--ec-sbThumbCol);border:4px solid transparent;background-clip:content-box;border-radius:10px}.expressive-code pre::-webkit-scrollbar-thumb:hover{background-color:var(--ec-sbThumbHoverCol)}.expressive-code .ec-line{direction:ltr;unicode-bidi:isolate;display:grid;grid-template-areas:'gutter code';grid-template-columns:auto 1fr;position:relative}.expressive-code .ec-line .gutter{grid-area:gutter;color:var(--ec-gtrFg)}.expressive-code .ec-line .gutter > *{pointer-events:none;user-select:none;-webkit-user-select:none}.expressive-code .ec-line .gutter ~ .code{--ecLineBrdCol:var(--ec-gtrBrdCol)}.expressive-code .ec-line.highlight .gutter{color:var(--ec-gtrHlFg)}.expressive-code .ec-line .code{grid-area:code;position:relative;box-sizing:content-box;padding-inline-start:calc(var(--ecIndent, 0ch) + var(--ec-codePadInl) - var(--ecGtrBrdWd));padding-inline-end:var(--ec-codePadInl);text-indent:calc(var(--ecIndent, 0ch) * -1)}.expressive-code .ec-line .code::before,.expressive-code .ec-line .code::after,.expressive-code .ec-line .code :where(*){text-indent:0}.expressive-code .ec-line .code{--ecGtrBrdWd:var(--ec-gtrBrdWd);border-inline-start:var(--ecGtrBrdWd) solid var(--ecLineBrdCol, transparent)}.expressive-code :nth-child(1 of .ec-line) .code{padding-inline-end:calc(2rem + var(--ec-codePadInl))}.expressive-code .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.expressive-code .ec-line.mark{--tmLineBgCol:var(--ec-tm-markBg)}.expressive-code .ec-line.mark .code{--ecLineBrdCol:var(--ec-tm-markBrdCol)}.expressive-code .ec-line.ins{--tmLineBgCol:var(--ec-tm-insBg);--tmLabel:var(--ec-tm-insDiffIndContent)}.expressive-code .ec-line.ins .code{--ecLineBrdCol:var(--ec-tm-insBrdCol)}.expressive-code .ec-line.ins .code::before{color:var(--ec-tm-insDiffIndCol)}.expressive-code .ec-line.del{--tmLineBgCol:var(--ec-tm-delBg);--tmLabel:var(--ec-tm-delDiffIndContent)}.expressive-code .ec-line.del .code{--ecLineBrdCol:var(--ec-tm-delBrdCol)}.expressive-code .ec-line.del .code::before{color:var(--ec-tm-delDiffIndCol)}.expressive-code .ec-line.mark,.expressive-code .ec-line.ins,.expressive-code .ec-line.del{background:var(--tmLineBgCol)}.expressive-code .ec-line.mark .code,.expressive-code .ec-line.ins .code,.expressive-code .ec-line.del .code{--ecGtrBrdWd:var(--ec-tm-lineMarkerAccentWd)}.expressive-code .ec-line.mark .code::before,.expressive-code .ec-line.ins .code::before,.expressive-code .ec-line.del .code::before{display:block;position:absolute;left:0;box-sizing:border-box;content:var(--tmLabel, ' ');padding-inline-start:var(--ec-tm-lineDiffIndMargLeft);text-align:center;white-space:pre}.expressive-code .ec-line.mark.tm-label .code::before,.expressive-code .ec-line.ins.tm-label .code::before,.expressive-code .ec-line.del.tm-label .code::before{background:var(--ecLineBrdCol);padding:0 calc(var(--ec-tm-lineMarkerLabelPadInl) + var(--ec-tm-lineMarkerAccentWd)) 0 var(--ec-tm-lineMarkerLabelPadInl);color:var(--ec-tm-lineMarkerLabelCol)}.expressive-code .ec-line mark{--tmInlineBgCol:var(--ec-tm-markBg);--tmInlineBrdCol:var(--ec-tm-markBrdCol)}.expressive-code .ec-line ins{--tmInlineBgCol:var(--ec-tm-insBg);--tmInlineBrdCol:var(--ec-tm-insBrdCol)}.expressive-code .ec-line del{--tmInlineBgCol:var(--ec-tm-delBg);--tmInlineBrdCol:var(--ec-tm-delBrdCol)}.expressive-code .ec-line mark,.expressive-code .ec-line ins,.expressive-code .ec-line del{all:unset;display:inline-block;position:relative;--tmBrdL:var(--ec-tm-inlMarkerBrdWd);--tmBrdR:var(--ec-tm-inlMarkerBrdWd);--tmRadL:var(--ec-tm-inlMarkerBrdRad);--tmRadR:var(--ec-tm-inlMarkerBrdRad);margin-inline:0.025rem;padding-inline:var(--ec-tm-inlMarkerPad);border-radius:var(--tmRadL) var(--tmRadR) var(--tmRadR) var(--tmRadL);background:var(--tmInlineBgCol);background-clip:padding-box}.expressive-code .ec-line mark.open-start,.expressive-code .ec-line ins.open-start,.expressive-code .ec-line del.open-start{margin-inline-start:0;padding-inline-start:0;--tmBrdL:0px;--tmRadL:0}.expressive-code .ec-line mark.open-end,.expressive-code .ec-line ins.open-end,.expressive-code .ec-line del.open-end{margin-inline-end:0;padding-inline-end:0;--tmBrdR:0px;--tmRadR:0}.expressive-code .ec-line mark::before,.expressive-code .ec-line ins::before,.expressive-code .ec-line del::before{content:'';position:absolute;pointer-events:none;display:inline-block;inset:0;border-radius:var(--tmRadL) var(--tmRadR) var(--tmRadR) var(--tmRadL);border:var(--ec-tm-inlMarkerBrdWd) solid var(--tmInlineBrdCol);border-inline-width:var(--tmBrdL) var(--tmBrdR)}.expressive-code .frame{all:unset;position:relative;display:block;--header-border-radius:calc(var(--ec-brdRad) + var(--ec-brdWd));--tab-border-radius:calc(var(--ec-frm-edTabBrdRad) + var(--ec-brdWd));--button-spacing:0.4rem;--code-background:var(--ec-frm-edBg);border-radius:var(--header-border-radius);box-shadow:var(--ec-frm-frameBoxShdCssVal)}.expressive-code .frame .header{display:none;z-index:1;position:relative;border-radius:var(--header-border-radius) var(--header-border-radius) 0 0}.expressive-code .frame.has-title pre,.expressive-code .frame.has-title code,.expressive-code .frame.is-terminal pre,.expressive-code .frame.is-terminal code{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.expressive-code .frame .title:empty:before{content:'\a0'}.expressive-code .frame.has-title:not(.is-terminal){--button-spacing:calc(1.9rem + 2 * (var(--ec-uiPadBlk) + var(--ec-frm-edActTabIndHt)))}.expressive-code .frame.has-title:not(.is-terminal) .title{position:relative;color:var(--ec-frm-edActTabFg);background:var(--ec-frm-edActTabBg);background-clip:padding-box;margin-block-start:var(--ec-frm-edTabsMargBlkStart);padding:calc(var(--ec-uiPadBlk) + var(--ec-frm-edActTabIndHt)) var(--ec-uiPadInl);border:var(--ec-brdWd) solid var(--ec-frm-edActTabBrdCol);border-radius:var(--tab-border-radius) var(--tab-border-radius) 0 0;border-bottom:none;overflow:hidden}.expressive-code .frame.has-title:not(.is-terminal) .title::after{content:'';position:absolute;pointer-events:none;inset:0;border-top:var(--ec-frm-edActTabIndHt) solid var(--ec-frm-edActTabIndTopCol);border-bottom:var(--ec-frm-edActTabIndHt) solid var(--ec-frm-edActTabIndBtmCol)}.expressive-code .frame.has-title:not(.is-terminal) .header{display:flex;background:linear-gradient(to top, var(--ec-frm-edTabBarBrdBtmCol) var(--ec-brdWd), transparent var(--ec-brdWd)),linear-gradient(var(--ec-frm-edTabBarBg), var(--ec-frm-edTabBarBg));background-repeat:no-repeat;padding-inline-start:var(--ec-frm-edTabsMargInlStart)}.expressive-code .frame.has-title:not(.is-terminal) .header::before{content:'';position:absolute;pointer-events:none;inset:0;border:var(--ec-brdWd) solid var(--ec-frm-edTabBarBrdCol);border-radius:inherit;border-bottom:none}.expressive-code .frame.is-terminal{--button-spacing:calc(1.9rem + var(--ec-brdWd) + 2 * var(--ec-uiPadBlk));--code-background:var(--ec-frm-trmBg)}.expressive-code .frame.is-terminal .header{display:flex;align-items:center;justify-content:center;padding-block:var(--ec-uiPadBlk);padding-block-end:calc(var(--ec-uiPadBlk) + var(--ec-brdWd));position:relative;font-weight:500;letter-spacing:0.025ch;color:var(--ec-frm-trmTtbFg);background:var(--ec-frm-trmTtbBg);border:var(--ec-brdWd) solid var(--ec-brdCol);border-bottom:none}.expressive-code .frame.is-terminal .header::before{content:'';position:absolute;pointer-events:none;left:var(--ec-uiPadInl);width:2.1rem;height:0.56rem;line-height:0;background-color:var(--ec-frm-trmTtbDotsFg);opacity:var(--ec-frm-trmTtbDotsOpa);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 16' preserveAspectRatio='xMidYMid meet'%3E%3Ccircle cx='8' cy='8' r='8'/%3E%3Ccircle cx='30' cy='8' r='8'/%3E%3Ccircle cx='52' cy='8' r='8'/%3E%3C/svg%3E");-webkit-mask-repeat:no-repeat;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 16' preserveAspectRatio='xMidYMid meet'%3E%3Ccircle cx='8' cy='8' r='8'/%3E%3Ccircle cx='30' cy='8' r='8'/%3E%3Ccircle cx='52' cy='8' r='8'/%3E%3C/svg%3E");mask-repeat:no-repeat}.expressive-code .frame.is-terminal .header::after{content:'';position:absolute;pointer-events:none;inset:0;border-bottom:var(--ec-brdWd) solid var(--ec-frm-trmTtbBrdBtmCol)}.expressive-code .frame pre{background:var(--code-background)}.expressive-code .copy{display:flex;gap:0.25rem;flex-direction:row;position:absolute;inset-block-start:calc(var(--ec-brdWd) + var(--button-spacing));inset-inline-end:calc(var(--ec-brdWd) + var(--ec-uiPadInl) / 2);direction:ltr;unicode-bidi:isolate}.expressive-code .copy button{position:relative;align-self:flex-end;margin:0;padding:0;border:none;border-radius:0.2rem;z-index:1;cursor:pointer;transition-property:opacity, background, border-color;transition-duration:0.2s;transition-timing-function:cubic-bezier(0.25, 0.46, 0.45, 0.94);width:2.5rem;height:2.5rem;background:var(--code-background);opacity:0.75}.expressive-code .copy button div{position:absolute;inset:0;border-radius:inherit;background:var(--ec-frm-inlBtnBg);opacity:var(--ec-frm-inlBtnBgIdleOpa);transition-property:inherit;transition-duration:inherit;transition-timing-function:inherit}.expressive-code .copy button::before{content:'';position:absolute;pointer-events:none;inset:0;border-radius:inherit;border:var(--ec-brdWd) solid var(--ec-frm-inlBtnBrd);opacity:var(--ec-frm-inlBtnBrdOpa)}.expressive-code .copy button::after{content:'';position:absolute;pointer-events:none;inset:0;background-color:var(--ec-frm-inlBtnFg);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75'%3E%3Cpath d='M3 19a2 2 0 0 1-1-2V2a2 2 0 0 1 1-1h13a2 2 0 0 1 2 1'/%3E%3Crect x='6' y='5' width='16' height='18' rx='1.5' ry='1.5'/%3E%3C/svg%3E");-webkit-mask-repeat:no-repeat;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75'%3E%3Cpath d='M3 19a2 2 0 0 1-1-2V2a2 2 0 0 1 1-1h13a2 2 0 0 1 2 1'/%3E%3Crect x='6' y='5' width='16' height='18' rx='1.5' ry='1.5'/%3E%3C/svg%3E");mask-repeat:no-repeat;margin:0.475rem;line-height:0}.expressive-code .copy button:hover,.expressive-code .copy button:focus:focus-visible{opacity:1}.expressive-code .copy button:hover div,.expressive-code .copy button:focus:focus-visible div{opacity:var(--ec-frm-inlBtnBgHoverOrFocusOpa)}.expressive-code .copy button:active{opacity:1}.expressive-code .copy button:active div{opacity:var(--ec-frm-inlBtnBgActOpa)}.expressive-code .copy .feedback{--tooltip-arrow-size:0.35rem;--tooltip-bg:var(--ec-frm-tooltipSuccessBg);color:var(--ec-frm-tooltipSuccessFg);pointer-events:none;user-select:none;-webkit-user-select:none;position:relative;align-self:center;background-color:var(--tooltip-bg);z-index:99;padding:0.125rem 0.75rem;border-radius:0.2rem;margin-inline-end:var(--tooltip-arrow-size);opacity:0;transition-property:opacity, transform;transition-duration:0.2s;transition-timing-function:ease-in-out;transform:translate3d(0, 0.25rem, 0)}.expressive-code .copy .feedback::after{content:'';position:absolute;pointer-events:none;top:calc(50% - var(--tooltip-arrow-size));inset-inline-end:calc(-2 * (var(--tooltip-arrow-size) - 0.5px));border:var(--tooltip-arrow-size) solid transparent;border-inline-start-color:var(--tooltip-bg)}.expressive-code .copy .feedback.show{opacity:1;transform:translate3d(0, 0, 0)}@media (hover: hover){.expressive-code{}.expressive-code .copy button{opacity:0;width:2rem;height:2rem}.expressive-code .frame:hover .copy button:not(:hover),.expressive-code .frame:focus-within :focus-visible ~ .copy button:not(:hover),.expressive-code .frame .copy .feedback.show ~ button:not(:hover){opacity:0.75}}:root,:root:not([data-theme='github-dark-dimmed']) .expressive-code[data-theme='github-dark-dimmed']{--ec-brdRad:0px;--ec-brdWd:1px;--ec-brdCol:#444c56;--ec-codeFontFml:var(--__sl-font-mono);--ec-codeFontSize:var(--sl-text-code);--ec-codeFontWg:400;--ec-codeLineHt:var(--sl-line-height);--ec-codePadBlk:0.75rem;--ec-codePadInl:1rem;--ec-codeBg:#22272e;--ec-codeFg:#adbac7;--ec-codeSelBg:#264f78;--ec-gtrFg:#6e7884;--ec-gtrBrdCol:#6e788433;--ec-gtrBrdWd:1.5px;--ec-gtrHlFg:#adbac7c1;--ec-uiFontFml:var(--__sl-font);--ec-uiFontSize:0.9rem;--ec-uiFontWg:400;--ec-uiLineHt:1.65;--ec-uiPadBlk:0.25rem;--ec-uiPadInl:1rem;--ec-uiSelBg:#636e7b66;--ec-uiSelFg:#adbac7;--ec-focusBrd:#316dca;--ec-sbThumbCol:#76839033;--ec-sbThumbHoverCol:#768390ab;--ec-tm-lineMarkerAccentMarg:0rem;--ec-tm-lineMarkerAccentWd:0.15rem;--ec-tm-lineMarkerLabelPadInl:0.2rem;--ec-tm-lineMarkerLabelCol:white;--ec-tm-lineDiffIndMargLeft:0.25rem;--ec-tm-inlMarkerBrdWd:1.5px;--ec-tm-inlMarkerBrdRad:0.2rem;--ec-tm-inlMarkerPad:0.15rem;--ec-tm-insDiffIndContent:'+';--ec-tm-delDiffIndContent:'-';--ec-tm-markBg:#174a9099;--ec-tm-markBrdCol:#4d70bcd0;--ec-tm-insBg:#1e571599;--ec-tm-insBrdCol:#487f3bd0;--ec-tm-insDiffIndCol:#79b169d0;--ec-tm-delBg:#862d2799;--ec-tm-delBrdCol:#b4554bd0;--ec-tm-delDiffIndCol:#ed8779d0;--ec-frm-shdCol:#0000005b;--ec-frm-frameBoxShdCssVal:0.1rem 0.1rem 0.2rem #0000005b;--ec-frm-edActTabBg:#22272e;--ec-frm-edActTabFg:#adbac7;--ec-frm-edActTabBrdCol:transparent;--ec-frm-edActTabIndHt:1px;--ec-frm-edActTabIndTopCol:#ec775c;--ec-frm-edActTabIndBtmCol:#22272e;--ec-frm-edTabsMargInlStart:0;--ec-frm-edTabsMargBlkStart:0;--ec-frm-edTabBrdRad:0px;--ec-frm-edTabBarBg:#1c2128;--ec-frm-edTabBarBrdCol:#444c56;--ec-frm-edTabBarBrdBtmCol:#444c56;--ec-frm-edBg:#22272e;--ec-frm-trmTtbFg:#768390;--ec-frm-trmTtbDotsFg:#768390;--ec-frm-trmTtbDotsOpa:0.15;--ec-frm-trmTtbBg:#22272e;--ec-frm-trmTtbBrdBtmCol:#444c56;--ec-frm-trmBg:#1c2128;--ec-frm-inlBtnFg:#adbac7;--ec-frm-inlBtnBg:#adbac7;--ec-frm-inlBtnBgIdleOpa:0;--ec-frm-inlBtnBgHoverOrFocusOpa:0.2;--ec-frm-inlBtnBgActOpa:0.3;--ec-frm-inlBtnBrd:#adbac7;--ec-frm-inlBtnBrdOpa:0.4;--ec-frm-tooltipSuccessBg:#438345;--ec-frm-tooltipSuccessFg:white}.expressive-code .ec-line :where(span[style^='--']:not([class])),:root:not([data-theme='github-dark-dimmed']) .expressive-code[data-theme='github-dark-dimmed'] .ec-line :where(span[style^='--']:not([class])){color:var(--0, inherit);font-style:var(--0fs, inherit);font-weight:var(--0fw, inherit);text-decoration:var(--0td, inherit)} \ No newline at end of file diff --git a/assets/hoisted.iBdn6T_D.js b/assets/hoisted.iBdn6T_D.js new file mode 100644 index 00000000..765e1185 --- /dev/null +++ b/assets/hoisted.iBdn6T_D.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ui-core.BmpKj71L.js","assets/preload-helper.B5A3MRH_.js"])))=>i.map(i=>d[i]); +import{_ as e}from"./preload-helper.B5A3MRH_.js";function t(){swup.hooks.on("visit:start",(()=>{document.querySelectorAll(".swup.transition-fade:not(.is-previous-container)").forEach((e=>{e instanceof HTMLElement&&(e.style.opacity="0")}))})),swup.hooks.on("content:replace",(()=>{const e=swup.getCurrentUrl();document.querySelectorAll(".page-frame").forEach((e=>{e.querySelectorAll("script").forEach((e=>{if(!e.textContent)return;const t=document.createElement("script");t.textContent=e.textContent;const n=e.parentElement;n&&n.appendChild(t),e.remove()}))}));const t=document.querySelector('.sidebar-content [aria-current="page"]'),n=document.querySelector(`.sidebar-content a[href="${e}"]`);t?.removeAttribute("aria-current"),n?.setAttribute("aria-current","page")}))}"swup"in window?t():document.addEventListener("swup:enable",t);var n="top",r="bottom",o="right",i="left",a="auto",s=[n,r,o,i],c="start",u="end",p="clippingParents",l="viewport",f="popper",d="reference",m=s.reduce((function(e,t){return e.concat([t+"-"+c,t+"-"+u])}),[]),h=[].concat(s,[a]).reduce((function(e,t){return e.concat([t,t+"-"+c,t+"-"+u])}),[]),v=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function g(e){return e?(e.nodeName||"").toLowerCase():null}function y(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function b(e){return e instanceof y(e).Element||e instanceof Element}function w(e){return e instanceof y(e).HTMLElement||e instanceof HTMLElement}function x(e){return"undefined"!=typeof ShadowRoot&&(e instanceof y(e).ShadowRoot||e instanceof ShadowRoot)}const E={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},o=t.elements[e];w(o)&&g(o)&&(Object.assign(o.style,n),Object.keys(r).forEach((function(e){var t=r[e];!1===t?o.removeAttribute(e):o.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var r=t.elements[e],o=t.attributes[e]||{},i=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{});w(r)&&g(r)&&(Object.assign(r.style,i),Object.keys(o).forEach((function(e){r.removeAttribute(e)})))}))}},requires:["computeStyles"]};function O(e){return e.split("-")[0]}var T=Math.max,A=Math.min,L=Math.round;function k(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map((function(e){return e.brand+"/"+e.version})).join(" "):navigator.userAgent}function S(){return!/^((?!chrome|android).)*safari/i.test(k())}function D(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=!1);var r=e.getBoundingClientRect(),o=1,i=1;t&&w(e)&&(o=e.offsetWidth>0&&L(r.width)/e.offsetWidth||1,i=e.offsetHeight>0&&L(r.height)/e.offsetHeight||1);var a=(b(e)?y(e):window).visualViewport,s=!S()&&n,c=(r.left+(s&&a?a.offsetLeft:0))/o,u=(r.top+(s&&a?a.offsetTop:0))/i,p=r.width/o,l=r.height/i;return{width:p,height:l,top:u,right:c+p,bottom:u+l,left:c,x:c,y:u}}function C(e){var t=D(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function j(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&x(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function M(e){return y(e).getComputedStyle(e)}function H(e){return["table","td","th"].indexOf(g(e))>=0}function q(e){return((b(e)?e.ownerDocument:e.document)||window.document).documentElement}function I(e){return"html"===g(e)?e:e.assignedSlot||e.parentNode||(x(e)?e.host:null)||q(e)}function R(e){return w(e)&&"fixed"!==M(e).position?e.offsetParent:null}function P(e){for(var t=y(e),n=R(e);n&&H(n)&&"static"===M(n).position;)n=R(n);return n&&("html"===g(n)||"body"===g(n)&&"static"===M(n).position)?t:n||function(e){var t=/firefox/i.test(k());if(/Trident/i.test(k())&&w(e)&&"fixed"===M(e).position)return null;var n=I(e);for(x(n)&&(n=n.host);w(n)&&["html","body"].indexOf(g(n))<0;){var r=M(n);if("none"!==r.transform||"none"!==r.perspective||"paint"===r.contain||-1!==["transform","perspective"].indexOf(r.willChange)||t&&"filter"===r.willChange||t&&r.filter&&"none"!==r.filter)return n;n=n.parentNode}return null}(e)||t}function V(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function B(e,t,n){return T(e,A(t,n))}function W(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function _(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}const N={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,a=e.state,c=e.name,u=e.options,p=a.elements.arrow,l=a.modifiersData.popperOffsets,f=O(a.placement),d=V(f),m=[i,o].indexOf(f)>=0?"height":"width";if(p&&l){var h=function(e,t){return W("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:_(e,s))}(u.padding,a),v=C(p),g="y"===d?n:i,y="y"===d?r:o,b=a.rects.reference[m]+a.rects.reference[d]-l[d]-a.rects.popper[m],w=l[d]-a.rects.reference[d],x=P(p),E=x?"y"===d?x.clientHeight||0:x.clientWidth||0:0,T=b/2-w/2,A=h[g],L=E-v[m]-h[y],k=E/2-v[m]/2+T,S=B(A,k,L),D=d;a.modifiersData[c]=((t={})[D]=S,t.centerOffset=S-k,t)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!=typeof r||(r=t.elements.popper.querySelector(r)))&&j(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function U(e){return e.split("-")[1]}var $={top:"auto",right:"auto",bottom:"auto",left:"auto"};function F(e){var t,a=e.popper,s=e.popperRect,c=e.placement,p=e.variation,l=e.offsets,f=e.position,d=e.gpuAcceleration,m=e.adaptive,h=e.roundOffsets,v=e.isFixed,g=l.x,b=void 0===g?0:g,w=l.y,x=void 0===w?0:w,E="function"==typeof h?h({x:b,y:x}):{x:b,y:x};b=E.x,x=E.y;var O=l.hasOwnProperty("x"),T=l.hasOwnProperty("y"),A=i,k=n,S=window;if(m){var D=P(a),C="clientHeight",j="clientWidth";if(D===y(a)&&"static"!==M(D=q(a)).position&&"absolute"===f&&(C="scrollHeight",j="scrollWidth"),c===n||(c===i||c===o)&&p===u)k=r,x-=(v&&D===S&&S.visualViewport?S.visualViewport.height:D[C])-s.height,x*=d?1:-1;if(c===i||(c===n||c===r)&&p===u)A=o,b-=(v&&D===S&&S.visualViewport?S.visualViewport.width:D[j])-s.width,b*=d?1:-1}var H,I=Object.assign({position:f},m&&$),R=!0===h?function(e,t){var n=e.x,r=e.y,o=t.devicePixelRatio||1;return{x:L(n*o)/o||0,y:L(r*o)/o||0}}({x:b,y:x},y(a)):{x:b,y:x};return b=R.x,x=R.y,d?Object.assign({},I,((H={})[k]=T?"0":"",H[A]=O?"0":"",H.transform=(S.devicePixelRatio||1)<=1?"translate("+b+"px, "+x+"px)":"translate3d("+b+"px, "+x+"px, 0)",H)):Object.assign({},I,((t={})[k]=T?x+"px":"",t[A]=O?b+"px":"",t.transform="",t))}var K={passive:!0};var z={left:"right",right:"left",bottom:"top",top:"bottom"};function Y(e){return e.replace(/left|right|bottom|top/g,(function(e){return z[e]}))}var J={start:"end",end:"start"};function X(e){return e.replace(/start|end/g,(function(e){return J[e]}))}function G(e){var t=y(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Q(e){return D(q(e)).left+G(e).scrollLeft}function Z(e){var t=M(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function ee(e){return["html","body","#document"].indexOf(g(e))>=0?e.ownerDocument.body:w(e)&&Z(e)?e:ee(I(e))}function te(e,t){var n;void 0===t&&(t=[]);var r=ee(e),o=r===(null==(n=e.ownerDocument)?void 0:n.body),i=y(r),a=o?[i].concat(i.visualViewport||[],Z(r)?r:[]):r,s=t.concat(a);return o?s:s.concat(te(I(a)))}function ne(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function re(e,t,n){return t===l?ne(function(e,t){var n=y(e),r=q(e),o=n.visualViewport,i=r.clientWidth,a=r.clientHeight,s=0,c=0;if(o){i=o.width,a=o.height;var u=S();(u||!u&&"fixed"===t)&&(s=o.offsetLeft,c=o.offsetTop)}return{width:i,height:a,x:s+Q(e),y:c}}(e,n)):b(t)?function(e,t){var n=D(e,!1,"fixed"===t);return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}(t,n):ne(function(e){var t,n=q(e),r=G(e),o=null==(t=e.ownerDocument)?void 0:t.body,i=T(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=T(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),s=-r.scrollLeft+Q(e),c=-r.scrollTop;return"rtl"===M(o||n).direction&&(s+=T(n.clientWidth,o?o.clientWidth:0)-i),{width:i,height:a,x:s,y:c}}(q(e)))}function oe(e,t,n,r){var o="clippingParents"===t?function(e){var t=te(I(e)),n=["absolute","fixed"].indexOf(M(e).position)>=0&&w(e)?P(e):e;return b(n)?t.filter((function(e){return b(e)&&j(e,n)&&"body"!==g(e)})):[]}(e):[].concat(t),i=[].concat(o,[n]),a=i[0],s=i.reduce((function(t,n){var o=re(e,n,r);return t.top=T(o.top,t.top),t.right=A(o.right,t.right),t.bottom=A(o.bottom,t.bottom),t.left=T(o.left,t.left),t}),re(e,a,r));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function ie(e){var t,a=e.reference,s=e.element,p=e.placement,l=p?O(p):null,f=p?U(p):null,d=a.x+a.width/2-s.width/2,m=a.y+a.height/2-s.height/2;switch(l){case n:t={x:d,y:a.y-s.height};break;case r:t={x:d,y:a.y+a.height};break;case o:t={x:a.x+a.width,y:m};break;case i:t={x:a.x-s.width,y:m};break;default:t={x:a.x,y:a.y}}var h=l?V(l):null;if(null!=h){var v="y"===h?"height":"width";switch(f){case c:t[h]=t[h]-(a[v]/2-s[v]/2);break;case u:t[h]=t[h]+(a[v]/2-s[v]/2)}}return t}function ae(e,t){void 0===t&&(t={});var i=t,a=i.placement,c=void 0===a?e.placement:a,u=i.strategy,m=void 0===u?e.strategy:u,h=i.boundary,v=void 0===h?p:h,g=i.rootBoundary,y=void 0===g?l:g,w=i.elementContext,x=void 0===w?f:w,E=i.altBoundary,O=void 0!==E&&E,T=i.padding,A=void 0===T?0:T,L=W("number"!=typeof A?A:_(A,s)),k=x===f?d:f,S=e.rects.popper,C=e.elements[O?k:x],j=oe(b(C)?C:C.contextElement||q(e.elements.popper),v,y,m),M=D(e.elements.reference),H=ie({reference:M,element:S,strategy:"absolute",placement:c}),I=ne(Object.assign({},S,H)),R=x===f?I:M,P={top:j.top-R.top+L.top,bottom:R.bottom-j.bottom+L.bottom,left:j.left-R.left+L.left,right:R.right-j.right+L.right},V=e.modifiersData.offset;if(x===f&&V){var B=V[c];Object.keys(P).forEach((function(e){var t=[o,r].indexOf(e)>=0?1:-1,i=[n,r].indexOf(e)>=0?"y":"x";P[e]+=B[i]*t}))}return P}function se(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=n.boundary,i=n.rootBoundary,a=n.padding,c=n.flipVariations,u=n.allowedAutoPlacements,p=void 0===u?h:u,l=U(r),f=l?c?m:m.filter((function(e){return U(e)===l})):s,d=f.filter((function(e){return p.indexOf(e)>=0}));0===d.length&&(d=f);var v=d.reduce((function(t,n){return t[n]=ae(e,{placement:n,boundary:o,rootBoundary:i,padding:a})[O(n)],t}),{});return Object.keys(v).sort((function(e,t){return v[e]-v[t]}))}const ce={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,s=e.options,u=e.name;if(!t.modifiersData[u]._skip){for(var p=s.mainAxis,l=void 0===p||p,f=s.altAxis,d=void 0===f||f,m=s.fallbackPlacements,h=s.padding,v=s.boundary,g=s.rootBoundary,y=s.altBoundary,b=s.flipVariations,w=void 0===b||b,x=s.allowedAutoPlacements,E=t.options.placement,T=O(E),A=m||(T===E||!w?[Y(E)]:function(e){if(O(e)===a)return[];var t=Y(e);return[X(e),t,X(t)]}(E)),L=[E].concat(A).reduce((function(e,n){return e.concat(O(n)===a?se(t,{placement:n,boundary:v,rootBoundary:g,padding:h,flipVariations:w,allowedAutoPlacements:x}):n)}),[]),k=t.rects.reference,S=t.rects.popper,D=new Map,C=!0,j=L[0],M=0;M=0,P=R?"width":"height",V=ae(t,{placement:H,boundary:v,rootBoundary:g,altBoundary:y,padding:h}),B=R?I?o:i:I?r:n;k[P]>S[P]&&(B=Y(B));var W=Y(B),_=[];if(l&&_.push(V[q]<=0),d&&_.push(V[B]<=0,V[W]<=0),_.every((function(e){return e}))){j=H,C=!1;break}D.set(H,_)}if(C)for(var N=function(e){var t=L.find((function(t){var n=D.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return j=t,"break"},$=w?3:1;$>0;$--){if("break"===N($))break}t.placement!==j&&(t.modifiersData[u]._skip=!0,t.placement=j,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function ue(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function pe(e){return[n,o,r,i].some((function(t){return e[t]>=0}))}const le={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,r=e.options,a=e.name,s=r.offset,c=void 0===s?[0,0]:s,u=h.reduce((function(e,r){return e[r]=function(e,t,r){var a=O(e),s=[i,n].indexOf(a)>=0?-1:1,c="function"==typeof r?r(Object.assign({},t,{placement:e})):r,u=c[0],p=c[1];return u=u||0,p=(p||0)*s,[i,o].indexOf(a)>=0?{x:p,y:u}:{x:u,y:p}}(r,t.rects,c),e}),{}),p=u[t.placement],l=p.x,f=p.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=f),t.modifiersData[a]=u}};const fe={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,a=e.options,s=e.name,u=a.mainAxis,p=void 0===u||u,l=a.altAxis,f=void 0!==l&&l,d=a.boundary,m=a.rootBoundary,h=a.altBoundary,v=a.padding,g=a.tether,y=void 0===g||g,b=a.tetherOffset,w=void 0===b?0:b,x=ae(t,{boundary:d,rootBoundary:m,padding:v,altBoundary:h}),E=O(t.placement),L=U(t.placement),k=!L,S=V(E),D="x"===S?"y":"x",j=t.modifiersData.popperOffsets,M=t.rects.reference,H=t.rects.popper,q="function"==typeof w?w(Object.assign({},t.rects,{placement:t.placement})):w,I="number"==typeof q?{mainAxis:q,altAxis:q}:Object.assign({mainAxis:0,altAxis:0},q),R=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,W={x:0,y:0};if(j){if(p){var _,N="y"===S?n:i,$="y"===S?r:o,F="y"===S?"height":"width",K=j[S],z=K+x[N],Y=K-x[$],J=y?-H[F]/2:0,X=L===c?M[F]:H[F],G=L===c?-H[F]:-M[F],Q=t.elements.arrow,Z=y&&Q?C(Q):{width:0,height:0},ee=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},te=ee[N],ne=ee[$],re=B(0,M[F],Z[F]),oe=k?M[F]/2-J-re-te-I.mainAxis:X-re-te-I.mainAxis,ie=k?-M[F]/2+J+re+ne+I.mainAxis:G+re+ne+I.mainAxis,se=t.elements.arrow&&P(t.elements.arrow),ce=se?"y"===S?se.clientTop||0:se.clientLeft||0:0,ue=null!=(_=null==R?void 0:R[S])?_:0,pe=K+ie-ue,le=B(y?A(z,K+oe-ue-ce):z,K,y?T(Y,pe):Y);j[S]=le,W[S]=le-K}if(f){var fe,de="x"===S?n:i,me="x"===S?r:o,he=j[D],ve="y"===D?"height":"width",ge=he+x[de],ye=he-x[me],be=-1!==[n,i].indexOf(E),we=null!=(fe=null==R?void 0:R[D])?fe:0,xe=be?ge:he-M[ve]-H[ve]-we+I.altAxis,Ee=be?he+M[ve]+H[ve]-we-I.altAxis:ye,Oe=y&&be?function(e,t,n){var r=B(e,t,n);return r>n?n:r}(xe,he,Ee):B(y?xe:ge,he,y?Ee:ye);j[D]=Oe,W[D]=Oe-he}t.modifiersData[s]=W}},requiresIfExists:["offset"]};function de(e,t,n){void 0===n&&(n=!1);var r,o,i=w(t),a=w(t)&&function(e){var t=e.getBoundingClientRect(),n=L(t.width)/e.offsetWidth||1,r=L(t.height)/e.offsetHeight||1;return 1!==n||1!==r}(t),s=q(t),c=D(e,a,n),u={scrollLeft:0,scrollTop:0},p={x:0,y:0};return(i||!i&&!n)&&(("body"!==g(t)||Z(s))&&(u=(r=t)!==y(r)&&w(r)?{scrollLeft:(o=r).scrollLeft,scrollTop:o.scrollTop}:G(r)),w(t)?((p=D(t,!0)).x+=t.clientLeft,p.y+=t.clientTop):s&&(p.x=Q(s))),{x:c.left+u.scrollLeft-p.x,y:c.top+u.scrollTop-p.y,width:c.width,height:c.height}}function me(e){var t=new Map,n=new Set,r=[];function o(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var r=t.get(e);r&&o(r)}})),r.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||o(e)})),r}var he={placement:"bottom",modifiers:[],strategy:"absolute"};function ve(){for(var e=arguments.length,t=new Array(e),n=0;n-1}function ke(e,t){return"function"==typeof e?e.apply(void 0,t):e}function Se(e,t){return 0===t?e:function(r){clearTimeout(n),n=setTimeout((function(){e(r)}),t)};var n}function De(e){return[].concat(e)}function Ce(e,t){-1===e.indexOf(t)&&e.push(t)}function je(e){return[].slice.call(e)}function Me(e){return Object.keys(e).reduce((function(t,n){return void 0!==e[n]&&(t[n]=e[n]),t}),{})}function He(){return document.createElement("div")}function qe(e){return["Element","Fragment"].some((function(t){return Le(e,t)}))}function Ie(e){return qe(e)?[e]:function(e){return Le(e,"NodeList")}(e)?je(e):Array.isArray(e)?e:je(document.querySelectorAll(e))}function Re(e,t){e.forEach((function(e){e&&(e.style.transitionDuration=t+"ms")}))}function Pe(e,t){e.forEach((function(e){e&&e.setAttribute("data-state",t)}))}function Ve(e,t,n){var r=t+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(t){e[r](t,n)}))}function Be(e,t){for(var n=t;n;){var r;if(e.contains(n))return!0;n=null==n.getRootNode||null==(r=n.getRootNode())?void 0:r.host}return!1}var We={isTouch:!1},_e=0;function Ne(){We.isTouch||(We.isTouch=!0,window.performance&&document.addEventListener("mousemove",Ue))}function Ue(){var e=performance.now();e-_e<20&&(We.isTouch=!1,document.removeEventListener("mousemove",Ue)),_e=e}function $e(){var e,t=document.activeElement;if((e=t)&&e._tippy&&e._tippy.reference===e){var n=t._tippy;t.blur&&!n.state.isVisible&&t.blur()}}var Fe=!!("undefined"!=typeof window&&"undefined"!=typeof document)&&!!window.msCrypto,Ke=Object.assign({appendTo:Te,aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},{animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),ze=Object.keys(Ke);function Ye(e){var t=(e.plugins||[]).reduce((function(t,n){var r,o=n.name,i=n.defaultValue;o&&(t[o]=void 0!==e[o]?e[o]:null!=(r=Ke[o])?r:i);return t}),{});return Object.assign({},e,t)}function Je(e,t){var n=Object.assign({},t,{content:ke(t.content,[e])},t.ignoreAttributes?{}:function(e,t){return(t?Object.keys(Ye(Object.assign({},Ke,{plugins:t}))):ze).reduce((function(t,n){var r=(e.getAttribute("data-tippy-"+n)||"").trim();if(!r)return t;if("content"===n)t[n]=r;else try{t[n]=JSON.parse(r)}catch(o){t[n]=r}return t}),{})}(e,t.plugins));return n.aria=Object.assign({},Ke.aria,n.aria),n.aria={expanded:"auto"===n.aria.expanded?t.interactive:n.aria.expanded,content:"auto"===n.aria.content?t.interactive?null:"describedby":n.aria.content},n}var Xe=function(){return"innerHTML"};function Ge(e,t){e[Xe()]=t}function Qe(e){var t=He();return!0===e?t.className=xe:(t.className=Ee,qe(e)?t.appendChild(e):Ge(t,e)),t}function Ze(e,t){qe(t.content)?(Ge(e,""),e.appendChild(t.content)):"function"!=typeof t.content&&(t.allowHTML?Ge(e,t.content):e.textContent=t.content)}function et(e){var t=e.firstElementChild,n=je(t.children);return{box:t,content:n.find((function(e){return e.classList.contains(be)})),arrow:n.find((function(e){return e.classList.contains(xe)||e.classList.contains(Ee)})),backdrop:n.find((function(e){return e.classList.contains(we)}))}}function tt(e){var t=He(),n=He();n.className="tippy-box",n.setAttribute("data-state","hidden"),n.setAttribute("tabindex","-1");var r=He();function o(n,r){var o=et(t),i=o.box,a=o.content,s=o.arrow;r.theme?i.setAttribute("data-theme",r.theme):i.removeAttribute("data-theme"),"string"==typeof r.animation?i.setAttribute("data-animation",r.animation):i.removeAttribute("data-animation"),r.inertia?i.setAttribute("data-inertia",""):i.removeAttribute("data-inertia"),i.style.maxWidth="number"==typeof r.maxWidth?r.maxWidth+"px":r.maxWidth,r.role?i.setAttribute("role",r.role):i.removeAttribute("role"),n.content===r.content&&n.allowHTML===r.allowHTML||Ze(a,e.props),r.arrow?s?n.arrow!==r.arrow&&(i.removeChild(s),i.appendChild(Qe(r.arrow))):i.appendChild(Qe(r.arrow)):s&&i.removeChild(s)}return r.className=be,r.setAttribute("data-state","hidden"),Ze(r,e.props),t.appendChild(n),n.appendChild(r),o(e.props,e.props),{popper:t,onUpdate:o}}tt.$$tippy=!0;var nt=1,rt=[],ot=[];function it(e,t){var n,r,o,i,a,s,c,u,p=Je(e,Object.assign({},Ke,Ye(Me(t)))),l=!1,f=!1,d=!1,m=!1,h=[],v=Se(z,p.interactiveDebounce),g=nt++,y=(u=p.plugins).filter((function(e,t){return u.indexOf(e)===t})),b={id:g,reference:e,popper:He(),popperInstance:null,props:p,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:y,clearDelayTimeouts:function(){clearTimeout(n),clearTimeout(r),cancelAnimationFrame(o)},setProps:function(t){if(b.state.isDestroyed)return;H("onBeforeUpdate",[b,t]),F();var n=b.props,r=Je(e,Object.assign({},n,Me(t),{ignoreAttributes:!0}));b.props=r,$(),n.interactiveDebounce!==r.interactiveDebounce&&(R(),v=Se(z,r.interactiveDebounce));n.triggerTarget&&!r.triggerTarget?De(n.triggerTarget).forEach((function(e){e.removeAttribute("aria-expanded")})):r.triggerTarget&&e.removeAttribute("aria-expanded");I(),M(),E&&E(n,r);b.popperInstance&&(G(),Z().forEach((function(e){requestAnimationFrame(e._tippy.popperInstance.forceUpdate)})));H("onAfterUpdate",[b,t])},setContent:function(e){b.setProps({content:e})},show:function(){var e=b.state.isVisible,t=b.state.isDestroyed,n=!b.state.isEnabled,r=We.isTouch&&!b.props.touch,o=Ae(b.props.duration,0,Ke.duration);if(e||t||n||r)return;if(S().hasAttribute("disabled"))return;if(H("onShow",[b],!1),!1===b.props.onShow(b))return;b.state.isVisible=!0,k()&&(x.style.visibility="visible");M(),W(),b.state.isMounted||(x.style.transition="none");if(k()){var i=C();Re([i.box,i.content],0)}s=function(){var e;if(b.state.isVisible&&!m){if(m=!0,x.offsetHeight,x.style.transition=b.props.moveTransition,k()&&b.props.animation){var t=C(),n=t.box,r=t.content;Re([n,r],o),Pe([n,r],"visible")}q(),I(),Ce(ot,b),null==(e=b.popperInstance)||e.forceUpdate(),H("onMount",[b]),b.props.animation&&k()&&function(e,t){N(e,t)}(o,(function(){b.state.isShown=!0,H("onShown",[b])}))}},function(){var e,t=b.props.appendTo,n=S();e=b.props.interactive&&t===Te||"parent"===t?n.parentNode:ke(t,[n]);e.contains(x)||e.appendChild(x);b.state.isMounted=!0,G()}()},hide:function(){var e=!b.state.isVisible,t=b.state.isDestroyed,n=!b.state.isEnabled,r=Ae(b.props.duration,1,Ke.duration);if(e||t||n)return;if(H("onHide",[b],!1),!1===b.props.onHide(b))return;b.state.isVisible=!1,b.state.isShown=!1,m=!1,l=!1,k()&&(x.style.visibility="hidden");if(R(),_(),M(!0),k()){var o=C(),i=o.box,a=o.content;b.props.animation&&(Re([i,a],r),Pe([i,a],"hidden"))}q(),I(),b.props.animation?k()&&function(e,t){N(e,(function(){!b.state.isVisible&&x.parentNode&&x.parentNode.contains(x)&&t()}))}(r,b.unmount):b.unmount()},hideWithInteractivity:function(e){D().addEventListener("mousemove",v),Ce(rt,v),v(e)},enable:function(){b.state.isEnabled=!0},disable:function(){b.hide(),b.state.isEnabled=!1},unmount:function(){b.state.isVisible&&b.hide();if(!b.state.isMounted)return;Q(),Z().forEach((function(e){e._tippy.unmount()})),x.parentNode&&x.parentNode.removeChild(x);ot=ot.filter((function(e){return e!==b})),b.state.isMounted=!1,H("onHidden",[b])},destroy:function(){if(b.state.isDestroyed)return;b.clearDelayTimeouts(),b.unmount(),F(),delete e._tippy,b.state.isDestroyed=!0,H("onDestroy",[b])}};if(!p.render)return b;var w=p.render(b),x=w.popper,E=w.onUpdate;x.setAttribute("data-tippy-root",""),x.id="tippy-"+b.id,b.popper=x,e._tippy=b,x._tippy=b;var O=y.map((function(e){return e.fn(b)})),T=e.hasAttribute("aria-expanded");return $(),I(),M(),H("onCreate",[b]),p.showOnCreate&&ee(),x.addEventListener("mouseenter",(function(){b.props.interactive&&b.state.isVisible&&b.clearDelayTimeouts()})),x.addEventListener("mouseleave",(function(){b.props.interactive&&b.props.trigger.indexOf("mouseenter")>=0&&D().addEventListener("mousemove",v)})),b;function A(){var e=b.props.touch;return Array.isArray(e)?e:[e,0]}function L(){return"hold"===A()[0]}function k(){var e;return!(null==(e=b.props.render)||!e.$$tippy)}function S(){return c||e}function D(){var e,t,n=S().parentNode;return n?null!=(t=De(n)[0])&&null!=(e=t.ownerDocument)&&e.body?t.ownerDocument:document:document}function C(){return et(x)}function j(e){return b.state.isMounted&&!b.state.isVisible||We.isTouch||i&&"focus"===i.type?0:Ae(b.props.delay,e?0:1,Ke.delay)}function M(e){void 0===e&&(e=!1),x.style.pointerEvents=b.props.interactive&&!e?"":"none",x.style.zIndex=""+b.props.zIndex}function H(e,t,n){var r;(void 0===n&&(n=!0),O.forEach((function(n){n[e]&&n[e].apply(n,t)})),n)&&(r=b.props)[e].apply(r,t)}function q(){var t=b.props.aria;if(t.content){var n="aria-"+t.content,r=x.id;De(b.props.triggerTarget||e).forEach((function(e){var t=e.getAttribute(n);if(b.state.isVisible)e.setAttribute(n,t?t+" "+r:r);else{var o=t&&t.replace(r,"").trim();o?e.setAttribute(n,o):e.removeAttribute(n)}}))}}function I(){!T&&b.props.aria.expanded&&De(b.props.triggerTarget||e).forEach((function(e){b.props.interactive?e.setAttribute("aria-expanded",b.state.isVisible&&e===S()?"true":"false"):e.removeAttribute("aria-expanded")}))}function R(){D().removeEventListener("mousemove",v),rt=rt.filter((function(e){return e!==v}))}function P(t){if(!We.isTouch||!d&&"mousedown"!==t.type){var n=t.composedPath&&t.composedPath()[0]||t.target;if(!b.props.interactive||!Be(x,n)){if(De(b.props.triggerTarget||e).some((function(e){return Be(e,n)}))){if(We.isTouch)return;if(b.state.isVisible&&b.props.trigger.indexOf("click")>=0)return}else H("onClickOutside",[b,t]);!0===b.props.hideOnClick&&(b.clearDelayTimeouts(),b.hide(),f=!0,setTimeout((function(){f=!1})),b.state.isMounted||_())}}}function V(){d=!0}function B(){d=!1}function W(){var e=D();e.addEventListener("mousedown",P,!0),e.addEventListener("touchend",P,Oe),e.addEventListener("touchstart",B,Oe),e.addEventListener("touchmove",V,Oe)}function _(){var e=D();e.removeEventListener("mousedown",P,!0),e.removeEventListener("touchend",P,Oe),e.removeEventListener("touchstart",B,Oe),e.removeEventListener("touchmove",V,Oe)}function N(e,t){var n=C().box;function r(e){e.target===n&&(Ve(n,"remove",r),t())}if(0===e)return t();Ve(n,"remove",a),Ve(n,"add",r),a=r}function U(t,n,r){void 0===r&&(r=!1),De(b.props.triggerTarget||e).forEach((function(e){e.addEventListener(t,n,r),h.push({node:e,eventType:t,handler:n,options:r})}))}function $(){var e;L()&&(U("touchstart",K,{passive:!0}),U("touchend",Y,{passive:!0})),(e=b.props.trigger,e.split(/\s+/).filter(Boolean)).forEach((function(e){if("manual"!==e)switch(U(e,K),e){case"mouseenter":U("mouseleave",Y);break;case"focus":U(Fe?"focusout":"blur",J);break;case"focusin":U("focusout",J)}}))}function F(){h.forEach((function(e){var t=e.node,n=e.eventType,r=e.handler,o=e.options;t.removeEventListener(n,r,o)})),h=[]}function K(e){var t,n=!1;if(b.state.isEnabled&&!X(e)&&!f){var r="focus"===(null==(t=i)?void 0:t.type);i=e,c=e.currentTarget,I(),!b.state.isVisible&&Le(e,"MouseEvent")&&rt.forEach((function(t){return t(e)})),"click"===e.type&&(b.props.trigger.indexOf("mouseenter")<0||l)&&!1!==b.props.hideOnClick&&b.state.isVisible?n=!0:ee(e),"click"===e.type&&(l=!n),n&&!r&&te(e)}}function z(e){var t=e.target,n=S().contains(t)||x.contains(t);"mousemove"===e.type&&n||function(e,t){var n=t.clientX,r=t.clientY;return e.every((function(e){var t=e.popperRect,o=e.popperState,i=e.props.interactiveBorder,a=o.placement.split("-")[0],s=o.modifiersData.offset;if(!s)return!0;var c="bottom"===a?s.top.y:0,u="top"===a?s.bottom.y:0,p="right"===a?s.left.x:0,l="left"===a?s.right.x:0,f=t.top-r+c>i,d=r-t.bottom-u>i,m=t.left-n+p>i,h=n-t.right-l>i;return f||d||m||h}))}(Z().concat(x).map((function(e){var t,n=null==(t=e._tippy.popperInstance)?void 0:t.state;return n?{popperRect:e.getBoundingClientRect(),popperState:n,props:p}:null})).filter(Boolean),e)&&(R(),te(e))}function Y(e){X(e)||b.props.trigger.indexOf("click")>=0&&l||(b.props.interactive?b.hideWithInteractivity(e):te(e))}function J(e){b.props.trigger.indexOf("focusin")<0&&e.target!==S()||b.props.interactive&&e.relatedTarget&&x.contains(e.relatedTarget)||te(e)}function X(e){return!!We.isTouch&&L()!==e.type.indexOf("touch")>=0}function G(){Q();var t=b.props,n=t.popperOptions,r=t.placement,o=t.offset,i=t.getReferenceClientRect,a=t.moveTransition,c=k()?et(x).arrow:null,u=i?{getBoundingClientRect:i,contextElement:i.contextElement||S()}:e,p=[{name:"offset",options:{offset:o}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!a}},{name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(e){var t=e.state;if(k()){var n=C().box;["placement","reference-hidden","escaped"].forEach((function(e){"placement"===e?n.setAttribute("data-placement",t.placement):t.attributes.popper["data-popper-"+e]?n.setAttribute("data-"+e,""):n.removeAttribute("data-"+e)})),t.attributes.popper={}}}}];k()&&c&&p.push({name:"arrow",options:{element:c,padding:3}}),p.push.apply(p,(null==n?void 0:n.modifiers)||[]),b.popperInstance=ye(u,x,Object.assign({},n,{placement:r,onFirstUpdate:s,modifiers:p}))}function Q(){b.popperInstance&&(b.popperInstance.destroy(),b.popperInstance=null)}function Z(){return je(x.querySelectorAll("[data-tippy-root]"))}function ee(e){b.clearDelayTimeouts(),e&&H("onTrigger",[b,e]),W();var t=j(!0),r=A(),o=r[0],i=r[1];We.isTouch&&"hold"===o&&i&&(t=i),t?n=setTimeout((function(){b.show()}),t):b.show()}function te(e){if(b.clearDelayTimeouts(),H("onUntrigger",[b,e]),b.state.isVisible){if(!(b.props.trigger.indexOf("mouseenter")>=0&&b.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(e.type)>=0&&l)){var t=j(!1);t?r=setTimeout((function(){b.state.isVisible&&b.hide()}),t):o=requestAnimationFrame((function(){b.hide()}))}}else _()}}function at(e,t){void 0===t&&(t={});var n=Ke.plugins.concat(t.plugins||[]);document.addEventListener("touchstart",Ne,Oe),window.addEventListener("blur",$e);var r=Object.assign({},t,{plugins:n}),o=Ie(e).reduce((function(e,t){var n=t&&it(t,r);return n&&e.push(n),e}),[]);return qe(e)?o[0]:o}at.defaultProps=Ke,at.setDefaultProps=function(e){Object.keys(e).forEach((function(t){Ke[t]=e[t]}))},at.currentInput=We,Object.assign({},E,{effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow)}}),at.setDefaultProps({render:tt});const st=document.querySelectorAll("[title]"),ct=document.querySelector("[data-tooltips-options]");let ut={};if(ct)try{ut=JSON.parse(ct?.innerHTML)}catch(xt){throw new Error(xt)}const pt={allowHTML:!0,theme:"default",maxWidth:"none",delay:[15,150],placement:"auto",interactive:!0,...ut};for(let Et=0,Ot=st.length;Et{e.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=e.currentTarget.value)}))}}customElements.define("starlight-lang-select",lt);class ft extends HTMLElement{constructor(){super();const t=this.querySelector("button[data-open-modal]"),n=this.querySelector("button[data-close-modal]"),r=this.querySelector("dialog"),o=this.querySelector(".dialog-frame"),i=e=>{("href"in(e.target||{})||document.body.contains(e.target)&&!o.contains(e.target))&&s()},a=e=>{r.showModal(),document.body.toggleAttribute("data-search-modal-open",!0),this.querySelector("input")?.focus(),e?.stopPropagation(),window.addEventListener("click",i)},s=()=>r.close();t.addEventListener("click",a),t.disabled=!1,n.addEventListener("click",s),r.addEventListener("close",(()=>{document.body.toggleAttribute("data-search-modal-open",!1),window.removeEventListener("click",i)})),document.addEventListener("keydown",(e=>{const t=document.activeElement instanceof HTMLElement&&(["input","select","textarea"].includes(document.activeElement.tagName.toLowerCase())||document.activeElement.isContentEditable);!0!==e.metaKey&&!0!==e.ctrlKey||"k"!==e.key?"/"!==e.key||r.open||t||(a(),e.preventDefault()):(r.open?s():a(),e.preventDefault())}),{capture:!0});let c={};try{c=JSON.parse(this.dataset.translations||"{}")}catch{}const u=void 0!==this.dataset.stripTrailingSlash?e=>e.replace(/(.)\/(#.*)?$/,"$1$2"):e=>e;window.addEventListener("DOMContentLoaded",(()=>{(window.requestIdleCallback||(e=>setTimeout(e,1)))((async()=>{const{PagefindUI:t}=await e((async()=>{const{PagefindUI:e}=await import("./ui-core.BmpKj71L.js");return{PagefindUI:e}}),__vite__mapDeps([0,1]));new t({element:"#starlight__search",baseUrl:"/",bundlePath:"/".replace(/\/$/,"")+"/pagefind/",showImages:!1,translations:c,showSubResults:!0,processResult:e=>{e.url=u(e.url),e.sub_results=e.sub_results.map((e=>(e.url=u(e.url),e)))}})}))}))}}customElements.define("site-search",ft);class dt extends HTMLElement{_current=this.querySelector('a[aria-current="true"]');minH=parseInt(this.dataset.minH||"2",10);maxH=parseInt(this.dataset.maxH||"3",10);set current(e){e!==this._current&&(this._current&&this._current.removeAttribute("aria-current"),e.setAttribute("aria-current","true"),this._current=e)}constructor(){super();const e=[...this.querySelectorAll("a")],t=e=>{if(e instanceof HTMLHeadingElement){if("_top"===e.id)return!0;const t=e.tagName[1];if(t){const e=parseInt(t,10);if(e>=this.minH&&e<=this.maxH)return!0}}return!1},n=e=>{if(!e)return null;const r=e;for(;e;){if(t(e))return e;for(e=e.previousElementSibling;e?.lastElementChild;)e=e.lastElementChild;const r=n(e);if(r)return r}return n(r.parentElement)},r=t=>{for(const{isIntersecting:r,target:o}of t){if(!r)continue;const t=n(o);if(!t)continue;const i=e.find((e=>e.hash==="#"+encodeURIComponent(t.id)));if(i){this.current=i;break}}},o=document.querySelectorAll("main [id], main [id] ~ *, main .content > *");let i;const a=()=>{i&&i.disconnect(),i=new IntersectionObserver(r,{rootMargin:this.getRootMargin()}),o.forEach((e=>i.observe(e)))};a();const s=window.requestIdleCallback||(e=>setTimeout(e,1));let c;window.addEventListener("resize",(()=>{i&&i.disconnect(),clearTimeout(c),c=setTimeout((()=>s(a)),200)}))}getRootMargin(){const e=(document.querySelector("header")?.getBoundingClientRect().height||0)+(this.querySelector("summary")?.getBoundingClientRect().height||0)+32;return`-${e}px 0% ${e+53-document.documentElement.clientHeight}px`}}customElements.define("starlight-toc",dt);customElements.define("mobile-starlight-toc",class extends dt{set current(e){super.current=e;const t=this.querySelector(".display-current");t&&(t.textContent=e.textContent)}constructor(){super();const e=this.querySelector("details");if(!e)return;const t=()=>{e.open=!1};e.querySelectorAll("a").forEach((e=>{e.addEventListener("click",t)})),window.addEventListener("click",(n=>{e.contains(n.target)||t()})),window.addEventListener("keydown",(n=>{if("Escape"===n.key&&e.open){const n=e.contains(document.activeElement);if(t(),n){const t=e.querySelector("summary");t&&t.focus()}}}))}});class mt extends HTMLElement{btn=this.querySelector("button");constructor(){super(),this.btn.addEventListener("click",(()=>this.toggleExpanded()));const e=this.closest("nav");e&&e.addEventListener("keyup",(e=>this.closeOnEscape(e)))}setExpanded(e){this.setAttribute("aria-expanded",String(e)),document.body.toggleAttribute("data-mobile-menu-expanded",e)}toggleExpanded(){this.setExpanded("true"!==this.getAttribute("aria-expanded"))}closeOnEscape(e){"Escape"===e.code&&(this.setExpanded(!1),this.btn.focus())}}customElements.define("starlight-menu-button",mt);const ht="starlight-theme",vt=e=>"auto"===e||"dark"===e||"light"===e?e:"auto",gt=()=>vt("undefined"!=typeof localStorage&&localStorage.getItem(ht));function yt(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme="auto"===e?matchMedia("(prefers-color-scheme: light)").matches?"light":"dark":e,function(e){"undefined"!=typeof localStorage&&localStorage.setItem(ht,"light"===e||"dark"===e?e:"")}(e)}matchMedia("(prefers-color-scheme: light)").addEventListener("change",(()=>{"auto"===gt()&&yt("auto")}));class bt extends HTMLElement{constructor(){super(),yt(gt()),this.querySelector("select")?.addEventListener("change",(e=>{e.currentTarget instanceof HTMLSelectElement&&yt(vt(e.currentTarget.value))}))}}customElements.define("starlight-theme-select",bt);class wt extends HTMLElement{static#e=new Map;tabs;panels;#t;constructor(){super();const e=this.querySelector('[role="tablist"]');if(this.tabs=[...e.querySelectorAll('[role="tab"]')],this.panels=[...this.querySelectorAll(':scope > [role="tabpanel"]')],this.#t=this.dataset.syncKey,this.#t){const e=wt.#e.get(this.#t)??[];e.push(this),wt.#e.set(this.#t,e)}this.tabs.forEach(((t,n)=>{t.addEventListener("click",(t=>{t.preventDefault();const r=e.querySelector('[aria-selected="true"]');t.currentTarget!==r&&this.switchTab(t.currentTarget,n)})),t.addEventListener("keydown",(e=>{const t=this.tabs.indexOf(e.currentTarget),n="ArrowLeft"===e.key?t-1:"ArrowRight"===e.key?t+1:"Home"===e.key?0:"End"===e.key?this.tabs.length-1:null;null!==n&&this.tabs[n]&&(e.preventDefault(),this.switchTab(this.tabs[n],n))}))}))}switchTab(e,t,n=!0){if(!e)return;const r=n?this.getBoundingClientRect().top:0;this.tabs.forEach((e=>{e.setAttribute("aria-selected","false"),e.setAttribute("tabindex","-1")})),this.panels.forEach((e=>{e.hidden=!0}));const o=this.panels[t];o&&(o.hidden=!1),e.removeAttribute("tabindex"),e.setAttribute("aria-selected","true"),n&&(e.focus(),wt.#n(this,e.innerText),window.scrollTo({top:window.scrollY+(this.getBoundingClientRect().top-r)}))}static#n(e,t){const n=e.#t;if(!n||!t)return;const r=wt.#e.get(n);if(r)for(const o of r){if(o===e)continue;const n=o.tabs.findIndex((e=>e.innerText===t));-1!==n&&o.switchTab(o.tabs[n],n,!1)}}}customElements.define("starlight-tabs",wt); diff --git a/assets/hooks.module.vf81mID6.js b/assets/hooks.module.vf81mID6.js new file mode 100644 index 00000000..ebc6f3e8 --- /dev/null +++ b/assets/hooks.module.vf81mID6.js @@ -0,0 +1 @@ +import{l as _}from"./preact.module.BP4etL1N.js";var n,t,r,o,i=0,c=[],u=_,e=u.__b,f=u.__r,a=u.diffed,h=u.__c,v=u.unmount,m=u.__;function l(_,n){u.__h&&u.__h(t,_,i||n),i=0;var r=t.__H||(t.__H={__:[],__h:[]});return _>=r.__.length&&r.__.push({}),r.__[_]}function s(_){return i=1,function(_,r,o){var i=l(n++,2);if(i.t=_,!i.__c&&(i.__=[U(void 0,r),function(_){var n=i.__N?i.__N[0]:i.__[0],t=i.t(n,_);n!==t&&(i.__N=[t,i.__[1]],i.__c.setState({}))}],i.__c=t,!t.u)){var c=function(_,n,t){if(!i.__c.__H)return!0;var r=i.__c.__H.__.filter((function(_){return!!_.__c}));if(r.every((function(_){return!_.__N})))return!u||u.call(this,_,n,t);var o=!1;return r.forEach((function(_){if(_.__N){var n=_.__[0];_.__=_.__N,_.__N=void 0,n!==_.__[0]&&(o=!0)}})),!(!o&&i.__c.props===_)&&(!u||u.call(this,_,n,t))};t.u=!0;var u=t.shouldComponentUpdate,e=t.componentWillUpdate;t.componentWillUpdate=function(_,n,t){if(this.__e){var r=u;u=void 0,c(_,n,t),u=r}e&&e.call(this,_,n,t)},t.shouldComponentUpdate=c}return i.__N||i.__}(U,_)}function H(_,r){var o=l(n++,3);!u.__s&&q(o.__H,r)&&(o.__=_,o.i=r,t.__H.__h.push(o))}function p(_,r){var o=l(n++,4);!u.__s&&q(o.__H,r)&&(o.__=_,o.i=r,t.__h.push(o))}function d(_){return i=5,N((function(){return{current:_}}),[])}function N(_,t){var r=l(n++,7);return q(r.__H,t)&&(r.__=_(),r.__H=t,r.__h=_),r.__}function E(){for(var _;_=c.shift();)if(_.__P&&_.__H)try{_.__H.__h.forEach(F),_.__H.__h.forEach(g),_.__H.__h=[]}catch(n){_.__H.__h=[],u.__e(n,_.__v)}}u.__b=function(_){t=null,e&&e(_)},u.__=function(_,n){_&&n.__k&&n.__k.__m&&(_.__m=n.__k.__m),m&&m(_,n)},u.__r=function(_){f&&f(_),n=0;var o=(t=_.__c).__H;o&&(r===t?(o.__h=[],t.__h=[],o.__.forEach((function(_){_.__N&&(_.__=_.__N),_.i=_.__N=void 0}))):(o.__h.forEach(F),o.__h.forEach(g),o.__h=[],n=0)),r=t},u.diffed=function(_){a&&a(_);var n=_.__c;n&&n.__H&&(n.__H.__h.length&&(1!==c.push(n)&&o===u.requestAnimationFrame||((o=u.requestAnimationFrame)||A)(E)),n.__H.__.forEach((function(_){_.i&&(_.__H=_.i),_.i=void 0}))),r=t=null},u.__c=function(_,n){n.some((function(_){try{_.__h.forEach(F),_.__h=_.__h.filter((function(_){return!_.__||g(_)}))}catch(t){n.some((function(_){_.__h&&(_.__h=[])})),n=[],u.__e(t,_.__v)}})),h&&h(_,n)},u.unmount=function(_){v&&v(_);var n,t=_.__c;t&&t.__H&&(t.__H.__.forEach((function(_){try{F(_)}catch(_){n=_}})),t.__H=void 0,n&&u.__e(n,t.__v))};var y="function"==typeof requestAnimationFrame;function A(_){var n,t=function(){clearTimeout(r),y&&cancelAnimationFrame(n),setTimeout(_)},r=setTimeout(t,100);y&&(n=requestAnimationFrame(t))}function F(_){var n=t,r=_.__c;"function"==typeof r&&(_.__c=void 0,r()),t=n}function g(_){var n=t;_.__c=_.__(),t=n}function q(_,n){return!_||_.length!==n.length||n.some((function(n,t){return n!==_[t]}))}function U(_,n){return"function"==typeof n?n(_):n}export{d as A,N as T,p as _,s as h,H as y}; diff --git a/assets/index.modern.CtKZhHHv.js b/assets/index.modern.CtKZhHHv.js new file mode 100644 index 00000000..e9ccd3a2 --- /dev/null +++ b/assets/index.modern.CtKZhHHv.js @@ -0,0 +1 @@ +function r(){return r=Object.assign?Object.assign.bind():function(r){for(var n=1;nString(r).split(".").map((r=>String(parseInt(r||"0",10)))).concat(["0","0"]).slice(0,3).join(".");class e{constructor(){this.isSwupPlugin=!0,this.swup=void 0,this.version=void 0,this.requires={},this.handlersToUnregister=[]}mount(){}unmount(){this.handlersToUnregister.forEach((r=>r())),this.handlersToUnregister=[]}_beforeMount(){if(!this.name)throw new Error("You must define a name of plugin when creating a class.")}_afterUnmount(){}_checkRequirements(){return"object"!=typeof this.requires||Object.entries(this.requires).forEach((([r,e])=>{if(!function(r,e,t){const s=function(r,n){var e;if("swup"===r)return null!=(e=n.version)?e:"";{var t;const e=n.findPlugin(r);return null!=(t=null==e?void 0:e.version)?t:""}}(r,t);return!!s&&((r,e)=>e.every((e=>{const[,t,s]=e.match(/^([\D]+)?(.*)$/)||[];var o,i;return((r,n)=>{const e={"":r=>0===r,">":r=>r>0,">=":r=>r>=0,"<":r=>r<0,"<=":r=>r<=0};return(e[n]||e[""])(r)})((i=s,o=n(o=r),i=n(i),o.localeCompare(i,void 0,{numeric:!0})),t||">=")})))(s,e)}(r,e=Array.isArray(e)?e:[e],this.swup)){const n=`${r} ${e.join(", ")}`;throw new Error(`Plugin version mismatch: ${this.name} requires ${n}`)}})),!0}on(r,n,e={}){var t;n=!(t=n).name.startsWith("bound ")||t.hasOwnProperty("prototype")?n.bind(this):n;const s=this.swup.hooks.on(r,n,e);return this.handlersToUnregister.push(s),s}once(n,e,t={}){return this.on(n,e,r({},t,{once:!0}))}before(n,e,t={}){return this.on(n,e,r({},t,{before:!0}))}replace(n,e,t={}){return this.on(n,e,r({},t,{replace:!0}))}off(r,n){return this.swup.hooks.off(r,n)}}export{e}; diff --git a/assets/page.LpqHvsRr.js b/assets/page.LpqHvsRr.js new file mode 100644 index 00000000..2db3521f --- /dev/null +++ b/assets/page.LpqHvsRr.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/SwupA11yPlugin.BwOJ-1de.js","assets/Swup.BAW7Fnls.js","assets/index.modern.CtKZhHHv.js","assets/SwupPreloadPlugin.Bit36d99.js","assets/SwupScrollPlugin.rmSN6-xu.js","assets/SwupBodyClassPlugin.B8ok040w.js","assets/SwupHeadPlugin.6Q8td7LP.js","assets/SwupScriptsPlugin.f2nwucqv.js"])))=>i.map(i=>d[i]); +import{_ as e}from"./preload-helper.B5A3MRH_.js";function t(e){return JSON.parse(e,n)}function n(e,t){if(Array.isArray(t)&&2===t.length&&"string"==typeof t[1]){const e=t[0];if(t=t[1],":regex:"===e){const e=t.match(/\/(.*?)\/([a-z]*)?$/i)||[];return new RegExp(e[1],e[2]||"")}if(":function:"===e)return new Function(`return (${t}).apply(this, arguments);`)}return t}function o(e,{timeoutFallback:t=1e3}={}){"requestIdleCallback"in window?window.requestIdleCallback((()=>e())):setTimeout((()=>e()),t)}const r=new Set,a=new WeakSet;let i,s=!0,u=!1;function c(){const e=new WeakMap;return new IntersectionObserver(((t,n)=>{for(const o of t){const t=o.target,r=e.get(t);o.isIntersecting?(r&&clearTimeout(r),e.set(t,setTimeout((()=>{n.unobserve(t),e.delete(t),l(t.href)}),300))):r&&(clearTimeout(r),e.delete(t))}}))}function l(e,t){if(function(e,t){if(!navigator.onLine)return!1;if(!t&&f())return!1;try{const t=new URL(e,location.href);return location.origin===t.origin&&(location.pathname!==t.pathname||location.search!==t.search)&&!r.has(e)}catch{}return!1}(e,t?.ignoreSlowConnection??!1))if(r.add(e),document.createElement("link").relList?.supports?.("prefetch")&&"fetch"!==t?.with){const t=document.createElement("link");t.rel="prefetch",t.setAttribute("href",e),document.head.append(t)}else fetch(e,{priority:"low"})}function d(e,t){if("A"!==e?.tagName)return!1;const n=e.dataset.astroPrefetch;return"false"!==n&&(!("tap"!==t||null==n&&!s||!f())||(null==n&&s||""===n?t===i:n===t))}function f(){if("connection"in navigator){const e=navigator.connection;return e.saveData||/2g/.test(e.effectiveType)}return!1}function m(e){e();let t=!1;document.addEventListener("astro:page-load",(()=>{t?e():t=!0}))}!function(e,{delayAfterLoad:t=0}={}){!function(e){"complete"===document.readyState?setTimeout((()=>e()),0):window.addEventListener("load",(()=>e()))}((()=>{t>0?setTimeout((()=>o(e)),t):o(e)}))}((async function(){const[n,o,r,a,i,s,u]=await Promise.all([e((()=>import("./Swup.BAW7Fnls.js").then((e=>e.S))),[]).then((e=>e.default)),e((()=>import("./SwupA11yPlugin.BwOJ-1de.js")),__vite__mapDeps([0,1,2])).then((e=>e.default)),e((()=>import("./SwupPreloadPlugin.Bit36d99.js")),__vite__mapDeps([3,2,1])).then((e=>e.default)),e((()=>import("./SwupScrollPlugin.rmSN6-xu.js")),__vite__mapDeps([4,2,1])).then((e=>e.default)),e((()=>import("./SwupBodyClassPlugin.B8ok040w.js")),__vite__mapDeps([5,2])).then((e=>e.default)),e((()=>import("./SwupHeadPlugin.6Q8td7LP.js")),__vite__mapDeps([6,2])).then((e=>e.default)),e((()=>import("./SwupScriptsPlugin.f2nwucqv.js")),__vite__mapDeps([7,2])).then((e=>e.default))]),c=new n({animationSelector:'[class*="transition-"]',containers:[".swup.page-frame"],cache:!0,plugins:[new o(t("{}")),new r(t('{"preloadHoveredLinks":true,"preloadVisibleLinks":false}')),new a(t("{}")),new i(t("{}")),new s(t('{"awaitAssets":true}')),new u(t("{}"))]});window.swup=c})),u||(u=!0,s??=!1,i??="hover",function(){for(const e of["touchstart","mousedown"])document.body.addEventListener(e,(e=>{d(e.target,"tap")&&l(e.target.href,{ignoreSlowConnection:!0})}),{passive:!0})}(),function(){let e;function t(t){const n=t.target.href;e&&clearTimeout(e),e=setTimeout((()=>{l(n)}),80)}function n(){e&&(clearTimeout(e),e=0)}document.body.addEventListener("focusin",(e=>{d(e.target,"hover")&&t(e)}),{passive:!0}),document.body.addEventListener("focusout",n,{passive:!0}),m((()=>{for(const e of document.getElementsByTagName("a"))a.has(e)||d(e,"hover")&&(a.add(e),e.addEventListener("mouseenter",t,{passive:!0}),e.addEventListener("mouseleave",n,{passive:!0}))}))}(),function(){let e;m((()=>{for(const t of document.getElementsByTagName("a"))a.has(t)||d(t,"viewport")&&(a.add(t),e??=c(),e.observe(t))}))}(),m((()=>{for(const e of document.getElementsByTagName("a"))d(e,"load")&&l(e.href)}))); diff --git a/assets/preact.module.BP4etL1N.js b/assets/preact.module.BP4etL1N.js new file mode 100644 index 00000000..9a97ec3e --- /dev/null +++ b/assets/preact.module.BP4etL1N.js @@ -0,0 +1 @@ +var e,_,n,t,l,o,r,u,i,s,f,c={},p=[],a=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,d=Array.isArray;function h(e,_){for(var n in _)e[n]=_[n];return e}function v(e){var _=e.parentNode;_&&_.removeChild(e)}function y(_,n,t){var l,o,r,u={};for(r in n)"key"==r?l=n[r]:"ref"==r?o=n[r]:u[r]=n[r];if(arguments.length>2&&(u.children=arguments.length>3?e.call(arguments,2):t),"function"==typeof _&&null!=_.defaultProps)for(r in _.defaultProps)void 0===u[r]&&(u[r]=_.defaultProps[r]);return g(_,u,l,o,null)}function g(e,t,l,o,r){var u={type:e,props:t,key:l,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==r?++n:r,__i:-1,__u:0};return null==r&&null!=_.vnode&&_.vnode(u),u}function m(e){return e.children}function k(e,_){this.props=e,this.context=_}function b(e,_){if(null==_)return e.__?b(e.__,e.__i+1):null;for(var n;_n&&l.sort(u));S.__r=0}function P(e,_,n,t,l,o,r,u,i,s,f){var a,d,h,v,y,g=t&&t.__k||p,m=_.length;for(n.__d=i,C(n,_,g),i=n.__d,a=0;a0?g(l.type,l.props,l.key,l.ref?l.ref:null,l.__v):l)?(l.__=e,l.__b=e.__b+1,u=U(l,n,r,f),l.__i=u,o=null,-1!==u&&(f--,(o=n[u])&&(o.__u|=131072)),null==o||null===o.__v?(-1==u&&c--,"function"!=typeof l.type&&(l.__u|=65536)):u!==r&&(u==r-1?c=u-r:u==r+1?c++:u>r?f>i-r?c+=u-r:c--:u(null==i||131072&i.__u?0:1))for(;r>=0||u<_.length;){if(r>=0){if((i=_[r])&&!(131072&i.__u)&&l==i.key&&o===i.type)return r;r--}if(u<_.length){if((i=_[u])&&!(131072&i.__u)&&l==i.key&&o===i.type)return u;u++}}return-1}function D(e,_,n){"-"===_[0]?e.setProperty(_,null==n?"":n):e[_]=null==n?"":"number"!=typeof n||a.test(_)?n:n+"px"}function M(e,_,n,t,l){var o;e:if("style"===_)if("string"==typeof n)e.style.cssText=n;else{if("string"==typeof t&&(e.style.cssText=t=""),t)for(_ in t)n&&_ in n||D(e.style,_,"");if(n)for(_ in n)t&&n[_]===t[_]||D(e.style,_,n[_])}else if("o"===_[0]&&"n"===_[1])o=_!==(_=_.replace(/(PointerCapture)$|Capture$/i,"$1")),_=_.toLowerCase()in e||"onFocusOut"===_||"onFocusIn"===_?_.toLowerCase().slice(2):_.slice(2),e.l||(e.l={}),e.l[_+o]=n,n?t?n.u=t.u:(n.u=i,e.addEventListener(_,o?f:s,o)):e.removeEventListener(_,o?f:s,o);else{if("http://www.w3.org/2000/svg"==l)_=_.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!=_&&"height"!=_&&"href"!=_&&"list"!=_&&"form"!=_&&"tabIndex"!=_&&"download"!=_&&"rowSpan"!=_&&"colSpan"!=_&&"role"!=_&&"popover"!=_&&_ in e)try{e[_]=null==n?"":n;break e}catch(e){}"function"==typeof n||(null==n||!1===n&&"-"!==_[4]?e.removeAttribute(_):e.setAttribute(_,"popover"==_&&1==n?"":n))}}function L(e){return function(n){if(this.l){var t=this.l[n.type+e];if(null==n.t)n.t=i++;else if(n.t0){document.getElementsByTagName("link");const t=document.querySelector("meta[property=csp-nonce]"),r=t?.nonce||t?.getAttribute("nonce");o=Promise.all(n.map((t=>{if((t=function(e){return"/"+e}(t))in e)return;e[t]=!0;const n=t.endsWith(".css"),o=n?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${t}"]${o}`))return;const c=document.createElement("link");return c.rel=n?"stylesheet":"modulepreload",n||(c.as="script",c.crossOrigin=""),c.href=t,r&&c.setAttribute("nonce",r),document.head.appendChild(c),n?new Promise(((e,n)=>{c.addEventListener("load",e),c.addEventListener("error",(()=>n(new Error(`Unable to preload CSS for ${t}`))))})):void 0})))}return o.then((()=>t())).catch((e=>{const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}))};export{t as _}; diff --git a/assets/radashi-logo-dark@3x.BWiB2XXX.webp b/assets/radashi-logo-dark@3x.BWiB2XXX.webp new file mode 100644 index 0000000000000000000000000000000000000000..f7ebfc9be5744019383979457b7ca2989d34fadf GIT binary patch literal 163830 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 ELXn0bwwJ%MwO04%~J(1R?LSTsOZWFrMb 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'jW%}?k4xIWxNIr3OhWB*DJ=5SM&c~M z_Ol>%4n&CPfmF+to*jI`9uGG=&SFoffFBwoG8W=i64@~0B;)#+9(ID1E0~Js_HTLS4D9ev(^0vdL_{mAuy+b?(ffm(4oR_n z@sO&v`(_?6UHIkRn6I3FxJt?akeL%!#+7HvquOx_0!*qJh$_n0jvGcTI2S(ujV&cB z$|v4z;`T2*N$%P5HCFQDPEga4$e6Af`*-O!r1!;*fk0>ELPhX=mqr+5h}wRa(1`P-w)%vFtk z!Im|O6E2ULT9~c?%(Wy+$fa|~DBy{d*95X1R~x4qLys-T^~0R>H*uaRyUk=n{rA=H z#Ej2pFPC8|ckFF=SAtJ5C=>ZsyFN@fH=@=~7`sK~-c97muB23uB;!9ys#FFwQoY$g z!2Sh?{-p2g9?)IB?;Q^wv*4UkN2W5ejL`vPk~1gf0Ze_qPLAV||0v3i`I*<$XR*pe z20@2}#a~y#f7To-FCSi3>0v%%N8aqhoK-3JaF9pZdAX=7LdtE&w^^m;#F>?+>bjOjTs1Dz8mE2`89Nr9rKhUkc%EB3WBp zzEue)E?|3@$M4dw5cxtTE;6S9Z~w{*g_Y%E7LB@yYS~#?b=-SLeuQ$C!p&;u@x8*g z$5Fv5ZdV@8b{w6)kjVTiO6;v+|G{MDP2XZ=rFg~Aj@S+4_A%7@!Tc*b7ch;7=U3o+ z8dT*`+#R(SZq5WF(s^B%E)uR1TREIo1A3F;<|IxIJVO3UzyizpDw1b!o5!ie>?fha zT47<0Z)+m63^CDfT9exkq1YEXQK(tOS0UtVSC6JhhFl=mcf#Av;D0ni;=PPX4uP>^ zXSq^@q57r5fJ9UmAVYazF{v}nPycgpC9bQ1k6A{^)5Rwc{Yb64=v#BMto%wCFfYJ@ z=f{zK=6&IE&cR($(ml0-5+=jbDMiGG_-2)X=q@(9KQZX$p+Yn<27ZTSa}iLG?8o5w zn(ac*8j)J&)`xYiTryaXc!jfx(>9uEeU}6kcC}G7HnD$up!*afD#2Bc7{oDC>3=?g0$N3PdVD$SBsw5%;f0@@T$o)ItYhs z)a;fHk4^)^B`un(geif+!2$0~7_NqtQxmFIKc1pD6G+>==<^(8jr95{ZJq*?CW`9|Jh{{^`7wC9^u#edDu z5Hd_zcPuNWXf}8ijr6+R${(`FhrkSVM~D z($GOX$HO`v{77!Ao!FjN9>`ICpQW`q(@? zGFYzR0EeranIDtLA0SS*onD+0NWCG}0f1Yq4Q$ukG^8R%8q3&t*WAoGs}~93&snZ4 zHLLMqzJ5M2h=B*XOGc-lAazg$9A1+?7$lakEvgz*r zOED>BQG9qxgs&5^weRhIP&DA$_8rEgNd>S!69 z>QUQ=Jd?MNF#mkSjKD<~6_Eh^zb`OJu;KX?*Q^b3| zDXGn004=mI6D?3l%(w_LQ_ZgpiAV#CNuMkjIH}3apC@F_=~M?CnuQi=PW0hUODLTJ z#>E7Og9EAA+bPBY3^jS2p&Xef`j^?xM@fqvmXttpPa(y(9AWv7fUD9m(s{Z7WehzBpS4rX=!2uiBYt1x+!7DF_KVRODj?|l~) zqR^ar1Pe`^p+v87e}_Jw0Aq98j*INM7@7EJ{xvMV56w9@`|Cg52k4mgP~b#)_1Rfn@vJmkV^uM+{RZ*Y-;;!29}l) zjMmziNJml>kJkibD6Yp&vhrrL`Ly(u`)1$}>2rEbIvR?uIgOC!Cf5SFwLje4Prv&( zs8KgkIZvnp1Ldzk_Rsr(B7uv)m=Z!lu1I(364GJ~Y~_)oex}GuN$O2{&i`wuvdqldZ2)^{Y6T^ZRdnW8Y#eE}(@T z;`>8UWHC+4jdWE%HUz&gp#uqU%6T-SZ*~pV#%@)=sh~Ona~mIvA%U6N{Jac2&&Eu% zFlE*;bMIZi0&)UlW<%Ig<8o8gSH}`-PDhM}CYq28U!g6LM*-uf8qZE)T`&wDeO(Q( z!n!~@u}I5ypDwd<6$1v_7(Rvzh;}D+oTA<0oOYsKYwTjWom+2X1yTP+))9Mdw- zaN$}^VW7JQhavdxiC{gWR4bLHoPfFjF0UKg$M8~40qvs6P-jqCRTGCsYSi_cf&IOd zw-17F<)HL<&j>q1sP!spaNaml@|oyrl5-q5SmS>87oS*jBD@mJDC~T66CU%2}_l#vmx;=lT8pvO;% zAd`35deMpu?h^NyZP${R-Ys7uc6;4w189+pu!%iE>?TT}s+4O{AL6bdD8q*^X(o1V z2W6nma9`$(srS;n4zh-XF@-_A2UugN#hvRjtg(l&t2Y8QRs9F0nw~qr&z3SkR}{iZ z4J56(qIRwC7=oszk=D)TbGp{)+(Q7fY?=N=UbA_x(poB~kh0k}6NZ9T;0a)OdOOSV zq*J2~rzyR@N%>v=`!mT%02%wT^=cgXs38wA7!;_m6mA`JWe^rs{%eAa6#dx%^5|ml zfJ9+ka&uyO;d&ZCaj^!2nX`?>MtV{oMa1$RiZ>!NzYvLhKSNLw&RN>>U9j7){qE6S zQr$7dL*;>ajZK2S|Egb@;?=x`?oUnT7Bi*`g=Mo zsOta4@l>~(bezoEb8J!RONOd1D2{k<3Ik(&yK#}oV2llEdUePb04UZ&Q`7V0 z{?eX0P2?tLH=*p7_>V)qVGo;auf)kDTJ9E5%dp~3@y(6k5UQ@q*_-sd`MFqQH;g$#wS%~rXY5b!2x+y;@9V%|!zI}i zpTBl&@?eXc2PN}vJEu~+pInKppk&$jEx`_1|N3UFjcN;&5Vl;FPBgM3-S|i}THW;p zS7N+TvMle??K2c=Io;0H88(){>g1&j9o{4b2=o1mzK-ZVdXq>(Dm_f8Zwu^PfZ=tshsBA#%~|nI?X{7 zVSi(RNx+R4-yMINAxhLfarq9NI2Dqr{!{QYJ#hR}Q8(74)x)2MrP~rhjXAbnY#k~B z>`O-c7H`%rRc?;20e!Z@A78ZI;#Io8@S*0?ikT3^QAYh;0VG_@2=iy0i(3?Oz1Mk4 z>ni*>qM8aIBjZ0$om)?d3vB>Aztb<=N$o_oIH^QDTH3Zg`?kwsx_DM^w+GQ_7p{FU zN^yrWP4)TRz%0BfSyAF3M<*GVt^Iv+Q8W1tCsOz4wogKa{F#Y{VrcSZCsg1wJZ15` zWF5-VrU7OckW&g8xKy1(y2fYw+Lz4-vsIb6h^(TI&tIi*wi!C4h-nxU5lIqw!R6Qu zGEVlUZ34L!TE3i^8b&k6mcMC;2YqCm&IfbKqd`)=6DNvJ@Lz`ug8mt(K3qYcAcICz zm5Gr64Oa)4p32%B7tIC;IVxCf~l zkPY-1Jd0zH5XxlH^I#R%497K1~`OA>Q6RxskqE3>vCEv>*2_$3Xb z9EfnjfFnn|OjvrKdAFzs#qudx6F%3I@CU5!>1@fV821W+*Xyw-xSpwHl;|Kf5|v_1 z%T*9%@glqT5jK*;ns8;XUGCBQP0amII|z{4#VAPK8a`p|f14R~2f&pYhHjiyKo;zv%;Cnex`V^9yzI;B-LCDF%N6DxyYu-7=KQnej8RNq7e=Qv>@o6eq-Jdl-xc(kP?3OtX zM%q$1j5+-|da~=|UhWboLlw4o>o@4|BOZ#})7KDhC=`=o4GV#dn&}E((dH1~Ai|h| zlD6)43mRfTZmi=U=ndpHjJKml2iw@2GYj@&r;D<RY};Y6bm(Z(?N(Q8-6QAgji44Q7BEGK3hPfqTL66 zDKV{T!dFOq2#$$fX_tiSM^LLq$jWB5Qwu=%pA&G1-s?Z?IsgE$T0|RoL#ZvV(y%hb zr<7xUVX`O%;+tJIhe3(Laz|=;g}K7Qz`o*~ay-lO;b<=>sq=mFa=AydG6xG**CLJ# ziNkRjo$RIZr#pMq^`Mt8#H!aE;`Hhm*|OZ}c5(vmcI8F|_XN7SmHh7T?mXRuD5lF+ zZaJW)e&v7{WO>cRdf9IbW^GcyJhIUJPR>dKy78O_!Ny-sG_}z{qrONX) zy<}%`S#VA&=8ocqFZaagFZ^cHuF{L~yv0RuC>#;^1i2yP=CR2$Zm?00twN=LGh~)n zafqdkl>EYB6!DV59{r4#xim4zO-|yU-LBQ3yX&0_Gzs#+Feyy3LBm-b{aCLz4R@j+=P7=M9S;#$r|+reyk!+}jz} z|9(H&XjsAbk31i?$^>NeDc6chvn0O@2d*{!xzR$CjWh`TWE@7|u&FJrW$zabQa3svv?>oiK;#Kr{EtI4AU@ z#;nroa;@Tu`^xfT7U*k?=0)ueoFk%Roi=^D1fT8!^+|lgAI*ogAsMd7O~a~DJj|e! z3txPxKQJkFhX$Ycx#TOj*V_n&4Jz_s)zn5K5u`+l>Ujo;JpY zoMcX`qCE!xYSMP3>db07lc+cki)7=ZE#I<6en6ST-jtthzC;nzst=#Xfr;Euq9c1y z@G_lER-DhmpqrD`$~J)@c_wvQivC69EdeOe)v6;iA7ANNqV4 zKk(xHY#HefdC}q7{eaWgyC8!eM=MBB9^JAM&Weu{Q-i4d{R_o8U^@VZ;j*gFGdk5Ufj(5`jH4j6(ExG32 zPS+U3c-T2i`(1kpE{zO`M1AwCjTN=YVV7RYvxGA_cD{4U~ql!W~B z%QANTT2Z}Ft=hZtcD-*_RXYEY@R@_J-gCI}w-H*ysZaqBdb87$T8L9H0l)$?=~^Y* zbe)-S)?s*^3fcC8s)hdF!WphcwVKk4=4^fg9suS6y9OsAU_(8jEFb6nWv`VEubPJb z?>i_OTy%Afc^@MAHqB4X^{Vpq5jc7EGIOeDudHRu{9v|^H~Ujuu+VmwQ9|$I2=>fJk)iU&` zTEnCATBXf$O((ouW<2A>W>xl}xYu8>EvQGPIc!cob(6>Tw@zxz4&*`w`(=446;WdH z+xEfMrO$M3iKvsVw}UXySJ0tAC<2nT;r8x6xUbqxhS$vN~<>Z?V_RHT-Se6%m zQsIec$w!u5SddQU#po2D7JMv!nmAG2BC(zq)ZQWMX5=z6d`Vd93#mww3 z4a#-dA*8cSl|nEviX~02A00M^u4s^ffhYC}{>j>~!tl8uBE@l!%o~UM?&m3L>~$+p z6>&Rm_$ptXp>iG5WWwTq{ZR^^1BchxweOzF~C$y9&RD4Xqg3y7EGZd`Izy@&E_-#|ltr28;&vS>= zM|(fXN26l;paf(J7enb(1zqn$j`W}xf{dtvAzyC*88qhrc3ISd7%nBUlM(|5F>jHX zH&k_;U=43mbZ)y8;Q$h1+71rBO|!ku6wtEk+eXrt3Hk}L>&7O)E@Gfx54SofnA9;0 z^6+n}Z;P@KmAf4`HDO&qJA1brMj!S;Pn9CpQ9OjXO8o`f=pu42VqUG+aTjVl3g^(O zdJ8m@Ms>j++4A#L`<0}{&EsO3~h)jh_z@sp205@5pV&9sAtjHfOh0fa3-uJ*tRK z;e~t^5%DRzA16Ih^zGYkL1i63Ul2U(ePDPc;ce7b)sXA}@m7&?DnMhMqYsa`@6^gZdy07H`Y;WwgR)K^`>*QACzk9DlU??SRn+ z)fc;DVQmvyn&mIZgHcU)-mnX>QI{y_zHq*?%JgqpZFl$FZ%q z*g1>^S>^TaFsE$R1kd!(Hr7wXaWcSM)FIsvnq9VDA%40oE9u-;vrM|URqnIWV--&7 zfiEhEE0(^~OaTVlMiw{kiSppcs|g=piryPRDg=0vxIUgBID^cwSWj_ZG%3#qs{7XN zAliH9txzw!CdU0^Uud~~>(E_pP3y~2x}uSBG{*)WM->`NxzCeMdC?4BRe+|6^~K`t z%lG5QWsClraF8d#OkDnhc?CnaNrZ{E+XD3aLra7^8o3d^Y6LhG@bNYt#iLBGs!q!4 zT>dwEf}-OgAGx$4TZzlt_w*};F7*`iY|ex~ zxP>nE?xJ~sqEnc26cN4y>jj2%z!B{0XI#$KymIf<)8wjmIguAA zvrc!G;h~zGt{C2}vg!)rgA27^=g{D#0M#m+(P!Il(l0xp=7bZyM|}@gVFE zXfq({Bs;s4v6Srn4Z+am_9q<%L>8ye^U;)-MLdgc(CG`~9*_hQE z4y3{64T}74Ux}lVQzLQt?6|w>V*pX^_f^E>nT}fJA zmFiB5iM3td&~x@WCPfLy->V1nN; zb!RwGEXqT@CH><={lr{|i>ZPi|8E_bGTXT68`{s9r8s8^D!T$}Ij7C=LAriR*Nx^I z2v2#Xl&PliyDdthFG$7ovasgjQT#Zyw~Nq{`*8Q9sm?jF#3-&UKQE10Ims{X9QwUq zkFH5R0;v4?J}X57Mt|8+txeYPrTbX%u+QDrNIkhBp-h(W#parFlcmFIwI7!O&l~Dq zOYBMqOR%l?_`MGCvz3j6=mq8GL@GB7~{&DfdWy>%n@f8$- zNKv}e<+{2u+em%tOKoFurU~y7C=1xS1Kwn{0!P7eMc1n63$r-5IMb`VC!8O?Q&GW7tMlLu zB^6ZelMa5_q4zoX-);=TH@6au6Vd8FVVv4?KW)pM*x;e`P3dsH?tC8klDNDGeFVn29XYxj{VLIev_QyAoxUyt~ z3RKM2uRjI2Z9_Uy!g0cv6#QYI`~O#T)NBUC9H{?12&$f6JZb}5o_c{ma&I)!+^|fE zT?ODX-32Ouqm!`B_)^Tf+WroGCVG^`__dN0@hRDe9zhacU)Ss)tJyX2M5(YX?{E|n z230LKT*@ag%V*IgUl~ir!-i=^WeyaQ9i8&}&w%54mg?b_rfO*j6gk5T;-o*)6Mn3} zqkPC?8B6(AMKGRgR`d7$;otyJWSM>L61(4=|JbV0H2P&jcETcT#DpHX`WnnpUN8go zRn8ye?8X%_44vHk@gt;MPoz%&33N1I!tvzLF1bfl>VJBCj%9*iYXBLr-(N-`zUgdO zY1CW~5kChtFI3f)*mA9)o3oD^Ilk-b$xA$?Mwrrx|^<(vPpJbg7-2%1D{chOu$TQv<4difB7$Y_G3 zd`oqAe#G+C%zF%Z22W&)ox`=byR91j@bab^q6Aq<5G+hGq&k__2piDZHsf?0+`N1l zOP4LrqWcBcyoxrlI*r62ojXq*tdh3OC7dqeG;+jAn7yI~lMV$ZJY{=(9o>>;zn0Lq zVq7U|KR?qS8AU9BL!PW8`w8BSt4uxV9+%X=LJP##SD(i;)Jy9-pauJ(rYgDG>&!lL z`tQQ!D}voZ{)(wUy4bMj&p0N29yF_+%3v^)>}zexg*2WtHh*AA5&^g1lJd0SIM^H0 z;PAS5^T)oQJ~ZkirS9q^-;(N3@(R-1n`f{SBUC*a%1L+=no^_tFU4jFk^N~XI(qOf zBwxB$XE3A8#$@B`6)}AFxUYi^EK zq@Y{TC;PmdFrE|BL=kx7JmfO-t3+_Fx2asCJXwxEMxQC9+Z#k4;Kdy$$JDHPGmrf9+{SzA#+@%A3+XK;?D2xRiVpOkSOI-5bx5hxe#)) z_S)724Tce>f3j?YhXVE}tgI^Ehm6n`pp;qxGy!MD3&r_IFxvFD1@OXD8xScB+DtC+fC<|mxvuC%;l zc3dxCZDeD~!U0nhozCxHeT_Th8~9~j%7d(xyTI+VSuio zebfl8lSTc4mNyj9ew%t%x9)M-CKawgkU%(gD3SxQgVIBqMos`YDmIVFYFK+8w&%jz zxaaOUH>dG@+AIiKo3I|y2VhIO8vB`=!VMiG(KsjGQV;0<5P^F{#khMLSpJYn!M6jm zG}X^<@gGgU{CB{LZO{eZ)n6@$VWyolw759oVZp6r_sue(aobY{PCaK$6`1lsb29u< zgUH*poNS%fh(^iX(tQa=NcxXe;=IcyOVI>0P-epD=ExD3>+=ld|BuAD^uYG@eNEZQ8%~^h>9?eL%I3Fp`o#=>TwC;Ns(rZ3%0-Gw;U!B%y942DzRTc8_@fGQQrb zB?UeUo?iG}DcLFrv_Ji=IDwoO!5eeHm@upB{jC8WEDnOv=k2aekk4kL;s}$Dfn{p* zTvs2HueAd%kG#oF!O&Mfu7PywZr&_Tt@(oJeSEcU7_$VQVAaR&bN+s8#% zx!~)V#ZdFoJcS`$RGQ#@|ARi63x&O~gdJ?%w>7$j71*^qz*n#Xf*w@WcM?)C=2a%M z1t-tVT!BuB(^;0}^Ir6qnG^2Rpnwd2>o`k|=cghHM4uwwDSO^S-(T5>2z@~WUrt<9 z_xmMWGrLzQmYNQG&$bTU7?#Eyyk;8#Ni`+iByN6l#6C4#jqd{<&kKa(O=GDX0v1R^ z>Ot+zn!|E_$S>23m99u>7Ms3hzaw^XoqQ{P{)a4Hir0W*6ctmt`nKQ>)f2em&qC~K zwWC9B?Za`Gw>!tDGb9@Aepaye!v=rKTtJSGOhaMw&1Q$7XiI zs&?|fZ>iGeq+mMgitHms!0KAmg%8pADGfWSe>?YceNIri5?@fvqJc!|5chSyS3hn?_!bTI$8qE>6nT zVdGP9(yY23HZkLn?Sr1(c~6D_rgX8(xl=V?dYAi|i-@cDglG5PkpEFav-x%C);GmQq`6 zvq_wOoi@QWJD`-~J*_?I>E*M>W5no}&;C~27#f@(Bv~=r0-pXm^x3j0C4HYsrZqJT zCOKx!PyIl8DJ^_FTOIkSavXi*D?9bA;bSBb)$>P@$|g+^f}{z*xcT}pZ42BB04$?? z$Y_ldxxXx!fmw4-AZU=HE!yn>^|v;|N}Ma}3zgF)(CsI*Fg(8Hn%nH0UPeru&^uFX zEm(en8yX%B3hVWA`S*exKV6<6O9;vOS6yR*h`o7IdJ)|&heTHO5TlFW7Q$~dz8DO< zDL7lIoH-0@c}y20dH_4T zSx>UX-x(Xi5Vdn~hV*$n^;-^G>n8oh4JIw<;QZkj&7Qz_gN4gR-Kc0czFM0SJz6N| zQC4`>S2Zl0d57dAe+e)tIv&sC7odOKiNvLDlhT>lOdG*sXqL|nq`8f5?$Zs{QbW1O z>Kf1y{rhT1PINEZ7AUr$^H<}du_9~NO`OV z@^23Y{swC!%`y(-&1@G1#*sfcYC49Bme~OJ00&CFA}WI`X5PMfKOR$X78z0RN6Ds8 z;dKa6BA3H<%QmY~V=^cKl=OG)$){xK>W7bb^kC@4xZCILhkxj?FputgjKxe6jfO&D zYRGK%sbS5SsrdD+RZu^7;?x605&)9M#!EMLqMsD1!VyS62Lx77Nw_b|k6g_b!nZH_ z#rOg=cZn)~#EIdC$V0#N&6&S`mO+MGu9;2>gsTSn2*!K`_%yzkx-T<9D$x!%4{>|F z!lgL}nYr2V)6A=l6g+Suc@mQP*?8D!tvaEUkc<;v-5J6=i#B8PZMZ1^$hmGyzgh}>QSqf(#@c`^t5%pL^JkkoBKI90*vJnsd+FO@v7 zF*U6oxNdWnz5(wiB%@<>ycdB+Z+1Hkw*;MCjswjtk|Epj;k=ef=i zUqi&|0YtHg&OQr3_e}Qn1bopsf#1PyQJa8S)aE>;q*$-3U5^8Xe)>$i5gAA^PsxPS z3|13{ZbR-`KjK;G@Wp)o{na$4BjbP#oEj00yB&~q&N-IR+Sm~|g{?C;7Gop}JzS^V z^wpZ*#Xm}uj%0KxiZwocTMh2!o$)3?BPXBv(k?g&v*>2z7~Kpa?k_2)&Cw|-FaGVA z`Pl?@ItyR%xyXKMk^OOiaRFR`RHLh-kGt0b>{vghz~tXwimh85pkloYt3|dOF}=(h zjt&M>Xu*4)JNCJcqCsMCBon=hdpF2xuDNFow@USFEO2$A@L2P_i)|nHyKPEPItJu4 zBeg9_xvjgr*SK|mp`3R#5C!T3vu#4EOf@xkPPM;T>O2tmV#G5b`xN3D5N03vpHm+` zma>#6zW7Ed&lhY~ei52^7^CT}5cDi-_fG>AIUVvf=dzmL&;t*d$WlChaRZ7V&#>tg zV*K*+>$HFBWHQgVMjV52nplV^2$N}enL2Sin!9f?oL@L=t(88hO}>3nBV0BYRU*^) zR>X6-Y@lrCv;mHZ{tNX<$YG^%>*?-QSDbPQ7O%YityVDTm=fLw`!G)phsN!QU0+J*89L zQ=sU#K$Qxt8D1Pl{rI>z%J{H;DtBmn< zMpSrfeIewdyG>uV8zca_i-kyizAMLtz#kN1IL)xnHn_Z;xn&g|yC{0H@A4)v;!6R_~r{De2W>K?Z1la~l5W{-B4vBU~E#AT@whhVqtk}4xBiu;vghL#iXn#== zUQ~C-IwACb$l|2lcaCFQZMLmrJ$6u-y`NS1qnpGGpD=S7XU=S02n?_T$AcTYX|IQJ zoG=d3du}$!889XcpfV#>k7^9Q_RXt4)SHpuzJ*461o(I%vi4H^9?I+&sLh;pp@K`j zF0>b~0l@;GZPh1Gmyb3=R@^JFffN+l{RyB)mzpeWojPVQJf?XCMcm8?_mT)59wjKA z_KVuU5o#r`gphfitM}C-i}+H6M{#NN(f;rKowo}=^{m6+xx-|zxgOCzwCnj_M~=Xb z!T8weUHshPNmD6=2iG*h9u%B$Ef0vWa5M-c?23{9{7HQW&$;P(@6(FN*W&Bl!-rg@ z@6qhB-O&gwAE>f1e-0Eb6o4VPUhhatCEBZjHMd$tluS{lRY;+a<}xZdbF)zVfa%LB zO;`}@gzU$dJxn_NrojuQPS8YDwqkwDgo!f5$1h|4|q;D5qlNOsIo?C#mjL_*uO zU<4KUhE&cWFh5J97S<7JIKw)Qv|LuzWz68}nE~@a4z1APgCC>3$uNg`B`zvb{Rl%W zs#&X^*E?(+45I{Yr;oXZ!TNOpo6vZ=Y~)dDB8g>aA)()YR*etZ3Zsx-)i};fUup~b z?k#HS`r;>5YHB+!BHuK?%K{KA$mp!Qy9+V#Tr3vcptJq^{`lC8hz_7}{QPMhas)~G z=xsZ9QUY0u7l`b6(<8)#G)Cu)!4-IHF?Bs=7vw6_?r&1Rh+Fti5&+fqtN*`Oq11OZ^DkvCDc1q<+i8lIHZX$?dlQHneb z215T)Mpy~dt!iqJf3=qF>X)Hu^3yauj1a4=qv%VGAi%_95u{-T!JMNfK2y}G#^($yH$uINz6 zjB+mtD5Ebxug^SH`kI8<2#!`qY$D%cexX!~P!3EWmH~S&KVTQ}VRyV!7JqRvfA_51 zjYv_W%`z>s;ZfSXu7LQ(UO5`k~ScEa=yg=aIKO%_Hi57#zG z1qWo>=GTe(h(;v4)R1V(*e`UkPB_IW-_jN~LP3kdO}O@*PMdO#ckkcLli2Brk+@S~ z$~qiYq%Zdx<-%DpP_OH+cg_iK!=Yn_!~jMxNefGsRx$&L&W7h~l~_dc%` zrH0eN$b?a!AtH+vvXATsv3YllV8#w0+4{*G{iW;-8qnKaMq?ZtDL z==RLS*_D{hyE&6`BG42?qv!OSu+n9C>(Rbu4|OU+>Bk=KgUogIT+4 z8V`glRn7Y&_hPWV7N6VYYZ;XF{w{s z8vG7kr=nRta6#{mZ@%sjwpWJiG4!KNm9hGkITlRrBli%WCJpZMhO+(BgHOI(;!beD zqpfANgT#Inh9R3rUIN9(D)g_yf3;btqr?`{XYm4BHmo_PAuBEwG3p`FQ$sfu&|2h@ zvS1UVCLHXO;KDV%%JQ%-p}}V_!MOV16T=A97dYV4pOl8m-d$w)~ezbnUu^a zS=s2?C@XvSdMfGDGumV~0-I-%;!gI15<|1R?b{eWE*xUZ=ecTDRYQ_JI%qThVHLGU zEWy8ct1kpTE#0B0w98S`Ahu&1ht*FhC9*(>B=^p+xG__RCy z7e^ZZCN@zcFsw%~mjoyyG2I8L9e0w~VkbthPBLz`#U(6Y|9+^7eA5VyigyID(*D5l zNGj~*)RNW3T;(9Y8*qkW7fc?fEeC55mlgC(0fB67#R+xXpe4${V*{VU!VDa^6vthK z(CBR(P)?W9FK;p_m~2UpYTgFl=S+H-ZbcPpBHobPV15*tlKk1jwzIWuoMk&IXl5bt1P!Poffdk9?ptitmcnPih$L5 z76pO!k46$eeY}dDTbQZU7l>t;bjW`OYbrrjVtX!d+5DMZdMO(?jF!pIBd=7Odyr&I z?W1F;Puo8sKK@gGo0vjr0SA8`cqI=L4p(GwTa`(l81KAHsN>EceUP*V4@d%iclcDCs?-$}V?tf|l)CHOUP1yX7KMbnXr^b`^`QHeld=u5ZSb?z?9S>l1 zI9c(y$0Osq#Zw#hJ6yQTfE!E=2uNb!Vb5aEdHw{RZJB29X3$l3nq$Y`VMAEPc-0$U zwic;>OI2b+KPgVtA}qsy2p#%~xI%=FUI==t4&$H_Se3 zw~H+P9K%mndj^vAdEM>I-o@Q8ufL*KY!h5JD***VAED)TA0DdUD7Wfw74-LxA(j<(~8RDJR&vW5FnLJwmrp^=SMqlKq z>Ih+~=1*j(QtI6@S-`sM`jI3H>+EBU0R1$1dbU;jZ8KL*w(c~wJaGQE!yE7a$Wyt* zn9ZA)DK4g98EKW8DsAU^)3O!Yt5Pfam&OP#s#P=w2Sf4M{&J-BKR=x^+~l;8_-(|n z*$P1tesu{@adF}nP{oleoxE=uo$4Ml9o(D{zt~{d%&oFqYtcn?vZ{b*n&9)Y294#I)2} zM}|Kn8~G&U!^Oc>iu489%a3qK2>|V})}Q`5o_KYC_C-Adq8W*=^*xA6hY8=lmsHzb zkwL0*iyO}HPd6p_S>YgKwYYb%Fx1UJ5KKL+v@M_9&8A##(AY)(ZjsEQ?YE-7sWggX zXVEDsVmx8Dbv&kF52MqchT3pxMb zZibFhnzBC$V#UhrgD@-gXQFb%%eV#oG9M zWEX+BKX=o*%?2?*g|hcSJ*H-A=5%$JoYqK)j=pg(TDDzyAa-Ct$nw^EV)QHlLlUd9 z!C`ng?C;aLDwseB|Mda@0GY-HdfT7rYlkDf<{<(q+suK=qW|WilNid5bn%Wasl04F zsE4>{#L)FxD}iw}(O8q?laMLzdPbx7N0>tQGv#<6;={nN9SCW7;&4IaT3U!Tx{tsq zwpn(67mm9Q&zl8xOf{(<3k+HRVKj|}>&AY?E($2G@_+Ha+d46)IS%L`#5KGF^plo^ zuE>!gAN$rl{7KKd>ny(&qy(LYLHI3U^SnMX_^BBkYSm^^3Bz?*9}*(E=bS4;POiXc zKxIPqHRxdtBOwI+h%29vw(ZEL4=0>eyh|7`68_zFp zrr7*m_9E6oc{@!MunuZvOgsA(#EOyIIC<+Z3OTxm=5LEEd2HrKmr}(+BHC^UL7Dl$ z>}0tM%G*qhHBi48C;%v=V5|x1G8Yx+=uMpuM}xJzyf5@3l<@T#htiQv^lHiP8CtqS z#tOkyq9r(cp312&SqRiF7N6^>xZCLM0mQb03YQTw)vN`sGX4X<~vU(hL8sPE?Nb1KPD^6zJ%a= zzzb5TJD!L)SyXQ@p8R_EnQ%5`n;%m|%+5F-7kR+u(#_-EGw}XkI99FXF`Q1|Y`@ws zL@^0qT8Doy)ve}oq=nIQjJC2X?mApV}OfmkdVimg|$Q zObVD(6hy0?h^tRNjRv!dIlSQ)hRT)F-t(2aBhT!?JG6oAj?lK4KM|=nD-KJQ%2ih3 z7!vMp>aRY~Xdn2f;;RXOHza9UC|_W{S{Zo$y;bJg3MWAXF@a}=5v*=j#3(qImAM=_ z)PcAMmSqi}B+FceZqodEuyMZq^~kj}b_MSYb@DmZtmnVN%YPM@n1qaB4S|S1XoRhC zW9ENXK+u;rJOGOJOBsi0*Q4hrXSJttcIUez(^IA^$zQ-zbh?PO9spjy2bt*WRF+sI zug~c#f$|XD(?YYF>io)Nat}#w1L29#Rebq8$5c+#CjUvEJ)@^)hq4|$uz_J!+yg6G z@&Xer&${;Ot<&TSBRfwh#NFMG^Q&F}4Xu~BGq1qUgiy|7)BGOnUj<*lj1u*?EdGE3 z9;!ZT<}_%i&AI2s=-0`NmLaDJ#xETDAMwj#Ir<~_ktVJ+r<^_0s`_;{4A%E{sRzr6 z6{GcE2e1MKFRh5$KNvneNZ$rup*?(|k3duLG##H1IzjR{`u;@Gj;flP-gfM}8?nx5 zs*8>=@hS?T+&E&uk>dlqvXNm9pqO=-eXBTC0R!W7fq5QPb*~P>zj)TswieO@`CHAEhH%$&{ z{`#l3vvtp2=f5jvIa7?w79>1ss7ZatSVj(T@20{-w`avT;*XOoG@hACY=CTrt*2&m2mic}#5Ofu ztd__~!Z#Bc$Rf3k9XQ~r0{|$PY6i1gW@ZcBoZruE zEcR=U1(HaIV%Hm_(#n^A(FuQoD`cMp|5KqN)3KWzFuc(ZFzCbzow>QmGh3$K1tog6GuKWxF1%F-WWjl|1W%$gSGQK~*AH-T?N&yIm!**GyXl zY$XbBfT*Q01blQ*f`}DOzitQz2_)6K60vHY+$)Hc7hcb_~|cdtG>E)0{LvL8&v|G*(O>y{#?cv2vKbHX|XF=1$2BuPobqf&#*l!?rDOmr9x>-xjgTV{j`6SWB$~ z6!Ie{zPO^bo=C@);gP4};c%*f0W@8Z4=N_T+xq#LVEYAgSw1hfpV@g8*I?@oy4xam zY(FzTF~snUfW`+Cy-fF}!SO@z{>+`uDRp=YzgDBQvl38i4A1|0CqysxbGCg-!s zSXzj@weQ^Vd&sFXw%PZ#2CDz^m5e%USclDuX@-uCBGqA}L#XWVgder2B!TEe8FP?S z1mpg9*q@wxVjaW;^!c^G6wM-G84wtC$@aT4?Olji?Xd|YK9XNSh$oc(SyT*`U1Lc# zmWCq!@>J37>^CvT!1u+!QP)$63Vy%eq>g>zdmi$5) zLhe$w_-$9y0~yWrIa9s2d`&eVoFAu^j{508?(xC%WTIouwel3KbXl*`4d1x-q3kY4axEV&Gv$UPy!+Me6y(9_3CU0zNAU8Z$se;c+W+ zP?rOtpP~|CJ3*%@EelbH2vaG@T!M)QC`+5cV=ibS9IceXuK9R)D*c`*@evsoc&|%YPEA zoWuu2(Rl4El5~*TV)yW?VC&~{|DuJ#kXMKkA#fy_=(N4;-;k~& zC){&WZ{5@i6{@<$;s0m)CiNEq?W~7-5?(?y4m2 zkxTk6F0lT7+9bGktVPiXoalo)ZnX(TOJv=l3^qRCrd0UnU`Az{HnR4|$hCyPNr>M0 zU7=NqMk^sGzjX=!o9#O4s~J_raEzb|cE&EWQUVc^>q6jAN9YA?l!n0SUue$Ws}=ZdKKm9y z*6{*OXqra3J~zTy>E8e?XF|C*#ZHhZPJy+lcznMcQ6TzH>_izaBN$EdJg)HhKYyp) z+_*~@t3t}rozu74&BDPswXQUXfPuQX__39wIY#-oSOc-?6Z-JvB8}v=w$wnAe5J@x zusgl=G_rSr@yndL*X5I*dM3bQ)yQOeBm02h=6*9(kTG$u{!OMylF5KmL9y3Yrg(;* zzby&gQA@rm2&@;%fGSX(#vO=vG6UU5(Sug7rEF$JcrwSsRMDmRHSiw0pgY(z^M0LC zePQxRKWI@it=gCO7$rU3K>F%-MXinQFKoe7p})A;UI!d6=5rMJN)0yT;PHZbDH()XYS zrSM08MmBz|9}dTgd-<_|@x*&L@y|iPfYfPnk-6!U?V5W zl5esww#Vse>2b|xpV`a4cCLxq?Td+g6t_ECp1V3{|4_|4qT^Uw_&LiqrNCa3gLUlG z7`!@!WCG{Wc1}^L5%GJ7BD}qK2%FB;aXMcod_s|M?q!T0_!_~d^F;b6ZT<;y^*GVp@1wLT$W8~`~ayg~JrbN+fI_B-hu{JK%nk=>?zN%w&aZGVaBbPS|aC8@!E|lR|1N@8$gu zu((G58i&J*w>5h-H+)W!VwePMa{Ph=Z`JXJ@SJ$H<(q5)c78<0Q?x|;+?%$6DxBPn z)-y3F(uN&u1!h~VVJMwe58&g`rpYa|_L{~4#)b87NUzq03J(oA&x^1kr^8d&SOe2oCMhq(pFCtITr|xOeLFe9oAT5* zG_%ow-uLAJ$h5~fEh=Ke99BNE2Q8F#Qx@DC$2W7Ijus6p-9g9FyXlMFVXk*ksgJKg z7PdRyVNLG+gHzUn31@zi`!&^GMPf{szENlrwIN}N{J_v#90W-A#ZQL`)PEh8mBKp_n(Hk5e|u_0~qm{fM^J+uw{a002;SWPjjN*c|1v zio34Xi+aC5TI3DmKln{Kss|SdNbjOitsE<9c3hL2WrOnfV9id!&1b8(ydvJ#=Jo=w zQaPJ!F@XQu*;sxl;sR}@gonm-zi~xTzS#bMb#;!>m3&*f-?43@W81cEJ3F>Iwr$&H z$Ld(!F*@4msAD^wH|PA%d+)ioKGl~RqsAI*&Z_aO`TU-|M0JhEzLf~a0_UbpYX;13 za*gYxKLb#fbuW&^_49$X*#GVD#WMjW^gVxNBdF)uyo{lp#R{%3ACis$D;y6S_P7r> z+A7K^! zARb*pDg+$0xZYyPIc(UP<=(>7krtNDwzZbpcqYS(K?p$yTd$!++V()f~ zC=Hm>$I(VsO{!s|W!!OKi^%OeDfkL`in6Sso!Y&|pD7knsY3TDRtwv&zdsLPicYk{^B!u+KgsHyEOA@Z2W_|!<}e~GO!wa$fk~IK6>}8 z{(fb03F(7UvFI+KHB83JzJur^H)YT^B&BC0$x6)9;e<9g1hP<>gQY0b9Brj@vg&X> z|2c4ckoF)w{r!jWZxL(FK4;sIsVzCE#RTrX4y=#tHprpBo2#ToaaI6jcg$`m5Q5x& zzK&HiaoWJ9bXq`@VLBxOwG<{*Tt+n+9NQAM&6Zf`_Ft~VnL5~;49gTTxz%eh#X&bC8N9@xgl*CU#?rhOjIfiX@fQsVO){8GZr-7e%zc>Jp-9 z;F3>87o1n4=@Ay99n*@y6TjCUFqxH zyBT84m@O(jVeQZDLT#`V{cu^_BBQD3ncB(y)>2RIl8ew_+}ykb8Bv3|(;eRMHL}Z&>%bTVg z{A8E>0}g5EPKy zL${SK!^-@}t#!1FOzySdK5!Aaxu2^N@b**r%zBXg}|H z$XwH6Dl)|&QHhD9pUQO~!cdI=tzYpwd00iQp&aLWtD1TRmuD`c#mdqOqp2~wb%>>A zyxGWu_m_MHP!_3B%6+F;@}><+38YEy5vGV$Nz5&cE{Y~;?$}u4_ra>O=qVibTx+dm z*G(OHgNQG9tsSLVf{Kv$0;9KjNhw32h=bx1d(ZnLdOs<#{!HQ$ZRfJa>ZbA1#(~&F zcFZyHeTl{toUc7q>xG_-wU+>SO5v+Dliw}tiVC*qt3(}yZ`D=V489BgUG*kBd*sVJoW+pP5i)d%5#F?F@aUl3_$MLVJyatUGMx(KP; zp+7B+Bspb)KX3c&m?F|CEt3*lSC4+v2o`%!_SOcB@MAqa2D2I1`&3mz%Me|p?SZK) zV`#Y9af1|Pr%m7m(VVWaSHKOi&O+~jAP1a`$;o2fEZnsWCvAtfRBKKJacCI{6TWnJ zX8+<$_RS{u^0_Oye3db9gNhM{T1__3G&V%0S!2d-0d>u$qC7hrl`5M*3)W z8-n+^33-h=UkY_z$!3qGmfQ7fqYJ^4V#_%`aM;d9uq!;-nzwY)k_DtXAY0$0n78HM zU~#SF`+4yZ#iOZ?28y$kTe7_S+`~UlRL82KWR-?VD%Z%d{r2S zYiSmU)1iUC=+QU%S2_Pjvyq(gu}NsqD;gU~m5lN-JcKe3bhE+J%47UZFiu!^4;U$+ zkUv~kuPhst2z_+9xC>`)@=A$0uc%+oO)bv%N5Rb^$NYai3vSWRLAn~?Rns?T>F^PHF~flIhMzRex<27lq< z^G6f~cUjC*Z0sf^tma-5o(8Wox;1K5XU36lcX}^x(V-L%9=m8xNU7fZb&3SC*?^LgALmZRWEf>(^(H!-;g@!kM~={^TI(F zNBCGQ{R7%%yvhJonONAspiS*@@Zj{EWy7Nk3PR=#Sn?WQyS)n0HSZdPO|>uSVNQe! z{IiYxVePrN;9HA!j~}$3(7F7kNbPlL`@Yp(n(gtpJY#nn)>}9&^!)^}SVZm6E=?=g z(AT$(L5r)OkW}j-fk+n_H$0SvGvt&GaNyHxSmJMHoTluD`V+h9zQ{M(2Ov^iU+}6x zeIJylGS&X#tAf-l*=WBHScgpCH>xD)Bt^xfKDu18;s(WGLD6Z$>BwjW_fuSp1PGLv zk2YTM$EPT1gSS(rd8k>mx<6n#Xhl zIWh}`lI~H*-e6vQOLySfdpwf2+%StIVo4E~O0lvVD06-;F`9#S@1uEqH{lyw>Bp8! zAq(<3N=CORGWTXa%ZZ3Vh?nBbS2*-s!Tey>H+wzau=*nb?=c6|fK1P(7$&Xk&XidD zg)o#m0dOwF$UeKO2}(V!qi*3vX@I}WH;1VOze^G_AqAnFEqH3ywkRCP?MbxJdZ$Ao zZ~`T`k9l3s5Qp!@Jy+9JJvR66#P!NQ>B?meP*AsI1G09JnS!`{qvp9WvZ^|2?BjOE zWzAR{RnSjT+5)8bf4FlHzZ3 zZP2cUr^F$UbV`4k0fT_Y3I;Yg8g$!j>6V} zEgN}vqyMr*S@kTrZUUU290FoWUULmwZrMIc&w8g>m2#;!yK8!@UGyuam>`B%(?)CBO!Hidc%owm0|h}S^}s<=v7Ll74n zuw)dmwU6&rUK#A-sz$-`?;fJ~@*B#x@B2%E$ISRf*nS!#$0U*_zj#`^2VQ~UaN2;e ztn(!s;0|+$pg=kn(61U`L*TqDzaHe*;2ylAmA=L%r!h3*7HrYr zrg3}C?qO42Oh)bG;;9$*t(J|A6|XR+NyX@ElxeDYA<9R7MbZ*~(IdH#fMMzp39oEt zBeUR&YvnUh+(6w>WNu6a6J7T&>5drz#(Xy?L-3$+*m!SBI59Psx=}bm|gCnp$C>Rp<(OsyM~orCQIU7*dRknz0@am%jwmjRd#<@So^LQ z?IKT~NL%x7di(@*=&L@SkshuMUR?bFghD74jpaV|un-^RnocUJ5~pa`SU7hov<+-AJ1RN|Vrsx^ktbI)5eVXG7BoJoA|vur_8Jsw$|0A*uvB-~rLk8V;_B z;=yWK4|cQ^`m@Vt?^u2jQThm1h3(bp=N?<&#AgRb(;~>zS{RR_7C?- z1_;~h<(>z;t-NX_vJyc5DW28TcEf|jfBqn~4($#iSEiRv{H~zsWzIqEJ5DgaoaiqHc^X5(`Z32m5`=zLJ6+8@m+#}r=*a62=pz`Bvptl2{o z_X6M4(?=^bJCJd|-UB6(VR-|Q^3uQ$}b$x`G$+3+k*Mvsfe@O8l;*}x)z~h{A z_TDL$KVO2GdHxFpNKmdn069b_tlrAoi|@Y-Wspb5ROt`+V}8r0&coD`ftG(fnjX(U zHl>r^n^raZErS<*^oh7CNl_u0z@XxZ){8NIh6gid$$}!8fwmma}y`}qORzU z4QWVdnoK$hoo=gdILRXjN(FOIuzxEUn3;J+C2dz9+{X>y>4oktz9s$YMei(WdjNc~ zpic>WBwsgCc1TsI5udV2B6Z=KIl26jo~Lnum%iDeKWwLy!REL*C|D$QX5jt?hK|Fg z;9il4z!hlvO`cwPq5il>#H9c+TmdzS^vm?YJ$}TmG0$8+T)D<_*D00FIPAtfdsbNE zm;PeQ)F{}@mn0j9s`J&813K@b5MScU4U~oNO`Gl|O4+EqyG)d*Tv!c}lJq^6iHOh; zwLj6~ePP$tNk{(_1Uct(D?)97a|rd^mWu@Q`x3mdjhBi=^yuLdbhzfUSF2YTBtxBJ&gY{9Nh*@eS#;)V z4nR0w|C78VIu9Gwd=$HQcWl0EXf;hG=s@&7D=&B-A#=pdh5|c}5(1!~RwlfMT(u~% zzUtTFgK|K}6qa?<<65r2)x!q_kh6j`HeIA`B;nc^@Ux2HaB8bb+Y9@@_b~`qTPgM8 zwI{ajgW&*vo|X=HVbzWS%04v4hbtRtx=9pYG0#F{^*`nh6oDbG&vJw+Zx%9D9=lQ! zG7oFQ$Ms{+VJ`x7q0xi)V_1=lUa>WO176K6{sklW?7|foyon945^~6KsyZpu@IiP+qxga%(%W?%vOBPwAV2$baa&Xaj{9Xg zZn}z`JV?@V@1B?z=K!~Nx$fEBXBWFa$S%R9tBA3GH!s2U&?GS-Z65Ry^u;^Mot*l- z;7(I)E4n`6hDmZcTo0Yqu7=ZVyZWkEv=B;CsfB0^X5vO82@FHkx&M(fz^TCnbRfr> zdiCJ5t~Ww5f?C$i+ko`8{)LKCs#_itd-u5tYI%1fXUPNxS5CWwmL0^4mx-Z94u^X0 zRG{B+^e5Fb*_^=>d}&ZLWy_T-ouc9;a|x9|3?flZc3GF_?NpR2>pn^_A{|PYUqGWy z^x`J_c?XoRwbbj%?AIl`C*ndI!U2}h->re=>MZ;ev4}WlWJv|+?!pzqrbzr+?IOw* zJrNXtuKadbnQv)uXB0RJ_NWeVPAk`zSL_jkt#jthmiy#T$?r?Bzy#J)BwPY)>Ld!# z0JGaG=|kX(MVTjO{}!CFeSM=J86fI@tJnpsWuGqXu!bA#MWGEWye5FNGeE(mMLzb= z1)%WVTtO5{a7wV5Do&T+CWZOmXthC<2jF>!i2nWT^Id8IS{=;gfpBM{)g zcG6G~c&(l?)VlJbi~Ce##XVh5!THD9HhScXVRoQnj6c)XJRfW$16pv(F@A?i8l^%X zFqA$o|J}lgY&Gy@VFQDk*JbQa__zOtJ7|4Z8}$|L@+^!g zP0-q=8iL~uGF68A`kPKDBL#ZJROLy(0_W%zU%jpWzX;ZP+gYU zc={Ve@{xWgnX%nthjml((@g(?jJByaemhMBQgX`-PMR-~)U{kuma=Gkk99+u?vVi> zYLtCp$|389)p#1!czbAEJp(Ak+3}If5_|U3>hU$27p3k}VzZTAvMo1QyXGyx0tQZ_ z8*;uPL&K7mnZS;rsUQ3*>+(ElTCSqbO_?v}x#}zIVA?-B6(R>@*%bLrMn+BIG2z!; zccGZdX}nTIrwr%&6rQhdz4o$#p(R$-j-z%K<6?x796m@GnQ508yDge|%WsncO+7z| zaj|fzd+g4hfIO(=f|Cz_?66@z7ZiCL&xBB$>6SaP-Ha!2ho?r8GD0we-mLMF*jG8L zbGB(@V~eQEd4|H6p)j(~Pw_=p;ad8qaehtk7`MG6jq7gtruE0f0-Ga_qes?!{hDRgN5@<6l4RqYR(^Nx)lh0S4`hZ2_EZw%-I zqO-CLQ5^tYF~Xw@Mu(HHhHc7Y{RDm{dPlA0)MZtWz#RBEP%}e5!oId3eb~{xow=w7 zCJGu+-M5&zmlfQb5AGou)L;tsb_}hDM#=uZ=D7$Ia4stgc4iqR0=GE1Cqac`6{%bL zIejZ|g+S_Ut^4saD@W>;*dxrNm(TdSQjVWe4LC|JX;!Cz+jwhpQ=N@W zb1xb6PmxeraU$szqD-j39d5XVGD$0&)4!&?Du9_*+kfL3mkPz3F8X&u)4$S+$jPk! zlhoJpc72F=|Cw>KdZYmR?OT9;t3tG~ndw_;%8Y9aru7f`t;GfP*tESgI0ZF(Q&Hk< zMob~@yFjCqhaaOxgtt|FO&mH7t7MEWrh89-gj^_F_1HXOVOFFMq+30y3b04zEM4Hz zUg~~qpygP%L$itg5#FY;rnIonmp?G8rQH_+Pk7`!81pOd3$%_oLn`-p$4;FHBk8T! zhUCoth}+U)Hyfsc{EE-m`D3QeDH><%_ym>o6=M6^*M{|$VSRVRIlUG@T+PL>R5|Eq z)Lkb*!Do0ggpL8GUspYQxU;xRgfZW?&tC`i@$dFBp-&Hith19u{vHc`Djcp`AHH9! z!>jlxD<8JQIZ1bq!o=ujlrK&97Dz)mmrL`?rf2@RAy_d9lPmZKjr$d9f9K=D@Bz}q z5yd%H5tvfe@nzV*%ydtJWHpPIfM#W%OBL!5Gt3pf12TJ%TdtDJ> z=oa1{RKpZ`YG%h!3w=Sl5@cZCYnS23+9!igu(-YX(HY0nddw*;9HvEuEVQQ?jF+)k zn+Ny9E5#J$1@bcS5%-+5Hc@H|gF9ZJ6iomlT9K0-h@gI}GCBgMOznt{sgtlfJ7VHI zh!Q_Z=a5_-ycT^g>+(gZ(~i0GtJ@?PqO805Us&YLePt6mH7+D$654oXWg=;8DF29> zC#)dn=bD*JNIw`f3rt9!pr52aD-$>+d^KffWnl6a#n|Y__7)t~nG)lv_>tqr{AlzG zFSkV+`Sbc}0qKdq*gIv|eEUR4qiyQ9pzMbLr_DIIE(zGt35sWb6rKUCpw|rXDx=L6 zma+Awq|h^l91-kiSaNr%i_^8MD1Y=SB#@fZbGT;p6M0I#kynBMqYbinHixQaxa`0o zmf+>P3ayzU*y7sM-~Il13D2$ z4Xh?g8j+QGh|6GaNU`HlObb2?e?Vsjh{J3vys##LjJl*y1uma6HObJrlu<4#p1x%( zNnx-eJ8VO}+zYl)fv+>3 zpS8LwQyE^!iM%j+5ol#n?`a!=>#kH9gqeRM_Y!4P2G+uyQsCIS#~kbhkANze8T-Q} z4>N+Fmv)J!x|vy8KvI?k7iDhWvywWem`eeke>hsIXb$dX^$4O?8V!Pad1v{}_&G_B z9^-r)rI^jf&!_4+y1-nh6Q4w**#tL$*tciS{Z_{;&V1afrQ&ai2IQ4Xd#+pw^t}`I zQz{RTQ;{)&TdL<%!sk3%WDH`A9#PMxVSa!rFVhOE%NX-cUsK{EAA*NE??pJI>AM8@F}RmgVGXqxZF`&hgLJ0eg67V z4qyBKZk)?Pb8>t+*g-HmR?o%4F9;CtwBO=lY@ZDxMUL!@XwgPNP)}-dyg#?pt)12S zCjNSuSTKk@OFC8a*^a^fe`+plsqV?y^$TzT^Sa+t-L@+7^nOh`eO;kIzt>zWHZ##q zXBJVb3xdJQ5m#N9pP7hcV747ki_8^m?USvCkv&~%%e-*JK5WoUe`gPXo5_kz_Nz0m z8PjEnWQw|>foJ-yUR)o?T4lTR6d)F)%+1VwL|2o-&q!U`d$OpHFV%v|x`_#q%E>=M zuV`}c8L`*rv~G?cWCsFoZNQ~zKNq=ZZmvm4iSh>t3A^qB0BY@nx2E6h(vEMOU4lfA z-O<4IOs470&)XDpd(rZfK4)uotEK<4mbWXdCFN(0Cn64(jv%D`J3{rJkCF88l!goy zQ%!_t@-TXXm-BJM!S0Myw%K~xHqRxFrR(zyd?7(+U&q8a-$lfArM7YOjW2_$`h7!R z;mk_WxzrDbW&r0{QnmQI;wB9IRwKl}+59YYevW$&zkZuKCL%cB7N3RFsI^xq`1tOF zN#4VBmU=NhZN{=XD+WM!I+asXC`s)Uta4L#Vq+ZgWF91D$&(e@f{WEmS#5EpS@C&Q zzJ0s%$Hv*?efZXva87!jZ0*j_FVd!?-}t}JN?SN%`FbvS*`fsfR>ff4*05QQT(voWwd0PWYn2{&OX^)pn`b#1+rQcUohrO=8q6hFGT~Dpi)9iFXK+vWQ>UYnv(2^ zt$3Xo`@POJsw*~UclvU?Egb&DQ4E-pT*%Y)CEEB&l5O_4uxrdcED3GH>w_2N6me{B z@SpXEUZ?y0U_UFxD(=Ly!1t(p(9SnBW~a&9D(@e?m7>33r1*OME0wLub>39oX^Wd9 z)sNmmQ((jBW{aU~qn?$}zW3e2TJJ=)VKyfvpS87Z-HximV{BiW8xAz6Kc;1a$gABU zdII_4XX>>>?09yjVGf$_@V1ZsJ`%^KF5;cj0PHrsg?jz_I2{02KH$E&pm`l($fsn5N>w;rt-ZXk1@c2>Y;OtbGMmdV z5XPoEUbDOm1EQG(d=?sKQ2rq^4m|~WeN2@mHyDre&0~wP&=1%`e0gYz@W7-PloGpc z0{^kh`!5FfoTY&$V}RzaM`iSNy*^D4%@a{^Ivrg&Wg&w#8P3!)SVcnG7ZlH_p=HV7^M1?TEw)|&bj@`EVL0Xuy+fWxz`HQWz!<@W zDI3I#?qh`8G8?Un3E7gqleheNP&>RSU*WCH6wdOfgCI|!pqZPS_3oASA5QzbtSLe= zy6~UUnU9~qUgkXxc}beU>YgBw{x_Zf#+%2m9PZjcxu~)~>pX4o+_s3rn0tUtVaD)V zB9NVwVR)}CKY3#jCG#5N5wY}K26&Io^0;WUnKHUD|Gz+Y5cE;?yIH-qEX^;(rsWJw zi#MBRlM<@I<{XpC+oJL`?Oa7^;=x=`5+Hg2GUQ9 zw%_D+XWU55gD;{w9$X@02G3XIx=;Zos|Bg@@3cwhl@jaEwa!g7*pQ~Snf()$i%f>K z?>khpIhxjyRvJ$tW%OrBKw+4Wb7%v>DN{zfY>`6$t4SX%c*O6P5o-{BHluo<2EzYy F{SVc+=*<8C literal 0 HcmV?d00001 diff --git a/assets/signals.module.B8hOACSr.js b/assets/signals.module.B8hOACSr.js new file mode 100644 index 00000000..7b36f220 --- /dev/null +++ b/assets/signals.module.B8hOACSr.js @@ -0,0 +1 @@ +import{l as t,t as i,b as o}from"./preact.module.BP4etL1N.js";import{T as r}from"./hooks.module.vf81mID6.js";var n=Symbol.for("preact-signals");function e(){if(u>1)u--;else{for(var t,i=!1;void 0!==v;){var o=v;for(v=void 0,h++;void 0!==o;){var r=o.o;if(o.o=void 0,o.f&=-3,!(8&o.f)&&l(o))try{o.c()}catch(o){i||(t=o,i=!0)}o=r}}if(h=0,u--,i)throw t}}var f,s=void 0,v=void 0,u=0,h=0,a=0;function c(t){if(void 0!==s){var i=t.n;if(void 0===i||i.t!==s)return i={i:0,S:t,p:s.s,n:void 0,t:s,e:void 0,x:void 0,r:i},void 0!==s.s&&(s.s.n=i),s.s=i,t.n=i,32&s.f&&t.S(i),i;if(-1===i.i)return i.i=0,void 0!==i.n&&(i.n.p=i.p,void 0!==i.p&&(i.p.n=i.n),i.p=s.s,i.n=void 0,s.s.n=i,s.s=i),i}}function d(t){this.v=t,this.i=0,this.n=void 0,this.t=void 0}function p(t){return new d(t)}function l(t){for(var i=t.s;void 0!==i;i=i.n)if(i.S.i!==i.i||!i.S.h()||i.S.i!==i.i)return!0;return!1}function _(t){for(var i=t.s;void 0!==i;i=i.n){var o=i.S.n;if(void 0!==o&&(i.r=o),i.S.n=i,i.i=-1,void 0===i.n){t.s=i;break}}}function y(t){for(var i=t.s,o=void 0;void 0!==i;){var r=i.p;-1===i.i?(i.S.U(i),void 0!==r&&(r.n=i.n),void 0!==i.n&&(i.n.p=r)):o=i,i.S.n=i.r,void 0!==i.r&&(i.r=void 0),i=r}t.s=o}function S(t){d.call(this,void 0),this.x=t,this.s=void 0,this.g=a-1,this.f=4}function b(t){return new S(t)}function g(t){var i=t.u;if(t.u=void 0,"function"==typeof i){u++;var o=s;s=void 0;try{i()}catch(e){throw t.f&=-2,t.f|=8,w(t),e}finally{s=o,e()}}}function w(t){for(var i=t.s;void 0!==i;i=i.n)i.S.U(i);t.x=void 0,t.s=void 0,g(t)}function x(t){if(s!==this)throw new Error("Out-of-order effect");y(this),s=t,this.f&=-2,8&this.f&&w(this),e()}function m(t){this.x=t,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32}function $(t){var i=new m(t);try{i.c()}catch(t){throw i.d(),t}return i.d.bind(i)}function U(i,o){t[i]=o.bind(null,t[i]||function(){})}function k(t){f&&f(),f=t&&t.S()}function N(t){var o=this,n=t.data,e=j(n);e.value=n;var f=r((function(){for(var t=o.__v;t=t.__;)if(t.__c){t.__c.__$f|=4;break}return o.__$u.c=function(){var t;i(f.peek())||3!==(null==(t=o.base)?void 0:t.nodeType)?(o.__$f|=1,o.setState({})):o.base.data=f.peek()},b((function(){var t=e.value.value;return 0===t?0:!0===t?"":t||""}))}),[]);return f.value}function O(t,i,o,r){var n=i in t&&void 0===t.ownerSVGElement,e=p(o);return{o:function(t,i){e.value=t,r=i},d:$((function(){var o=e.value.value;r[i]!==o&&(r[i]=o,n?t[i]=o:o?t.setAttribute(i,o):t.removeAttribute(i))}))}}function j(t){return r((function(){return p(t)}),[])}d.prototype.brand=n,d.prototype.h=function(){return!0},d.prototype.S=function(t){this.t!==t&&void 0===t.e&&(t.x=this.t,void 0!==this.t&&(this.t.e=t),this.t=t)},d.prototype.U=function(t){if(void 0!==this.t){var i=t.e,o=t.x;void 0!==i&&(i.x=o,t.e=void 0),void 0!==o&&(o.e=i,t.x=void 0),t===this.t&&(this.t=o)}},d.prototype.subscribe=function(t){var i=this;return $((function(){var o=i.value,r=s;s=void 0;try{t(o)}finally{s=r}}))},d.prototype.valueOf=function(){return this.value},d.prototype.toString=function(){return this.value+""},d.prototype.toJSON=function(){return this.value},d.prototype.peek=function(){var t=s;s=void 0;try{return this.value}finally{s=t}},Object.defineProperty(d.prototype,"value",{get:function(){var t=c(this);return void 0!==t&&(t.i=this.i),this.v},set:function(t){if(t!==this.v){if(h>100)throw new Error("Cycle detected");this.v=t,this.i++,a++,u++;try{for(var i=this.t;void 0!==i;i=i.x)i.t.N()}finally{e()}}}}),(S.prototype=new d).h=function(){if(this.f&=-3,1&this.f)return!1;if(32==(36&this.f))return!0;if(this.f&=-5,this.g===a)return!0;if(this.g=a,this.f|=1,this.i>0&&!l(this))return this.f&=-2,!0;var t=s;try{_(this),s=this;var i=this.x();(16&this.f||this.v!==i||0===this.i)&&(this.v=i,this.f&=-17,this.i++)}catch(t){this.v=t,this.f|=16,this.i++}return s=t,y(this),this.f&=-2,!0},S.prototype.S=function(t){if(void 0===this.t){this.f|=36;for(var i=this.s;void 0!==i;i=i.n)i.S.S(i)}d.prototype.S.call(this,t)},S.prototype.U=function(t){if(void 0!==this.t&&(d.prototype.U.call(this,t),void 0===this.t)){this.f&=-33;for(var i=this.s;void 0!==i;i=i.n)i.S.U(i)}},S.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var t=this.t;void 0!==t;t=t.x)t.t.N()}},Object.defineProperty(S.prototype,"value",{get:function(){if(1&this.f)throw new Error("Cycle detected");var t=c(this);if(this.h(),void 0!==t&&(t.i=this.i),16&this.f)throw this.v;return this.v}}),m.prototype.c=function(){var t=this.S();try{if(8&this.f)return;if(void 0===this.x)return;var i=this.x();"function"==typeof i&&(this.u=i)}finally{t()}},m.prototype.S=function(){if(1&this.f)throw new Error("Cycle detected");this.f|=1,this.f&=-9,g(this),_(this),u++;var t=s;return s=this,x.bind(this,t)},m.prototype.N=function(){2&this.f||(this.f|=2,this.o=v,v=this)},m.prototype.d=function(){this.f|=8,1&this.f||w(this)},N.displayName="_st",Object.defineProperties(d.prototype,{constructor:{configurable:!0,value:void 0},type:{configurable:!0,value:N},props:{configurable:!0,get:function(){return{data:this}}},__b:{configurable:!0,value:1}}),U("__b",(function(t,i){if("string"==typeof i.type){var o,r=i.props;for(var n in r)if("children"!==n){var e=r[n];e instanceof d&&(o||(i.__np=o={}),o[n]=e,r[n]=e.peek())}}t(i)})),U("__r",(function(t,i){k();var o,r=i.__c;r&&(r.__$f&=-2,void 0===(o=r.__$u)&&(r.__$u=o=function(t){var i;return $((function(){i=this})),i.c=function(){r.__$f|=1,r.setState({})},i}())),k(o),t(i)})),U("__e",(function(t,i,o,r){k(),t(i,o,r)})),U("diffed",(function(t,i){var o;if(k(),"string"==typeof i.type&&(o=i.__e)){var r=i.__np,n=i.props;if(r){var e=o.U;if(e)for(var f in e){var s=e[f];void 0===s||f in r||(s.d(),e[f]=void 0)}else o.U=e={};for(var v in r){var u=e[v],h=r[v];void 0===u?(u=O(o,v,h,n),e[v]=u):u.o(h,n)}}}t(i)})),U("unmount",(function(t,i){if("string"==typeof i.type){var o=i.__e;if(o){var r=o.U;if(r)for(var n in o.U=void 0,r){var e=r[n];e&&e.d()}}}else{var f=i.__c;if(f){var s=f.__$u;s&&(f.__$u=void 0,s.d())}}t(i)})),U("__h",(function(t,i,o,r){(r<3||9===r)&&(i.__$f|=2),t(i,o,r)})),o.prototype.shouldComponentUpdate=function(t,i){var o=this.__$u;if(!(o&&void 0!==o.s||4&this.__$f))return!0;if(3&this.__$f)return!0;for(var r in i)return!0;for(var n in t)if("__source"!==n&&t[n]!==this.props[n])return!0;for(var e in this.props)if(!(e in t))return!0;return!1};export{d as Signal,b as computed,$ as effect,p as signal,j as useSignal}; diff --git a/assets/tabbed-code-block.D-hdeFmn.js b/assets/tabbed-code-block.D-hdeFmn.js new file mode 100644 index 00000000..fa5cec20 --- /dev/null +++ b/assets/tabbed-code-block.D-hdeFmn.js @@ -0,0 +1 @@ +import{A as e,h as n,_ as t,y as o}from"./hooks.module.vf81mID6.js";import{l as r}from"./preact.module.BP4etL1N.js";function i(e){var n,t,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e)){var r=e.length;for(n=0;n[])),[a,u]=n(-1),[d,p]=n(!1),[m,v]=n(!1);let[h,y]=n(!0);function _(e){const n=a;u(e),e!==n&&-1!==n&&(f[n].style.display="none"),f[e].style.removeProperty("display")}return(d||m)&&(h=!0),t((()=>{const e=s.current;e.style.removeProperty("display");const n=[];let t=e.firstElementChild.firstElementChild;for(;t;){if(t instanceof HTMLElement&&t.matches(".expressive-code")){const e=[];let o=t.previousElementSibling;for(;o&&!o.matches(".expressive-code");)o instanceof HTMLElement&&e.unshift(o),o=o.previousElementSibling;let r=t;n.push((()=>{if(e.length>0){const n=document.createElement("div");e.forEach((e=>{n.appendChild(e)})),r.replaceWith(n),n.append(r),r=n}f.push(r),r.style.visibility="hidden",f.length>1&&(r.style.position="absolute"),r.addEventListener("mouseenter",(()=>{v(!0)})),r.addEventListener("mouseleave",(()=>{v(!1)})),r.addEventListener("click",(()=>{y((e=>!e))}))}))}t=t.nextElementSibling}for(const o of n)o();console.log({names:r.names,codeBlocks:f}),r.names.length!==f.length&&console.error(new Error("Number of names and code blocks must match")),requestAnimationFrame((function e(){let n=1/0,t=f[0];for(const o of f){const r=o.offsetHeight;if(0===r)return requestAnimationFrame(e);r{e.style.maxHeight=`${n}px`,e.style.overflowY=e!==t?"scroll":"hidden",e.style.display="none",e.style.removeProperty("position"),e.style.removeProperty("visibility")})),_(0),y(!1)}))}),[]),o((()=>{if(!h){const e=setTimeout((()=>{_((a+1)%r.names.length)}),2500);return()=>clearTimeout(e)}}),[a,h]),o((()=>{const e=new IntersectionObserver((([e])=>{p(!e.isIntersecting)}),{rootMargin:"-50% 0px -37% 0px"});return e.observe(i.current),()=>e.disconnect()}),[]),c("div",{ref:i,children:[c("div",{class:"not-content flex flex-row items-center mt-3",onMouseEnter:()=>v(!0),onMouseLeave:()=>v(!1),children:r.names.map(((e,n)=>c("div",{role:"button",class:"relative cursor-pointer px-4 py-0.5 rounded-full",onMouseEnter:()=>_(n),onClick:()=>_(n),children:[c("span",{class:"block text-pink100 font-600 text-0.9rem",children:e}),c("div",{class:"absolute left-0 bottom--1 w-full px-3",children:c("div",{class:l(["h-2.6px w-full rounded-full transition-650",a===n?m?"bg-#fffa85":"bg-$sl-color-accent":"bg-#8a6e6f opacity-50"])})})]})))}),c("div",{ref:s,style:{display:"none"},children:r.children})]})}export{f as TabbedCodeBlock}; diff --git a/assets/ui-core.BmpKj71L.js b/assets/ui-core.BmpKj71L.js new file mode 100644 index 00000000..e5321bac --- /dev/null +++ b/assets/ui-core.BmpKj71L.js @@ -0,0 +1 @@ +import{_ as e}from"./preload-helper.B5A3MRH_.js";var t,s=Object.defineProperty,r=(e,t)=>{for(var r in t)s(e,r,{get:t[r],enumerable:!0})};function n(){}function a(e){return e()}function l(){return Object.create(null)}function o(e){e.forEach(a)}function i(e){return"function"==typeof e}function c(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function"==typeof e}function u(e,s){return t||(t=document.createElement("a")),t.href=s,e===t.href}function _(e,t){e.appendChild(t)}function d(e,t,s){e.insertBefore(t,s||null)}function h(e){e.parentNode&&e.parentNode.removeChild(e)}function g(e,t){for(let s=0;se.removeEventListener(t,s,r)}function T(e,t,s){null==s?e.removeAttribute(t):e.getAttribute(t)!==s&&e.setAttribute(t,s)}function C(e,t){t=""+t,e.data!==t&&(e.data=t)}function v(e,t){e.value=null==t?"":t}function A(e,t,s){e.classList[s?"add":"remove"](t)}var b,M=class{constructor(e=!1){this.is_svg=!1,this.is_svg=e,this.e=this.n=null}c(e){this.h(e)}m(e,t,s=null){var r;this.e||(this.is_svg?this.e=(r=t.nodeName,document.createElementNS("http://www.w3.org/2000/svg",r)):this.e=m(11===t.nodeType?"TEMPLATE":t.nodeName),this.t="TEMPLATE"!==t.tagName?t:t.content,this.c(e)),this.i(s)}h(e){this.e.innerHTML=e,this.n=Array.from("TEMPLATE"===this.e.nodeName?this.e.content.childNodes:this.e.childNodes)}i(e){for(let t=0;t{I.delete(e),r&&(s&&e.d(1),r())})),e.o(t)}else r&&r()}function V(e,t){q(e,1,1,(()=>{t.delete(e.key)}))}function G(e){e&&e.c()}function J(e,t,s,r){const{fragment:n,after_update:l}=e.$$;n&&n.m(t,s),r||j((()=>{const t=e.$$.on_mount.map(a).filter(i);e.$$.on_destroy?e.$$.on_destroy.push(...t):o(t),e.$$.on_mount=[]})),l.forEach(j)}function K(e,t){const s=e.$$;null!==s.fragment&&(!function(e){const t=[],s=[];$.forEach((r=>-1===e.indexOf(r)?t.push(r):s.push(r))),s.forEach((e=>e())),$=t}(s.after_update),o(s.on_destroy),s.fragment&&s.fragment.d(t),s.on_destroy=s.fragment=null,s.ctx=[])}function W(e,t){-1===e.$$.dirty[0]&&(k.push(e),x||(x=!0,w.then(U)),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<{const n=r.length?r[0]:s;return d.ctx&&a(d.ctx[t],d.ctx[t]=n)&&(!d.skip_bound&&d.bound[t]&&d.bound[t](n),g&&W(e,t)),s})):[],d.update(),g=!0,o(d.before_update),d.fragment=!!r&&r(d.ctx),t.target){if(t.hydrate){const e=(m=t.target,Array.from(m.childNodes));d.fragment&&d.fragment.l(e),e.forEach(h)}else d.fragment&&d.fragment.c();t.intro&&B(e.$$.fragment),J(e,t.target,t.anchor,t.customElement),U()}var m;S(_)}var Z=class{$destroy(){K(this,1),this.$destroy=n}$on(e,t){if(!i(t))return n;const s=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return s.push(t),()=>{const e=s.indexOf(t);-1!==e&&s.splice(e,1)}}$set(e){var t;this.$$set&&(t=e,0!==Object.keys(t).length)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};function Q(e){const t="string"==typeof e?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90}function X(e){const t="string"==typeof e?e.charCodeAt(0):e;return t>=48&&t<=57}function ee(e){return Q(e)||X(e)}var te=["art-lojban","cel-gaulish","no-bok","no-nyn","zh-guoyu","zh-hakka","zh-min","zh-min-nan","zh-xiang"],se={"en-gb-oed":"en-GB-oxendict","i-ami":"ami","i-bnn":"bnn","i-default":null,"i-enochian":null,"i-hak":"hak","i-klingon":"tlh","i-lux":"lb","i-mingo":null,"i-navajo":"nv","i-pwn":"pwn","i-tao":"tao","i-tay":"tay","i-tsu":"tsu","sgn-be-fr":"sfb","sgn-be-nl":"vgt","sgn-ch-de":"sgg","art-lojban":"jbo","cel-gaulish":null,"no-bok":"nb","no-nyn":"nn","zh-guoyu":"cmn","zh-hakka":"hak","zh-min":null,"zh-min-nan":"nan","zh-xiang":"hsn"},re={}.hasOwnProperty;function ne(e,t={}){const s={language:null,extendedLanguageSubtags:[],script:null,region:null,variants:[],extensions:[],privateuse:[],irregular:null,regular:null},r=String(e),n=r.toLowerCase();let a=0;if(null==e)throw new Error("Expected string, got `"+e+"`");if(re.call(se,n)){const e=se[n];return void 0!==t.normalize&&null!==t.normalize&&!t.normalize||"string"!=typeof e?(s[te.includes(n)?"regular":"irregular"]=r,s):ne(e)}for(;Q(n.charCodeAt(a))&&a<9;)a++;if(a>1&&a<9){if(s.language=r.slice(0,a),a<4){let e=0;for(;45===n.charCodeAt(a)&&Q(n.charCodeAt(a+1))&&Q(n.charCodeAt(a+2))&&Q(n.charCodeAt(a+3))&&!Q(n.charCodeAt(a+4));){if(e>2)return l(a,3,"Too many extended language subtags, expected at most 3 subtags");s.extendedLanguageSubtags.push(r.slice(a+1,a+4)),a+=4,e++}}for(45===n.charCodeAt(a)&&Q(n.charCodeAt(a+1))&&Q(n.charCodeAt(a+2))&&Q(n.charCodeAt(a+3))&&Q(n.charCodeAt(a+4))&&!Q(n.charCodeAt(a+5))&&(s.script=r.slice(a+1,a+5),a+=5),45===n.charCodeAt(a)&&(Q(n.charCodeAt(a+1))&&Q(n.charCodeAt(a+2))&&!Q(n.charCodeAt(a+3))?(s.region=r.slice(a+1,a+3),a+=3):X(n.charCodeAt(a+1))&&X(n.charCodeAt(a+2))&&X(n.charCodeAt(a+3))&&!X(n.charCodeAt(a+4))&&(s.region=r.slice(a+1,a+4),a+=4));45===n.charCodeAt(a);){const e=a+1;let t=e;for(;ee(n.charCodeAt(t));){if(t-e>7)return l(t,1,"Too long variant, expected at most 8 characters");t++}if(!(t-e>4||t-e>3&&X(n.charCodeAt(e))))break;s.variants.push(r.slice(e,t)),a=t}for(;45===n.charCodeAt(a)&&120!==n.charCodeAt(a+1)&&ee(n.charCodeAt(a+1))&&45===n.charCodeAt(a+2)&&ee(n.charCodeAt(a+3));){let e=a+2,t=0;for(;45===n.charCodeAt(e)&&ee(n.charCodeAt(e+1))&&ee(n.charCodeAt(e+2));){const s=e+1;for(e=s+2,t++;ee(n.charCodeAt(e));){if(e-s>7)return l(e,2,"Too long extension, expected at most 8 characters");e++}}if(!t)return l(e,4,"Empty extension, extensions must have at least 2 characters of content");s.extensions.push({singleton:r.charAt(a+1),extensions:r.slice(a+3,e).split("-")}),a=e}}else a=0;if(0===a&&120===n.charCodeAt(a)||45===n.charCodeAt(a)&&120===n.charCodeAt(a+1)){a=a?a+2:1;let e=a;for(;45===n.charCodeAt(e)&&ee(n.charCodeAt(e+1));){const t=a+1;for(e=t;ee(n.charCodeAt(e));){if(e-t>7)return l(e,5,"Too long private-use area, expected at most 8 characters");e++}s.privateuse.push(r.slice(a+1,e)),a=e}}return a!==r.length?l(a,6,"Found superfluous content after tag"):s;function l(e,r,n){return t.warning&&t.warning(n,r,e),t.forgiving?s:{language:null,extendedLanguageSubtags:[],script:null,region:null,variants:[],extensions:[],privateuse:[],irregular:null,regular:null}}}function ae(e,t,s){const r=e.slice();return r[8]=t[s][0],r[9]=t[s][1],r}function le(e){let t,s,r,n,a,l=e[0]&&ie();return{c(){l&&l.c(),t=p(),s=m("div"),r=m("p"),r.textContent=`${e[3](30)}`,n=p(),a=m("p"),a.textContent=`${e[3](40)}`,T(r,"class","pagefind-ui__result-title pagefind-ui__loading svelte-j9e30"),T(a,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-j9e30"),T(s,"class","pagefind-ui__result-inner svelte-j9e30")},m(e,o){l&&l.m(e,o),d(e,t,o),d(e,s,o),_(s,r),_(s,n),_(s,a)},p(e,s){e[0]?l||(l=ie(),l.c(),l.m(t.parentNode,t)):l&&(l.d(1),l=null)},d(e){l&&l.d(e),e&&h(t),e&&h(s)}}}function oe(e){let t,s,r,n,a,l,o,i,c,u=e[1].meta?.title+"",g=e[1].excerpt+"",E=e[0]&&ce(e),R=e[2].length&&_e(e);return{c(){E&&E.c(),t=p(),s=m("div"),r=m("p"),n=m("a"),a=f(u),o=p(),i=m("p"),c=p(),R&&R.c(),T(n,"class","pagefind-ui__result-link svelte-j9e30"),T(n,"href",l=e[1].meta?.url||e[1].url),T(r,"class","pagefind-ui__result-title svelte-j9e30"),T(i,"class","pagefind-ui__result-excerpt svelte-j9e30"),T(s,"class","pagefind-ui__result-inner svelte-j9e30")},m(e,l){E&&E.m(e,l),d(e,t,l),d(e,s,l),_(s,r),_(r,n),_(n,a),_(s,o),_(s,i),i.innerHTML=g,_(s,c),R&&R.m(s,null)},p(e,r){e[0]?E?E.p(e,r):(E=ce(e),E.c(),E.m(t.parentNode,t)):E&&(E.d(1),E=null),2&r&&u!==(u=e[1].meta?.title+"")&&C(a,u),2&r&&l!==(l=e[1].meta?.url||e[1].url)&&T(n,"href",l),2&r&&g!==(g=e[1].excerpt+"")&&(i.innerHTML=g),e[2].length?R?R.p(e,r):(R=_e(e),R.c(),R.m(s,null)):R&&(R.d(1),R=null)},d(e){E&&E.d(e),e&&h(t),e&&h(s),R&&R.d()}}}function ie(e){let t;return{c(){t=m("div"),T(t,"class","pagefind-ui__result-thumb pagefind-ui__loading svelte-j9e30")},m(e,s){d(e,t,s)},d(e){e&&h(t)}}}function ce(e){let t,s=e[1].meta.image&&ue(e);return{c(){t=m("div"),s&&s.c(),T(t,"class","pagefind-ui__result-thumb svelte-j9e30")},m(e,r){d(e,t,r),s&&s.m(t,null)},p(e,r){e[1].meta.image?s?s.p(e,r):(s=ue(e),s.c(),s.m(t,null)):s&&(s.d(1),s=null)},d(e){e&&h(t),s&&s.d()}}}function ue(e){let t,s,r;return{c(){t=m("img"),T(t,"class","pagefind-ui__result-image svelte-j9e30"),u(t.src,s=e[1].meta?.image)||T(t,"src",s),T(t,"alt",r=e[1].meta?.image_alt||e[1].meta?.title)},m(e,s){d(e,t,s)},p(e,n){2&n&&!u(t.src,s=e[1].meta?.image)&&T(t,"src",s),2&n&&r!==(r=e[1].meta?.image_alt||e[1].meta?.title)&&T(t,"alt",r)},d(e){e&&h(t)}}}function _e(e){let t,s=e[2],r=[];for(let n=0;ne.toLocaleUpperCase();function me(e,t,s){let{show_images:r=!0}=t,{process_result:n=null}=t,{result:a={data:async()=>{}}}=t;const l=["title","image","image_alt","url"];let o,i=[];return e.$$set=e=>{"show_images"in e&&s(0,r=e.show_images),"process_result"in e&&s(4,n=e.process_result),"result"in e&&s(5,a=e.result)},e.$$.update=()=>{32&e.$$.dirty&&(async e=>{s(1,o=await e.data()),s(1,o=n?.(o)??o),s(2,i=Object.entries(o.meta).filter((([e])=>!l.includes(e))))})(a)},[r,o,i,(e=30)=>". ".repeat(Math.floor(10+Math.random()*e)),n,a]}var fe=class extends Z{constructor(e){super(),Y(this,e,me,he,c,{show_images:0,process_result:4,result:5})}};function pe(e,t,s){const r=e.slice();return r[11]=t[s][0],r[12]=t[s][1],r}function Ee(e,t,s){const r=e.slice();return r[15]=t[s],r}function Re(e){let t,s,r,n,a,l=e[0]&&Ce();return{c(){l&&l.c(),t=p(),s=m("div"),r=m("p"),r.textContent=`${e[5](30)}`,n=p(),a=m("p"),a.textContent=`${e[5](40)}`,T(r,"class","pagefind-ui__result-title pagefind-ui__loading svelte-4xnkmf"),T(a,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-4xnkmf"),T(s,"class","pagefind-ui__result-inner svelte-4xnkmf")},m(e,o){l&&l.m(e,o),d(e,t,o),d(e,s,o),_(s,r),_(s,n),_(s,a)},p(e,s){e[0]?l||(l=Ce(),l.c(),l.m(t.parentNode,t)):l&&(l.d(1),l=null)},d(e){l&&l.d(e),e&&h(t),e&&h(s)}}}function Te(e){let t,s,r,n,a,l,o,i,c,u=e[1].meta?.title+"",E=e[0]&&ve(e),R=e[4]&&be(e),v=e[3],A=[];for(let _=0;_e.toLocaleUpperCase();function $e(e,t,s){let{show_images:r=!0}=t,{process_result:n=null}=t,{result:a={data:async()=>{}}}=t;const l=["title","image","image_alt","url"];let o,i=[],c=[],u=!1;const _=(e,t)=>{if(e.length<=t)return e;const s=[...e].sort(((e,t)=>t.locations.length-e.locations.length)).slice(0,3).map((e=>e.url));return e.filter((e=>s.includes(e.url)))};return e.$$set=e=>{"show_images"in e&&s(0,r=e.show_images),"process_result"in e&&s(6,n=e.process_result),"result"in e&&s(7,a=e.result)},e.$$.update=()=>{128&e.$$.dirty&&(async e=>{s(1,o=await e.data()),s(1,o=n?.(o)??o),s(2,i=Object.entries(o.meta).filter((([e])=>!l.includes(e)))),Array.isArray(o.sub_results)&&(s(4,u=o.sub_results?.[0]?.url===(o.meta?.url||o.url)),s(3,c=_(u?o.sub_results.slice(1):[...o.sub_results],3)))})(a)},[r,o,i,c,u,(e=30)=>". ".repeat(Math.floor(10+Math.random()*e)),n,a]}var Ne=class extends Z{constructor(e){super(),Y(this,e,$e,ke,c,{show_images:0,process_result:6,result:7})}};function we(e,t,s){const r=e.slice();return r[9]=t[s][0],r[10]=t[s][1],r[11]=t,r[12]=s,r}function xe(e,t,s){const r=e.slice();return r[13]=t[s][0],r[14]=t[s][1],r[15]=t,r[16]=s,r}function je(e){let t,s,r,n,a=e[3]("filters_label",e[4],e[5])+"",l=Object.entries(e[1]),o=[];for(let i=0;ie.toLocaleUpperCase();function Ie(e,t,s){let{available_filters:r=null}=t,{show_empty_filters:n=!0}=t,{translate:a=(()=>"")}=t,{automatic_translations:l={}}=t,{translations:o={}}=t;const i={};let c=!1,u=!1;return e.$$set=e=>{"available_filters"in e&&s(1,r=e.available_filters),"show_empty_filters"in e&&s(2,n=e.show_empty_filters),"translate"in e&&s(3,a=e.translate),"automatic_translations"in e&&s(4,l=e.automatic_translations),"translations"in e&&s(5,o=e.translations)},e.$$.update=()=>{if(130&e.$$.dirty&&r&&!c){s(7,c=!0);let e=Object.entries(r||{});if(1===e.length){let t=Object.entries(e[0][1]);t?.length<=6&&s(6,u=!0)}}},[i,r,n,a,l,o,u,c,function(e,t){i[`${e}:${t}`]=this.checked,s(0,i)}]}var Pe=class extends Z{constructor(e){super(),Y(this,e,Ie,ze,c,{available_filters:1,show_empty_filters:2,translate:3,automatic_translations:4,translations:5,selected_filters:0})}get selected_filters(){return this.$$.ctx[0]}},De={};r(De,{comments:()=>qe,default:()=>Je,direction:()=>Ve,strings:()=>Ge,thanks_to:()=>Be});var Be="Jan Claasen",qe="",Ve="ltr",Ge={placeholder:"Soek",clear_search:"Opruim",load_more:"Laai nog resultate",search_label:"Soek hierdie webwerf",filters_label:"Filters",zero_results:"Geen resultate vir [SEARCH_TERM]",many_results:"[COUNT] resultate vir [SEARCH_TERM]",one_result:"[COUNT] resultate vir [SEARCH_TERM]",alt_search:"Geen resultate vir [SEARCH_TERM]. Toon resultate vir [DIFFERENT_TERM] in plaas daarvan",search_suggestion:"Geen resultate vir [SEARCH_TERM]. Probeer eerder een van die volgende terme:",searching:"Soek vir [SEARCH_TERM]"},Je={thanks_to:Be,comments:qe,direction:Ve,strings:Ge},Ke={};r(Ke,{comments:()=>Ye,default:()=>Xe,direction:()=>Ze,strings:()=>Qe,thanks_to:()=>We});var We="Pablo Villaverde ",Ye="",Ze="ltr",Qe={placeholder:"Cerca",clear_search:"Netejar",load_more:"Veure mées resultats",search_label:"Cerca en aquest lloc",filters_label:"Filtres",zero_results:"No es van trobar resultats per [SEARCH_TERM]",many_results:"[COUNT] resultats trobats per [SEARCH_TERM]",one_result:"[COUNT] resultat trobat per [SEARCH_TERM]",alt_search:"No es van trobar resultats per [SEARCH_TERM]. Mostrant al seu lloc resultats per [DIFFERENT_TERM]",search_suggestion:"No es van trobar resultats per [SEARCH_TERM]. Proveu una de les cerques següents:",searching:"Cercant [SEARCH_TERM]..."},Xe={thanks_to:We,comments:Ye,direction:Ze,strings:Qe},et={};r(et,{comments:()=>st,default:()=>at,direction:()=>rt,strings:()=>nt,thanks_to:()=>tt});var tt="Jan Claasen",st="",rt="ltr",nt={placeholder:"Suche",clear_search:"Löschen",load_more:"Mehr Ergebnisse laden",search_label:"Suche diese Seite",filters_label:"Filter",zero_results:"Keine Ergebnisse für [SEARCH_TERM]",many_results:"[COUNT] Ergebnisse für [SEARCH_TERM]",one_result:"[COUNT] Ergebnis für [SEARCH_TERM]",alt_search:"Keine Ergebnisse für [SEARCH_TERM]. Stattdessen werden Ergebnisse für [DIFFERENT_TERM] angezeigt",search_suggestion:"Keine Ergebnisse für [SEARCH_TERM]. Versuchen Sie eine der folgenden Suchen:",searching:"Suche für [SEARCH_TERM]"},at={thanks_to:tt,comments:st,direction:rt,strings:nt},lt={};r(lt,{comments:()=>it,default:()=>_t,direction:()=>ct,strings:()=>ut,thanks_to:()=>ot});var ot="Liam Bigelow ",it="",ct="ltr",ut={placeholder:"Search",clear_search:"Clear",load_more:"Load more results",search_label:"Search this site",filters_label:"Filters",zero_results:"No results for [SEARCH_TERM]",many_results:"[COUNT] results for [SEARCH_TERM]",one_result:"[COUNT] result for [SEARCH_TERM]",alt_search:"No results for [SEARCH_TERM]. Showing results for [DIFFERENT_TERM] instead",search_suggestion:"No results for [SEARCH_TERM]. Try one of the following searches:",searching:"Searching for [SEARCH_TERM]..."},_t={thanks_to:ot,comments:it,direction:ct,strings:ut},dt={};r(dt,{comments:()=>gt,default:()=>pt,direction:()=>mt,strings:()=>ft,thanks_to:()=>ht});var ht="Pablo Villaverde ",gt="",mt="ltr",ft={placeholder:"Buscar",clear_search:"Limpiar",load_more:"Ver más resultados",search_label:"Buscar en este sitio",filters_label:"Filtros",zero_results:"No se encontraron resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",alt_search:"No se encontraron resultados para [SEARCH_TERM]. Mostrando en su lugar resultados para [DIFFERENT_TERM]",search_suggestion:"No se encontraron resultados para [SEARCH_TERM]. Prueba una de las siguientes búsquedas:",searching:"Buscando [SEARCH_TERM]..."},pt={thanks_to:ht,comments:gt,direction:mt,strings:ft},Et={};r(Et,{comments:()=>Tt,default:()=>At,direction:()=>Ct,strings:()=>vt,thanks_to:()=>Rt});var Rt="Valtteri Laitinen ",Tt="",Ct="ltr",vt={placeholder:"Haku",clear_search:"Tyhjennä",load_more:"Lataa lisää tuloksia",search_label:"Hae tältä sivustolta",filters_label:"Suodattimet",zero_results:"Ei tuloksia haulle [SEARCH_TERM]",many_results:"[COUNT] tulosta haulle [SEARCH_TERM]",one_result:"[COUNT] tulos haulle [SEARCH_TERM]",alt_search:"Ei tuloksia haulle [SEARCH_TERM]. Näytetään tulokset sen sijaan haulle [DIFFERENT_TERM]",search_suggestion:"Ei tuloksia haulle [SEARCH_TERM]. Kokeile jotain seuraavista:",searching:"Haetaan [SEARCH_TERM]..."},At={thanks_to:Rt,comments:Tt,direction:Ct,strings:vt},bt={};r(bt,{comments:()=>St,default:()=>yt,direction:()=>Ht,strings:()=>kt,thanks_to:()=>Mt});var Mt="Nicolas Friedli ",St="",Ht="ltr",kt={placeholder:"Rechercher",clear_search:"Nettoyer",load_more:"Charger plus de résultats",search_label:"Recherche sur ce site",filters_label:"Filtres",zero_results:"Pas de résultat pour [SEARCH_TERM]",many_results:"[COUNT] résultats pour [SEARCH_TERM]",one_result:"[COUNT] résultat pour [SEARCH_TERM]",alt_search:"Pas de résultat pour [SEARCH_TERM]. Montre les résultats pour [DIFFERENT_TERM] à la place",search_suggestion:"Pas de résultat pour [SEARCH_TERM]. Essayer une des recherches suivantes:",searching:"Recherche [SEARCH_TERM]..."},yt={thanks_to:Mt,comments:St,direction:Ht,strings:kt},$t={};r($t,{comments:()=>wt,default:()=>Ft,direction:()=>xt,strings:()=>jt,thanks_to:()=>Nt});var Nt="Pablo Villaverde ",wt="",xt="ltr",jt={placeholder:"Buscar",clear_search:"Limpar",load_more:"Ver máis resultados",search_label:"Buscar neste sitio",filters_label:"Filtros",zero_results:"Non se atoparon resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados atopados para [SEARCH_TERM]",one_result:"[COUNT] resultado atopado para [SEARCH_TERM]",alt_search:"Non se atoparon resultados para [SEARCH_TERM]. Amosando no seu lugar resultados para [DIFFERENT_TERM]",search_suggestion:"Non se atoparon resultados para [SEARCH_TERM]. Probe unha das seguintes pesquisas:",searching:"Buscando [SEARCH_TERM]..."},Ft={thanks_to:Nt,comments:wt,direction:xt,strings:jt},Ot={};r(Ot,{comments:()=>zt,default:()=>Pt,direction:()=>Lt,strings:()=>It,thanks_to:()=>Ut});var Ut="Amit Yadav ",zt="",Lt="ltr",It={placeholder:"खोजें",clear_search:"साफ करें",load_more:"और अधिक परिणाम लोड करें",search_label:"इस साइट में खोजें",filters_label:"फ़िल्टर",zero_results:"कोई परिणाम [SEARCH_TERM] के लिए नहीं मिला",many_results:"[COUNT] परिणाम [SEARCH_TERM] के लिए मिले",one_result:"[COUNT] परिणाम [SEARCH_TERM] के लिए मिला",alt_search:"[SEARCH_TERM] के लिए कोई परिणाम नहीं मिला। इसके बजाय [DIFFERENT_TERM] के लिए परिणाम दिखा रहा है",search_suggestion:"[SEARCH_TERM] के लिए कोई परिणाम नहीं मिला। निम्नलिखित खोजों में से कोई एक आज़माएं:",searching:"[SEARCH_TERM] की खोज की जा रही है..."},Pt={thanks_to:Ut,comments:zt,direction:Lt,strings:It},Dt={};r(Dt,{comments:()=>qt,default:()=>Jt,direction:()=>Vt,strings:()=>Gt,thanks_to:()=>Bt});var Bt="Nixentric",qt="",Vt="ltr",Gt={placeholder:"Cari",clear_search:"Bersihkan",load_more:"Muat lebih banyak hasil",search_label:"Telusuri situs ini",filters_label:"Filter",zero_results:"[SEARCH_TERM] tidak ditemukan",many_results:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",one_result:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",alt_search:"[SEARCH_TERM] tidak ditemukan. Menampilkan hasil [DIFFERENT_TERM] sebagai gantinya",search_suggestion:"[SEARCH_TERM] tidak ditemukan. Coba salah satu pencarian berikut ini:",searching:"Mencari [SEARCH_TERM]..."},Jt={thanks_to:Bt,comments:qt,direction:Vt,strings:Gt},Kt={};r(Kt,{comments:()=>Yt,default:()=>Xt,direction:()=>Zt,strings:()=>Qt,thanks_to:()=>Wt});var Wt="Cosette Bruhns Alonso, Andrew Janco ",Yt="",Zt="ltr",Qt={placeholder:"Cerca",clear_search:"Cancella la cronologia",load_more:"Mostra più risultati",search_label:"Cerca nel sito",filters_label:"Filtri di ricerca",zero_results:"Nessun risultato per [SEARCH_TERM]",many_results:"[COUNT] risultati per [SEARCH_TERM]",one_result:"[COUNT] risultato per [SEARCH_TERM]",alt_search:"Nessun risultato per [SEARCH_TERM]. Mostrando risultati per [DIFFERENT_TERM] come alternativa.",search_suggestion:"Nessun risultato per [SEARCH_TERM]. Prova una delle seguenti ricerche:",searching:"Cercando [SEARCH_TERM]..."},Xt={thanks_to:Wt,comments:Yt,direction:Zt,strings:Qt},es={};r(es,{comments:()=>ss,default:()=>as,direction:()=>rs,strings:()=>ns,thanks_to:()=>ts});var ts="Tate",ss="",rs="ltr",ns={placeholder:"検索",clear_search:"消す",load_more:"もっと読み込む",search_label:"このサイトを検索",filters_label:"フィルタ",zero_results:"[SEARCH_TERM]の検索に一致する件はありませんでした",many_results:"[SEARCH_TERM]の[COUNT]件の検索結果",one_result:"[SEARCH_TERM]の[COUNT]件の検索結果",alt_search:"[SEARCH_TERM]の検索に一致する件はありませんでした。[DIFFERENT_TERM]の検索結果を表示しています",search_suggestion:"[SEARCH_TERM]の検索に一致する件はありませんでした。次のいずれかの検索を試してください",searching:"[SEARCH_TERM]を検索しています"},as={thanks_to:ts,comments:ss,direction:rs,strings:ns},ls={};r(ls,{comments:()=>is,default:()=>_s,direction:()=>cs,strings:()=>us,thanks_to:()=>os});var os="Paul van Brouwershaven",is="",cs="ltr",us={placeholder:"Zoeken",clear_search:"Reset",load_more:"Meer resultaten laden",search_label:"Doorzoek deze site",filters_label:"Filters",zero_results:"Geen resultaten voor [SEARCH_TERM]",many_results:"[COUNT] resultaten voor [SEARCH_TERM]",one_result:"[COUNT] resultaat voor [SEARCH_TERM]",alt_search:"Geen resultaten voor [SEARCH_TERM]. In plaats daarvan worden resultaten voor [DIFFERENT_TERM] weergegeven",search_suggestion:"Geen resultaten voor [SEARCH_TERM]. Probeer een van de volgende zoekopdrachten:",searching:"Zoeken naar [SEARCH_TERM]..."},_s={thanks_to:os,comments:is,direction:cs,strings:us},ds={};r(ds,{comments:()=>gs,default:()=>ps,direction:()=>ms,strings:()=>fs,thanks_to:()=>hs});var hs="Christopher Wingate",gs="",ms="ltr",fs={placeholder:"Søk",clear_search:"Fjern",load_more:"Last flere resultater",search_label:"Søk på denne siden",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Prøv en av disse søkeordene i stedet:",searching:"Søker etter [SEARCH_TERM]"},ps={thanks_to:hs,comments:gs,direction:ms,strings:fs},Es={};r(Es,{comments:()=>Ts,default:()=>As,direction:()=>Cs,strings:()=>vs,thanks_to:()=>Rs});var Rs="Jonatah",Ts="",Cs="ltr",vs={placeholder:"Pesquisar",clear_search:"Limpar",load_more:"Ver mais resultados",search_label:"Pesquisar",filters_label:"Filtros",zero_results:"Nenhum resultado encontrado para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",alt_search:"Nenhum resultado encontrado para [SEARCH_TERM]. Exibindo resultados para [DIFFERENT_TERM]",search_suggestion:"Nenhum resultado encontrado para [SEARCH_TERM]. Tente uma das seguintes pesquisas:",searching:"Pesquisando por [SEARCH_TERM]..."},As={thanks_to:Rs,comments:Ts,direction:Cs,strings:vs},bs={};r(bs,{comments:()=>Ss,default:()=>ys,direction:()=>Hs,strings:()=>ks,thanks_to:()=>Ms});var Ms="Aleksandr Gordeev",Ss="",Hs="ltr",ks={placeholder:"Поиск",clear_search:"Очистить поле",load_more:"Загрузить еще",search_label:"Поиск по сайту",filters_label:"Фильтры",zero_results:"Ничего не найдено по запросу: [SEARCH_TERM]",many_results:"[COUNT] результатов по запросу: [SEARCH_TERM]",one_result:"[COUNT] результат по запросу: [SEARCH_TERM]",alt_search:"Ничего не найдено по запросу: [SEARCH_TERM]. Показаны результаты по запросу: [DIFFERENT_TERM]",search_suggestion:"Ничего не найдено по запросу: [SEARCH_TERM]. Попробуйте один из следующих вариантов",searching:"Поиск по запросу: [SEARCH_TERM]"},ys={thanks_to:Ms,comments:Ss,direction:Hs,strings:ks},$s={};r($s,{comments:()=>ws,default:()=>Fs,direction:()=>xs,strings:()=>js,thanks_to:()=>Ns});var Ns="Andrija Sagicc",ws="",xs="ltr",js={placeholder:"Претрага",clear_search:"Брисање",load_more:"Приказ више резултата",search_label:"Претрага сајта",filters_label:"Филтери",zero_results:"Нема резултата за [SEARCH_TERM]",many_results:"[COUNT] резултата за [SEARCH_TERM]",one_result:"[COUNT] резултата за [SEARCH_TERM]",alt_search:"Нема резултата за [SEARCH_TERM]. Приказ додатник резултата за [DIFFERENT_TERM]",search_suggestion:"Нема резултата за [SEARCH_TERM]. Покушајте са неком од следећих претрага:",searching:"Претрага термина [SEARCH_TERM]..."},Fs={thanks_to:Ns,comments:ws,direction:xs,strings:js},Os={};r(Os,{comments:()=>zs,default:()=>Ps,direction:()=>Ls,strings:()=>Is,thanks_to:()=>Us});var Us="Montazar Al-Jaber ",zs="",Ls="ltr",Is={placeholder:"Sök",clear_search:"Rensa",load_more:"Visa fler träffar",search_label:"Sök på denna sida",filters_label:"Filter",zero_results:"[SEARCH_TERM] gav inga träffar",many_results:"[SEARCH_TERM] gav [COUNT] träffar",one_result:"[SEARCH_TERM] gav [COUNT] träff",alt_search:"[SEARCH_TERM] gav inga träffar. Visar resultat för [DIFFERENT_TERM] istället",search_suggestion:"[SEARCH_TERM] gav inga träffar. Försök igen med en av följande sökord:",searching:"Söker efter [SEARCH_TERM]..."},Ps={thanks_to:Us,comments:zs,direction:Ls,strings:Is},Ds={};r(Ds,{comments:()=>qs,default:()=>Js,direction:()=>Vs,strings:()=>Gs,thanks_to:()=>Bs});var Bs="",qs="",Vs="ltr",Gs={placeholder:"தேடுக",clear_search:"அழிக்குக",load_more:"மேலும் முடிவுகளைக் காட்டுக",search_label:"இந்த தளத்தில் தேடுக",filters_label:"வடிகட்டல்கள்",zero_results:"[SEARCH_TERM] க்கான முடிவுகள் இல்லை",many_results:"[SEARCH_TERM] க்கான [COUNT] முடிவுகள்",one_result:"[SEARCH_TERM] க்கான முடிவு",alt_search:"[SEARCH_TERM] இத்தேடலுக்கான முடிவுகள் இல்லை, இந்த தேடல்களுக்கான ஒத்த முடிவுகள் [DIFFERENT_TERM]",search_suggestion:"[SEARCH_TERM] இத் தேடலுக்கான முடிவுகள் இல்லை.இதற்கு பதிலீடான தேடல்களை தேடுக:",searching:"[SEARCH_TERM] தேடப்படுகின்றது"},Js={thanks_to:Bs,comments:qs,direction:Vs,strings:Gs},Ks={};r(Ks,{comments:()=>Ys,default:()=>Xs,direction:()=>Zs,strings:()=>Qs,thanks_to:()=>Ws});var Ws="Taylan Özgür Bildik",Ys="",Zs="ltr",Qs={placeholder:"Araştır",clear_search:"Temizle",load_more:"Daha fazla sonuç",search_label:"Site genelinde arama",filters_label:"Filtreler",zero_results:"[SEARCH_TERM] için sonuç yok",many_results:"[SEARCH_TERM] için [COUNT] sonuç bulundu",one_result:"[SEARCH_TERM] için [COUNT] sonuç bulundu",alt_search:"[SEARCH_TERM] için sonuç yok. Bunun yerine [DIFFERENT_TERM] için sonuçlar gösteriliyor",search_suggestion:"[SEARCH_TERM] için sonuç yok. Alternatif olarak aşağıdaki kelimelerden birini deneyebilirsiniz:",searching:"[SEARCH_TERM] araştırılıyor..."},Xs={thanks_to:Ws,comments:Ys,direction:Zs,strings:Qs},er={};r(er,{comments:()=>sr,default:()=>ar,direction:()=>rr,strings:()=>nr,thanks_to:()=>tr});var tr="Amber Song",sr="",rr="ltr",nr={placeholder:"搜索",clear_search:"清除",load_more:"加载更多结果",search_label:"站内搜索",filters_label:"筛选",zero_results:"未找到 [SEARCH_TERM] 的相关结果",many_results:"找到 [COUNT] 个 [SEARCH_TERM] 的相关结果",one_result:"找到 [COUNT] 个 [SEARCH_TERM] 的相关结果",alt_search:"未找到 [SEARCH_TERM] 的相关结果。改为显示 [DIFFERENT_TERM] 的相关结果",search_suggestion:"未找到 [SEARCH_TERM] 的相关结果。请尝试以下搜索。",searching:"正在搜索 [SEARCH_TERM]..."},ar={thanks_to:tr,comments:sr,direction:rr,strings:nr},lr={};r(lr,{comments:()=>ir,default:()=>_r,direction:()=>cr,strings:()=>ur,thanks_to:()=>or});var or="Amber Song",ir="",cr="ltr",ur={placeholder:"搜索",clear_search:"清除",load_more:"加載更多結果",search_label:"站內搜索",filters_label:"篩選",zero_results:"未找到 [SEARCH_TERM] 的相關結果",many_results:"找到 [COUNT] 個 [SEARCH_TERM] 的相關結果",one_result:"找到 [COUNT] 個 [SEARCH_TERM] 的相關結果",alt_search:"未找到 [SEARCH_TERM] 的相關結果。改為顯示 [DIFFERENT_TERM] 的相關結果",search_suggestion:"未找到 [SEARCH_TERM] 的相關結果。請嘗試以下搜索。",searching:"正在搜索 [SEARCH_TERM]..."},_r={thanks_to:or,comments:ir,direction:cr,strings:ur},dr={};r(dr,{comments:()=>gr,default:()=>pr,direction:()=>mr,strings:()=>fr,thanks_to:()=>hr});var hr="Amber Song",gr="",mr="ltr",fr={placeholder:"搜索",clear_search:"清除",load_more:"加载更多结果",search_label:"站内搜索",filters_label:"筛选",zero_results:"未找到 [SEARCH_TERM] 的相关结果",many_results:"找到 [COUNT] 个 [SEARCH_TERM] 的相关结果",one_result:"找到 [COUNT] 个 [SEARCH_TERM] 的相关结果",alt_search:"未找到 [SEARCH_TERM] 的相关结果。改为显示 [DIFFERENT_TERM] 的相关结果",search_suggestion:"未找到 [SEARCH_TERM] 的相关结果。请尝试以下搜索。",searching:"正在搜索 [SEARCH_TERM]..."},pr={thanks_to:hr,comments:gr,direction:mr,strings:fr},Er=[De,Ke,et,lt,dt,Et,bt,$t,Ot,Dt,Kt,es,ls,ds,Es,bs,$s,Os,Ds,Ks,er,lr,dr],Rr=["../../translations/af.json","../../translations/ca.json","../../translations/de.json","../../translations/en.json","../../translations/es.json","../../translations/fi.json","../../translations/fr.json","../../translations/gl.json","../../translations/hi.json","../../translations/id.json","../../translations/it.json","../../translations/ja.json","../../translations/nl.json","../../translations/no.json","../../translations/pt.json","../../translations/ru.json","../../translations/sr.json","../../translations/sv.json","../../translations/ta.json","../../translations/tr.json","../../translations/zh-cn.json","../../translations/zh-tw.json","../../translations/zh.json"];function Tr(e,t,s){const r=e.slice();return r[47]=t[s],r}function Cr(e){let t,s,r;function n(t){e[33](t)}let a={show_empty_filters:e[4],available_filters:e[16],translate:e[18],automatic_translations:e[17],translations:e[5]};return void 0!==e[7]&&(a.selected_filters=e[7]),t=new Pe({props:a}),y.push((()=>function(e,t,s){const r=e.$$.props[t];void 0!==r&&(e.$$.bound[r]=s,s(e.$$.ctx[r]))}(t,"selected_filters",n))),{c(){G(t.$$.fragment)},m(e,s){J(t,e,s),r=!0},p(e,r){const n={};var a;16&r[0]&&(n.show_empty_filters=e[4]),65536&r[0]&&(n.available_filters=e[16]),131072&r[0]&&(n.automatic_translations=e[17]),32&r[0]&&(n.translations=e[5]),!s&&128&r[0]&&(s=!0,n.selected_filters=e[7],a=()=>s=!1,N.push(a)),t.$set(n)},i(e){r||(B(t.$$.fragment,e),r=!0)},o(e){q(t.$$.fragment,e),r=!1},d(e){K(t,e)}}}function vr(e){let t,s,r,n;const a=[br,Ar],l=[];function o(e,t){return e[12]?0:1}return s=o(e),r=l[s]=a[s](e),{c(){t=m("div"),r.c(),T(t,"class","pagefind-ui__results-area svelte-1d60ae3")},m(e,r){d(e,t,r),l[s].m(t,null),n=!0},p(e,n){let i=s;s=o(e),s===i?l[s].p(e,n):(P(),q(l[i],1,1,(()=>{l[i]=null})),D(),r=l[s],r?r.p(e,n):(r=l[s]=a[s](e),r.c()),B(r,1),r.m(t,null))},i(e){n||(B(r),n=!0)},o(e){q(r),n=!1},d(e){e&&h(t),l[s].d()}}}function Ar(e){let t,s,r,n,a,l,i=[],c=new Map;function u(e,t){return 0===e[11].results.length?Hr:1===e[11].results.length?Sr:Mr}let _=u(e),g=_(e),f=e[11].results.slice(0,e[15]);const R=e=>e[47].id;for(let o=0;oe[15]&&Nr(e);return{c(){t=m("p"),g.c(),s=p(),r=m("ol");for(let e=0;eo.p(e,t))):(o=u(r,e),o.c()),E.set(r,p[m]=o),r in f&&R.set(r,Math.abs(m-f[r]))}const C=new Set,v=new Set;function A(e){B(e,1),e.m(i,_),l.set(e.key,e),_=e.first,g--}for(;h&&g;){const t=p[g-1],s=e[h-1],r=t.key,n=s.key;t===s?(_=t.first,h--,g--):E.has(n)?!l.has(r)||C.has(r)?A(t):v.has(n)?h--:R.get(r)>R.get(n)?(v.add(r),A(t)):(C.add(n),h--):(c(s,l),h--)}for(;h--;){const t=e[h];E.has(t.key)||c(t,l)}for(;g;)A(p[g-1]);return o(T),p}(i,s,R,0,e,f,c,r,V,$r,null,Tr),D()),e[11].results.length>e[15]?C?C.p(e,s):(C=Nr(e),C.c(),C.m(a.parentNode,a)):C&&(C.d(1),C=null)},i(e){if(!l){for(let e=0;e{i[l]=null})),D(),n=i[r],n?n.p(t,s):(n=i[r]=o[r](t),n.c()),B(n,1),n.m(a.parentNode,a))},i(e){l||(B(n),l=!0)},o(e){q(n),l=!1},d(e){e&&h(s),i[r].d(e),e&&h(a)}}}function Nr(e){let t,s,r,n,a=e[18]("load_more",e[17],e[5])+"";return{c(){t=m("button"),s=f(a),T(t,"type","button"),T(t,"class","pagefind-ui__button svelte-1d60ae3")},m(a,l){d(a,t,l),_(t,s),r||(n=R(t,"click",e[20]),r=!0)},p(e,t){131104&t[0]&&a!==(a=e[18]("load_more",e[17],e[5])+"")&&C(s,a)},d(e){e&&h(t),r=!1,n()}}}function wr(e){let t,s,r=e[18]("searching",e[17],e[5]).replace(/\[SEARCH_TERM\]/,e[14])+"";return{c(){t=m("p"),s=f(r),T(t,"class","pagefind-ui__message svelte-1d60ae3")},m(e,r){d(e,t,r),_(t,s)},p(e,t){147488&t[0]&&r!==(r=e[18]("searching",e[17],e[5]).replace(/\[SEARCH_TERM\]/,e[14])+"")&&C(s,r)},d(e){e&&h(t)}}}function xr(e){let t,s,r,n,a,l,i,c,u,g,E,b,M,S,H=e[18]("clear_search",e[17],e[5])+"",k=e[10]&&Cr(e),y=e[13]&&vr(e);return{c(){t=m("div"),s=m("form"),r=m("input"),a=p(),l=m("button"),i=f(H),c=p(),u=m("div"),k&&k.c(),g=p(),y&&y.c(),T(r,"class","pagefind-ui__search-input svelte-1d60ae3"),T(r,"type","text"),T(r,"placeholder",n=e[18]("placeholder",e[17],e[5])),T(r,"autocapitalize","none"),T(r,"enterkeyhint","search"),T(l,"class","pagefind-ui__search-clear svelte-1d60ae3"),A(l,"pagefind-ui__suppressed",!e[6]),T(u,"class","pagefind-ui__drawer svelte-1d60ae3"),A(u,"pagefind-ui__hidden",!e[13]),T(s,"class","pagefind-ui__form svelte-1d60ae3"),T(s,"role","search"),T(s,"aria-label",E=e[18]("search_label",e[17],e[5])),T(s,"action","javascript:void(0);"),T(t,"class","pagefind-ui svelte-1d60ae3"),A(t,"pagefind-ui--reset",e[0])},m(n,o){d(n,t,o),_(t,s),_(s,r),v(r,e[6]),e[30](r),_(s,a),_(s,l),_(l,i),e[31](l),_(s,c),_(s,u),k&&k.m(u,null),_(u,g),y&&y.m(u,null),b=!0,M||(S=[R(r,"focus",e[19]),R(r,"keydown",e[28]),R(r,"input",e[29]),R(l,"click",e[32]),R(s,"submit",jr)],M=!0)},p(e,a){(!b||131104&a[0]&&n!==(n=e[18]("placeholder",e[17],e[5])))&&T(r,"placeholder",n),64&a[0]&&r.value!==e[6]&&v(r,e[6]),(!b||131104&a[0])&&H!==(H=e[18]("clear_search",e[17],e[5])+"")&&C(i,H),(!b||64&a[0])&&A(l,"pagefind-ui__suppressed",!e[6]),e[10]?k?(k.p(e,a),1024&a[0]&&B(k,1)):(k=Cr(e),k.c(),B(k,1),k.m(u,g)):k&&(P(),q(k,1,1,(()=>{k=null})),D()),e[13]?y?(y.p(e,a),8192&a[0]&&B(y,1)):(y=vr(e),y.c(),B(y,1),y.m(u,null)):y&&(P(),q(y,1,1,(()=>{y=null})),D()),(!b||8192&a[0])&&A(u,"pagefind-ui__hidden",!e[13]),(!b||131104&a[0]&&E!==(E=e[18]("search_label",e[17],e[5])))&&T(s,"aria-label",E),(!b||1&a[0])&&A(t,"pagefind-ui--reset",e[0])},i(e){b||(B(k),B(y),b=!0)},o(e){q(k),q(y),b=!1},d(s){s&&h(t),e[30](null),e[31](null),k&&k.d(),y&&y.d(),M=!1,o(S)}}}var jr=e=>e.preventDefault();function Fr(t,s,r){const n={},a=Rr.map((e=>e.match(/([^\/]+)\.json$/)[1]));for(let e=0;e{let e=ne((document?.querySelector?.("html")?.getAttribute?.("lang")||"en").toLocaleLowerCase());r(17,F=n[`${e.language}-${e.script}-${e.region}`]||n[`${e.language}-${e.region}`]||n[`${e.language}`]||n.en)}));const O=async()=>{if(!A&&(r(10,A=!0),!l)){let s;try{s=await e((()=>import(`${c}pagefind.js`)),[])}catch(t){console.error(t),console.error([`Pagefind couldn't be loaded from ${this.options.bundlePath}pagefind.js`,"You can configure this by passing a bundlePath option to PagefindUI",`[DEBUG: Loaded from ${document?.currentScript?.src??"no known script location"}]`].join("\n"))}h||r(22,h=d?12:30);let n={...E||{},excerptLength:h};await s.options(n);for(const e of R){if(!e.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");const t=e.bundlePath;delete e.bundlePath,await s.mergeIndex(t,e)}l=s,U()}},U=async()=>{l&&(w=await l.filters(),x&&Object.keys(x).length||r(16,x=w))};let z;const L=async(e,t)=>{if(!e)return r(13,S=!1),void(z&&clearTimeout(z));const s=(e=>{let t={};return Object.entries(e).filter((([,e])=>e)).forEach((([e])=>{let[s,r]=e.split(/:(.*)$/);t[s]=t[s]||[],t[s].push(r)})),t})(t),n=()=>P(e,s);p>0&&e?(z&&clearTimeout(z),z=setTimeout(n,p),await I(),l.preload(e,{filters:s})):n(),D()},I=async()=>{for(;!l;)O(),await new Promise((e=>setTimeout(e,50)))},P=async(e,t)=>{r(14,$=e||""),"function"==typeof m&&(e=m(e)),r(12,M=!0),r(13,S=!0),await I();const s=++k,n=await l.search(e,{filters:t});k===s&&(n.filters&&Object.keys(n.filters)?.length&&r(16,x=n.filters),r(11,b=n),r(12,M=!1),r(15,N=5))},D=()=>{const e=i.offsetWidth;40!=e&&r(8,o.style.paddingRight=`${e+2}px`,o)};return t.$$set=e=>{"base_path"in e&&r(23,c=e.base_path),"reset_styles"in e&&r(0,u=e.reset_styles),"show_images"in e&&r(1,_=e.show_images),"show_sub_results"in e&&r(2,d=e.show_sub_results),"excerpt_length"in e&&r(22,h=e.excerpt_length),"process_result"in e&&r(3,g=e.process_result),"process_term"in e&&r(24,m=e.process_term),"show_empty_filters"in e&&r(4,f=e.show_empty_filters),"debounce_timeout_ms"in e&&r(25,p=e.debounce_timeout_ms),"pagefind_options"in e&&r(26,E=e.pagefind_options),"merge_index"in e&&r(27,R=e.merge_index),"trigger_search_term"in e&&r(21,T=e.trigger_search_term),"translations"in e&&r(5,C=e.translations)},t.$$.update=()=>{2097152&t.$$.dirty[0]&&T&&(r(6,v=T),r(21,T="")),192&t.$$.dirty[0]&&L(v,j)},[u,_,d,g,f,C,v,j,o,i,A,b,M,S,$,N,x,F,(e,t,s)=>s[e]??t[e]??"",O,e=>{e?.preventDefault(),r(15,N+=5)},T,h,c,m,p,E,R,e=>{"Escape"===e.key&&(r(6,v=""),o.blur()),"Enter"===e.key&&e.preventDefault()},function(){v=this.value,r(6,v),r(21,T)},function(e){y[e?"unshift":"push"]((()=>{o=e,r(8,o)}))},function(e){y[e?"unshift":"push"]((()=>{i=e,r(9,i)}))},()=>{r(6,v=""),o.blur()},function(e){j=e,r(7,j)}]}var Or,Ur=class extends Z{constructor(e){super(),Y(this,e,Fr,xr,c,{base_path:23,reset_styles:0,show_images:1,show_sub_results:2,excerpt_length:22,process_result:3,process_term:24,show_empty_filters:4,debounce_timeout_ms:25,pagefind_options:26,merge_index:27,trigger_search_term:21,translations:5},null,[-1,-1])}};try{Or=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind-)?ui.js.*$/)[1]}catch(Lr){Or="/pagefind/"}var zr=class{constructor(e){this._pfs=null;let t=e.element??"[data-pagefind-ui]",s=e.bundlePath??Or,r=e.resetStyles??!0,n=e.showImages??!0,a=e.showSubResults??!1,l=e.excerptLength??0,o=e.processResult??null,i=e.processTerm??null,c=e.showEmptyFilters??!0,u=e.debounceTimeoutMs??300,_=e.mergeIndex??[],d=e.translations??[];delete e.element,delete e.bundlePath,delete e.resetStyles,delete e.showImages,delete e.showSubResults,delete e.excerptLength,delete e.processResult,delete e.processTerm,delete e.showEmptyFilters,delete e.debounceTimeoutMs,delete e.mergeIndex,delete e.translations;const h=t instanceof HTMLElement?t:document.querySelector(t);h?this._pfs=new Ur({target:h,props:{base_path:s,reset_styles:r,show_images:n,show_sub_results:a,excerpt_length:l,process_result:o,process_term:i,show_empty_filters:c,debounce_timeout_ms:u,merge_index:_,translations:d,pagefind_options:e}}):console.error(`Pagefind UI couldn't find the selector ${t}`)}triggerSearch(e){this._pfs.$$set({trigger_search_term:e})}};export{zr as PagefindUI}; diff --git a/bell.svg b/bell.svg new file mode 100644 index 00000000..daf9124f --- /dev/null +++ b/bell.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/browser-support/index.html b/browser-support/index.html new file mode 100644 index 00000000..b295dac2 --- /dev/null +++ b/browser-support/index.html @@ -0,0 +1,214 @@ + Browser Support | Radashi + + Skip to content

Browser Support

Discover which browsers and versions Radashi supports.

Browser support is a crucial factor to consider when choosing a utility library +like Radashi. It determines which browsers and versions your application will be compatible with, +potentially affecting your user base and the features you can utilize.

+
Legacy Transformations
+

While Radashi aims to strike a balance between modern functionality and broad compatibility, it’s +important to note that you may need to compile your application bundle using tools like:

+ +

…to ensure compatibility with browsers older than we officially support (like IE 11).

+

The Query

+

Radashi currently uses the following Browserslist query:

+
>0.1% and not dead
node >= 16
+

If you’d like to understand Browserslist better, check out this exceptional article by Alexander Morse.

+

Quality Assurance

+

To ensure that Radashi keeps its promise of broad compatibility, we use ESLint with only the eslint-plugin-compat plugin by Amila Welihinda.

+

When you run pnpm lint in the Radashi repository, ESLint will check that all the functions in Radashi are compatible with the browsers specified in the browserlist query in our package.json file.

+

Coverage

+

”Coverage” refers to audience coverage, which is an estimated percentage of users likely to be using devices that Radashi officially supports. This estimate is based on Browserslist data and is not intended to reflect the actual usage rate of your specific website or application.

+

This coverage data is automatically updated whenever the Radashi docs are rebuilt and re-deployed. This page was generated on August 6, 2024.

+
Location-Based Coverage
+ + + + + + + + + + + + + + + + + + + + + + + + + +
RegionCoverage
Global92.62%
USA91.83%
Europe92.60%
China79.78%
+
IE 11
+

China’s lower coverage is mainly due to a lack of support for IE 11 on Radashi’s part. Radashi does not intend to support IE 11.

+
Device-Based Coverage
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BrowserVersionCoverage
Chrome for Android≥ 12744.10%
Chrome≥ 7919.72%
Safari on iOS≥ 11.013.88%
Edge≥ 1254.58%
Safari≥ 15.62.54%
Firefox≥ 1151.89%
Samsung Internet≥ 251.66%
Opera Mobile≥ 801.12%
UC Browser for Android≥ 15.51.05%
Android Browser≥ 1270.81%
Opera≥ 1090.60%
Firefox for Android≥ 1270.35%
QQ Browser≥ 14.90.34%
Node≥ 16.0.0
\ No newline at end of file diff --git a/changelog/index.html b/changelog/index.html new file mode 100644 index 00000000..b53e47c6 --- /dev/null +++ b/changelog/index.html @@ -0,0 +1,324 @@ + Changelog | Radashi + + Skip to content

Changelog

Changelog

+

All notable changes to this project will be documented in this file.

+

The format is based on Keep a Changelog, +and this project adheres to Semantic Versioning.

+

radashi@beta

+

Details

+

Added

+ +

Changed

+ +

Fixed

+ +

Performance

+
    +
  • +

    Avoid excessive array allocation in fork by @localusercamp in #33

    +
  • +
  • +

    Make template faster by @aleclarson in #32

    +
  • +
  • +

    (series) Avoid object spread in loop by @cdreeves in #37

    +
  • +
  • +

    (cluster) Avoid an array allocation by @aleclarson in #63

    +
  • +
  • +

    (replace) Avoid creating 2 intermediate arrays by @aleclarson in #61

    +
  • +
  • +

    (merge) Avoid arrow function in loop and avoid calling user-provided key generator more than once per item by @aleclarson in #60

    +
  • +
  • +

    (replaceOrAppend) Avoid creating 2 intermediate arrays by @aleclarson in #62

    +
  • +
  • +

    (shuffle) Use the Fisher-Yates algorithm by @eumkz in #76

    +
  • +
+

Types

+ +

New Contributors

+ +
\ No newline at end of file diff --git a/clipboard.svg b/clipboard.svg new file mode 100644 index 00000000..5639cce8 --- /dev/null +++ b/clipboard.svg @@ -0,0 +1,3 @@ + + + diff --git a/contributing/index.html b/contributing/index.html new file mode 100644 index 00000000..1ccc0be2 --- /dev/null +++ b/contributing/index.html @@ -0,0 +1,111 @@ + Contributing to Radashi | Radashi + + Skip to content

Contributing to Radashi

We've been waiting for you...

Thank you for investing your time in contributing to Radashi.

+

Note that this document explains how to contribute through a fork of Radashi. If you’re looking to contribute through a Radashi template, check out this page instead.

+

You have a question?

+

If you have a general question about Radashi, how to use it, the roadmap, or an idea to chat about you can ask it on the discussions page. Before you do, search to see if it’s been asked before. If a related topic doesn’t exist, you can start a new one.

+

You have a problem?

+

If you have an issue with Radashi, you want to report a bug, or you need an improvement you can create an issue on the issues page. Before you do, search to see if it’s already been brought up. If a similar issue doesn’t exist, you can create a new one.

+

You want to contribute?

+

Before adding new functions or features, please review our design principles. If you’re just fixing some existing code, you can skip this step.

+The ethos of Radashi +

Scan through the existing issues to find one that interests you. As a general rule, we don’t assign issues to anyone. If you find an issue to work on, you are welcome to open a PR with a fix. Feel free to ask questions about the implementation or design in a comment on the issue before diving in.

+

You want to write code?

+
    +
  • To get started, run pnpm i in the project’s root directory to install the dependencies.
  • +
  • You can add a new function with pnpm add-function <group-name>/<function-name>. This will create the necessary files and open a PR with the new function. Try to use a group-name that already exists, if possible (check the src directory). Note that you will need to manually export the function from src/mod.ts before you can use it.
  • +
  • You can run the unit tests with pnpm test. They require Node v16+. You can run nvm use in the root directory to change to the correct Node version. Passing tests and 100% code coverage is required.
  • +
  • You can lint your code with pnpm lint and format it with pnpm format. You’ll want to do both before sending a pull request.
  • +
  • To get familiar with the existing code, it’s recommended to look through the docs and the codebase in parallel. For each function in the docs, find the implementation in the source and skim over the code.
  • +
+

You’re ready to push a change?

+

Once you’ve made your changes on a fork of the Radashi repo, create a pull request to the main branch of the radashi repository. If you made a breaking change, please target the next branch instead.

+
    +
  • Be sure to fill in a description that lets readers and reviewers understand both the implementation and intent of your changes.
  • +
  • Don’t forget to link the PR to an issue if you are solving one.
  • +
  • Enable the checkbox to allow maintainer edits so the branch can be updated for a merge.
  • +
  • Remember to create a new branch with your changes, rather than using your fork’s main branch in the PR. Using main can cause issues.
  • +
+

Once you submit your PR, one of Radashi’s maintainers will review it. They might ask questions or request additional information.

+

Your PR gets merged!

+

Congratulations! 🥳

+

Stable versions of Radashi are published manually. Beta versions are published automatically, every day, at 5:00AM UTC (if a PR has been merged). Your PR will be updated with a comment when your PR is included in a beta release.

\ No newline at end of file diff --git a/favicon.svg b/favicon.svg new file mode 100644 index 00000000..cba5ac14 --- /dev/null +++ b/favicon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/github-big.svg b/github-big.svg new file mode 100644 index 00000000..f5a0e564 --- /dev/null +++ b/github-big.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 00000000..d441c8d3 --- /dev/null +++ b/index.html @@ -0,0 +1,136 @@ + Introducing Radashi | Radashi + + Skip to content

Introducing Radashi

A new frontier in TypeScript utility libraries.

Welcome to Radashi! We’re here to make your development life easier with a collection of super handy functions designed for modern JavaScript and TypeScript developers. Think of Radashi as a friendly toolbelt that’s all about simplicity, customization, and community.

+

Key Features

+

✨ Built for TypeScript

+

Radashi is made with TypeScript at its core. This means our functions not only help you write better code but also catch errors early, making your development smoother and more reliable.

+ +
castArray
chain

Below is our castArray implementation. If you can read our CastArray<T> type, you’re officially a TypeScript nerd. But good news, we wrote it so you don’t have to!

export function castArray<T>(value: T): CastArray<T>
export function castArray(value: unknown): unknown {
return Array.isArray(value) ? value.slice() : [value]
}
+
export type CastArray<T> = [T] extends [never]
? never[]
: [unknown] extends [T]
? unknown[]
:
| (T extends any
? T extends readonly (infer U)[]
? U[]
: never
: never)
| (Exclude<T, readonly any[]> extends never
? never
: Exclude<T, readonly any[]>[])

Our chain function also has a gnarly type definition. As you can see, there’s a lot we can do to make your life with TypeScript easier.

export function chain<T1 extends any[], T2, T3>(
f1: (...arg: T1) => T2,
f2: (arg: T2) => T3
): (...arg: T1) => T3
export function chain<T1 extends any[], T2, T3, T4>(
f1: (...arg: T1) => T2,
f2: (arg: T2) => T3,
f3: (arg: T3) => T4
): (...arg: T1) => T4
export function chain<T1 extends any[], T2, T3, T4, T5>(
f1: (...arg: T1) => T2,
f2: (arg: T2) => T3,
f3: (arg: T3) => T4,
f4: (arg: T3) => T5
): (...arg: T1) => T5
export function chain<T1 extends any[], T2, T3, T4, T5, T6>(
f1: (...arg: T1) => T2,
f2: (arg: T2) => T3,
f3: (arg: T3) => T4,
f4: (arg: T3) => T5,
f5: (arg: T3) => T6
): (...arg: T1) => T6
export function chain<T1 extends any[], T2, T3, T4, T5, T6, T7>(
f1: (...arg: T1) => T2,
f2: (arg: T2) => T3,
f3: (arg: T3) => T4,
f4: (arg: T3) => T5,
f5: (arg: T3) => T6,
f6: (arg: T3) => T7
): (...arg: T1) => T7
export function chain<T1 extends any[], T2, T3, T4, T5, T6, T7, T8>(
f1: (...arg: T1) => T2,
f2: (arg: T2) => T3,
f3: (arg: T3) => T4,
f4: (arg: T3) => T5,
f5: (arg: T3) => T6,
f6: (arg: T3) => T7,
f7: (arg: T3) => T8
): (...arg: T1) => T8
export function chain<T1 extends any[], T2, T3, T4, T5, T6, T7, T8, T9>(
f1: (...arg: T1) => T2,
f2: (arg: T2) => T3,
f3: (arg: T3) => T4,
f4: (arg: T3) => T5,
f5: (arg: T3) => T6,
f6: (arg: T3) => T7,
f7: (arg: T3) => T8,
f8: (arg: T3) => T9
): (...arg: T1) => T9
export function chain<T1 extends any[], T2, T3, T4, T5, T6, T7, T8, T9, T10>(
f1: (...arg: T1) => T2,
f2: (arg: T2) => T3,
f3: (arg: T3) => T4,
f4: (arg: T3) => T5,
f5: (arg: T3) => T6,
f6: (arg: T3) => T7,
f7: (arg: T3) => T8,
f8: (arg: T3) => T9,
f9: (arg: T3) => T10
): (...arg: T1) => T10
export function chain<
T1 extends any[],
T2,
T3,
T4,
T5,
T6,
T7,
T8,
T9,
T10,
T11,
>(
f1: (...arg: T1) => T2,
f2: (arg: T2) => T3,
f3: (arg: T3) => T4,
f4: (arg: T3) => T5,
f5: (arg: T3) => T6,
f6: (arg: T3) => T7,
f7: (arg: T3) => T8,
f8: (arg: T3) => T9,
f9: (arg: T3) => T10,
f10: (arg: T3) => T11
): (...arg: T1) => T11
export function chain(...funcs: ((...args: any[]) => any)[]) {
return (...args: any[]) => {
return funcs.slice(1).reduce((acc, fn) => fn(acc), funcs[0](...args))
}
}
+

🎯 Smart Function Choices

+

We pick our functions based on real needs and popular use cases. Our goal is to give you just what you need without the extra fluff, keeping everything straightforward and understandable.

+
select
objectify
defer

Use select to create an array by filtering and mapping another array’s items.

import { select } from 'radashi'
+
// Example: Filtering and transforming a list of products
const products = [
{ id: 1, name: 'Laptop', price: 1000, inStock: true },
{ id: 2, name: 'Phone', price: 800, inStock: false },
{ id: 3, name: 'Tablet', price: 500, inStock: true },
{ id: 4, name: 'Headphones', price: 100, inStock: true },
]
+
// Map to a new object with the name and price.
// Filter out products that are not in stock or are too expensive.
const affordableInStockProducts = select(
products,
product => ({ name: product.name, price: product.price }),
product => product.inStock && product.price < 600
)
// => [{ name: 'Tablet', price: 500 }, { name: 'Headphones', price: 100 }]

Use objectify to create an object from an array.

import { objectify } from 'radashi'
+
// A list of employees with their IDs and salaries
const employees = [
{ id: 101, name: 'Alice', salary: 75000 },
{ id: 102, name: 'Bob', salary: 82000 },
{ id: 103, name: 'Charlie', salary: 68000 },
]
+
// Create a dictionary of employee salaries by their ID
const salariesById = objectify(
employees,
employee => employee.id,
employee => employee.salary
)
// => { 101: 75000, 102: 82000, 103: 68000 }
+
// Quickly look up an employee's salary
console.log(`Bob's salary: $${salariesById[102]}`)
// Logs "Bob's salary: $82000"

Use defer for co-location of cleanup logic with resource creation.

import { defer } from 'radashi'
+
async function runDatabaseMigration() {
await defer(async cleanup => {
const tempTable = await createTempTable()
cleanup(async () => dropTable(tempTable))
+
const backupFile = await backupExistingData()
cleanup(async () => deleteFile(backupFile))
+
try {
await migrateData(tempTable)
await swapTables(tempTable, 'production_table')
} catch (error) {
console.error('Migration failed:', error)
throw error
}
+
console.log('Migration completed successfully')
})
}
+
runDatabaseMigration().catch(console.error)
+

🪶 Lightweight and Efficient

+

We keep things simple to ensure your projects stay light and fast. Radashi is fully tree-shakeable, so you only include the functions you use. This means no unnecessary bulk in your code.

+
radashi
lodash-es

For fun, let’s compare the size of Radashi’s mapValues function to that of Lodash’s. I can assure you, this massive difference is not uncommon.

export function mapValues(obj, mapFunc) {
const keys2 = Object.keys(obj)
return keys2.reduce((acc, key) => {
acc[key] = mapFunc(obj[key], key)
return acc
}, {})
}

This is the mapValues function from Lodash. The bundle size clocks in at 16.6 kB minified. Obviously, we all want to avoid this!

// http-url:https://unpkg.com/lodash-es@4.17.21/_freeGlobal.js
var freeGlobal =
typeof global == 'object' && global && global.Object === Object && global
var freeGlobal_default = freeGlobal
+
// http-url:https://unpkg.com/lodash-es@4.17.21/_root.js
var freeSelf = typeof self == 'object' && self && self.Object === Object && self
var root = freeGlobal_default || freeSelf || Function('return this')()
var root_default = root
+
/* ~1300 Lines Later... */
+
// http-url:https://unpkg.com/lodash-es@4.17.21/mapValues.js
function mapValues(object, iteratee) {
var result = {}
iteratee = baseIteratee_default(iteratee, 3)
baseForOwn_default(object, function (value, key, object2) {
baseAssignValue_default(result, key, iteratee(value, key, object2))
})
return result
}
var mapValues_default = mapValues
export { mapValues_default as mapValues }
+

🛠️ Easy to Customize

+

Want to add your own touch? You can easily extend Radashi with your own functions using our template repository. Make it yours and easily contribute your functions back to the community.

+ +

🤝 Community-Powered

+

Radashi thrives on contributions and new ideas. We welcome everyone to join in, share their knowledge, and help the library evolve. Our open process and regular updates keep us in tune with what developers need.

+ +

Tackling Common Problems

+

Radashi is here to solve some big issues in utility libraries:

+
    +
  1. Central Control: We support a decentralized, community-driven approach.
  2. +
  3. Customization: Easily extend Radashi with our template repository.
  4. +
  5. Fragmentation: We offer a unified platform for sharing and adopting TypeScript utility functions.
  6. +
+

Our Core Values

+
    +
  • Purposeful Design: Guided by our evolving “Our Ethos” document
  • +
  • Simplicity: Keeping code light and efficient
  • +
  • Pragmatism: Focusing on what’s most useful
  • +
  • Innovation: Staying ahead of emerging needs
  • +
+

 

+
+

Radashi helps you write cleaner, more efficient code by offering a curated set of TypeScript utility functions. Customize it to fit your needs, contribute your own functions, and collaborate with a community of developers to build a better JavaScript ecosystem.

+

Ready to dive in? Choose your next step with Radashi:

+
\ No newline at end of file diff --git a/installation/index.html b/installation/index.html new file mode 100644 index 00000000..4b6bc37f --- /dev/null +++ b/installation/index.html @@ -0,0 +1,136 @@ + Installation | Radashi + + Skip to content

Installation

Use Radashi in your project

Quick Start

+
+ +

Node

+

PNPM

+

Install the latest stable version:

+
pnpm install radashi
+

Install the latest beta version, which includes merged PRs not yet included in a stable release:

+
pnpm install radashi@beta
+

What is PNPM?

+
+

With PNPM, all the package files are saved in a single place on the disk. When packages are installed to your project, their files are hard-linked from that single place, consuming no additional disk space. This allows you to share dependencies of the same version across projects.

+
+

Bun

+

Install the latest stable version:

+
bun install radashi
+

Install the latest beta version, which includes merged PRs not yet included in a stable release:

+
bun install radashi@beta
+

What is Bun?

+
+

⚡️ 25x faster — Switch from npm install to bun install in any Node.js project to make your installations up to 25x faster.

+
+

NPM

+

Install the latest stable version:

+
npm install radashi
+

Install the latest beta version, which includes merged PRs not yet included in a stable release:

+
npm install radashi@beta
+

Yarn

+

Install the latest stable version:

+
yarn add radashi
+

Install the latest beta version, which includes merged PRs not yet included in a stable release:

+
yarn add radashi@beta
+

JSR

+
jsr add @radashi-org/radashi
+ +

Deno

+

Deno

+
deno add @radashi-org/radashi
+

What is Deno?

\ No newline at end of file diff --git a/our-ethos/index.html b/our-ethos/index.html new file mode 100644 index 00000000..32ae1b30 --- /dev/null +++ b/our-ethos/index.html @@ -0,0 +1,124 @@ + Our Ethos | Radashi + + Skip to content

Our Ethos

The guiding principles of Radashi development and community

Radashi’s ethos is rooted in pragmatism, flexibility, and community-driven development. We aim to provide a modern, customizable utility library that serves the needs of TypeScript developers while maintaining simplicity and reliability. This document serves as a living guide for our development process and community interactions, subject to evolution as our project grows and adapts to the changing landscape of software development.

+

Core Principles

+

Pragmatic TypeScript Utility

+

Radashi is designed for TypeScript developers who appreciate utility libraries without fully embracing Functional Programming. We aim to provide a modern, TypeScript-first approach to common programming tasks, balancing practicality with advanced features.

+

Customization and Flexibility

+

At the heart of Radashi is the priority of customizability, allowing developers to tailor the library to their specific project needs. We provide tools and guidance for creating personalized versions of Radashi, empowering users to shape the library according to their unique requirements.

+

Minimalist Design

+

Radashi embraces a minimalist design philosophy. Our functions are focused, clear, and predictable, avoiding unnecessary complexity. We carefully consider each addition to the library, prioritizing readability and practical utility to ensure that every feature serves a valuable purpose.

+

Modern Architecture

+

Built with ESM and TypeScript from the ground up, Radashi leverages modern development practices. We optimize for tree-shaking to keep bundles lean and utilize cutting-edge tools like Biome and Vitest, ensuring that Radashi remains at the forefront of JavaScript development.

+

Robust and Reliable

+

We strive for perfect TypeScript support and maintain comprehensive test coverage across all functions. Performance benchmarks and browser compatibility checks are integral to our development process, ensuring that Radashi remains dependable across various environments.

+

Development Guidelines

+

Function Independence

+

We avoid creating internal APIs or functions not exported for client use. Dependencies between Radashi modules are minimized to maintain simplicity and ease of understanding, allowing each function to stand on its own as much as possible.

+

Concise Implementations

+

Radashi functions are designed to be concise, generally not exceeding ~20 lines of code. Complex implementations that require more extensive code may be better suited for separate packages or libraries, maintaining the library’s focus on simplicity.

+

Copy-Paste Friendly

+

Each function in Radashi is designed to be easily transferable to a user’s project with zero modifications. This approach supports quick customization and integration, allowing developers to use Radashi functions flexibly within their own codebases.

+

Test-Driven Development

+

All contributions to Radashi must include comprehensive tests, aiming for 100% line coverage. We emphasize the importance of considering edge cases carefully in test design, ensuring robust and reliable functionality across various scenarios.

+

Documentation First

+

Clear and accurate documentation is required for all new features and changes in Radashi. We prioritize clarity and grammatical correctness in our documentation, ensuring that users can easily understand and implement Radashi’s features.

+

Design Philosophy

+

Abstraction over Syntactic Sugar

+

Radashi functions are designed to enable common use cases that are awkward to implement in vanilla JavaScript. We avoid replicating functionality that’s already simple in standard JavaScript, focusing instead on providing valuable abstractions.

+

Balance Utility and Simplicity

+

Our functions address common use cases without overcomplicating the library. We err on the side of simplicity to avoid bloat and unused code, ensuring that Radashi remains lean and focused on essential utilities.

+

Performance and Readability Trade-offs

+

Radashi strives for a balance between performance and code brevity. We prioritize understandability to maintain a low contribution barrier and ease of customization, while still ensuring that our functions perform efficiently.

+

Strategic Feature Parity

+

We implement popular functions based on usage data, without aiming for full parity with other libraries. This approach allows us to innovate on API design while maintaining familiarity where appropriate, creating a unique and valuable utility library.

+

Community and Contribution

+

Open to Feedback and Contributions

+

Radashi actively seeks real-world feedback to improve reliability and performance. We value and encourage community contributions, recognizing that diverse perspectives enhance the library’s utility and robustness.

+

Transparent Development

+

We openly acknowledge areas for growth and actively work to address them. Regular updates and beta releases keep the community informed and involved, fostering an environment of open collaboration and continuous improvement.

+

Collaborative Decision Making

+

Major changes to this ethos or the library’s direction are open for community discussion. We welcome amendments and re-drafts of this document through official channels, ensuring that Radashi’s development remains aligned with the needs and values of its user community.

+

Amendments

+

Amendment 0

+

This document is yet to be amended.

+
\ No newline at end of file diff --git a/pagefind/fragment/en_0c51cd4.pf_fragment b/pagefind/fragment/en_0c51cd4.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..a5272133e8ee0f86fb41360255c0da5debf5ff07 GIT binary patch literal 321 zcmV-H0lxkpiwFP!00002|BaE)Zo)7O#$UzC1(>Q9#57I3!!DE14%1YH##y7KN#(dO zRQ26w2DG4Ec5~wI=RcoY{fX8EQ<}>3sw1y9svxvT7%D9I*rF+1dPDv7qT51cs)~Uz zu;|9`9A1$-3JI7x1RDu18E_%7mP#py)p`lLBV&SXlCJ-OGQd3sa2B}6BWOZM-LCRF zrAY)rT8a%s5fKn--$*;xw2>GdKqn~Af*EO}Q|)Fsl=(RQJmBHldcIgdQT$HyS2I61 z#&6l*q;cAQSlnV_(IJv4tJs}fdR%47I?qT+ZTcZo4YHO*DkN3EvpYG{;eTBQz(I$F( Tc~0c>@G<-VTtdyuPXYh{G9sCx literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_1132a24.pf_fragment b/pagefind/fragment/en_1132a24.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..4d6741c925c3d46d7146ca6e5dbbd848f2f88417 GIT binary patch literal 1506 zcmV<81s(byiwFP!00002|Fu`!Zrer>{gr`UBo{0lB@UXXj*1{j(Ex4S2j!s%0%Jw4 z#BE3}vAdL_8V2$q?a$>)dS;hb$xe!*eX&LET+hs$9ads1H>ymp(*JJ&o_0MIHk+;L|FHWs47)%&nM9&(WR56gYe)WrWbf1K|7Jxl2qw59*S^Ct*Myi z^Y3VVaMIFS3->X-E-IsUk`B5yr1vG&PUXrSIvt3UNK-Z=Xp_s2YMsmA=G)f3u2?dn z+VayNEJ7GYI-?|9+!fC%leE!!uJ>O0P$9BJz^U|RWO`pJ3;MD9^?E}tt(vEgoR{GzZzXhgLL1BLf&PmY6VINjLh|3pd(zDXK)nipf};Hv$8R| zAmpdlzstnM^rp^pWwTSyWjLT2{~&FsE>rFnnVx+y3ag4LKa6q?HiJi~TA6QRf|xdr zzF{D)Ls(NIQeiVSjp_Ux{Sit&0w5-IANp)79Ro(s=sF&hdp2dE=~>(g%x=8ef~L=N zmB=aGp0Vv`%l5^{Ro@n!m!D<1b=irZnRRAC_=ATtHiw^a?q!4Xpf{WTB+*;b*6HJc zyAIFRn@TZN-1*1OdgS9y2#JaEfV_O22YDU8rxo{f7|(82SDE7W^VJEJ@~zM9GMecx z7pXb*nm0oS@Oms8QcQ&tNDnbCXdclTaX#c2!zquL1grx~muwtSv0{XtEY{L2PXG#L zmtHCsK#31zdR03#UQEv|vkS~0C==j;QahBMC))#18M#xswj@6a^e%>s-wsWL6oFT5 zp$0loB}meXwXpRg7x07}c#Geja?TjHk)u=KywuA9ZUKbv8NASc9e!X{2dT@|a^`z- z75i70Ll2iPJ(3=>g}3WP8)TvAJJioVzq!l8usl;SUH&tzu8D`@>_1e?x7%;15|b}r z?rPA|GQ%#CL{|MJq=PLlJ&oC;YKO?T1`5}Lv5cMBMz6Vh*oX1@*}Rt)V9`8 zj^&I5i!IO`BGo1MarN$f)V9W=(~anCF>-#{pRAVe-Xq3lT)n**24>??XiS~~;#=l) zZv4F{-QWfTLI5mWnIexmw6B^sBh(cd3o#!fbtL;AA$DZ->&X4^zd`rP9SWW6?IETs zqqeG96`V8$eg5?4K=1RXzc7Er8odod-D~S-i9t^pxJI{KzA9>q$hotOr!>lVe>#TK<6DC!E zfHjNJUI5tY+&5Os7|gNA$P;aQ1$J-*2>1q4mcI+~Lj)6B*v`4pbh}q7r$pZDg4~;7 zp!$By1PW@K4L^JWpdY>QLX@hibJ2YcwEOx_7=Ls3R&7IX4t&AedtE9H61;)-Z1SxVF*90qAF2`R$6C5LjOtb8} zn@Q8*5X$DTt5W>BcDllE2f{m2jwZQId=QhxgWG7Ro~m7|pUI8u^}BDWk@l0ZcJ`=M zuK9zj*M8eP_L}n}$JxVH)g#-huA0Yz>c!Lh+;Wyhmt|w&#XYIdA3wOyj^7Sb?YX@- zG-Uj-r6*6nWN8%5U6DL|d~qKdvb`I63$F&RdK-@}?#(7pe{bNbeI9DhZ{Oek4ediC Iccl*i0Dr#eNdN!< literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_136b475.pf_fragment b/pagefind/fragment/en_136b475.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..ce86357efcbf9559d1f8bdc754d27cb51ace03bb GIT binary patch literal 319 zcmV-F0l@wriwFP!00002|BaE|Zo)7Og?d%Sf~Nm3T7<4O76EA-f$ zjjmTx)ES9Nj;+KjGu)w>^0CtFVo;mqkln(@?XPr=mM40=#~uB2PuJ@!+?|d#(c8;& RBAcm=9gcb?C#ws#7zpIRjZ6!*fgJ<-dJh>y` zJ@^9>gMyP0I6$6&RuLuC^%HD=86#|Bx+CGk9nddsLLSIRa172bAlN{?VhOI_hqV0; zRD=dBg&qo0+2;xgjm+w%*b%0s)+Kt|4LGUd7ODzf-(VW9a%+``lalF^??9%}VaU(a zkEO7#W27k7$FUSWvPw#@;||ZyiquzLw;`K8j{-aFPf@fFX`eGmH5~RyGycpGrK$^B yu?t?T@5l0zGwv{hEm~f{|JbhR=WDvHXL!ijF7)PHF67JjHU0s6$*b7t0RRBMNOK6Ej zV<~|TBZ(^kBq+oVCIHBBA!xfZ2uims(9R~XddpyYCJgWu_{0CjKO3B6dprj?X=7lE zz@Coi3DtxtM_?UEVg$4WV#wm@IywQ}cFq&LfDBMV?Oh9zmr904N69cO5O@jiZ~-e@ zEQW3rL+4KD3&^u9W=Nw|#jG%HuV>AgC4CHNvDFv~_@0H0q{jKhxYa1#@C#)!{?jKf zpA$$^hWJ@p;B@JN(`a&%4611MvFMCIGgb&R_-wD zf4z=Htqq|MqPX<2XptmGf;1Vt-G|_Yv=z^1)%Qi9!FD>ICg*`#aa5A)I41nPpB1OZ zRpSOlk@fKsRQh-$8?0$2@3-|pzdh2;>kU2(2RPGT*K{WHyx;VHwE=g<9|HgYOzgSY literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_1518cb6.pf_fragment b/pagefind/fragment/en_1518cb6.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..8b14f883268dac97239c17f7f71d2743cedbb7c5 GIT binary patch literal 418 zcmV;T0bTwdiwFP!00002|80`NZrd;nhF^uyCEMWH&9W7N0T0*?19sSLJq3ZmS#&K- zmIR4zR|J0d(RLH3MNcNh|NBLY40uniak|!xKB*yERjMLVOOaed1;&U^MIuWL7b;VY zcTA2&w4CMe!&s&W=rr^gA9 zJlBkqm>^(EIs9yaJ36B#f$t47=?o(A5S{p13(mWbZm`y*ZZZy};Q{SHVqp5gZx-xaTl(F1DwENPbF-AVYJ3=GI%6&-*E}sn=ct8Kg4D#`-X6; zj@gQQmwvB+{gvF}UwWnf9sR)9{<}BzN2v4V$=}UgX3#?Q7215^F6n|oRaF=IJru=M zJV+zjGDs=OJqYf_tsGulzhD|%U-7xe8*y4#)MVcM^izI#qraz7r& M|Ee}%;pqYZ03Qg=X8-^I literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_152440f.pf_fragment b/pagefind/fragment/en_152440f.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..044c9e53e6c4e381e34e39810c1ecfa1b778a62a GIT binary patch literal 400 zcmV;B0dM{viwFP!00002|5Z{!Zrd;r{K|kA+XW%TNQ0yT(n}A0K~6y+(9+6eE0F@Z zvLgukdq`V}mD}#@%+3K=2*f=ZU zi3finD(}^ZvtgY&!_=X19;7Obc#0okELhXBF@x!P7w`E26;Pt_uEWNwS_N%38R829 zqcK6_8B=ujt+7R{&SZ|73+(S6BxZ?&3So^uUC(r93JnbXiUrG zgD9q1ijG*tO0eOUZaIlKQnu1A@m?oEEp^u*^**jNb*xHueXN<@R{=+$b(Kn~h~jRR uYiVsxpIS`~-?U$`e^WnxSL^#v@sR$;P5rX8H|4MSZTWCh;`O9>=ciV4Ui5507|=^4RykPO0>p3y<1e^|ll<`$lI2_rm2RwM?OeedLVhu^J-<)G+H!Ltx>SB?L@kaPf*cfmp#usSGGXR?oF;T#_TV1qX}E zVar)A9`}fVY{%|08hniOWZ5J2gAWPbdvRzC}0*QBER|r)hacHD8u40!_ zO?`LLvNCpO$Nr9UPOm@F`Dhz!>`4tNsJ*HZI!qW1R+`6XDh`N!r3z&z3P#C0%Toz2 z^Sn(IY2YxzQF{SL3B-2@LeOjG5_Vho7zG&)oX?f;+9EXNA^~oQMm$B(A<&Uwq+tdv z20en0(D@KNW4>&&lJ9y-0{5U98gPj^xJlY-Zv9OOdbxjAzTMPyeFs$qPtVK87&fp9 zWiLlcwlOr!cD9>BIUfWQtNm#zREMH-rNm3X)vn3|o$b=R^>$Jiu=`D;eaM2|=Bg3u zb1nG&mr`y689kd+`+6$=gVukoWQ$HNj3}&)~bvO literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_1966a63.pf_fragment b/pagefind/fragment/en_1966a63.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..a698b7870562b88e58276a70d4857796d353df34 GIT binary patch literal 680 zcmV;Z0$2SXiwFP!00002|E*N-Z__Xk{Z~%Wq_(J}UB{RdseEEc2>3W5giz-um&TeC zNA|g0iSoa5PV;L(CqR6O;=A{r&+qIj#ST+hB%35os=yf)M8U#fiUx}q7qK(uxX3Zr zi(nqax*#lwAwCkqC;rOs2m(@9#3XeQ!qxHywnst>cb2t7_-sTuLcl>%2A&V3VTUx% zZAJV5lnD+x(z)2lSSWP_gXBzMVK0Se%&0j6xOmKL<*)}(R-xi9%rXBAEZ)% zUIH5n+5Cjfu}+Z<;e7#nG?uk2ltyaf*=+R14e65q2_L&z$SbAe=3NKTvYwB5iQIR@3{x72 z{iuAxe)W`{U3FyV=jp({YnKD_^*JW?Lua7hj$?zy_3E4m-yrii#%PVj1gCD;S!%3@n5z=3uUwn#79o+2Bmwv51o~Qnak#fjhY(_o zQ9_MIw~nk|0R=7&c^s*X{{|>9X-8**VodoH*!3o`why2aEWpIDhKHzYof`X4TwQ!r zyf*(P?8tB<$vW_m_1^Zksv`?-<~j_Q_X QcKmz%4|-WW1Tq8w0I( zLS@R3XY?$X@hXQ~@_P&n8tUE~w&Z~cv$|fB*ay;XpkML3jU*VW#1P^3qV>D2V5p0&IyJ7{5%=6^zAG67W+j5QlB#6tq-OkaPNWt<8 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_1fa3a12.pf_fragment b/pagefind/fragment/en_1fa3a12.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..6934465cfdd41706f399e466fd7f4dd91f92565a GIT binary patch literal 412 zcmV;N0b~9jiwFP!00002|8-KqYTPgo{gsCdgTP>Hwj4?sOx@_vafIjiu5z~3nGC!QmDjH&tRFaL ze1T4A&_(vxL~V5H?WUZk$zMFPNw~!$P6*mljm^E@6d3qOvBqw@Eie@;`J2YH(%<)= z*oo7K1YtG zX?dI@+HVWhS(hm$RiCCpdCFRl$~HSXN2sK)L)-H#dORs|ky`74WK4V`l#-6&o8ZS@alX>@#yZ?GIkMl!W-4EyTgY{;5n*IXT5{9b2 G0ssIU7Sjp< literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_1fbe2d8.pf_fragment b/pagefind/fragment/en_1fbe2d8.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..541d31f7f7631caf02eacd5d01fbb0e09a53be47 GIT binary patch literal 351 zcmV-l0igaLiwFP!00002|80>$YQr!PMXxew)1)=YM;2MOVuWxW3 zq%mh%0@aNAs%v3oP5Ex2-eGZx?DUiAxQ@GDdwa;oL5=lx*@Ff zDiWnOgg%J$)JLL0lB@)2GB}4R_)6NMc7yNjB+y`UPP=~KC$(agk!x8KeqL;W3&s_4 x$Uvm`eRPQ`eVEu9OPbkfH&^iH8m?Cp+YJkx;r)1=$!-7M{{p3-5)V%T000o*o;&~m literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_20591fb.pf_fragment b/pagefind/fragment/en_20591fb.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..4d25540e3392dceb85525519b84d67cd8e999cad GIT binary patch literal 963 zcmV;!13dg6iwFP!00002|CLtlirYF6eU-sn*v-Z3I7zeVF7(3X{E0I%8P~mtdN-eaK7#Z%YJDan%LO=*9Yt_s z6ZjY0hL&&K)T`Q-N_ycC_M(!RX2ou9qeboonar1W!ydJ@ee=dh}hvt`g@YqlFUpv14G*GAI znm9F)>JyfF_}mB6FdjYzgxkgvSvYb<>dy#}gruT6F)pnrJ9_kK>g=bZ5$wPrl)yx& z)pa-_>H1}dBX21r2^G&>;3cqsN_qaYW{8+~ICn~K_)0R$=_dPzSwy)kAy<^fLfKFh zIWK%mpxoB0YE3W147YaOH12^(tLfc$`8Tq zS9t2uKhS=g#s_3WCW{(RJo=vE`VvX}nc03j>im+q+rH)Q%lPy; zc714#L-W*NO0M(v0B7Rsna;oihTUk1zK>gK-6!y}=z+OATAK*`&}xbA`WuoPpAM8C zbZ6k#-WTqg8*Wk8L2htrI^u5MKlyGSAO4SEvJ#>XbmO@9JeECe6NjLl4QK4{hU1_X zs?zRsPe--8pIk0}p_csUMEuU~R=Fqzo}K9=Q}4P3&Rs)Dd)WB^Ov`gxT?AM{7xbgj z`7%?LyQ61|MI04e(9L3^dx~_lM$70evfK)6F7b#Kn9NG$P#<;?3S5UfzMPOE&*^Px z)rQ_Jer@l58VZ#$mnYGEx{v$BoNpUuiG}T$?Qekrdog5}vxZ!`9}FG)-C@` zK~er4r!);kVmGfdS97Q1dsN!WN(wo!=ndPl!lOcuR$yUcTca?*#)PwkmeSC% zl*5a&J$eETJvR}79B>QT5@-dT3qjWgb13f~p#CBZunS2shqnfy%8yGxMJq@<3kPis zNC%n%)EH>mCQbsBfW7X~{uRnWx1CE9H^2i_puB5g<+w}%`8003h6ld%8* literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_2671c63.pf_fragment b/pagefind/fragment/en_2671c63.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..1489e2af7c8177f87273039cac15f062cab17c11 GIT binary patch literal 864 zcmV-m1E2gKiwFP!00002|HW0?j@vd6{gr`Uc2js|uQzQ216!cjHb8+s6wL;GC<=p; zMi#r0sFIYuhGC$;(ckNrqt%=*7EJ!lq|Nl^bQqg0e-BGM8H+`M4EDA4T+jme?$~EA)nKycK23uVOkPZqwRWWZBP7|En};0M^%6X(8$jU(IM8_rzZxLIo?jT`cH0 z`!t7FaQP@J6c^Kvw3Vh6rN2a9eAf^O7h)@w4y1-#2W{{P@YHbNXrMXSkJ=Osm9Qrk z8dRrG$fKmS7g}H=QR>*lp##pak2HCp{gE~5LODAOl-jv6c}0uL&`ozxz(iV}NOvdF z>l10H=$D}d%!;17bMw)8K67p^oOhuCPyC*joodz_14~nFTs_KBqX2 z5ex~sX)m$wbUcX=^1p`Z+Y+<;`Gx1s{N=hcsj&-DbXZ&G%Kics`b5KufVnikah>@o z{@h9j$jj9R4J=CR!bi zvj|QEz9K7a$&)uTf({*1C};TRA>xv&@TwNKa4Iu=tL4o q?=PW!e~#d{ojAdMdoi*!U3-oAf#y>mZ(bk&I(`6NVe0!e2><}R3anB9 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_26baff4.pf_fragment b/pagefind/fragment/en_26baff4.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..9281bda977fadfe5b372d0573838385cdf40e403 GIT binary patch literal 638 zcmV-^0)hP>iwFP!00002|Fu-XZrd;n{T0HOri1G=D7vi$y35YHZ0l(l0$HMLVYcK^ zQqru*zmHPvIxe;=WiDY9zE0*D?|v)-ElJvXIUO zw1Gp?Nd=z?ML-asqm{up3!xPOC|VEv-#Z`R6uEhS2lXMKheyvD&!Bq}!+->WT(pW0 z8nZ(?Gx{jo6Rin=PbgzzS+akNwa4F)O9Lso&O>kv!I4|dWP~A-&EE)p>;hX*?6MIhLVIa3N3RMN)TjQa|R_u%;;I;T=Y|7tb@5~>O)7CM7 zA5a=?Qhf(d=uKl&WeoDhHXU9?k1vJ#MEp|YnEq5@B1n0BaKr?L9U+@YOW~l>b$MCwcRpXQ;kvqgwfTx3Lr7)iCdLj=4QBf&1ePsDl-~kz8GJZt`fN&n0NCyoEEZ{acGY3%b&F5qY!R@NM2ZQd`NljxY4) z_Cr}{)A2C*;{N$q7Ci>Rt0I`t;dtWtlJ2Q)V{-Thw6&zC0KU^xYEO-b~<_UX>aBIBsX;X7fKNP4juh23}1D Y&RqYV-v#-{yW`K}UtgXk^-2W*00T=d#sB~S literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_2857c2d.pf_fragment b/pagefind/fragment/en_2857c2d.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..0afefe197bd527dc16dd0b6ebdaac56a95cb9bcc GIT binary patch literal 414 zcmV;P0b%|hiwFP!00002|80`NPUJ8QhF`_XrLbGIJKANn8nMF>afcH^RVHyKL1|JY z?f|O#?zrs~3Ywc^|KFcDb}J89TdymvbT7K-#8#9MYmDd>mWiVEhmx>qog^$pE>!S@ zo>;eJ3%EZ;AYmrp#gc)ebR8zBV`#XdB}oYTXH*1T8bz!|8I=KiZ6l^+gD+rnbp`u3 zV(uaF;|jR7NAw@gIY_^_gnBX^QJh>fI`8Bkbm;93q5sf#{+d!=*^&|$+(B_P8N z?4k^6KH$PfT_;$L{^O!V4F5Xf*&9gRI?_FQp;p)RzOuOpLmho z5!eKMuYwD47_uCCnBpyDd%hrp;S$Oc{_kLxj>&Tt*AulnXOKgAeNp_px!je9GiE&A zmk@QOLN`wM-zFEeb%ZgAZ9n9qL6RH^vgB~J0fKAND-%ZHV=qqM$qKV!PpdhqD6||C zzOHwNGcG7eJT0;PHRNkn+v5TotmzZ}SdlOE=FeB${9fp8T%=F@;dES~e}|{x9Xq{c IoC^a003(IE=l}o! literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_2e97b45.pf_fragment b/pagefind/fragment/en_2e97b45.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..fdc3150176f36c4192a62f1d95aa88178ad57d11 GIT binary patch literal 317 zcmV-D0mA+tiwFP!00002|7DTEPQx$^hF`_XrGTn-TZe=u!HEkuE;}JqWsS2$N|P#a z2h-Gd#~pNA#m)Bb&yN3ea*x`2RjWpwL?4~lh%%zah`zy+jvcDfrZ-Qe$VC%8p(pM+ zmkM}A!q{4mU^PfMNY`_iKzgvFzOG<*BuubPyr_V8nG!3PR_PV&kvQLl;E*vw=d9nu zG4$h1GWdV0ZMzT&9zZ6jLC4TS7NwHO*sOrMI6v-gxw?n4gy$Ea*yC-zSXI@eY3b69 zm>J$5vboBae}$;(CiLU+>&IMZ>-h2{Hm4yMEt2F&kR^wcIf4c08xzK^kCQ-$?XP!c z$pfw8sHV_yO!$5Alv5WPNj7+~Sq%9tsO(`P4QjfQlg%^uX%3reV*BwguJHCRy^_nt P@HzYd*o&2q8Ug?S9^0T6 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_30577e3.pf_fragment b/pagefind/fragment/en_30577e3.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..d66dcd01109773d65256b0f7a624bd4f5b86283d GIT binary patch literal 567 zcmV-70?7RziwFP!00002|CLisZ`&{o{VRkoZ3b6anxVr2>`)BDPD2ZHI|V_&$h56R zmI8ew3j+W5QFcCywOelz`5s9<>aDP%Qki02$YPg8r?W{mbX1ZfBWZ|!Yvd5M9%gwa ztqEiTBRC-7euFANgJugWXB*|o3%DEK!eSf9!;hMPaZpAhgR%yc2d^5X(Lt~fIK7BU z2W8-~r;7x)?)>^hA!sU&MYzK^wI%}yTKNFi47ZD4B*Oq~d7L8$RYDq!oU_gYI^u@T zZcN_IbQZ3VCvn^YO|i!SkAw#9tI83l>1#p@`016Yx`cDM74V4u5Wy4y^!>St4a)=@ z#ho05=uG!oN8ai+ciK-0Yt)g2I?z%H)k8ft#7Y#zZB?_fF2K8ln?uQ5xN=yauho?R z-U-Vvjh@^LJ_B|;nJ4M4r+_OZQpOAEh#zt-gc#)D$6^uXlEU-2M!6I+`d}M!Pf<$p z{!5L#CWZFSe z1KMXo_2J1&a`jqGUX-orRhhh1zjh$lR2yFNT-um?HM$+;S;?N@8M4W)&9jCA@+k|7 zZO|Jp<1iXo+k~0!GSbxauB=B~PZfNc2fN~Ppx=A9@9v{dtE&c}0P4|^gWiEYlQEU9^pT+tQ@|S84hs3Ge$Gdjc{sG1l@`Ta^ F003v=5yAif literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_32c9803.pf_fragment b/pagefind/fragment/en_32c9803.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..756122b1899abe7b3d32629c2a7f72337c4be840 GIT binary patch literal 318 zcmV-E0m1$siwFP!00002|80>^Yr`-M#lMR1CEEx|)2=WI+iC2)OHX42HWHpmaFDKNnON%cKvk__cO*=(P5fK|pE4z|{x&SVf;|$~yAT{o4}{KH zzlUS!$E{@WpS`y2LL_(snV<$8Lkn4yN+x5o0_x&&;X}17maEkxlqI~r0mUBY?$y!K zrJ0o(J|kpvpF{WwQPoZ8#~hy5xzN^e1W9a8LoQk*$x4tVhf_|1E$JH*#<{PPK!@!) zNK^4jt60?(I@W~0cL8(5g+`JMUThXaevc}9xUvQ{P3$f58T~S+&FTvGz>% literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_3918eac.pf_fragment b/pagefind/fragment/en_3918eac.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..f6035172abdcd3ba8be422a1d9b4a1ce7fc4d624 GIT binary patch literal 3024 zcmV;>3orB^iwFP!00002|BYGgZrr#PeHCJW0xdA|I!>~iL?Skq8zW>YM#B2KcOnlrcu^V)wyPfEr?rPl|<%Qjf_p*_GuSKH{ z%Gkcet3q~-sBPO0oesBW<0Jq3&wst(V}$m?SsPR%bO(EK*UF%MyB1rczUYlMcyB#7 zQ#DQ>R9BvJCjPF3)U5~>M(ja1_))aBQLbBydho%v`m5X+C5FH@h0z-)-K_|F8H88v zfJ+42ty8Mu>wLWJ)rZ>YK8z6Fnj`b}WrevPdM z1|yv!@ehta(949R5?kv8ke?xkYt+j7`PBhZP)^oC+s?0rA2y#=9q88TV9h{ZlXC_zDR~FyAn}U6Y&oNMSiPB#~ zy7fo|y1Vjv*CD!e#U(_okbUn|tz|fkj|N^x4W{;xcdq_DZ@?CXS8_L{?cx=JBgc-7yo4u}5;GK#(FTwE@EP`b2Dw zvv$JwfOd;mjg(-DGfpEw!CDhZLWHF2aKLJZEAg#y3<0gb;+_ZmK>RCQUn4BNJt{{J z4?a2N_r$8wCt26lv2;w{f!Dtc3TgA(pq(PV!L_$Ytro{2Kv&G5OsW`vN+Z$cry|cp zkLj`E< z2ctsxlsYHc#9pgNBHITIibl!=r&NW&-=rYlDAkJ%tW%Ky>@gkqvUsB&0`aR-&2A*2 z(KkxG)V5XpPGB|!HrB}##nANt<9_}ZxcObw^@@QvOiNAXp}4ODlQ~!QeVY%6$3m4TPf1#Lj}%UkJ=p7HXsE zoPk(;HCiR%->7g@DD>kkz{G)QL|}04vm619DIh1cSV_-S4fKN~1$+hH3JvAN9X(^k zqGtp?YZOX*A zG@uAhc76+7h@<$8usi3Ef^#bVBH@T8dH96%I{k&LL zariw^jlHRf4FGNxD;e>HK;M9MLAheB;mn!BcP6vaCjjH3f#%YEEbsL1%{4VNzV5l72T=pN&P1s1aA=qJ@tKBoiqorJ;}}DM<*Lq+3mI{ zGqGdwF*nkTqNb|ZpIGC1uyN`zcCtl^WG0X2l~onfsy)sm3x_#~yqi_onZmBqr0j7$ za{`c^1uyw2)D}`sod6Y%4}tVxhdj7Wt?xTdVs<>UxVQa)>@KX4_%gzSr!K6KL9Qnn z6w*mzhuY_+G0r0PMFl*qCR`spta2K4ojs6V;T$wLHYm<)}kc~bF+i9t0m zqgA(O-kx?ILm>yT9+7&VQFe45(Iie>ovejW%R58G>87(s!!-{N%9u8^9ibVXi%(7D~wZK*c0? z-jqe;E-XNpH`e85g<#a(Ky@|6Wn9fnPa;%TnDl8j7jJn0!&E3gQ-_^uB#)+gT)oZr z1&nW_sUq^3E+Q8@^yxy4_DFNjj03huWon+(;7r4_L+TH(qm$df9c-BGz``E0<__t` z*-lj$zIDnhjV{rxVjP)9J`*b-CvRTdjR_RHXKLezG*pc{$jiys;1yy0j-?Zb`vNQg(Z?@@7llh|km>9c35N?qhr~_4(5aW1-qt)EFVCf95K( zE{&5mi=DL~fV@q+zR>~M#Qu(1kMJNWb}*E#R48I8#)gMqg92jd*(%$qY&`nYkyVTT zRa-1I#Pz#!y@d5RbfWnL!J`fNvy1cfYKvtHRBZL)+xPXVg*M>RD(GNTxk6vzmk_tT zr6>RSZKYx@!z24gu&Nt;`V?%B&xH8w)%D8QIPR=ooPS@>UcMM#MqjI{yqeE;PS&_H zYri}?G52^hH!kJtDqtPrN)RmI-`id#IiT%8^D==|Bz zS$TC>#p0dq-`PFRZ9aXnXpDk0@%ZN@ zo)oHD?WQG9HhupRXl{Kunqx~=>0(usjo-UTI91E+fqu5Vurrw3fA)OI{%m}Wf8Z#>d3Oe% z*?n^HWSJ?H2UV88k|ZZX?cChqG`tov1zYbZrV%u9_a1oXZ`YQDNeZoEHbM6t|-kHi@7sdsm|{)BhF9k STzvo6_x}TWU1M2bAOHZP72?bQ literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_3a32beb.pf_fragment b/pagefind/fragment/en_3a32beb.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..9210f2c44df24df56ebe8bd16065af0dbdffa5a2 GIT binary patch literal 314 zcmV-A0mc3wiwFP!00002|AmpkZo)7OhF`_X1(>RKuxXljhg~Ldnx-l=&KfCAD#wMP zs_#Cx3<@W1j{Sf6oj$&^*>#w1?XnX=9^Qc~M~$W()@rBdwJ<0UC216jU~qw1?y=&?BmS+C_n zXQV1Qwo_7t MKTbo7HzxuB0D+a0c>n+a literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_3b8ae19.pf_fragment b/pagefind/fragment/en_3b8ae19.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..216a2bfb0a3072a92d44a0ddbb5a27163c142af8 GIT binary patch literal 639 zcmV-_0)YJ=iwFP!00002|BaMyYuhjo#=pwpH*q@SB<=6quvZ^2x-XgdXYwm#?%sg3WMK*;)143ykngkkQE%OwC_O9^`3ZrX4k(I+fglz>< zah)1+pm5_7FzCEdp#x1pRH2V>Z4On=XX0gdU|BcXI5^?9>x13Mh+NoGj#8lcSc3B$ zt{~pdLHYUt%^0q(A>O~ws z9(h~qv|YzthonPTdC zRWL&LgGxMg^6V_zIZKCi%2=44ZyGc=!nR^ZUrsngE9XS&^dgAjF%P2+GYUT)q}PLO zTk5>S%jkBK3|{m;jAz4s Ze8vNO+b0J6@_fJA{{d}}j|3(K008WuIO+fZ literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_40315b9.pf_fragment b/pagefind/fragment/en_40315b9.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..9a935c16e941b2d9c07b2a64547c8657e4387073 GIT binary patch literal 435 zcmV;k0ZjfMiwFP!00002|7}vsZlo{}{FRn3?5+@xjI_!i?Pb4VbBZG5;AZf~*vM{X z5{>xxG%&*>%EjtORab$klP9dTRi&!bRrKD7LZlvR^k^$g-Rpm>D6O0g7!vq>JizM*VSuN=@(KKF5M0-}poxnb zD&L1DhLb*{-JGOG5?o}M_ozTya^GseMH>SisrQy?eAMfcw$j{Bd0f1sNXb(`I$hPvLAl7mbl%z;&wJr?4UPuEBG;+ z&JEM-W}$%RuM&&Rjm*Q$9G{n|;*eaNS7qh;F(=1EENX2CeGtWUh((Jexe}zw;5J8s zm(o_Oz{uyTK!fcZwI=7IT5(m9>$oO--$jr|##NHEv!cj`cuQ9Ld}lXU)5>0wxMLsp d?B;MM_hVdF_S3ChnR!0E44<+}_nuP&008d0-x2@- literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_452f157.pf_fragment b/pagefind/fragment/en_452f157.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..397e10e5f4668be511315706cb3938c08f97a599 GIT binary patch literal 415 zcmV;Q0bu?giwFP!00002|8-K^irX*{{gpv4-Yq6tyYxb!{enJrpGpy0X&j5n8ly|H zOUS=>6en@E&=)b9Ip@rE);kH6eW7G6*A(05raXQa&%!Q`JJR_g`to!WX4p_ z27dAjd+iG*7$QxeVPR~b`}71aZL^a4i-`ws%b_YwaFMSGI>PU zxjlxP+z4B8l+b4|fQL1%;qVn$?|W}#Ude7w)}Mg+t(@ZhL2ha)BQcn}L)oFCi2Gpja9vT?YdxGW>q=awZm+u-@>g-UeX`xa7 zL-C|%N^(nwfKgVcyg~0nmq}}%2)G&Rd8`vfTw0@mYhP<0*Cc)4->T`lu4d`_e@o)! z9w=I6sMP&_>02?lI>;op$5SgN%$hBcUG{j{zhJ)(W~2)Gbrk4vTCQX4SkGCuRHm8j zjIY)OQj>D1oytlM9SBMx~b-md8#`}2GD`0+|E_2gFe^X0oTzn*@d{sPed J-T?ao000n~%&!0d literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_46a9708.pf_fragment b/pagefind/fragment/en_46a9708.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..51d1d219910b4527f433901a194efb86165a69fd GIT binary patch literal 304 zcmV-00nh#)iwFP!00002|5cFDPQx$^MSsQ0O953WFrkS_@Bk8g!JZJRvcy>$dSisTfu?~x`~79>mbl$dkmv_;DOF?Ra4w?P565b ziJv}dMJ@)hy6?+N(763XHfU)k&$(UE%WJw>OmH`ZJJajab0(kr@BSZjm-`v)0RRBq C-jF2# literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_4852bdb.pf_fragment b/pagefind/fragment/en_4852bdb.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..f968dbedc0b24cd820e132345d3ea98ede4dc878 GIT binary patch literal 362 zcmV-w0hRtAiwFP!00002|80@MZi6rkhF`_Xg>6Exs@tJR-C>t%575&zp_G`C6%v#f zSciD`nKDKz?G*ox|1XYR%OmF6s8nUD7mX`LB4UR*Iy4!^_V9@r#oDy!C>Ei}tRXbS zRZ}j4x627sAe`{*K^g_EEF1J-b5<}hBG^2^;Y^&~dww*6oo>-A1>lexXBYqmyE)lu zD*k0VQat~mD)$FO~27;_RPhA=Ub3zET1pb?Q=m@x48 zI_p%L*=C&J^Ewo{E{TC6>4#8MNRlH#no9heu;3eMvcisK@4dhht7!wpiiuirl#;DE zCj449!@9JYByEjI9*6MSsdPJA3(RS;&O5p>Z*I-SdiFNsA{X=iS1!)gYWNs_07Y6h Ilw$$_0EWA%BLDyZ literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_4a9fa49.pf_fragment b/pagefind/fragment/en_4a9fa49.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..a3e238f09b345c0345c13339b412e7171a601156 GIT binary patch literal 528 zcmV+r0`L7FiwFP!00002|8-K^j?*v@{gshl7Enmqh3;xA!P_G73@aWGs$6H%SnEq< zPqtK5rTzvI{9M0;ak5EME)SOM8K28s8o9wryK+^kaxdCo#8MOiD-7rq7Ou5x428ka z6e1JKJ3>eNCq;7jWWA@_?0|xFQIqyA!WwCd=zz8!o}_7!Lo#9s-hqTlD)J$R#ameK zh;t8-E#&aIMo6SkwN51>&=J}MBM(M9l!0|L>xaf0NqC{t`@9f}4Jut}eoE_GM@fPy zr}T{sq*ZG=YSyY+!wMjswz8`wgH4c4trg#-D`6uoJFa|y*i}BQI|pqW9|&H7jIe?# zcneoSmNM4*Du-2`%6l=(V9sZjFJ3}Xz`OUb7;_8GEmH1!$lZ>)*Ygp1JB8lU&U)iF zyS{~v9rk_X`eL2@B)g~M&%TF~4zlUf@mCHX>2&-NxnrELy=~=f)ADmHAE=fD7P;EQ zH66n^o4@DY(SKlh>jSbfJLwynfvQnGf^UhL5x(e0-C(IDbQ3X{M))toIWOVXhjOLT zNX7E*E)$hD{3D9x{*VcaB>5&tlfmab6&#mNaWnYS*S$c4w%_7<&V0J$+lqX{cf#+( zcJs@4)v1c*?2t`yrG6TKHCA*64qJTzp8tWa-wfb3?fx14@cf)Wum1>&?n&a}p^!u@Gg%3L|=rrHWAM4ySS6Q>5R>=TZr_&5%67gt+TJbSw+GGz>G9*OLuoob-nOV7(=)+_m&avu!VIonE8-u~$*qMK^K0 z@MJxub!w7h$EG98a4vZ6q!c}x0&KGjk>FEiSV0v-19wpw)z)C5k9{5&Fo7=; zCQL8En!^;Hzr(5L%%bo)rwcesm`RvIS>}%Utbo@*DA@x0;NR=7H~5P&@WciW+09D@ z$B)YD8*uaKa--e zj>l=m;&hgxK~fwEvgB|)NWmrLbsciw?~_1>O?R>NoH?!GXhmViG2!9rk~!gmR#{vu wW@mW~HFiH>YpiI*4!3;+e!2zM4+A#k4`2i@`^ORa?fmEb4`|cBL6ZXj08aPr_W%F@ literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_4dfa389.pf_fragment b/pagefind/fragment/en_4dfa389.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..7a2cb42df350de8c87d0834cef1336d1f1b2db27 GIT binary patch literal 2376 zcmV-O3AgqiiwFP!00002|AkoHa@)2Neie+aUFEmUY3|%4&dIcCGPb9^ICCZgk&uXE z5MTk&vXaTWpKlic2|AK}Bay_ni~ZjP2DwvPZQCzx(|%ix-mG4)o_MuYUfD)HS)HvK zXQQ$a-!DenMD1)4?pFC*t@dm2w=#|Em55HnPKis|%Ft&-{27xx6+JQwSbk~E7*tayF0K96WluclN}BA=}wTEF+}B| z(O`5eA~C3!_Q0=!L?jFC^sTZY=&vwK<3<~`-C--QWK?X8WCXF-u}c6ZbxkvRwq}@= zU5i$4w}p6NNm@`D4nyu0_KbU%03h6IAL3fPSCNI{S7s`<-t}1pz>LK21%43%iwzQ^ zYze4icSd2?UfF;M0j2XdlR*j{qh~RaV-a7ij!d-kZX8lzEH+E7Wom{%0lX+5C|cIy zt-^D!$>ZCaeJ5`fZ_xM7=4imLhq2b;Lwev)CJ-WRBbyrmJ3$L@HL|u4y&W-7`YjGf zj%Uw>K{a}-o8qZn4th%==qxs@)MNW$6%gfjiV*#VbRk7@2gxIhV-Fmptv9RNgJMHom?wk%@?)n*F@SM*oHjE#igLY_rM z(GnPQsd`5dVT{;H6AF+Wnj9Grc_sd)!cwXdN2?v-CaOzSL5gmN=wFL#{tv~PK`1ID z(vrz)!;V(}Gpb3Rc0`smoc<}cD&SX*z<5tFzqAEQ13PIC)~&h|g9~gBAsg>PU>j;X zjB!eNW>tc#A5GK)Qg+H?_#-CNwfmIg_ z$q#$4#UMSzRwfC@V&4-FTFxNP?PhK}kFkfW{%}fhUgUIU1-4Qf3R0ugkZsy|XWbak z{Mf3frd*aNqX!uPCI+!i_=$OHO>C5(QWnipy+IG5hSf=JtFp!K6zVk-Ke7p&Z^?rw zq6jfn6Y-Z6bQLK(eS^N$)Zp@|oeS+O)z(mGUhQ-0I}5c_8Q+a5*s0-E1U(W5ZpJU# z=wih!x1IIrWF(D{oQP3JiOonjIBFV3CX)PR!Ii$b%{`FYEHU2QY1P&`AFS-r0rCpI zl=>Ut-WZLl`u_B-y(hHMy^fS}w+=Oer?1p>P2)R$uADursH?jNEdSwJ6MD`77ra3~@r^SlIItS;!bufZ;vE%xVK2SuP zl6@`y9QzH2qLDpF{vgA!=w8~LN-=UPy_OqPDx1ODUefAX{Dra&bA`OZiHq=N+B3jt zh{I@xjsf4Ep>&rI=xk>QQPgtc%js}NRZCJ)gtXA>DJ3#>Km=HE3uXi5DXe=3wJ4&o zRZ5rTNXGWTCmG;ND&VLG4V%4}cl7{*>0mj7OnsuKY%ajiQ^`7k^vM`gSR~Vpv^CY3 zG##<`&~v!w(_cu9kIZ&2_6CoqH1UNI-))TPTovXQ@Dt$=JxHhoe<17|A2PFi(?z4G-`*F4V~wI%web z2=d{u9NZJ5CnZsc@GY0^s?@1rBAn-W8k6#I0TB@WNRs|GYSY$JKfCKjp@quW1+HNHUVj? zPh&{a7|THdQ@W9(FkL5yk=?LKt;oVEYhKOUA!Zm`LN*IY+{sBaj@=)jYvuDm?)FIZ zud0H9@2oFZPXu=`~dtbJMS?l<|X`oqKY=! zy+lQ?41M1uXg0dR>FP6nbGHQ7Rt4=jC3!B@N5}%X_Dao(5Q8twY6W zz1-&jqH2b3M~-PegWoHg1uEFmCqg%Fw`SrC>GPL*9M|oFMVjMl`ilCY0XPn>juZjD9zGP6;@UVF6lj$Te_1uj;EE( z8ijzbWsbqpS_TF*UUVZJ`9{SwqahW!^-L>^4wv|Z9AE_eL!p+2E-G~3ww#fq**Va5 z@KdlHc*jKHr7Q{jJQzOBU+1S8%7ghLQlV^=_k%qs>6;Gi9-S2h!04h(lT)Wj1&StT&QFPrN=mwAUfn$etPq50suJ;d#AxOMhEWs4_Hgvm|-P* z9tQJyHTjS-f@nX|Iq|ZLzaD5Bf2c}po5GRqm_ivjPs=^cnW0P{56Ds=I(#-baXm^Q z2EzxlnatDBi$Np@NMHv|!^uQB%s3+A)A&RCOb{I|)$ZNhG2^6#rG2hcJc6VSvxGh7 zrl|}9d+0aLJc!K*9sXAG=C~*G%2EvacwFMVQo(WYy+_IZ!Z)z1*T24cdA3RuQdqtI z_Wf+tt0?ib;*xOma(o38n01aw{_|~>uWo?to`Jn?@$@CS0nbt09lv15n#t$B)$6C< z&lX&s7cShNW;W;fb*B8+NlLnGs3`O6O!@qmXQycCLb}@ZO@5teU%WU;Th4z!>b~Ic z^69Hn98%)V^naH3iu&bAi=~vBsXvwXnfm7!FHTXX*EblY*tEWGoqD~XQOnp_} uE9&RJo}}hXsi@0)Mg8KJQ`FQr+L`z|zgCg*?D_Zqe*ZtXD>L{O8UO%^xSV+a literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_5234d2d.pf_fragment b/pagefind/fragment/en_5234d2d.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..7f85d7fe4e2833327c9cc2b8c19f080fe9cc01c9 GIT binary patch literal 436 zcmV;l0ZaZLiwFP!00002|8hhJsn3rUM0n^sYTlwSG(y)>sNLS7gaca4q4 zLz>Nsch4A>{Sze@^RqqQXJbvTH`o|gmvvR|)j(DiDkp4^&{ddgBE8GsO#j#aS^vX| zbCs&fJ4VM+dA58IaUZl9jDrXpCr)f zzBg_I+#+mohGT9F1)hb#J}w!8$`fJey{jYgqV0f3AfVi`o{0=h*L!0420B0q4fzfd z(zOn)Niy*`kvrW9{s2$1lcbQm;Sl22`mITx4@H&y+dzjp-0XUeB^yHA#^5{!l;Scw zdzq`roF3Wh4DuWve!(6{7cf~;h{qK$nNo;n7BJah{M>dWW#&3+w(wojrIhr|qKxBe zQO5E1E2SH({osj9i)hY=t4W4Ydf~sPx~%*V+u{B$RgJNX6jZSvQ`I4BNs0|yylfXG z+uBvFkF`&Gg%-QHr`nZhO)aTp-%DnE{m^T&Xnm#Gc&Cb+F+Im?^RngrO1VJ zmdSGTq)GvA#DH)%fo5u<_E8}i9k_tWbPDS|Q-DQ?a|(EkR1O$GTR0uR*g@(O{Sv(z zSVi*vbo|ai2j~JRh_=l?gDjx;xGzArTjv?>QuFHkn0Ztf8l4po_YMrT4h_s^bjeA?I$GJdWLh2s8EVfdHj~&-tEeh=+o+j7hjio3IEk#C6|?(3|H~=;F@O!# lJc7T8U(rw3bn`I4UHX=hURS{gpwNv}IX4xU|L4hC(UySd!2~DMpq?UKLrh zkw$ThG4wb3d;OA*c5R$J1ay$Zdoyp|yk2k6`Djhde4Hp&(f`hyUu5jQ!=^| zVAo-UJr#(E7MP&dIfI6CZ^*Po0VQl;U3h?6ivRxnWiUG7Sim!+B7G^zTl4TngZ>e7 z3%6c|fvOlfJ+19GQHx>(a`5UkeEf7#-VCjFJ_J}x7oFr!CV{(skGCfIUb?seGbomh zgUaXSWlDVN(eOCgXwERu=$Q3xu$o)&+ny4`8xVmjaEZ2Xm9*8l^H(jb+Nxdz&Sn#h zEqwj_T?Xu^1Uq{24Stu*)m^x0fqG1uDc!)2L0nHc`*jd6_p*^HJ`dcwmXk#ydW}-S ziI+xafsJzsSQ?~?lF1{~EF=omITo%Vi*nI*D=iA7p&iaiHBOn zWOS9Fmh)rtoM-*xnb@J@3-KJ<3HjZW+%3-BQj>il-=Cfr=7*PBN>gR5X<`rzq6{sR za2Ll13JBvo2u%aRLQX&d5=tuJ&(#e)>;)6tCvBq&Mwe3;PF#pBbR6diJ>Y<&nkNg= zBecXxGW^_A(?jm;D5MYAnV(6y+R+oPwyQ@%mH97BR`7clr;HRKh7xF;A`AQim!O80 z;|K*i?@~`inXUDcf*bYcZegoPVWD`%IpueVk5uedQlrzFdF5fZpCnT{Mtsach@4Q# zb*VG{u{hdy&Ce353U2?yHoseT78ZxylIC_67N=7o_qDJ%E`^=$@Hw)tn>gn+{=2rO zr9qIB*&L46j3`bcBP0W!)@-!wLet00*&fU~Fa`VHYDZq9TH>U!;LCa&nhddVLNS=l w)zN;Gd3rkQdTiyQd%u=X>g&(y{_j~l=aagq@7MIAygBZUZx_TWHr@gN0ChyblK=n! literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_581d4d7.pf_fragment b/pagefind/fragment/en_581d4d7.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..468844fed298a586979dc758d7e687fc973ce58b GIT binary patch literal 885 zcmV-*1B(0~iwFP!00002|8-S=Z`(Ey{VF#BtCE71W4kK~1L@EeD^{$)fNl9J2n<>} zMI0znAStIt;P1Xi#`+OA{Ufn-ynFZV-5u4*d#;tKwpCd@X1&wdCR;eJ*|8~kA)S+l zg=fuW_^g}{i%evtHGxfl=j@=M&wwF`zgBh>8m2nhDM1h%Tf|Vy9F(~yNkFMoP}UT* ze7mOIA+V<#4?YF`i|83P)x9aBD}vgcGH^`zC#%#d9LUyG&l%W`os7qx5Gc(Pk%GPi zQXw8C6leSUCZVNcL9*-g;fWzofH5TxmROd}P>V>Z9EaW+KPxzeRkWA7XP9Lm4<5c& zNGR!E?b*zW|5B5&lYx|{&e^@HxDsIcLIPvW8`Ep8eDf?>)D6)i--sk#P-U;B(+BE3 z*S)5P1_TbaC&P$DQKM|ZN#kql+9=o1F$LwwLlMoBrh+;fXFy2}U@!Mkv7lN`II2w* zz*O3bQGu-FPQ@-2^d}#vW{H~EZ|I-Ky6~n{uIyDvjhf0F2%Je69cJ=<)Y?9vXzMUB zC>MQAqNEmr%Ovcei!bQ!lcv3?;`BoXmAWvb{6RKC5;%_25*6mQ3x~z29Yri1713*w zp0-pw+fwdOzHd}s&|>klC9@*qG?>2KVbCJo%Jw@5t*}qqVzvSobh{L^7W7uoJ3;U7 z1bw6H5BT?*R^#)}w4&?lYq}D2nX7iF@$ z|3HBrRA}Nfc3i4jm2pv!1yw}){0;L9Cpl~b>Om-`-XTBT(j%#ALy*zPmN%4t)T(3< zz?HM1^%Wh($z?UV{APE9!|IpGVLdv0YOq>rLP<_{=b|MJBK^cd<8KiG&P;%y4`4Fa zWJr(fKUgwbHmgeYSZ#imc@z@stG>G(Z0!WH^?l#Dc^3_Axu{7Mz+Ta8-q;ZLl4l z16p?$EHZ7&bk$^=tD~5QS86}RH(ZA)e*BC)i(W3Dhd1jXx{n{5Dg5U2ItyJN?~eZi L8XB3NA_o8fZw0Vw literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_58fa83c.pf_fragment b/pagefind/fragment/en_58fa83c.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..13c88141e5389ab41c4ef6bdd6a8ce769b78a4ed GIT binary patch literal 344 zcmV-e0jK^SiwFP!00002|7DTOYQr!PMSo?`#%&RHUoHe2zV@_QCtWqD({#ar;)yr z!xuGvPk`2fLK}}@n3@PG_y(+rY2xh}wnwH2tC$w$@M-qs0EaGkH3AX>aU1%&qr=!c z7}kUED9IWbFc3J;0ydYGWn@CTVc*cw#?FO7d5Jk7SU8;jtWJJQ>GN#PAgXP zd^?TeD3!vXFjVAY34D`cjmiKM;EKUWU_jXfX0tgwZw+d=*Cdm`U4h_nkT)VVTnb1% zUIzj$9K{W*K|cS&)WpEbQnp;IU@IFdpleJmOCekMjav)OV9m;gw3tH3Q1LZpkSkdM zvb5-_4OR)OflFkiw)n1UG+CCZ8m@?eOL zd_gXim$$-1;u20Ff$s(srbs@iz9n|GYAWijUbt%SDQy(}2s5%ze+xIgWjcb)9dBRz z4=u9%V7miHvbKg-hFR=#Qt=fhfq`Y<8X8SqWCLc`09I=G z|GMxKO``-nczJ)Lc>#g#VA`N9X!zeBD|0Y1jkW`7qkTi{tk*W!_nGGHdc&%^Bza!d zlAg^6+mxkeoG6wtUGPa_Cr=y5xh~)e9$^Q9CUyan8>UJwCNZ?gSA|)??BqO#E)Er6 znbw2+#W;JXWMhW#xywJnGVu@d$ZE!r!_{ZV6N@^A>D1n+Lr3#t*!3Q4>`h;m*xMPE z9vXCI-q)z^rB&#<;1gaL-CsN+hC}BtwC)-g>|KmZSS{LityI}Em5p6^r>B>3l=ITA zjcBp!;)qrVqf=zKDRI9MBg!z57SfhI?jkI)@*A_55hc&)v^27&v%yW+q;xN3%Iug# zi<2%MA~U}3p#|n9K=&JVg#I)}7xNz6*fku`_kXVed3k_5>yh<-Wd``|FcvuGXRnbc q_u@Xf2Nh_BuX02*JDtDAg#Hx;lIwk7fImC$p1MC9L;0QI1^@uLiB^ID literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_5ad39f4.pf_fragment b/pagefind/fragment/en_5ad39f4.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..50caf805184a0de11414a3c8bb8e1a5b8dd92bdd GIT binary patch literal 504 zcmVS=l}!Eva?ZI8aCw@ij+Z@3J~M}9uwFGP7-5>q+`vib7XR&Wq`8 zFGWqP!b^mutLXLKivUq3D{aKjcY-Ra`vWN_L0jkHwPf3bH`C^g!wH4TW-6|-m_F>~ uxkRpC4jLsDe9}0c&jovOMK2!@>^2_RiT*r}dT6{d^}UKB`Px_-D(nH;d5|p1!SKivOXKG>t{J>ngW(&;NI&@hpT^XU z<6Zm&8L)-+uExSkB|~WzDcB|tq)jOCiZ#x#vZfr1U(#2`E)pEc?8}&Awfvl*OQw!* zGK9PO%e?yLT^sM=&qIBKZF)Q654~&xjn}WxX%GB}EbCWijQTm&^$=W6dy}A-<@An! zQ!-6cbTeu^aNicAr38;+!;GTFVhz5!zI|`9b98E)g|F z$&rXAR&;-j1sA0)O4oO;&w?td$D3ZRnAIqbw$U{lNBTQ^0i3E_A^YPN`Lavy!O9%2 p=#q4t(AU>61Ha6{-9H=iJ$cXr003hU^=tqD literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_5cc01d2.pf_fragment b/pagefind/fragment/en_5cc01d2.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..1b0239ff241c35f9811c5e346b622c3d5b44ad31 GIT binary patch literal 407 zcmV;I0cidoiwFP!00002|6P(#Z`&{o#lOmfE=dN%ZnmKq0(6%GyKDn?SWd%WC=wlO zktIW-`)7f_`{;CTlHN%A{YXC1z1~yff~~EwM>Qm`HmXY0P@-U{in~8#xbpFllKV@Q zDwK(VDX{3~YKi+89w;%i_jo~Ypyv#ZIEi3%7TNmaEq2dL8QUy#uelT80(6*LyrH+5 zn!!)i%sN<|tjvaHPHs0aO${cc3;PmZVgfzsuJ=@+C2c9?60Yl`OnV2NQKLz*!y;*` zbL$o*#8_q|jXNCiJzCmev5$69;K#IuWO)dZji}4n`ZDPistR|Xh3SMT(4STw@w251 zA(|l=b}_(ZXyjHFF$1HKMeDND{a3NS6ypUBQ@2CO@!Q1Si}&SfRm#gh#$;;~hw1Te z-xsQJp2e5i9LGX+#9AW7jy+u*N69xGjLZ|^ucIPQ-OKsfwe)mWqMBnbG1JrKS*7Bm z(bLjub2Ao~taT4F+)~45`1QnB^rvgO{V>DB^dFq*?f>*lu5ZTQ<3HH)!&#*Q000k` B&tU)n literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_5d6871c.pf_fragment b/pagefind/fragment/en_5d6871c.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..4c455a79faa04dedf77275e6756bdd1478a1d15a GIT binary patch literal 325 zcmV-L0lNMliwFP!00002|DBOdPQx$|g|9O5CV--(0U<%8vf&0uT~$>ywI_{{XO&^J;#~0WhCuZg2;s3GFZO1Oa1E7Zr zYR4@k4i)-FCt0Me58x1%Fo4CDN=QC1NulEdxe|)SB8BlR+p+RdxOTXKDmy*u&fz`e zIV|7ii#W{Y?L_?DPqQq>b6}?`$^DejbCHT#n?TNsau`$5QovY=po5`Hf+8-^%7!P^ zdJtr&{Ry}!qM=r?sseYh4)iq#A6vr`gJvtr#hCsEmEK>-hU#!7=j3nb*IT-Iy1@PP XJy&{lZm(ofjGOTr7sLt{K>`2(zlWVl literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_61533e6.pf_fragment b/pagefind/fragment/en_61533e6.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..0e067f221fc0f33db1d2e7746149bc6671629b5e GIT binary patch literal 1075 zcmV-31kC#%iwFP!00002|BY4KZrer>{gnZMf_A}BwiOsH0TsQXNYRG?jnRi7uvg?z z+?eDNyGz@Gqkr$2T~d-=yUmM4a_4%^nb|>YxYm7jU6s{iGTJsNl7;1(E%zla%=$Bz zelh6sc9CRBX?oAShmCy6={!&I@;mMa>p8Q6Nwj%sT{(t7K0 za^;XYr{DD*_Xi6+RivoZ&XcL>mbZ>{AEHNtj4b=n_6}A(-_LIM+Bb(nHX*1u=cK#A zSWn-Qa&#T*Nv*1sYjm0u8bYR8yM|WuNWJQ~p!8?uT$<56>rLYe`Yt19MqA2Jt8N)b zYpcpzcokHu)^SEVy3PfY6N#14$5cYWFpZw+r&C%iX!XOCWR3{G_kc{7$}`ntUwUo& zoIaoliMIblB_Kj3L#ix!08T*pxu3Ks?bo{XY)RS8*nuqxr-4`7ntL!}EOo{*TJMII zA0}(vZ>TjJUDBGj1|&Ew#{wbM#LiJ6u#3pbU~}tip~VkcT!r#k$M)^gAsV&o#uPQW6mktRqs^I zFTj`6FKUbre>aFUI%qiv>m{(WNDzP>jLd`vzFQhYaCFI~g1=~ZP*x7fZwIDM`LYqL zF(6=~Lx%O1KH%uD(&_T zEuj+yL4l$WF?LcTGFnKiZP$=BlC>>50PhgnXwh|m^0x;SBvElE)Z%++WbS@%UW#Jq z2B~gB&YO__X38d=$Z;h7W}kI0r&&p@5hX!L8av0<3M#sCD0-e!RDk?BVT}~jkKLLr zSU(KIhP~MT%3kT#oq!Engb1exMNP_+vzK&-rjMXqbE_dSH?;=lPMtg%N}4 z$&LV|i=b(bK^WUg@JzWwDbi6*C&Gltc#iRf_Fp8J6e$yATFx<-Vvc39LXuGBskF-2 zJg-;jW#|KyJ>IQU6)QwZm5~uSj-Ouj{4hXj97Iy25eG@L3%|(n)4sJRt3A}6+5*v% zv3CDQv-4V*;sipE7VjUX>5(~5x;)E5YtqIPU@M^a#!up&Z-x*>)KySG7=b<`(2pDi zn`6_ZvZ0?T;;4qWEB-W_X@MHql~7k9pQSbwDYXSNREO8)S$KH{TPz^QRe5i0bq(s} zwp^ZHWJ%n!E-4;&S%UdfcuKtXEl<~Jg72y?8zV*^9}{l5iKZf8Tshf?huBrg^)sCv4d_{}ubyE&sIc<;CvP?jIvSvi$@J005Si5as{? literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_63f987d.pf_fragment b/pagefind/fragment/en_63f987d.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..121b5290ddcabab1b8da18c1d1226386f100ec60 GIT binary patch literal 749 zcmVQ?1w%Yz9i5{iMXjo_B4<`cn?sR4B@r(3kX-a0wm=S|4%D*LUBh-krO0Of%`GGkK7guNBPfV1YN|*> z>&Yc{$6C(yBNGQlzeUg%mCJ1jpVOaTzqt}vQvypH77E;*j&^Om-jwhGq_{*K$=4lK zJ!G(uS*1L3v8AA-w%+5Z(pJUDPB3<~oeR@Uz?WUyST5UYaWeUYRiVyXZh!Bu=EktO zc}O>f3;)iCP1lT_l5j79BZ+vM&LvIebN!W|&L~q8{4UB2a0kWGu{&xa_jXweu3c-iu!<+tj=BvecN{)`!$F`&O=$g@`==W;n-Zc1$zNF%{J^2%@o50x@wj zu-CgsCa+}X3r;z>vxF2fb~1Vr9>(y5MK1n_M&jZ~)PerV z)F&Ud!#&0%!WJEMZwc>7o`18_KFg}Sxw>5x6V*_uzs0s|q^JM0%aFANVF=7s7gp zS;dWEvNo2(Hzr|52xd#cF1;jKUo(Yg-5zN0SE@RV6ue^6Fql&)y@p~E8naw%Y#&2a+v6b*%f|!+nJg*8=v;&vXORZGoO_^M8l(y^} z#tpk-g;r}e)ja2>l+%&%T`|%$<6avU~hLIbk2vwf9(|s!DAUktMz6UIA|iy;#wUg=5L+XRr&8 zr}Q{?U*>`6Qf`*)Z7H%FrW)(SzsYYY2l5zUW|hl^EyYb#NGgi6GDaesP#-d9JJqn8 zT5bQrE?_b!d@8bB)nC8-+p-ewB-v84Qc((q=%(zg)LBz;&Dy#&U>3~W$jycbE_cX| zHp#@##Hd^riSbKjK?^|}EeyHcJFBU^6&oZtjIzDrK$cJ?EvSt3bwjn5vhNFLjsOX2 z%yZ-d^#QH8R~$zf0Yj-9xFqA9%#2r6;v{6K*&MD@Xazw6RT1x0+De4omT;%j+{o*i z+eV8vk?;0Qyg!iDL9gW=!`V}^7YUK3NVJywZAf7D9*?nQ$vUf=oB|ZtW6_fOxi@Dd zAwk+mv@&AgvK}RHtY#_9lJr};u%cCxlJo-QPh@Snc=bJ*{~c8b?I7|xn=~}Dk1S(9eZe=d=2BXr`L+HEdi zXl2q!Ps$l#``&YIa)rGTqV5E{qlSU>r;kGUj@Q>B6tZ&^jiC^)*gvS|){W(E5bT^q zZJ|Y9wG|tS6}}@%RAqsYH*^CX?yJ+3s;P1er5oY$d9&-9%=v}{!}?!AxJGQrbjX2V z63Joa#b?<>!Azptom{dci5gD^WEYJr*$l>wrNG|*hTVOR4t>TVc$N}V5J zvvH+Pa#sq?6%@ccGUJw%+Lppi?a`===68eEX9ST2>)ZCfpA@Zsdf)(UuUE|}`;IE2 z;7tX86A0P2N>V35%*}4SQq|yXe*pX%TIt3E6be>jEXpT1lzOGdNjy#~s#6V-zV!r) zNAg>Y74|xROIG(3aPLXzA$k_=!L)6w3Pj*tnhJv*lu2JDf44) zje~cHw@^rmN}E9w7SYsXi@%4({2xPqUmLwD?Cz!~lq<9Ps2W zmii*;Z}EZRw1Ig0GKbBM*gw;j5#7fn3qVW<3Cr z{mezD(Cy5p(Z1q9N)Dse4k2if3F*O2n`jUI#hagn!q+m0JRQREeM zvKDRApb}M)?k_zpR}k}CFfxgA@d#0qMaY(RorLi}?B3FbN#Fgv>mL{-hl5&S9ZF4o z7F?dcJ72QDA&6+TJ{XSGkbh|Wlh3H}1VoU_+{c(Ij287)uq)Rv=i-QtEuQjk`GA(* zEv=G7*4JK!@p4Ji4Lh(cRo*QN*jsK%j}Aze*~tTX?EmlSv8ZY=Wm$)D+M zKX}MNJybHNfCb-!vKD!G(Nbm!v zLgNkn#L{OgBp06Xe(HAKrz@+P%8;|KU;a}KbpQJ0zpmUh z8@>%nDxV4j>;c*?X8uC&aWwZxaSgRf+sj7S+g&%pZuihvD#fk)R_XjILvrEbeSUiS zI++x*!s>1&%e(tzf-%YQYhtCXMDJ>Tf^R?l{tQ0S+&7$>KlE| zWKyZjt&5Z8>3!1Y&E;)mE=6HG=I&B|!2Wv3UOtQ54c+{A>_3Iaj&nXAu`VJjU8k9j z^)fv6SYIv<9UE;71=o`@ycitGd-j;T(0%viy=^~q@)nEvWAXy}+Lw3Ue(2;qd;aQ> zulD3T$p8BJBl;kbk5S>r-Q3&LZ2y*HbjFKAXWWKe^B9G5Onvv*ccSiyL)+-!gcql$ zhrGbUUerl^)4l0Qcr|~59~`m{Dn9In!NxT@;b3OQtIU1LW9U4P`0~~1A&J5d>tok% pJ8^>nxW8x|008oC<5&Oy literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_69ec4c7.pf_fragment b/pagefind/fragment/en_69ec4c7.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..7ab24b4eb9e4945dac03453cda68760efbc8e047 GIT binary patch literal 799 zcmV+)1K|80iwFP!00002|CLqYYTGanewD)vx(?S#oHktx8;t!J`#08={U{+-?Q^V6 zk%J^B^+I5;vDe#^>?GN-osy=5)<~!CzWa1{x-8ioGcMCvnxvbcR3f+z1`0D&C=(no zrC2o(T$@1<21y|eN<$E9iQuC`W)K+IEv&i8K`$}k8Bc&4T<8em(G@&Y1~uGj3KhX8 zzCuYZ+Aw88K$(WHVxq(lm`urxOVIomfSju$HPa>E_R^sdNDGUa1HwLa6`t5U)?+-TN2d zxP|c};T-6`dbQ!(`NE6`HH)~;Bqdgr_{V$P|=9cxUv}6YpE@Oq4N4de?8J8Lt9%9JzOI% zW!H`!LG(52Vy8uiHgrXD6h6`8y3uwpQ5+Z6ZQh+Wk~8u0VwZHv+J#Hpp2GUU^o25# z!Bx5wdmwMl(*}M(C^gwB>DKNa^yjPt;#Pk14v3C!A%yj#cO;NhxLYwgk|{oRDn{&y zpA5J{Re8GZE$L#Lt-tAJYuEOF+6Tx|2oJF1_~H@6mAB0bSH6I=CSFr3XxD7_SSJ&XS_E z^EiGx41le(;YMIRumiF)ndF59-E9ICxbWjV9}yu>X*Dy&lGX+v zn=wy2Q6$VZL2y0XhF!muuNuc3Gt)Zm#(vNHvhSUb8|TvgHniTi^|tlA+VhMXPraKd zt@};a)^dzSSBK);d)nIeZ|>()pCcYV%VEoYMm66jYNtz|?tJnhx--{X2T7ZO(C5DV dAMP{T-^T*f@23|g9#6K@?LSU`MCwNf000vuhhqQ$ literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_6a6bc2e.pf_fragment b/pagefind/fragment/en_6a6bc2e.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..ddb8f8468a2c499d714d584a5fd605f311ac3c3b GIT binary patch literal 457 zcmV;)0XF_0iwFP!00002|5cJri`y^|hX2Z-OWIZl0mvgt}z5W^ZRI#U!o9= zcO)ILYD|{!=NbSyFeE!LE`^yaVe@4J|IZ{NJVzc?!cX%eX90MXp;*A!4@gV!F8v}w zhtz0>Q}U2WUZ6E(yaUy{CIuz@cJ@5+SFJK3j&up%?FrA31=I%@0lCL9PtK!)IT(j_ zTG(_)9|%4HM%aT2zJpc37Na(+GEL{c%0vw{Y~cb9J6XZ%7Y1wGs(_O;2Tc`h?mibV z6tm(7#<-|I-d6tw-_sI*$o1VgFrw}F;(7-D=FEb)zh?s0Yd#a(>iyr$tDX$$smDq4 zr_GnAPGBOW%}UspBl003#V9X8LH!L>nZ|2y%2<*iis~{HqLYLi2{L5m>?Oe^bdB~&x4j5yWp_23-f&CPaN%X5X!OLw~)c^}_`B$-guGJU(agY1j>Kerv~8PXhn|R_NTv literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_6c2392f.pf_fragment b/pagefind/fragment/en_6c2392f.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..26797bda9b17adda3a28363a1c2cd7e4f5540ca5 GIT binary patch literal 518 zcmV+h0{Q(PiwFP!00002|CLk0j@mE~{gqKJ3so8lth5r+_Oj>p(sHP(3JvyzxN_{s z9z!YO-#ZB;gsm!dZ}!Z4&-2DJ4eqEkPH(i*rz{1Vt+H95k^(tJvoblw#=9BX10Lfn z%QNL2lVibMVgaE8F4a?FZRnS^?p!#1(_>NK|`f>b8kN*(1PN8-NkG`gt8+$VC zke>$B(C@#1(?N4oa4$PK0j@xLzg@us&KK;LF>Vlkjg)ad_@Fn+r*@*}i)Egb#xjMN ztxo4WtBFxg85_1VjC>{;bgJ?#?E5JrOZ8s99|TYWg^ zW2QFyo?21KH)_8pcjWmicD3xusoka3uh>WBPS|?<5|d&Ogq704?|- Ir8)!v0IX{B>Hq)$ literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_7211a31.pf_fragment b/pagefind/fragment/en_7211a31.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..c7dfc4220218d3afdf7d24ea638a0f4d871adee2 GIT binary patch literal 400 zcmV;B0dM{viwFP!00002|8-JdOCvE5|0+XXw6JWicizJl_C#opD~J#33L>(^WY!JD zq$HE-Qu^JUw63k9ZTkRtL$1;_GPvgp?0af_t7I(J4RI6Z~C zd$?s8#e}N!J|d9cje>W!hqy##TB8Pj@_yhqapBmI(V1?Z+gXg~rfjbtLG?F-O64^| zRaJ1bxVSkxU(A}t?C8+rw-$>pBzCT6^M7ac`E^rY%`Zz1;@Jn?D4%i`zyB1XHI{fq zF&X literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_7470966.pf_fragment b/pagefind/fragment/en_7470966.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..449c7334f71dcb687bfe4f6761b02ee078c64590 GIT binary patch literal 427 zcmV;c0aX4UiwFP!00002|8=s8oJ1xBRfFx0 zAu@acERxyyBBH`%?4pM9+0sVaWZ)5=p$Cs0wXpb!(OJK!;7s;lxP{enT|o*t%CQ_I z;aDB2EAkyvx&byfa)-a^FZHh>-)p_^1A*e5ckT|Ydw9BEo#gsk0bA~iuxsO}Aqc``od3cBOcyL$x V=@MSa)pB?l{s6FsSa<;g007D`(X9Xg literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_7493951.pf_fragment b/pagefind/fragment/en_7493951.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..f477c10cdcd4edc913ef7efdd191a9b8ad5098f1 GIT binary patch literal 383 zcmV-_0f7D=iwFP!00002|9z4{ZsRZvMXy3=Vkes$#zTud`i#hJHg?!uc(fqwmVXcVC0&Q@32&*f89%3fMc-Z1 d?Y|Q|j9+7>UyjR}Tr3W6hcBaSa1+1+008D2u&4k4 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_76f1c41.pf_fragment b/pagefind/fragment/en_76f1c41.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..8b05d55e2eccee2e2b79b8185fdc6f11de8e061f GIT binary patch literal 376 zcmV-;0f+t{iwFP!00002|80>$Z`&{oh5yQfF5U*iZWq)zjLG`5lm^Wm{?b(7ush&+VoG>QGO@s~VF<~xfGy6%In3mB zZyW90gtQ5JN=)XaZ#{=kCW!bprNGZ1;yy6?U~D^qJHpvs$O~%OYIj2m*nS9+@eMkm zMjJzqENY`uXR`uzA=AIiOO8wyqAXvF+1CPPiSIu!W6f4u63cyeqoYa3hf}dFEZpNA zv=u8H=j(SWJYqRvk(>St(bP>C*Rvk>xoWLrib+)>s(NBAkz&h^u4h-0*1qY&+H;&0 zIqI*TbUTr=MxvU-ATiVbn^*F1q0wxESJlIk-($vJUb&81e&^mi`#|q@AMtMgN{_3v W@A%X0d57+o)A9ld5JfC;0ssJit+$B) literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_77d65a4.pf_fragment b/pagefind/fragment/en_77d65a4.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..61725f68c478b2b8fecd5282e1aa4587889f9929 GIT binary patch literal 426 zcmV;b0agAViwFP!00002|80^@Z`&{ohW`qoOSZwVlNA911KnYlopxJKO%W&(6$#Tv zAW_K*!~cDfoi<6)n@GOTOA6$XA5a-DcT&iK3JWDCX} zLnQbHyh!HB7m-Vzv{|%JzFTaRNg5vE83yp&VGoPnJX+%y4V=*&H1)7rt{X@pM^Vc` zAg|T2xgtM#N;kmfMsE3E{Gk35L#A8*hfnn{Z^D0<%PD~kg4Z>(emOR`m^7z1PNSkL_kKrr^yZ${4{va;$9AQk UF5#72EytJfKSMp4K>h*%0DCmWy8r+H literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_77fcc9a.pf_fragment b/pagefind/fragment/en_77fcc9a.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..da8a1aebb1bf3584295d4c8c0cc988aa697b88c3 GIT binary patch literal 370 zcmV-&0ge72iwFP!00002|9w)+Zo)7S{FRk2K!uVER*H&Ww_2Xc`wfl7QVUfUyz zq1VwoOflIdVDJD}BU8z>$Jq?HLok*gnDt78Wd^MeCc>yNLN=x#WrKTF)z%Tb0QZoC zbhd(tqK7ICdRv1&Y4u2(0R5xw{un@@lY{Rr13s}7C>%_(njXbnW4t&av^0F zK2;)AIoUeYgvZh4gqF4ik1?>-YdgOe3$^dnB}%%f`$HOumt%4H)@z%1Z8!1e`n)N# Qto?2O0aPbYP6z`402EfMSpWb4 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_7850e44.pf_fragment b/pagefind/fragment/en_7850e44.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..e0419e30be42e2be8ffae87faa5cb1d800e07705 GIT binary patch literal 448 zcmV;x0YCm9iwFP!00002|6NkeZqzUkewC3gT_8%Jh!z%=3lcYO^n}oA5>Ga69XlG2 z7gnp4cnw~UCt=)dx-GZQp6~nScfu|8F4&Fj?7?LAW^Ed#o|r;MO_!PX&4etmZA@jl z7=(f-Y5uF>GZP8{!u+A2&!H0+Lk(A#(C&p2+$K#^!`Enu1Ki;bQ^#%+u#|*zCz)N? z!bljBI`}9MdkyZ$$B8&q;9bkejuc|B&@+zoGxELCS+jc&agyTEM}{1b_m6cXkO2h* z?@O6UNuD6Kcht!oDNUh!;3Jt5*wFWm% zkp*4?CfI1nafAy-i)nBdb;+6p&|0{G)x>d1Yd8R|A>^?o{s`>?;rIe>KEVU0MtF5X z?GukLZb#~~RJ+ozYIb|4>UyE94#oAd7&cAuysmYrI!C+dVlI2V{!p3TdC{Sp_2F2V zkpvYPapLK5??xjSx*-7`POOf4wyT0k&5UBAs>cVY^#4zWwL>jPQ9_@z{E>cRx@#GSYQlAMn@k`#7^ z;ee(i&+^d~>ca>&q<8|yJw3qhk8txkvRzu{1g{4&vm07gI&JeIKfa1Yy~Qig|Yl}h*|glY#>~{4NA*%$^q|So^Xb5>K!xr(s?VUaw1={K4A3sZuu#|NW|P4F@I3 zZhh(t*OH>0oU#U*m&4f;#>%Hb_jqy?s6B6wUs+17?X=Ofx3kjki>4)h$llT2o{}(tEKyM)f008xB+C2aO literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_7e69ae4.pf_fragment b/pagefind/fragment/en_7e69ae4.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..7d6a38bf3ba9b7d028186ee7cc6c674886cd8f19 GIT binary patch literal 509 zcmVr^?p?mRLkyl9 zEaS+sdD48fVW@%cF>wcDuhvLTU*Zxn;?d`pW9s%%Zm5dzf&F0xHpKyENg0)UH*0`z zjPJ&}+`|(rU=KkJIEUF!mAnfx30riVp61X!e3EdGw~B8n=SlwaefBxULR0+lm|w!G zsg1v@juI?9eF58?irz!p*8O75$`Yt5NEnWdyv5bhf>-(kT=^=tnIFLbGY#|?iuZzt%-!}9PK$lg$5y8{3K!Fl-4 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_8193822.pf_fragment b/pagefind/fragment/en_8193822.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..8e8952fc654d83fac93e23ad352db44685fda312 GIT binary patch literal 496 zcmVUd;L8e)$p76uy3g?l|o&`28}0 zSuysrjKkA-OZU|4r6AlsHZ%p$9%|j_Ku@96HKD<)=kJ2 zr`Wt$r?!%CN)ExS)OA4T+2(jk7(Gf*#exns4#{HF5JpzEqkbP5*4XsHt8y~bimGj} zE!6@4UIR(T+Dg$yiEXk|G8HO)7?c&3VN_m|d81z4s;l`Rj$M35_4DO8D)a0u>2=ei m{Au!Ow3vT+%VOB&tl#Bm^j{oq?3RnupVL1zbUN7U0{{T$|NH>} literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_82b37ce.pf_fragment b/pagefind/fragment/en_82b37ce.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..c825fb09e2147dfbf23b29899c68d3ad3cf92e7c GIT binary patch literal 323 zcmV-J0lfYniwFP!00002|9z3cZo)7SM1N)FOQ4DpP^(fQwWq4*UN|8XnRtyYId){P zX%Wi5*J%kM9C{mj=Z&q|mLE`RD=JZoGmGA^H7h+z^k{1=>C~bqb@+(3Chcs=a#lM_ zXek-T`vTsP&^Ov5XbBvS+{7e9lB4H&1^W|WfK5ox7VybK0Bx^!ZUr2W(s}QkL2iN2 z7;O)5avNa028k!dNRz=yjVw*Mt(EJo z+cQIh&0p1OnNqb#sv_4WP53=sLAo=p=D%{i=<-`y=;MGZlr-YQMkesf6jqM|8~e45 V@aA$H$>pNkbw4S^Quk8=002C>n*;y= literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_8630d57.pf_fragment b/pagefind/fragment/en_8630d57.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..00df58f19cace94fa0688c42281e2652e21c1c65 GIT binary patch literal 347 zcmV-h0i^yPiwFP!00002|5cIEOT#b_#{ZQgFIB0nI&nDA2L+jr3eyLXlC{@0nC513 zt&Y+E-L$o92YI-B_xyRF<{u1uC>X|@-Y)nXxHi#b{}DaMYiGMktcYm7xGQZkH& zy{VHTcqCJ!WsuNYfeE@6q|*8R)qDo)9ixMl^G`+aM7EUdfD43;s?iLfG7}JT=?X*>D@}ag724f1W9dfYORGUIMm{?Kw=7AiYSX*E2}Q0n zqjh4jZ$eQbOJDV=4(STtkR~mtb$#pwYApNki%UOHWxh(7w!UWkJuJmvHKme$d}49Y tgi|n6^*|Pw^GF`{bVSdO>0&m(RlCfQUj1K3^0xVG{s4bHZ7Ey=001}pr!xQm literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_866f716.pf_fragment b/pagefind/fragment/en_866f716.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..6f2b3efd24d015c6a99df2dec7cdfa9337cd9e1d GIT binary patch literal 524 zcmV+n0`vVJiwFP!00002|AkY{j?*v@ew9zY6p)oPMS`W$B5{EWr$x(ws;b<0l9)~G z$ac0=Ro|U)yKUNnv^RTZz8{ZgdR0?ptX}C-@5JC+F&DX~iagnpa^=0+=Bn)*wWerF z)#gHq(%DEha_MCz!w=_UfU-Ei;3~NFZz@ylqORRyy@f*WT~9u4GZc3pI20-1F|eNu z-^?@F{}Wlw(8RJ<I3RKP`ut{TU2~TnGECEZK z7om-b%>j6lOT|olZ9l^oE;3%rgB{l=2dd?puZNBs!}YD(1Z>@qloJVzWpAM*t63b* zYw{cmk(5sFOQM=8HMESrF3a$hZChscNq>AmpyMkK{HIQ2FkPPl@0bTGRNi%%c%@Zn z%p?QQ(86G}XndkfJgzPf`%`-Cl~0qT-W?Cbo1l_JZ@umW@lri=CjBy5n**1rr<1 zr&V-4pCkRbT^f$Iu2kvg#C*D!mw0WSPXrBBaU?kJ%N4q~fj93@=pk*@2!DLJUO;F2 O<^C^h_~oe!1ONbA(g6Vg literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_88b4125.pf_fragment b/pagefind/fragment/en_88b4125.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..59930a7d23df4998234213021f6900c3d6d2353a GIT binary patch literal 438 zcmV;n0ZINJiwFP!00002|80`NZrd;nhF^uyCCOmeEw)1&pu229PumV#b{U31k?2UP zEgBM?EC~GWqn$c-hMq);{6CT+8@dzwwN^#M5+eqK1?~Qz;iA^fPhGW` z3Y95CfibWIUY~RLq8p$CMqr2Vf~N#jf(~#28khzi z7+qC6ZC;>kgJDl0gNWS5kR&MJaa0{WJCN8R>tQGbq^Jh1yhLjEZt#rQk(R>`H%sCZ z?1yr8#BM?jHAyQ_QUuh-fpi^DIrzGv$nXwyf-RJhYFI>Vb#i`@gM3e7h#H>Y3^iF? z!(vZ%kwHU8jB-nDkXr}a{Q7~*sI%9sPaiKv&a{zE;wPPOxmrO{^sX!N`P=6i^84oN z;tk?*AZ2|Qt6n{v|AG2rMjB3G$)JxE?bcA+&-&p*rb=Hi#-!HgE>ktK7E7_`3g^3^ z#HoXE)JOh0E3B}-tc$xBsJCKmnHsSf|K6;TJXK_LKO(ih>$17n`opMpSn{MEH|s|H ga4UB2M{V1$-z46=UMJ=KUH7~D2P^G}sulwP0PWn;!2kdN literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_8b83c0e.pf_fragment b/pagefind/fragment/en_8b83c0e.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..86a7278d60c7207d214eb2321c19ec106b2df319 GIT binary patch literal 457 zcmV;)0XF_0iwFP!00002|DBS-j?*v@hF|5EF9j4OZP6l#v|KrH0rs@2A`?%VkrF#N zPD@lp;vslKo`i9`+hlLMdx^##e}8^^{!Z_yVrvRhnv)uQqjHsbs>qWqDbwETF&ixZ z8YokVDxD2vgB-f-rT9jzI}ps!HC*aIJu2^7Xp1wOVsrBeKgZa(>*Z%DzVLzU^#EK2 z4%GJe_vf$d8n`a7v$|=<1RB*~%eY2xFciqQYzd(z_FyAkIE-i1Qy9F6!qV|U`pBVn zLlD(*VKBvynr2<&#F}*hou{7s;Vcg4dCy`(3Pb*CG6lDt^8xRmdlZ+uuDmw7uX&Y1 z-lq?!xUX@Gdz@f(OF33wwQtz25*&&5b;z+<-z4bW;LF%{CF$6mk{S7~o7OFn?RG(U zc|`wOVuvEV%nQJBlx~RG+N`&U zs<@G1_bNY4iE1fmsgw-6p=k!o zGJTb=r({VQK0Kl|RbfW2F@8dScuLprAK@WpeWvdomNWTr+D-of6woxUeFFdhs7vCR literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_8ed909e.pf_fragment b/pagefind/fragment/en_8ed909e.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..64de6fead72c187133b9534e00a1434dec8012ac GIT binary patch literal 475 zcmV<10VMt(iwFP!00002|8-J9Zrd;r{K|kAw}l|Z>7^BrUV7-IrvSM$2n?EBNvtW- zAXjk(Lw_&H+OZv=H|}y~cDS6q?5Q(OZ?w`!F$F7H(FE!!kWq#Dk4;@~H%v89tjXGqt0 zB%Xr1u|1@Bg9pNn=5%o?jK-_9Q!<*Xx7nfaNf&ozTtUGUNt5=}Qvj2-X-mb^DBTP; zV^NZvg-@$VcFefMYd-@{6W;1L_0O?j7i--~D9F&^fG literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_8f702de.pf_fragment b/pagefind/fragment/en_8f702de.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..1f764f190cc4dbe824a54c4cb20f75c6bd7223ce GIT binary patch literal 618 zcmV-w0+szAiwFP!00002|AkatZrd;nz6#-&beo|h>wY=|9k8ceV0|hIL$T>9h?PBO|)Vizs27n>r#kD~ZdYULJdvZ_>-I%b_WS&=P0*67hzxOAJJSjFWI z`>@RNta3J@jf_bi0pBr#GzQWNYVR757Df&z#MblzZohnnO&>A9L*UJrM0>OoFb9vZ z^L9w&YM}V{_n$DPlvY8d$tbR7@{XB7avW+SBZTP5ZoyE90;p-7kMK6d%dx11mr4dr z3jutB5W!2hha*_oV3DGW99nlkU%+~`%9%uHRWTuq+tGx%W5_87wAc`a0v;!zmQg!D zOZR?&KJgbyk*dG(@{NGy67Ih;k^hTCWkxaw*4ZA55VPpnGY6e(5UV+Ea*ohpyC?Xe zDF6*k>ueRtS?FB{4Q+Mg-t7>ggDxN(C~DXuD|66PX;3{Ur;7FI!8o@I(6z9arejTM zrX*}fWiNWP+zi30Cp&6Re{j47C)VhPtt;0V1cDlLi zPapEECKJ(ztT>+Xj9V|+$|6OB=c}EuU)qWbWYFU=LxatD@%5S$l47fju4OyouginL zE8{Aew#|ywDWCHc?Jq=)b)1OT_u(1)?m1iEUdUZ~L?-sbc{wrHtJBlzAAH*I_16Rd E0FuxrQ~&?~ literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_9255fac.pf_fragment b/pagefind/fragment/en_9255fac.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..a818a574fba397fb15cd4e2a67b992b563cdd1d4 GIT binary patch literal 332 zcmV-S0ki%eiwFP!00002|6P&GZo)7SMStbW8`{cBN`X?4=(ZnFu|gdybW^i&Xu?_jJ^Yc z-Bc_UTOTc3@1&}2S|1osFcBHb;2R8rDU1Mv1TtdmC&B`&p~j2GNMo!q(RkIEYP@O8 z*2t2+!GkD8@rX3V;vK8=yT*TXE$e^#P-MB^b`DI&T9vkD3Q^4uN39xSBavduHC-H1 z@?czE`A)SuD5|MB8CVUape-cI*tZfh{alTewD!5_7FP4;qy7sPc6T8w>ZND$>h>Ky ey{D_u1>SaFa-)~$^hVB(>*FtOfAD`F0ssKuzM2jI literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_9316176.pf_fragment b/pagefind/fragment/en_9316176.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..6f5f5fd7cc318a6c39e7aa121a8bbdec0e4d172f GIT binary patch literal 373 zcmV-*0gC<~iwFP!00002|8(+b0sn%y<>8m zbVGX%AE^X{1KOIvIQD=J@G@I1;k#vuu!-riIeck?0fn-5l8tvjF4iHbSRhM2*TInjjH5d~%Mo%G2SU{jiVO^2(KLjp(OTbt^i>P~!v5prJWpMkfK?o8 z(hwXqy@AB+_QDJJ~w!C TJ>JNd)9&;Knm_mX&;kGeHWsiM literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_94dff80.pf_fragment b/pagefind/fragment/en_94dff80.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..cc1ea5107b1ed99fef77f63fed8505a8b0d776cf GIT binary patch literal 501 zcmV_93)Onx7mar> z26Z7;LODxliMvuUhi@JwAxO}@l}Do>DO_>;Kd2~&`!BHX2?IO^o|nUee3n6Z)6m=h z*8o4*(5GfF0UFn#FWVaSEiq+p_}e{o(rX|GZD7LB3SpN|lgidAGR}e;cL_i&pQ)wu z(7P6-)ll)LW>v|$HueB}sh%Q{b)Q5JU4`}n48YJCCOwX39?4jq-k>ML#3)FmFogIb z=GZt-@Bw6i9hBZ3A@fqpP?;YI@ly*+Fp<5$BB{y`SZ-}B*s^xY{LH(&$5c_85S zz{_ms-(D=@2Ad0O3EQu5g3uXK6^!DN?@9(tLpI=%T5lnHa2Uy>G>*MUpYEpm?G{O1 zj8n3T1H#1thGm{s%i{zvm+<=U9D^?D^rQxm(y z<}|Ft5lQk%kf9pq9151CRh5fTK%On2X3zN`_QSk>38K z*hK}F3+0R?8;L-~S~*gVGcWfc++ztYBiK`I0aXGA%qy~>Q&!Ly3Ssu{18i%@_bbb- zL-_2-px53@eX)TjfEe>!s$G|{lLu1Zv~OE?kuAo1NGlaPseJ@?q`H!z=yz`@G)4X1dA~FytzuJSG~0H5{eOz#TP6M}>ta9z)QN zU=3po_aS!tC#HH5f-FjH9J~dzuz}R*0!9WCw3!@*z*Dvk48k=ups=7hjFvbGpwve) zENrD%8C3f@%%)SGQt6n7Y%qZF1#AM>pE}Uc=~Y>hxkXFkNdV7p znl7PzUQZy3d|Cq!H}{JZ!ndzK7Rxij^5)@=1v9X?U4406Ef;49XnA9f+9aD;SAJyH DSKjXB literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_96b85fd.pf_fragment b/pagefind/fragment/en_96b85fd.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..e30e5c5579ec632d6d132ec4624898ecbc8eaa5b GIT binary patch literal 435 zcmV;k0ZjfMiwFP!00002|7}vsirX+0{gs0@Zi}#I+QpQ>blK8PSDlqHLA9=9QCSMo zb<#8h`ZfKqeo3#0Gm{wxjJc0-gQZk2T@P-?u zRUZRWV1blKjnDFz0E~PEh&Y^$3>P@UAiJ>f1nVXW*~L)f?hZc=Oc@VZp04r5?XDGg zG>r0&aUo+e;jk!bB;q*<4uSRydOu2?Fy6y4O&LRqlSmNy(RrJSu;jOivXl)`E;)`{ zc-oP#;ihd&jCU{@>odDb#+p33sxD<@#wOZ~d$g@&Dvip=pRVdO+UhsWx#~Ks>oSfv z1^5JQ_5G z*ufs}5~@mk1YgLPFs2P*pFEdy?Bg>t=smXN?baH5P&qoaR!zhfBYJ~P)ZT`^$z&T< zDHA-SXMsqehHLZ~H6v)qp1x%SveKrOFxGJKbOpPSF~KIuBQreB_{5R?9`1-c2m@2_ z+Cdu7kesH|Q5(jXYM_1ykzols!4}#WdRRnlb?RtQ!?qSZ53U|U)4;Rmu+i_{TK93P zU#u!vEEiMPj&JPl#quV-+#7%W<-@D@HQWTo3b>;LZT6-J0f~#Go_?T(Hbh7w!jT~! zL0o~H^p0G~e*gRhJ}?Xz1=nja4hkMkj?%B;bqiz2;8AYk048E_O+2`j&uQnz$q!+f zI1U{4Q4bxNzrE88&R!*Xw-`QX^Hp3unbn?=MJ0Dyl;k*sgtg4YQr!Pg|9MbHadiZY_ch`z>>`W97b(?^W5FGViu;0Zmk zY8n>siG;DS9>HpmaF(v)GJ*6kDK^h=>5n(boT%cFzP_nEKtiY>uA%UNH^M*5z!;H*%BqY0Ils$R5PP~bC zAf&M*Nr)9n9(cY-m9$)1+G3E;Ega7h?3u>c`qrE(3KR`;CR06yh{F5t=%jgyP> zi;s}WEQO74&>P%oE@6gWcm0-V^yq$svF)mJv&+ket4p{yy0AUjEDn^OA5;csTqK|fkDb67x1@sku#5$b5l54paRVvWbI#!6(tuPJR@_#5%oT-H zw3;WJ7`~hK#8Cur6B9(6;s{f?5jHM{K2!l^gf37q5Qzk-iRNI)!efyR+mDH>puO)?))p(amp3Cao!Cs2|U z^k9$~>vA3A$&eGPxvo<7HHNk$5|5_<1?2apSN9Jgk7OMb|*rg4@7R9}ur-jXTZT zrwvELK3t2hOBcQ!_u-t}YT#`-tC6E&Z=@*38i-PB;|_;?Idw9tfoJ8cfgB(9F*@WR Td=Wcde_j6rgXYzF5(xkR3xszK literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_a2f80e9.pf_fragment b/pagefind/fragment/en_a2f80e9.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..0288157855b2ff91ac8f3acb351f7533a9edbdb6 GIT binary patch literal 436 zcmV;l0ZaZLiwFP!00002|8-K!Zrd;r{FMbSP6|Vc+a3%7?V;$Ur{>U{f9lDud{ozP&yps=Q6kGgjG=k7Nus>NEU z7zhI~Y{^#e9SKwC0)jIj;Z^#=VFnpsfowi*VRt0V@RYe^1&=akaN!J>LBk%2-@6z+ zGL_JK7xr+BWz;2$H_9$#lH4OiGgpDTn3$i-PWe&&{Bd7_>-v}oK7h>7f=RK1Rgzj} z>sA%C)iTW8%5vGbx`(=kFJHk(pYaCpJR@G-hlJw&`@bj1^4P#E1H*!(R2cXT4>Dl` zzbubwN>JotfP_?1$deivo-@9QWl#wvp@xGayKH;PO>I>0!@RBVAOitKP!`pn{|^Pd zmwb##bPa`zj2%CY*?GC+zESFmJ#dIgwB02OQuKNQe?jsb#D?>bhafL`3-Uesf%p@0s=DVwiWDH*No)vQ&GeU4G8 zdNMgtu}-7sQ5ao!$~@_eI@_IoCp2lH(gJUf(jqre8R~Q*ej_7kr#cY#M5^W@&M``> zTjCk~EHTu@s9Z^8~K8NLjA zf6_ZA0-x|yUMQ#@dI8aT@G?xwNZmT?H*-Pt{Nhec(@(qG%-=le`~qa3kP5L@)rhn1 zPWh}(Qqo$7Pej&DJJq^pYt^y}Iz*bQ+z}QDjtI1a`XaMzjo1RM9z17}g4Z{mxVm*V zYy)_H(HCdC`0d^4ig-8@-5>~LK7k$$d*b#T?u>WQ?izPp<6a zytZyo-N}@E)Hdt|xkBcox?LHD;5Oy4aZ0bfz8ibKb5RlOA+ou_zwf^N!#~8cnFOm3 zD^^dZ1|&I?5}6J!S0enew8(V~$IJ=BD8(8PiOghWB6Cq%ift?rpx9|*FbbhK;+%=T z;y6dVK*A#CNNV_vNN~_Yc?|+3(z6_CP*TQmUtB7cQ9?lB+M<}!qeZu#ObcW%bD2lH zdYK~cvIQPpN?;Y`ZNiLSQ2G`xC_1AM63qE7Fcd-rMCb^_Bqs=Cq;*J*R8FgKo*}c$ zJ^S2)hH)5&oMr|Iky6k$UsptLC{dk>t=uJ3TY=c#MuaIT^B9STOT-~XY9Ygn8xZ>e z6y$;#r@#e>BQZu(^-du-7Shp3;7Fx%27+6UWmcGMtB+CGGxY52Kv#A8tT5r_2uqYo z-1Pml-Fn*7sYz8c>v(BWjQF-SYp)9nX*UY>ius)U< zZH?rt-)*0Zh)FYuq*FGc!{9nh1?f(W6y?jW`wU^Vk1@u3h%_5L3~9?%%RmOBlCF}c>bt*q6hWjKv~DA5zoCR(t)2rNZRl`JwiMx- z5b{v;2?8%IJ@3`R(BNN}FyKf~6Jst#nbEdZWVfuS2ovW9Rx>e^?&pM}t$}&>-RrhQ z=UD9G=5xo%V>7Yhv(Cx{=H#Ge}G*t5RB+pm+p^u%r&1o}fMjPXoPY zjpQ`C);&k(b-j~zk%oX+d7!^j87K! z%}sD;s#Qtmenc<7r9z%<4hUpt=ZKMynJ^7R zC6udC(pIQY!HVm^mYgKaV2p#KQk+fgO1z+l3Nszi)j+piv}Y$tOtZ^L03^5TUH-*>Fgyx&huhC%DB6dK8OtPifi1d1 zXx%hHeyTZQ8z=t#w%BsMW{Uy|-&#Kf4sHyqkZ<*^(0&dxDNEcC+-@}nZ!bWOg8dTf z&r}jOj9Y$NW}Dmm|La-i9;Qg-msqU%{_@LaIXqX1O?S(y25rbzk4$bwrzJ9TEwgjAY7kP3Nqu0&I&W8tYhi=rtZTVnZ`%{ zwc@*5_4mad#G)av7Ek7BJ)l~oUf)&!`Ox%zl(I`J)7*QOZnT)antowzK+n!P4`scs=`(J+)58y57sGa&dFj&q{tJ4=n&Y;p2 zNMXuwdRP3;7v-s@4ukC~8nuzbe+|lcGco~M?S+92)9@hhU(RnJbfw!Exblf|H-~(0M{Kz(RbX^w5=xXP zna90lN)D6!7LU%=#3lV%1XQeZw#^@48A{y@jE4iOfn)gaC6I=g^(Ujm;0eB2)JwT z2N6LF6Q4mo8Nv;mwy#x3q-mQ}W}{|2%;luMaAZadc~Y=ZI`1K94%GlSMy744ssp%* z$|yQqciUa-k=vD1x(%(4(9<%<`U=5{_<%2_N8-a0Y7tSgLX7f$65&^0eND3;pzvZ} zef144qr!5=anrN zbaHgGX(f2`0i4%jP?$mWMT=@Lvccgm(H{x4Mam+3#M|Ln7qFd7zU)DUOZ- z+kjC@+<`UZs7VdD)T}UouOPFx_*mB}D9!SQhQ#>+xriaNiE}V$u{V8ym{yUAQ}^;v zGWAm8;1vQcSWu&#?Edf>4Xwra{5cB~a7)!0;%CETIa%fmu*S z#hPX%EEe$A$TA2!J8sOf9GCFHtd<`8*&KS~VGern5{|m)bD8Y8Du$~5x^9D95X)U< zl(@47nBxxSy;Mc5#RG&pJYpWEQQHnAxoiy}PdkuTG7uOB(%tP8pz>WAZ_dwe1%4gp zH4f`;4J#EO1IX_!`e$LC8fjxc&u(-x&Wpx*$EPrAr8A0NsXfY*+dlcD_+-}upUDOW zly*2dj^TFqm;GP)*$ag@{6j3x!1|4V^_Zfb`S3(}YFf*^9;nkCHlkv11Pv-Tq#Tx4 z1=+)4u}aa^jdW(Ieag~${QP8IRAloR6sOlW^Fo$YiB*V-Se$5YAzy`e?X&B*>q3O5 z+39nAEU;w6TC#7&X8bwTZF#ePCmY4-(aroY+R)_?USq{$_+FDI(Z^4w;q}uYI%VY^ X!@u8X_9#&T_N>|iV1 zLdkcZL(}|W^d{@QpJbkDenzRSC`2i)tnr5JSng4xM_Xb}ZH*$=;j5~t%~{GyX9+Du z*U-%16A68#ErOQ7;lfQ5%K&(j*V`4GTEYPP5SL}}%|iffM=Q4i&Pefna?T*PKxmA% zXJ}p1&m@Kars}G8p5O&|fC8j<6(pVu9+XZpD6-*qPlw|(50Qm;zN|HQORNU`I zS#lE=`e85}myVdukMp7^UDF4&-lR-w6SE0yckNPEA@Nu-(qwQ7kVT2xQn}uDxH2?Y z-4a%BaikWpD#+EbCj6Zx9~;J%oV2rS_u8d%ROri{RVZm<$7?L;&5~BDJKXdqo9O-U SoXBl=?EV1H*473@0ssICyq~oI literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_a91f898.pf_fragment b/pagefind/fragment/en_a91f898.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..3dfaf991f2fe9467533467fa68512b6c71eef722 GIT binary patch literal 347 zcmV-h0i^yPiwFP!00002|AmsxPQx$|gkNRl3oVKgB2)yG;M6<4^i)-mYi}AO$ByiE zOBLnaaiF1u@^c$!znRz`H++YsGP00Dwk$Z!<}7nqqC+Dvqho_IQ+}zrGSAx=6qK=q z32O)qMRqhwVS$9MRt7`nH4G?Or%npt=^x;(D@A0Z`tRuJv?xBFv*&41Km)uwCDup5)?RwI7Q^+!Sd;)R- zFXyMj35T3;VuIGwzYXinFfY0GKLGC;{~&mPMgPC)7>u`nuuc}jhQ5H=UBXJGY-p~8~R37=Ju+z(@Sbvu|t{~pfn)oFQl=6Sd2-T<&d@-Vjo006NJr&<62 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_abd1677.pf_fragment b/pagefind/fragment/en_abd1677.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..0538a526c0973a1365a4129ce2538e2955d59fb7 GIT binary patch literal 341 zcmV-b0jmBViwFP!00002|6P&MPQx$^MSsQ0O955w1_;5V@yZwMX_~6gxNAh3Oo>xA zrv5ulw{8rnQtkMj>*!`Dx7cW_Dpjkah~9{WC_Ogl(biZ>@8zLvv=3B@T-44IT4K$3 zRKN!kP>V3Opb0x@yz4-M(P{qj2%iVS0IR@@Sg(7uAo)wi;F^&M;E|%Y|E-*7BZZBO zhM<=wBIpLJJ43kV9iaf-?VKlg02!bs_)6-*-$I4Dsnrn3HO)Gxizkqq@5Lu*^vJQmF_39 n#fGlr^b9xf>n+?qO>9hWb%j^w_DarY!)Eve&My`VIsyOyC+Mm| literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_b1d8f02.pf_fragment b/pagefind/fragment/en_b1d8f02.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..92d92f58045e9d7ebb9d13e9d1a186bf15c2f4a5 GIT binary patch literal 690 zcmV;j0!{rNiwFP!00002|Fu+2Z`3dl{VStfLQyu`4~o!A<-iF9Cq$8;s#b11Nvt|{ zWIMYJtNrhcov%$M9 z5|>dDWm-8@jzHbF6uyOj3rvA6IB{yyzNq2pU=l7y$}tyLQ1$pFj(mg@{o}}b4@jroWK0t6Gq#X7 zDhnDq4ICYsN+|3E?{k38NhYXeZZU{Cg+h zh!`9-ED4p8knslCd{_sJoXi_JhS zF?SPn+=w&wyE(hO7|4xZn-lxGf1Q|Tr+=e%hx9GC@b)i;hI@RCAGZOh@6LxU1QYJ$D($e&2-FG;8{)|Pz^ zwrM$SxC4w(LKV1yET9?MSq^1BLN{4W&M|y(a3;HjqJYOI$leC={ZG5}b_nV1n48JE z#VtM$N}euFV@#>}FdVzQpQ*|^p%B&j*w0i$f~its#nCwol{)Bk&4caZsK`+>hE*@p zL~Bx23b&~i`kq2ef5#dn9jn&!es)P3+nvywDw)u8tXK5vny!~8_%LKY(VPG8L_YMN N{V!t3n{y5V004pFk~IJT literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_b372d81.pf_fragment b/pagefind/fragment/en_b372d81.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..00978758989f6a6c071362952307584f7eccce33 GIT binary patch literal 323 zcmV-J0lfYniwFP!00002|9z3cYQr!PM1N(`C2cXXjZ2_`_EP8pqyn)dPnFe z*_I)PSMNp)1Oi532L$p->Ujr7L+@iWjYSUSwuI)JFv32jSPt(kLd};upa&<(cn3#g zEhrC$A~YCjJ}8$AO31;C=>BDKFkSDH zmZksh6pgzpzTKJJGs)ZxdXJq8rZKHKsxf-CQFX))BZd}ho(43vORrPEBVVghwG?o+s?OdL-#vL+jvEvh*L%x6?E@8XQ?6~~I3EuvcCvtT=zt3No Kyv;Ts0ssKFo0n_= literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_b88475c.pf_fragment b/pagefind/fragment/en_b88475c.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..47d4b2955ca4f4c704cebb9fc3b7d1b35add656f GIT binary patch literal 328 zcmV-O0k{4iiwFP!00002|8KIe4V#Z2kWtX=D*WSp)oGw zknNo}GP`iKFku4DW{DBo>JO1JN}?<)7yFpz3(jh7QbK_(j~!g$SpyB=jbQw zr4%IM#2yGfdA4D;X39p+ZTY?wS;Ie+f32Cd^#j5Qf zu)+3n9d*uvMzK|rJF-pq{&_X*Hm;I!m7?IWu0dr^3t6M4mHfP$FZA74y8g4kT|BOp Vewp2s%=2+SegN2R=8^pZ0078X(t7{^ literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_b8e919d.pf_fragment b/pagefind/fragment/en_b8e919d.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..acde9f2840146b90b7437ea21300d696632a5c5e GIT binary patch literal 435 zcmV;k0ZjfMiwFP!00002|9w(XZrd;ny$Ye9CW9-_D==&Ux+CmkTfc_EkYzd+U`qx? z)eC|EJ;-*so@7)KH_bi@=z|j9d!!yYnJsqCw{>gVy-GBwjVcK{B=i#WiqHDVwZg|!AZP7=dAFcE6#D2#AJrZus5HyXqsDIQb9WGury ztjq>{8XKennk8Jr{TC^73yprkuBrk)tf4G(?zYlU>+JDr$*->flK&bQPkt@!MwlJ< z@_#xe{D00FdG;Z9H{~y2t7W3I_)*)C@=!ljh3eeE;+ER%4}}_$jYNta4|pEBl6T{6 zA2R6YUg3b_X(jqf^js@Z&0&(5@%OSSavOp*xl6Tqe<)t_TKBjRd+hi^Tvq0a{P~*P d-!0sf_v%7^IA1T!syh5S`~w{@-&yYh003@^$+!Rj literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_beb0be5.pf_fragment b/pagefind/fragment/en_beb0be5.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..74ffc742c14ac1ed4d19528de572e799a9f634b8 GIT binary patch literal 429 zcmV;e0aE@SiwFP!00002|6P*NZrd;nMStZ^FWCmeZnuY`20CE-gaLgRh9QtGI@Tgf zfkY(>0{{D{#%Y?qN#Z>eFUg(W&|tk;o8FvMj!w0zi8N3o-%}I1ztnS+M!ls*RjLo3 z$+L)Fo@)H0DeMW^AGAaa_S$7i7-E>9Jpj?OZi-4fPyvIC>b zj3LAYNi}{PVQA3VaRt#HtaFIOIeKV#IxI>F@CYqI9!nvn_>oF9bF`9F{){h0ni{`C zMlWUUbV`yWk@ztfvhUdjNgFqL5_{mVFyi6(Hd7}z^f|HEE37SC4Lj{ZWPFBBSf9c2yT)VnmH6oG=ALEmoUgRuwjpXxn1YE>R`jm@Kzf3l-+loYLrzQGY_y;OX0v zVqtF-mDDDJ5AURyWpIZO&AJb{%JqrVn!;l1DDq%QErGAPKqm?cY_$i@ z)-@WHFNgxX5?X=VmKZ~+trZKo1qRkJ=WPs*Ge;N;LUGbju8}2%tfo^)6*vtWZC0=m zj>DQsPg(?VT>B-b2X24={AIAKIDvbPUD>%;sjEw1D|#)M+6D^JFzCEdw(hrXu&GF* zBg&?uOovY)^-`ozk#TLYl&eaUhT3 z`78<4Ng>pD2oH!em`vd2w&xy#*vt4(s4XRc`pp4M;fovMdWlYSkX#yE3+-)RT}W@m z2FbZF){WmukZiagzVoZn+IW|zyp(U{#7E-qsN1so%Hg;!Pc?q0i&EkXd|{5kJ&h90 z+apI+J3^>sV~S>W>v^TQl@d0LtVF&kjb4ikE5{*CPX^2^eSytpGdnSD_AaTWpAy$- zh)!vBUK&vdC)VA#lT!&wej!@rgxj_liYyRPj_Hb=l9ToEyJwOT{?Q;ipy%wre6s%= zr@+&Z)IJWOAUTK)q=%WIgh8+^r3yXMOjM`3NhlJ-+3V3c#okTA35^q0IIj6MJ~T-G zd>Wi=o@!tH_NUXUILd`|Xlyjw?c<34<&0Jlovg%gFGRG%RLXUg_Oy#oV$s|i{DLS& zMyt8gC9NIx)Z^kv>XcQZ70o{G;~_E=>ki5>cRe)RFbC-CLo~naz`nYMdh|p4+9N-` kg-jc7ooD2&^J)rhPjl?M1I~--bpO2n19t+TUT+5g04l#~{Qv*} literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_c0eddaf.pf_fragment b/pagefind/fragment/en_c0eddaf.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..2b6623c87433e82ee8436927e1671dc6ad4e1d21 GIT binary patch literal 1186 zcmV;T1YP?diwFP!00002|D9IvZre5xf0cv2)E*RhPKE$8&<$C-V*Ah)Se6e%Q3SMf zvba#BKvGUr!$4kR!1i)^lHHNAWF_fP^g|Hqc=x-z-~AyQvB6U6;-<)pUD8^WtdfPr z5-sW+7iRqz=6;bYqwx)5vq;h;H`=52q&SE(xU?udf`EcPAvaA2rUaoOB7m_VtQB1b z%jI{cu23*@T#`+L&ZJdY3 zG_4XAT8EGe#{gG|@c8i0W$V1DgvOc%t(U|hhn<_cX_=8@d4OspNtJO=)f_Wjd6xJ;ljA}u3uc^BOKxq`kMdm=} z1)8$V;6kZsdqh4JI~^J!av6K;PWlRVS(cIho;!pXt5N8_3)zpcawD}+Tn%r0*HAz& zR48`b{}h&-YC~;h(V^X9!O=Ryvc7`rRw{oYb%a-VKO~{#EyC}(`T4#HUfzV+BtYjS zWz4Y0`GmUn%#%tacPxR~qP4P!vl;B((=Q8Ut8*`no^%RL#xTe<2>lQ<3p5YU2O$gd zF?CJZa~t)802NJ1PNa-gif|#JiqcbY=8v|~qMhY%;2dyr6Me=;2uS^jTDPKG25sSpC)I^GmJ#g3>%4}pF;<1Mi4j>$#Mc-Nt zx+QZWjyK0M>y$SjNxNeU*0Pu*Ey`jbg?7@dY({3keEtX_g&iywa2aYBS7dCCNibaM z5X+%E3H1}|ERui0W~*oouYZ8q`w&?s-P@ox3nz2U3`xZfAbyyycaxH zk%ptb55pH5&yB4$T^e7({^(%^Q5M2a-7)`sHu#~f{jR%Y*YjAw<5ea6G(`XvCbqkP8dJ=knc6(O`!LJN2KHsn27P~pNjT6bgWyq0It!!7knoZI;! z#SbL=NKV5CCldtZZ_ggjGFn_ikM~<@gzo!4$a{-x_he#%f1x{CYgA=aZnWcmBeT$P z^pv?Xwz$bn%deTU^JSWpv{BKzWVPF;3ALJ_Ux}Aq;qh}Pp+gF%GOYPwm!QHrzKE(N zp~`}O-FVZ`Z;$trmlBDT$pyD#vif$P9vc^Od$6vs^rQ9oWSW>SpV(Jt2lJL6R-^rO z|9ND3`Z?1w+`}jRjEor5`*{NP{n_Wh@?qaU2Yh}POd~u$-+$cy2Wn=eq@M}^06};? AdjJ3c literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_c46eca2.pf_fragment b/pagefind/fragment/en_c46eca2.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..4f99f8894f624240c1a7d1ff0b8deccdb2cf181c GIT binary patch literal 442 zcmV;r0Y&~FiwFP!00002|8t3@3 z*sc$e;1j3>TQD(nu!u^l)Y?Ung?!B}=md9A!4bUba083)Y9XNy2aFq7Ete8TIX8dd zkmmOK_PYBmJlVPX_2#{XQ!4&lGE{IHu^2JY^` z6w?s6hxPI!lqFPER1)^n3JHG)Otpl{@j-RXemI1vw@nzbCDvc0FxC;qBsRxUiVjI} zB*>D(lVt?gm2cXRMb%ND!|ugU?TY7F&C!-Z&oSYjv(Y$np;7ty#b!CmOHSMU8Enze k44%z)1+QMw?dLN*WJ}KU<0-vBZ^nB32lcj-r!E5k01747aR2}S literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_c64b689.pf_fragment b/pagefind/fragment/en_c64b689.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..3c5734dbca5a21766b545a3290f7de7908012afa GIT binary patch literal 368 zcmV-$0gwJ4iwFP!00002|6P$!Pr^VD#lOmAFMw%UiGN~9@PeF-!5E1LW13}mN>|$5 zW_JoA>34SuR>0fL?)%NWys6|8Gh=nCmEMWk7h)t5j~RNj3KO^ZL`6wmRp`w(CL$8b zSwc&!>t17+IJ-tqAd3PH2&`}$fE?^apk!d#@cI@OTfzYIz?dC)dZRItSV*o$maWOJAzd^Z55N7x9o(S z_XmTRbK5wtQ|0P5x|^#=WTqhWL5y}yBuXU7l^{a}o3a4aiT8u86=#~g*XWCU6`W9=t^r&i^z9?FMszoW<;0Zmk zEmte}K*HErk6<-OI7>IMOf0kGWdp|xVS-)a3oH1PDS`F>X6Y52kobHI!J+g(=p3VP z3B#012IslymTS8{M1m)f2^!EbbWlX8WHPp>psDg39}2^Hp?HM4hPQX1IN+kczZnkM zp`}Y$@xb39s-_LYH1qSi6xuqTHi_+ZEJcSTSqZY_aJCb{J?UE$Cgc7p&|&wtHM8bS zt5`J@de($L^KEj)g;tUcUTjxmIcJqUXV{>oJDk_MfM1ue*<^N@{@@PpZpS;hUX6$G M7eiWy?ivCB098MgEdT%j literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_c8f6d24.pf_fragment b/pagefind/fragment/en_c8f6d24.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..20d171cde3caf97473be9e34c70bcd3d70e1ca7c GIT binary patch literal 453 zcmV;$0XqI4iwFP!00002|8-K$Zrd;neicF&Z-ZdR=wX?GU3S?M^b`b!Vo{a`TQVdn zT^1PFYwY#*B&FlDO@Q`BQr{0na#B4S=XI+)eHJ+mq7hX@gAsj)RXF^@j;bE15>j-* z6MA9@7fSev1j?U45k+^%gb*Th)(!fml#}y4DA0%#Op0s?^|uWiPJ{^_6WgF#+|pLe1|i5HDUwB50z3O;R#)D zse!G8dPe1@uGf$|+(xmjUl{Q=5^z(&P&N-O9!D|z)#A?lVVv}}J{OJUqV z7?WtuvlJte;z*FA0oUsgTvq&nuwZs)!MhyS)3G(nIn7Z^Vd9wZ_w}SW8A7L)ZHs0z v%Uhau#}}SOLvOs-Yr13C^*!A_ys-0fb8qy=YkEU{nD_HDvUF8)7y|$RPmI+V literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_cd93a23.pf_fragment b/pagefind/fragment/en_cd93a23.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..43922e44ba9d6f055cf25e5dd70ca506d5df6cc3 GIT binary patch literal 383 zcmV-_0f7D=iwFP!00002|5cGsZ`&{o#lOmfF5U*iZZYgn4RnWHcHF6_qA(Phj;P z&!Wkh3V-Fqgf}VaoU^b6LNCb~>y(NTGr7Ix20u%rFh!F~gFcXyc2S#yPz`!LBr36>t@1!VWv>#C zMYa-Qv698pXVf+Be@T88H>fOK;lWNXOsYYTgkz&UKT_&$2 zuf4G$iyqI41{&AB*jw>)okT5%qr^=AulthQ5R7IQylQTi@;%qN=PPKb=M8+@+z0x{ dN7{b9!c$)FMn7Dx8+o@pEiVi(F;#T}0007Bxx)Ye literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_d442f28.pf_fragment b/pagefind/fragment/en_d442f28.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..f2be1f97d7072fe7ce9ad34eba5537b17577d654 GIT binary patch literal 341 zcmV-b0jmBViwFP!00002|BaEsPQx$^hF`_XrGTn-8%T^waNz|wu+ubEY2&sQX;LNb zV4C{wq++Gp4v3rc`~Q;IeL_}rMJ7^*6*@E}rhMp7rR3inwZyc?RK%jR zhS6|vo;4D9ZLs|CKoxLnlXC1>GNDnzw&bAOasibcxN+3_p zM!Q+9ZXr$K`32bZc-@T})Y?XWS+*z7ZZcI;drZPEKdn=FY5Q@V59?S|q#2zT*>Q+P zi!4JWm{{ZGx-yuO5+`-$zxY-f0LI?m*BG3Qtk244Fa} z&AHXWUyfyhvkJ)5LC6G8uaHM_3^JEqV2a6Q7XzT?m{R40nM%I+QVabK*k3+^yQ&hQN|!Enj4Vl)_XK*w){RUPMAwD9-g<)(MMGIy-sV=g4Nz zvDDXn=o@97&%{Y>j;BT)D5F#=yX@)u`br24dW==IJ*xTd2|e~Q&>5+Q94DzWz1)sQ zppP2sMX1g9Q}fYi-2ba{B%2rK?Lt1e`}Jr0_~Ys>^^O+%;|xDof1Y-ycLG;I?EL}& E0A+5-00000 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_d57a80b.pf_fragment b/pagefind/fragment/en_d57a80b.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..3c9b45bb6dac32e43d0b2e8a8ed669438460182d GIT binary patch literal 359 zcmV-t0hsworUBJ@rM@SA4sf|93#!BbF z5;h6QNCG_CL}1x72--$&26WpJr~p3vV-oV;)c_S>n_Y+mPaqRipkrtti&DvCY*ql1 zEC#1OLv(5xRDuPp8OUtCh F006;r zYT5tpENxxaL&8hueUss(m0L6}=vpg%5MAJ$YeF;x7>@X2XI6^>?_2|%GVrnFnFu%Kj%@<*Yb>``Es?1|RolM+vTJBM){3GD8g}#Rg_cYMHH@l~9-C zj2E+QLLSAqY+>U&gy+|{m)Rv$6+Aq`>R)kCB?q#PN!KcNLnezwA&m3G6k>Vk3(+7+ zR)QRPoMa}rDuc3du)ZGzdTfrl+BtW1npI7)Wli`w&71FhRFYf_VtL&ce`)P@XWXKp l5&sQ-Lf=nmdwYhv;de%QeL9Zh{JQ_>e*m@BC#gaL004N{o4x=5 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_d844c42.pf_fragment b/pagefind/fragment/en_d844c42.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..68bed58aca767648952869c6a24432f010bf64ca GIT binary patch literal 479 zcmV<50U-V#iwFP!00002|9w)+Zrd;r{FMbSjtfDu(H>d@?WuUF)Q*#gsqPX*Q3ExR5b}kUO1`syr2Q8D9XUKduht(*Q;34VI67Df2aN!KcU|~(7 z=M}Rj3?Ssa3u_p8$bF@y|91Y_>bV(0EsjI}7g*rs`Oj+bUiVcKgDpd#IHWC!VgeX7nfOVw{nWJ42qj zLmb<=Hg#63rEssc(C?d=>Xqjjb4tu&wlA*9)@@GgmKwRR&#}E>f4*h6A5Y{VXZyl_ VI36#|`E38R{|9v-WvO-p002K_?qdJ| literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_da3b82e.pf_fragment b/pagefind/fragment/en_da3b82e.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..0ac85413e2ee1f28251c72c91ed8a6ab628a5299 GIT binary patch literal 342 zcmV-c0jd5UiwFP!00002|5cGqYr`-MhX0E2W$Oq|(-t-g9qhQnjy;tURNGn15HojgDFffPMH+r$*Hu)CKZWL-jQ*{6I_t+ zg$VWF!ip8-X z47Gt*LKA##Bg3|Cd?0w?Gmt~UWq1mxF_!j80_%$eZ8YIiN7%qFOJI?}GJ)0pt~s>u zh?XFitmSzEl1clR!sZ>itAg`1HddZ_IT$u!GYS1nvN=Z|bgq0m__KOVL}4r9S+VZ= zMAU|mBSDrbGx{gEj82t)nAvs0RHh!yEi+zcHAgx5hGQ~+lj)pPUg6-8SkL?99@F;s o!j-0=8+U!d1O4_$m&*&>4u87Q+bO+~*}UKP{{Rd|Bsc;90HE`vSpWb4 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_dd9d49d.pf_fragment b/pagefind/fragment/en_dd9d49d.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..76520118eed6115b688f814ae694a3a8fcd1189e GIT binary patch literal 329 zcmV-P0k-}hiwFP!00002|BaE|YQr!Lg;T@qP zmW{s|Y?0dFB2Z`%N*`cIfN_x&mx&oHU)Hd{5JuQVZut);1w5hyQvy|Z0TmEpyDzMY zaS{Q8W$-n476k~XY|Y(F-S|N81S*$G<*ij_$+$g|PSD5T&+@38cP_W*mQj=Y9z&xAVU`K7A!c& z(^mc}{OAN)tcMd+ORi}&M>+Y1V`3NgWGbvL6dCWt=DAPrS#6FZTwzHQ{Bx=Y`t6af bUPrjS-gBaNx93Ez`_KLh#*+TWX955K>SULI literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_dea4b9d.pf_fragment b/pagefind/fragment/en_dea4b9d.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..9ebd1f7950063c23d41544dd9e28105daf8bc244 GIT binary patch literal 447 zcmV;w0YLsAiwFP!00002|8Dj+&N5j}{MB&@KhqWx)Xl4E`ByST*&|(Ow z3s&C6XO+9rY07%nI?wPSueZ>6w}XX8i9zW_3ET2&k~hm+s4DpO9oEauEU;b{@Tq|N z%^4gvX7PohG@8W;9@g`4?rkJ=STFkQKr;&&dY7>Vh-NJmqIk!F!>->`$Hji z#F#3VDM5{4bovPs8%8T;3fvhksiAVW_$T005{i+1mgB literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_df1bf5f.pf_fragment b/pagefind/fragment/en_df1bf5f.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..4bdc4a8cfa68d5e87b19e87488afcd166b62edf9 GIT binary patch literal 1768 zcmV=yvb^y@UHWdh zT&h<)?auf?URrlfQMTYsP{}rgcdGgr_K!Z1N;{qK$3|s*)irQO(M4Np>!RBEJs%hV zcz5vKcBeEOJX3x%qJ6(%vw#2gdmvSNe^#vBc(@!=i5i$nG*{J*D&Td+mlpKF_n1hV zrFw%4?lgGN>V3yo^zKQq*T3JAqoC_yUFkK06+`p>DqRF@n!^aG;I(OVJ6E7iJ7o=N zahM6ory0M(l8$FMrGU!kjEz+nBaCD}m+BdT4U+A~&s8KHsvToRg1HUOf|i)02rM%A z$tQ#~tpYIz1_xSO0fC~!evX5U@U{0MCLQ3Ja@jTKxf#*Wn9rrk&d zukSVD3HDiC}fp$jMS@IUF$HL%QOre!UukyO_f zQlf2atwS;MQBrz;rmXbW8|om%Jxd`wXUKs}8InIF0uw)V_bW=co#dc@N1QWz>ZBG5x1vA&m*cG+Q#i|whd z_&!+kE$6O!ahj7!^L>})VL&(mcsM{pOz6}KoaaQkxF@> z($0kqH;w8(ScIIpeWG4@5Rh_hkeP!8#L2advJB6N$l-TX<&+EFC!hvA`*6uvtTDQ- zb72!MX$Udq2*2rz-Y-O$&o$NlU4%vz1W?=5VVoMn@a zDvD9VmyJbUAsps9)p^@!9Z1=A)-r^Du$fb&uPVtUWHaim^~eOsgSwklmJws9Mk4MV z_5zUyc2i^kb{g$EP{fcT7JPiT^CtL)!B&ko%M|;_^(mkAb|jO-!{<8(Jx!9yBbofn zJkceJ?|ldF;FckEe*dd4rV#GD$OP+`g+I_xtX2{T5XGU8MIjN~e zd81ZIL%WA?7sC1MJPXJT6<#()5LA(vfbunpDIJXUGz1n}&R4kDc9E4O$L@*x$yHQD z7R{{Dh6?Ah9$7KQF@$mZse+r@eC!N|EcO}EV7@`m(GHg@r^CVNXgQGvr4-xfkwBEO zCVMb+3TO`pCKu{O>T!qh5954TzsQ$1fAV zltj6Kb6&GDP4ayXd0MJ(N<#ow;-}|4%`yOyk;YJT*KP*wkG>Z1m5%YP)2ts7JeH8P zzmRivjj@WkO!$ZBlCii%%p4aQxM0?(_}0jf!-J|;4F#SQPH}@~&1vDMoxGft6hFKS z1YQH1^GMWX7xp4Pjb0wv_gZ)44R>amF3+ z^KFZompQ@q($!d=W2VgzckUCA=MR3VIS;ZVh#I}gHo3%OrpMe-_$=7s!d)$!;vMzR zAAkO(UM7h~5wdvTp+v6j*0qg0aNR36r(n|Kf$1*YCC^?|ymhV!+b)&S_=&7MJ~=vi z`h$A?>bbgWH@PkCbeUzdoA*ZNg^+__msz3j@%tSP6>?cwF;3MT>yuQ(ntjA9%r&*d z*Ad1M^S1IGe;^${I-bu^JQ#oC?Bv7MeAZw$e$A3iHGTXG3OKfbkYmR#r8b_dR$DmL zt(S0WRcd~L!svhF|NV-CyjtdsE8A>Wly*KYfSwSm)@^&(x4P!fw^yvfyyYMkGdRgv z=-K06KFlbWD?4(Zj~o1Yi;*9{6IA2YE7ZP{449o9UCk#@U-nR-b-`2rLNEHf8E!6ae<$#Q4=G#cDQK-?mxKA8pvO;G%Rw>O^p0UHzvTx4IfI@m)W3S$prr4MOH75Qw7 z%91C^^GwM9zLS5%$+j}+gRw2$_uZ%OPFL|9GpW-}D$-q4TNPbLbBh^T)B@++wOY(8 zZn;vZ<`Ij8(H^y@uyHkpZ?%S!>lV6j$Z9RTG#aFaDJWSi7qD$TI=FX~HHI(p8DSHb zyn=1*>5H3PQEu4Ors#1rF3*LO2*wb@st)UHg2ug?<8e^Y>3Sr7hp~pk< zpb2Le1%~Px3pgO}G6?lDLe$oV;uP5Sv4M`N<_l|@uGu&^azP<{&U1@7_t>SU2=c4o zT>*PqsH~~b`nKN-Jwjx`qG7*VZs-;a^slY+de~VJZ||sEAKC3~EB$P;{ro?^cVa+e z(;GW``f3>5L2C5l;~5F&)bP~3Q|G+d_3-`EP>>+UD2$cKXQb&o^bb*=I`&ss+}kon zuevA($FKDZm{qclOLXDNkMM)&e@b4&G-jwx(v2{6m^8^%!lI0Z1DO|H@AfPz(R2EW zyz~l>Mo~n2T#Lelz|}57g=IgiiiAjIN?#jqD*E>L>v)LKiZX(S>lIyJ?Ab9kl|M&t zftjDc(?~mkU!KB?<%q6>2^0K&_??hfFClv?C+O|?KVg%Li~V~48<1XDGtdP90OT}e A%K!iX literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_e51e17d.pf_fragment b/pagefind/fragment/en_e51e17d.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..59cddcaa040f148f09fa50d64d19137f9ddfc871 GIT binary patch literal 501 zcmV=t7u+k~=#_R>S?r9CaBlwxFgY>CQ} zk;ch}kbmz;X%dGPdN7PM^WMC98jrHa&bYR2ReKauuwpB!fE@;O3ad!LxW0-`{=!NW zLU~8%h>P-72_L=NVIYujE(P+CQ=nwz{Cd5D=0F(XC3340KA9c5TX{g5f{S1XjGG~$ z^I?!wf*D57{BJ-;sG$pffJKn4jM^+psLKp_So8szwlh&fV<*hf;t{F}-hY6ctkYGU zk~u2jn+%R6Y~izm-D*`X%O&elTDl%#&+P`;Vw$HjuRz*F=q9Jgc-HCpLQ+z#d z9w3g^Py{y(4TgA@>d^GM@l&4FB2mgbXtdUEph4vab|xR|&0`7Q{lwEd@FRhr`0LJ% z8`N@Vd;sZMNN->q&$u_FIgd=-OT_}{VDaDVn@4^H7-fw4jTn>Fesy26+SHKeiZequ zGe@8Pwscd^OnsW$`agyOj`z*C&`BGyfYX(H&V8fi{oDJ{*2+(51)tZ2=!{L4itX`K zhyh7*B*>7(%Zdt4NT;+gbEe_`m)+;77Ek`x^kz>Nw>t^%OdL@%9V!J#Qb6{(B r7o^6HZpiDh-=W{#qxIVhcuIf74gK=xctbv)ex7~<5X#L;p#uN_hRyrc literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_e7fb665.pf_fragment b/pagefind/fragment/en_e7fb665.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..948cc30c2a4392fa74929b2dab93624650b2035e GIT binary patch literal 313 zcmV-90ml9xiwFP!00002|Amp!Zo)7OMSsQ03oupfVAC}58Jl>TrYbbf8YxXG$AzJ) z|30@23QxQ__C2}IO{;&`#mdc1fHb0U6){12_v@;|Vk&q;6k%ozg4Ib8a&vTgDY9;_pdKx0rb72j}ZjxjxPP+cFc4Hj#V~>v76NM^W-gL>&#C z_d@W6w5oN9wHXB&>W*vEuGmo5d@7^c^EuM*%Q`VMjwhg<73<}c-3n{{c2>63#H;eM jU3coQ_v-fZS=^@;ysBSL@Ty!br|t9?(zL0{76SkP82#Z) literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_eb424d9.pf_fragment b/pagefind/fragment/en_eb424d9.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..0bb183252a2d8d475008868b9bb878b49f6924f4 GIT binary patch literal 368 zcmV-$0gwJ4iwFP!00002|5cGqYr`-MhX0E2rR^~8*9KdmgB^Dr^i)bvZD%n{?O-eG zO2~holJxTsV(HcMT9zvOwz=~rGukwwj-^GQ*$7s(7}`S#6?3+ z!B_tW^nfwq36746KI%xwYp=-#uVAs9!Tv-x!6xyY3O-=404k86KyOMGHJ0Tb_0N?| zgB~r_kzJvR;ouVU?ofqD@WeMk205o;6wzQR+(-d8nh5G-t~wzP*~Ma7&Q zo#9hPq2e>yzuW3KE`!Ey#$q*V#0ssJlkh>26 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_ebab7a5.pf_fragment b/pagefind/fragment/en_ebab7a5.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..9a530cfb85af1a7c4f9a24342f1b89401ed02468 GIT binary patch literal 531 zcmV+u0_^=CiwFP!00002|5a1X&eJdue3ex$UyGvTt3U{P1c?g=B*b?>2t}KCQ=2;8 z$aY$ysuHik>+vM4lk`u$xa*nOo%N*09ks@(N;T?~4c=zktn}29C)ZHP^)G5-*%}+k zf2Og_@~mMO$wdKP%LRPY)a=2ufDUF7>}iA^L!bZ%Gqixso3~JpQED$iS{Lx02heyR z!3@z@6GvzV*F?h(qQ(d&EM(($H}!vi{s!nh_vE7ywZI)|J{BUIaM#J;XsiXamX9#< z;P1qFK}j19bT3w8AO(UU6SV-OD|(M3aGP8OSfxtRv?jzguul#jruGyE?~?PH*^=N} zK@m3k(nyx}O%uqBpO!JkewyN7lyt90_=*aHHq!r@=p13vxTa-T3y3wTE|MF6y~6q>0#4_WN1|tS0_m{Zq9kW#sMewQ!F4B7T{&a;jp$|;K`TDp&ICYR_M%?bJAl#!)w zPPX2Ns!?*PBKLBR^!p+4QnK7&@}6y<&-p!BnZt#xsf{=GHT)0k_m6D-`a&Mk7jk32 VEPrpz&F1{`{2#{4IbgyA007@M2ebeH literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_ebd0194.pf_fragment b/pagefind/fragment/en_ebd0194.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..c08eb825028fdb309f1ceef87088772992f3e6f8 GIT binary patch literal 807 zcmV+?1K9i@iwFP!00002|J7B|YTGar{gsOuBps@gwv3gq4%&=D_plANK9!Ox_H`_f zB~Ox*g%Ie6Y(Lj8*_ACPanrDeJ@qNFbkDixT-_U$e1@4&=_F0kRa6-njiQ0U3=OIT z2U(>OC$t(Q+`6$YN^ZE*W)QI`(aNE66yH6IVNBn^Va{cRAe7Vek!;SP<&5F}dMN(VZFZtXx=+L4l+k>XaH$JPh6^Tx~wu0!$>++-UU z!mDg$F%Zt5*qThJvU1I((8kW4OeHqkF??(5^M&fOPuwZrzt}gy@!K_*^QAc~T1 z58eW|FoDcawR?uA+~&QQ!WET|ifSxez#XhWq$4@kphv-Q28bUj$J zfH>}zRbxP($$;V63`hXT23lsrBD zHe!~CCVzVTT2 zsv>a+PRL1cIhP;TmLs23ktJT#(c<7<*AdQ|A6I>jGAF zeFaqok5B*GhAr|Q(LoKVJQ>S0_TH0jl#kQox2r<5wqv9q*2l3BJ+e$nu;mValM(4e zI%WK1dp!#5u+PbvRl3pYq#E`^(u^NVqG{iGC8q$yx*m(aq_*!fYOv)6oufX3@6KU! aGqZ8}j|JYGwhMVbzKuVe)9}<90ssJ3e4p8w~eQzJIx^P4@9Kt)CmgHYRbpS(q_J5Fqg1<&m3>b#?G f-qYom32uk|n(5uuoypC*|KGm=!k!&h^a20?fTzuy literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_f155edc.pf_fragment b/pagefind/fragment/en_f155edc.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..b67435a763354009e2034380b54f56b9c8b7a2a5 GIT binary patch literal 1096 zcmV-O1h@MiiwFP!00002|IJq0iX%4={gt9$Y(r1mv&Y%wFPo|ROmsJ2CvMoWts zTGSGkvbOfP^tm>a|R+PvAxD*~VBe$?-^ARNzC7-8#fN29$lBTjQ+t}x% zd7>!DAy0>2fJ5 zO7I}ciuIGGTq@zkY|#-4qu#TFN6jiC+m-B5>p%}?_5=!T_qELIbH zGAVI}eBz#_w+TGJj$F;H(qhGgSor3cgUP06b%VLs5f^3Cemm_#qjc!Qapa_ye3Td$ zQ{Ydyx%_TdpEoH zAV(@)dL;J^rKoM5qvi@ma&vM2-YbPZUi#~vI}(&a;kO!Qd$D~_33*+{|0^MnAssBf zBC+KwGKMdo{yuOIABx?5^NtG{Qf&PB=E}IaFDv0(I6M4e+8e8$rK!WC>F$0VM;R62 z9*)w}Iga>#5&RW-V%0{ks)*P4HISQN_{S;20?YQ@mESTbDgJu)rs8kU?SJeUN5zF? zl&;S4*jLf6bIvjIgLD7rnt0!?r|$Wi&btmzv%&qtWjJ!Zd(G81U1jin>c)ffdUb#P O^ZXASO}5sY3IG6`og29T literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_f1f4213.pf_fragment b/pagefind/fragment/en_f1f4213.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..90c8d8452255514443f42d1aed61e2864c0800bf GIT binary patch literal 551 zcmV+?0@(c@iwFP!00002|9w-6cqJhvL7<>w&iF@Gmck9?uQ6x*~q7NW=+ky@dETn?9i3s?FB9gc+KvQBD;9bI3 zpq%Ys=D6g((X%2UC`9!56P<+{$dp-8=-nJ{K0|i=E0ZnegQu+@kjnXkuY67HMvX9g zpcgotk=h7{$I4$Kd(YSC)zR=CmXk0JLv-egTcR&#`3Y!3-O#dn^9G>c@D>#PC;o>Wtp;mDBwp!BnqOcPJ7bo5L$!>?i|qpTEWgn zXgG2F|L?y59*JyXuSR7ZZOb=WMlulBP&@mJjM6@u>Hg40g`)@ljS+8=V( zVc;aOplJ-_B{4E_BO06h?)Hq@=uW5BEGedzBvrv~NDg!b6JX9-D|i|NTP+Ux6e{(0 pz&5DDh#gMy0{rn3+*}RVnC^B2-}dT=ygu9?o&kS=c8z4l&pPgR9XJcbdD9odtG z2qE<$`h!@g1*Dh1H?ib?B6@f*FN0~VQ)U|`J?t*;ZEvQVi5xTacT z0B<@n5}VIqlJ{EItz<1llq7UaTpF!vVU4^;bR$#?Gzo7y3wQqa!XXey-cjdcUO}9= z7MLoGz4TrYr;5H6zSHZo>|lda@nuwFx%2qa*L$l&{rS4VHP%kVj)PcZNv3@_X0(X) zMOHCmRr8>`R^`qcb7rOpmUd^kb;Hm^@ukN3FMNN0|B;DzQZ+sRN=$%<+BIzoh5mNs_Cn5YZ3|8GM*wK$E1G)_?Js#HruxlDs~6fD89*I7hY1*LOqy)I_hS_N%%Sdr0FCmsLZ zsMd|37lASrlw0UR`EN$HvXvuQmPV&Cz(PxH3{4e0FG^UZM!^*3Jt{3zfbh(UWS*-u za3t}3#hFZ{R}nkR73E5X%BhG?sVwSvKPo{l)l8-|rLvmzMajYJa5Jrn4E8G4AXsaBoXV*(2PHCAp|6TtLGN@>(W$8u zE=@Jlg&@?`+l2~q#_)QfjdX&(eEtuPRpCL}cJPt?P4TQ@H6UzMN|DWToz^93h4fui z!ix(^lJ5n*K`kyTLGp5A9r5b)C;Vcw#vq!8L2Klx>nXN|mU0@Kidx(4MJ!TpCNRr=p9i zmm0c=WZMGdFfR&G7olI5u3sN)3K`?$;?a9$G>Vx?)-aUGYI0RUWl=7O&l7etS{s{F zCAt_54)1HXXu6t|m6r$h=9Yfl@?)rwp6!Ms&R*Kv9!6axRY4figa`siQJkin^cU5MQ2ALZ0Iu4F|&`3{_jl z)qfiK*wpZ~n!()ur=N_)AQf~n6ysr+-d>&II}ww^E?rd4ma1MFbm<(DhN6#8#POtC zj}uWF>!D_s$Y-5D0$oVWZIe}T07x>DJ3L>{CCvI7hU0HYh)|{EYji`4dRVh~2Q&yx z5YM7ob~0@Q@UFht))}AA(f=xXKPxh4HHiK4=f9K;j|Ckai6rLAdulrprUXfYohzA3 zr#W2x>Z&=Fhym6Q#RQ~WWHZ%*jQ}P_llD+!9tn)cp%@)?>A8mR>|G0k{h3kjn{Wgo;qslYpAozHjYPy4jJoYYyZHeD12IV& zAB}Zz!d6y56Y(DE2I3INmzQ6G9*KDV5E=i1E26QE!PTsO& zI+#1i-FHqu-S;}U8700tK?kFD-&;73-kF)cTjiX(HKnAZ=KV@eQyh5 z)I!wPem`u#b2gxlzk{~0kB+|rKWxDoUa&rIs{r@I9RJwEw006QX%#i>9 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_f75c789.pf_fragment b/pagefind/fragment/en_f75c789.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..4e1a84d02261ee7929e1ffe265a40f2e47e78463 GIT binary patch literal 2028 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 literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_f8c57a2.pf_fragment b/pagefind/fragment/en_f8c57a2.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..755ace9dbc77ca7834c4d896c913f77914feb159 GIT binary patch literal 319 zcmV-F0l@wriwFP!00002|8+65q*a>9R^gjP4BtiVys0ey5I>t zv2C7K@P>r3w;sW2kg%67vrH`g$+2i)dmv1(N_=4jA2KDd{?{zMf*lf{w;?!`9tfSY zeg}t;r&KcdSFY`c5DD%;CTKy&&_fZWlF8Vjg0`C9cvBe83&kzeHN3onmM-CyVSRFJ z{U4ISMcH*Hjgu#r~f&_tJCpJ RHuvLZ{06pBGqN@U000K)lS%*p literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_f8d27cb.pf_fragment b/pagefind/fragment/en_f8d27cb.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..0d75cff11697bb377657d58d51824eae10fe40a4 GIT binary patch literal 374 zcmV-+0g3(}iwFP!00002|5cGsYuqpp#lOl!mu-u&cU#gfh7{UMPrWs#5R77tB7y!G zX`D1H{_d65**bfhnfHDg`^_YuNZX(WHL8=ClM}t@5@|{lM(V=sA1QTt_MK?N7z0z_ zVkv_bKa|2eK{^M^p)`tq=IeR+0gn}3+tzt7@r_B2Iv$$c1bFkjoq~3{s)6HFYNo$$Co7GMqpabIe!n#DF=d}GoFUB{ce&#ge7uIumkT@BV{h=? UTf32m{qnH<1NhI6s&)bZ0O*sxApigX literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_f9abcc6.pf_fragment b/pagefind/fragment/en_f9abcc6.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..8e908a5430d44caef150a3425f644165a8793307 GIT binary patch literal 357 zcmV-r0h<0FiwFP!00002|AmrYPlGTJz`x3+FZc&xfYD@$KKbICiP@7eq@&l-q_m_x zrpv;2x2W4dm+gV%%Kd(K(7TqeP%0xzQHd?cw5~}YyS;^y zC8Q}lJOa56|K)Ga0a>2pMX_fj*ZwFpJA+)08XYI+!*0$DyyhtYmmC(6op z!*uVnm`SC>P(7P(``K*t}x=`z#U!$ahzh9q;on=$KE_QY|EZIR{{2oVY(ZBa!)ObH?4+8)I DPaCVu literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_fb29739.pf_fragment b/pagefind/fragment/en_fb29739.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..c82d54f69ba5a14e3afded89b3f17dc60d689abd GIT binary patch literal 336 zcmV-W0k8faiwFP!00002|Amo3Z^AGPh5w3`3ounJWlWlowiBn_IZacQCGHX}O{&C& zA=LjqmktW2U80w~_c^lN$}g;~*OgZKB)aItMidcijOY~>bZk)uPR#B%h@)fzsJgb8+u|N0-;2G06GpbV;SAR~znj`+4C(3~04 zj9HyQ@a{N9ER99pDXVf*t9V2}A7tB+y|q4&9Vo(P~x|g_bqp&$JA_yPzc5;KgRyXSbxb`wMEYrU||7 i=Z=29r_JL9?uI2!^zQFEk>#@g=zjqXxM-7B0ssK;y`pvi literal 0 HcmV?d00001 diff --git a/pagefind/fragment/en_fb9d195.pf_fragment b/pagefind/fragment/en_fb9d195.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..e2f3bf53a7cda5337672a2ba14e0f7f7e4acfbf5 GIT binary patch literal 372 zcmV-)0gL`0iwFP!00002|BaE&Zlo{}gkPoQ3%e@>6OHx{Df)q4;Qr8NH_G_FJO0ssKM_qVeE literal 0 HcmV?d00001 diff --git a/pagefind/index/en_3655664.pf_index b/pagefind/index/en_3655664.pf_index new file mode 100644 index 0000000000000000000000000000000000000000..5b8a615c32ad767392671d76452f42376ffee54c GIT binary patch literal 33779 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�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 literal 0 HcmV?d00001 diff --git a/pagefind/index/en_f92d448.pf_index b/pagefind/index/en_f92d448.pf_index new file mode 100644 index 0000000000000000000000000000000000000000..15eae040470f4aa81a6a767bb56f6cc41c741616 GIT binary patch literal 27103 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�PMB<#lUZ$FyBPUo#tNX`kw{Kf5{)z&MNj=Y=Y7b z*0C30&p^+%CnDw&QeS{aEC*_}PX!UwBv5@=2Lr)`2*DCC9F^CxhCB=6ds?>|%%y2WFJjeoZQxqSY)249g#j{CEn0Rdc`; zDt!Q-HN;ahiDQa%7GurFs(^po2&=X=7<=1 z;whLIash1j3iTWOxjN0lT&u{*=yxV2?2VAYRGf@9@}XZ8n&^H;$OFc20KIjz^%jDI zFSXusBA`R8H(%I73B3@gJU9$#KBuwzJ`CFbFfbXGgjxfN^u7wk|Hg2~Th3Q7Wbaw` zFE;c7y&E5OhwoAw)!6R$Fz^6F&3j7to?r@I!i2lOUra4s+xJMWA zbAETACwqZ_H$|{wm{qoe2{M{P{APe~uTgk!sxgzxD)@`_?%oepkPZw;e^k-6R*9!D#D#4!wo+5};=*t#hgGf%M)-8b#H$ z7`iYu2T~QsB1BE-sr=siu*A}-6KsY&hdxBWU-h&;6qEx<-b$Hq|+7S1e+c}6DsXPg_ z_3bhy)FCYYA{~ZhCjVNosS184f8`Jozoh7!QScFIQcT|!0r ziSAh-;u&wjy|M)-3h^|8c$2Ot+i;YEgwWl~1L3ZX;jp`O|4mREmldi9VA;&28kd1C z2?cvX!QVg)X$Ncjvx=m{1Ep{{Z6;c$rlFlB;t2JjQSDqu#DKv{-XN^uv`9`4n{ncF zN%Znk=^+L%2gsGyT(Nb=3&~z0AHPy;m9zA-_Ud#mH^+nN{*-mo`oa<1RDED2|D=4O z%P&mSD5e7$9JTVPE{MmcX#y->a5e(q?lN;bi~5sDz%Yl+qb%gqq?(|NcmNhl215Gz zr1=Vj`Nyyk33or@kH)yfXt~`8cpfw>qQ>k!cwf-H@ppbwAagh07GxW%*f4U%+$ znr>xQX{|fYx*sOE-Gc>rFRD%<8DM{VxfxqQHt`yeJ}Y!OrYolrL=lT11tPl0uhZ?+ z5p3@cY;RE$WQ(`Rj^e#dU>kh{s3M*M?m@mK0cQ_kI0>ofb857?qSEYR0#yZhW+ga5 zEpAoEGdKA?#jrBg?dg>5WO%=L>-F&o8*Tj%fA{W`u75VLnh z6)3@zB1aG6F{jUJ(;=-;)Z*jVe_um~sqH7t&&{9B-^{xrhk@HH26yaH2-9{Yy0}!) zFO1MqJnEK0ePB~A5fx@VU-iu%2tFfe8i;8RW&k!Od@)C_8v#lPMZOi&zm^vTWT>OK z5$cT|3Q1Em*8QvXCfm>o8(L>WyKU%z?*N~##J*^zem`rSxBc$;v@pT^ z!uysp@9XFH>A;d;#<|M%<>44Gs+Y=8-Jopsp!MN`h<3x_9$6`$VeD2A|YcY zyCH1Gbhlzu1(e!^dCBQMSxef>Dw^y5#UcguEE4#kdm$)1gAX2Lo^|Ic%s0rVqz;=n*f@aY=S{HQOzSm@rQ=RoDiN#*$PbF^C$hDf^pSX%^uzebKm10y zORjYnnFUJygHleG0p)jYIn6jeae&`C>cZW4mjA5DEc1B(dhQ47Rw z66gu^#R$#zBEihIsWoAiBI^q&2{hgZ19C zA^G>btj7Cn(;%|5h)spHIxAl zJ8OQ;*1^@*Id9#tbzvdBn`y?^0J8XDYWWn9*&kb{NNCqLSgS1Yd(kZrRiJTKiivkT z)RaDLWM%XF(ZU`C@r+y*LSP&$(`{htR^S)i1maf;q+tO7y%pwCknHbSXA@bgoqFp$ zZQX9x9ckV1*4<;>qt>g{D?vsE2tzAj5<0MxUa%Or-|;S9WF8z zW^EcME7YPDT6v`|-BsdRL^{%wuOTg@{_cK!J*oCCf+$xH0ScLBa(R0Is#TJ8) zKL%e()T?G(yB#TLXAf$tT9%Vo&_uf0Pca&qa^%wqRe7OTky0n$lT96?g&k zm)+VA1K$LjXQ6D=b&5H*ieV^DHp)iz8vK?jwxh8f*>rgWdELNn390uC%3t<-5N%v$ zHjx6@n~kvr;^@{UaKT2w1qyZWMvGG>p7^+!F()W$JXxUu@-fDq!M2>%$!6pT1LV7u zvW_6QZvKf%a)}Yo7mPd^%~&%kR!Ry%bL$xzg{XBPg!i?skNyH}wC;z<`DZU_W~cO% z*U2~b!y4sJj3zJk*PvJUO&8typnJwDKPmTWGl_T*Lx6XIIAqR`R*cLO6LP66^+iDD z?=`;wKV_VlAR7YUqlT&&aRCcp*TDuoOhlu(Gt}Q zGQt&cIp%l;pw%=;Hp`q-1uix-@uGr(x{`({>byl))DYE0w^-+lb?zbN?>sBa215CF zf%CHfFWj_XgkYSZz}dwA$pQ9zschHI7e7Dy=tjAT<64=e628~Qf!6{ zjOHH1!Xa2*zlO+brk*G_pEjSagth4$Ll4?|a-W}_um@DzM#HbDjkF}%$M)Dj1T6wjOyhVdtL3|z-(w7G+w zj4CDkz+e|%PefytjP)QH>p?QsgJi4+$rumPF`lI4aESU(8o!=j*OKUpAy|kZ$rHLy zwztJ*7fi>Glb@V>tqpzLhQ4D%|Fz*kHf-?fZ~=n>}ujF6ohMqRS0t4#+J`8OIgUxK$i0VWDJS$io~ua6+&@H*l_8 zE<%wj(vS;whZe|ny30=f9w;x$G6{9Ku+A6cj^_$rJ1+ulNF~#c>KEP?7-hR-R?t9m zBHp4-`QbWx@*xLf*h04bPQpKko7`tZkJ|7`MQ|b4wFzy47`*jVC952mi(g=^HCX3P z>-?Om9l|1O5x2}dV7HkO3`8wT*hvX^IMvbWer;2en|#Gtp!+o@~=8IHg;AJk0~7 z^C_ob3ueVPML4ZF~Xm<^5vibBeF_{}JQ=BA zanyW@JiwW!bXV$zm3u1*$X-t!zB_J3%2k8> zB;_Y1GEu7tKymgA>~a^RA)=r zQ8i+%?nOH5ZjQ_`XpCir-XzB?#?CCK$0pN@hWa(^7%F0fO5>ya1O*LZ?NT6ASZxR> z3SuF#Y3k^by)#*G`?D0JGmYHm1J?PLxS_wtdVH0-*_X1j%S`1_o5{&}tGIZ{h~J{S zd%S;0n~Oq@Po$u3v7?N5bmLYc9rM}!-g$-Nj|_l=^?sw=ft*i1@j+)_;U^j?td7;c zx8*wD<=Hrn3qVFx3O()jJYSVy^^yaQ^RlKDECzA$8@8+e`Eh_8o5s!b%?cdgTh=m+7lNe-jz z*$bHHGP4@MbgNN=+U;mM%>iN|iW!=!WMn!zLB+M1xXuY~)j{GW8mTIidsb&_krLEN z)K->)-DF9vkhOTLaM!d=3PfLoR>AJK5!#8~`^FL^-*G{ol5k-K5yB0=6-}lJFMxT3Af- z`&#k5nW|2LWu{VnaLP0|XaYf~%WIR*?Tu@m75bttR?4!N0HBfpz%5wlSO znqXgpj<~Z!T@u;lkbG<)I!xtWFT!kZhY&!Yo2@=9(8?-#dvy~QvU{3CXq{5)yv3tD z(7Fq)yA0qx?UV|PW+qz0c2f4AsW+biv`K|^jnP~n28q&CfMvA?3o{e1Nn`_a>%Sn= zk-2OjFt6FDFor9{*zmebz_>FI2s&_UKDA4?0($un*R4&Ek7k~^162?*Ee7oS>HA zWf5YaFi0uLH2bOpjMnwp!ObxM5{4OTBUfxz;e%K5$Fb~DM5uQgj8T>5K*W4UfRTDN zwmy%=lSvR+=yoQ;HVs2hLgD!~8IasxTlZb-6JR54whj5qSswc5}xsp(cQX1YO+RRJLKhJ;rG6YCkM-5KkApXFjIAM5qCUWuR5rxK}bE=`g3qJ$3u*U%g3)c!8t z<1d2#OEL2eDJ;Y~mO`3aGbdV zIid34zQ?{7VVL?`%>6Qo^Nmk59g_$YGAki*=A>W5HuhfDyPqcVLp~H^R+ndOgw&qr|15BN)yRZObn&;6BC#2~($9~RaDwOUjN@A(zf*XZ2mwY1= zaHySN< zC%Z{42AbrPkF~&agj=+eIdmied0Ve1lOxvD0~BqygiJPB4w=5uI`>-VafccJ*-ku;UI3E~Qve9oG4yfX3|%9rYKQGC_g8k`3we1sX(|`=*F`uaxSDNC{);Gjr=Z= z6``g!9nRI0Xh^}(6z3zr?^?h5(4jy#JK)zH%14t-jKV~7j`z9Vv#T3F^p4&Rh~GJONT% z6*Sia=7_lx*21SK5PGbDT~H;*L$X-T!09w%(;6$h0rF>y#tM%n2yiv*@T+*r7LmBJ z23vHISt$Ve+IEh%C2?jW{v0i6(IsejEZcZSNOaRCJTr-1bs;8ggZwg&+_d=xV-3Ze zb!cE9!Mm5jZnA{OXd=12?vQVqN)m-e3sSA!QoO*g$wa3F5z5Q`+Dw$9#sde}xL+p) ziStMOZm?YT!Pm|r&kC;!MACXcvEJXT_r481Y(vl5(Azfjo()g5;md5e+J=)he29P) zheFba`GjK^L2|CZsHR}Iq5bY+(N3y*$o0MRmS92pW`YI*4w`>NAV=I_UNXM`_S2_e zKq)B6G;=lZ!f*Pao1x$J2F#H)=V18zn)x|P#-pt>pP9pzd5b9htHd>IgorldWW6d9FjeK@DJtenQuof0iV&<; zbbq-=8A+)s&Tn)<}pfyD%#n0xtr{uV->fq)IN+; zF=o8VwroRKtnll2HP($$!~F=gEv%HNWsJsI)jZCtH8&+d1{ri_C~U!q#!{dLW|p`J ztQ8hZ_vR=TGFRN)bBT764Hnf(#kPos zLG@Q?{gsN=u2Sx`TF9WlC(|{z&?tpb_LyICB-eVKr46cpXAW5!P+A?pH|ek(>e}A=WYYNlW5VHT&&Qv*XSHIq0&9?^aZPkABl$ zePW*)2rkp|{rd6)dL7l@YOPnJ(-Tt}JFbhRR`1to{d&Dl=vW=p@&;Anl6u{!{YYv5 z()wJJ*zga@Pe$LGy*PldM)7leZ?oQS(Iwrg*N1h<9}%4Es5XANjCq67uIhL$$~e!p zxXJ8O$%=nSYrrm{e<^=Q8au~sA6@@S%u6z|#D6;N7qg4pi!v`FGfq z!c)dc;F~vyB2$*$SON8|5g;qOv|LW9jYg5x2=XCB-8DdS$vtY>`4JHatGi*NYB0^_ zm^ou^f}ZsxjAInMJ{6j|b(UDC#yXAEtqI^!>&#bx$uY^#pePPVSPsh zhH;J9dyX;+PJ>ey&q^+rG;${LdPXbqEc`qcKrv$$AtKgKiy_ zMysKLu}1JInm4P2a|hmoyIt>bUd19nK_XC#x2u?Rr&LUnv6))A!#oJ{mBVTT#NuPt zy@Wxj`RZ{GqZIWfsqMI@7@Tn%xtU~=(5|VnS?GPq#tzxMrLs3mWeb+d&MTFTRO%3;*y@4ozOx-J#8 zeuUl#156{-^<F)wJs);1>0KizD@W2_I;n5-5imRxO1{m2sQ-OtxKp*@g%ooGZ~w z;eNESw=&L*24eup(ueg^{!HJ7wNaZB`0xW0ALndzPzBq|t$VnFlF^Y)2QCqz>6#$k z!3DH-he>Lt8680$2|QaH&veLJKF9s)p=@V!0H?QU`n0=f6wr^_Bs5Q5qu(b$`ho?> zZ`9lWW9JEO)6>xIAZGQ3RQz}LKbZ$fEM7;3l}ZrhBIq05!vr`!K$8<8PFj10BUviV zaLVs63JL;X#e;Y#n&HG`Z8GX(rQ?Hwet(O`yDr|^)TU{_9@gomCObGU#3+j4N2P?A zlOj-?8|AVltvSKMqD^xx0_)9GV6C4pzy(S`2X~vaISSiaquj%}Ig9g`i@SITKYnK`FYTPGkmJWu`L(p12?c<1J5QOL%bs_;b> z(O<~V(@qkkLpb`Aq8kM!(z1hz%V?@s+TpSr_;w zK5(QBUE@0^IGW~H)`4+wr*&(r+hW}|L1o6v0M<*>Wq$ADEZ7||KQ#Yk&&=_DpH2x& zAw+<|u{F@&H?vCDSEBMpvpzQf2GJrKSEAG(BF|#4)p`$F?@{YLXT6vFVtV)rK;B0= z^o+cJOW22OAfttYL?@iUI^IB4@vN$NMpV2)VNf7!TSUhz7DiPp8XkorNO12QQkF)_ z6QjjZtz3S_Xmgbe?zM3oSQ}C3G8KJ>tHw4&G`1pD*hZ+rR!QcL8Jwwcny%rgX|ZRT5GyqwZ&k*ahQWkUiaz(O{# zs8%*c9CC|+S^R)va#m>dRq|o0RSQ`o1HpLXYZMr=!#aB?LQ&MP!J>u@RDf-==vw&7 zt*2@3(&Rnr-fO)Y>or*K8tdI^Jxt|SDV-#nko$|uH9$110ped+YMNjj5#eR1YE}y= z@RW0bm}>p45l@g>y{y;YMzNTu^)e&1vO4U%!R`_Tr=RFIY9{YT)Q>g*XNT=0f@`v? zNTRC5;}Zme9Qu1Hh)L!TlCB)Fw)E3iEma4fRkBE^S|W}u%?=|EFiJ9nN?XL>z{I8i zJDT#3w8=^sQxgj$jed%XDGEK?oX93} zU2>eh93M}4el%osic-73QtN*K4ZWrkOsot9Wh=-FX1_lWx>mru+4l|MJ!On_|e~p0x$xhKZP!pyCmF!ke zl5Qc8f+Zr7QC<&9@8T4b;4nw`4*Mbe2Lc2>Dw>N{N3)cDCKK?id;Hch|8tA8PS#M) zB@*+~$#^`INq0T)8m2oBn{6Xo1IR72IqLgT>#eumHtX%RUaj>yt#^Wq|4Dfw4zp__7JO%e zpT4+w>XaZ+ws(?W(U?wk_$8veM|7tw!2Y<5#5>+8n?WvXpvNaEi&CVMy>?f@7QKTA zGVdnrEc(30c)Q5YIkm*ztwS=8ywm66$(|)JOVxwG)S-4ZpQ;Ox`o&a2p+_8C-OgnA z0My9(Eajr&Of#H?yOrKU$xJ=<{4Nu?tR~A<_KMgW^eZIxV6@r+~5L3a)}}juO0lio&NO)etb0{u-~`e1c+TQzb`^ zK%FBLKOBwWkJpIVgUJZ+nX}gE#406i_?Y5E5sY&@E;$6u)6)Ab=7iGYh@!vqlyNUm zZF~Uvc;37-&QeDw;RX9FN69b)s_0^o<+h{$bISbjd{TF_Bs9o#K<0SW# zo0Dvs<9LD}5q9)_!u-C+Pc^HpemEesFVI}(&MIy+hqGv=Bc`5R0L6Ff4f?C-EU3;a z!sUhi-h-V4veio)?AS6#I)WkUIxfLF57BG#wYACM%SNhu+&5@mUIin8WpEQrX|e|s zvA_$=4bf$-968WxzV4T_(;)ElCF)Yd9@^O?bS+sn=je1TqwD8&6TKu=6SeFDloNy5 zaZGliF#*mfPznsruEYU_1)>qp8Hc*}zBois(7-uLztjW^=haX&Z!qU6z}b9U<|EPA zlnl(nZ|H{pl}avK@%?l^5oCYZ#qTGOLl%UI*zgeX&8*<)cWjXEB(42TiSHO12c`pa zgmmMDsk-DDaTeSPlF04S>=+~B~^5f zVqv!<{YHLCyap>b%1V7slc7j?muNqWzOU=J3=YmkcaOx6tM|))Y-lnk_}askruE{X zH%lTxdzaFjRh}RV>@cW^r_H}8?>hR#MI+4j$%49z0RM}z{n=RTctv&!Bl%O0NlXge z#Jd|3T?q=#^JPv6VOtP2Irypav+ze4`Ib`ui0Dk|TT|g;!?l4vqCvpbe zxz@RvqxXNx=x%@O&5;z$@vI!+(M9cB$8bpvREl&Xl%9MIIXht_Q>l28ID{l>4CF?7 z1Z~9QP3?d{A}~rxmY4bJRz<{TAF zo+T8;YgRMc1av%I!`XRDB+7Lnr8LC91i#p}ofh2NUl7TkXf& zRNSa}!ENYwvREEtGkbydX%>MBl_pMy92}(DHPK`ZN9E5I>unts3fbGt=v6Hhqyr0u zH&F^G>1$Z1f^6ow>LlJEEpXsncaCr3#TMhyOG!j6vY61<4;tu0t zQecJj1Ii>f?*x0h9T7Z|3u@2EYEa|BPlSq17qWC(spWIJHirwz2n*5dud89227ZnW zu*oZwQqR+u)+SC#>mTFs>rHr_s4Eg_aTCG$#e#AURpe`$QsV`By;vY4GHrIJX=#d+ zY9SFTMF!COt>b`$$O#$3{nmrVbW$jW#U|K9!TQU%`d~79b)(3=`CT?)wxL1n#V-CS zzcm-v44fqxG+YuZ?5>+KN7|?`zBg@{XlM@bO*GXUoSpF+SPa#RHwAf0_X@%Jl&rw7 z38vLu^5;bn98=X4laz@q0ae!D*H}0lsV9 zpIG;|5{8C8ke8|eA9dzzQ-2`ros99~r>RI&!3KS?&Aj+aNE z)ueG9C2+1bodM|$&f%6ES9BhKKYwL%)4R=lA$9pWI1Vm=i!1w*s7am{O0^ zQ9ohGX3bi?MIUd~YYLm~1G>ON(j3?Gs@}2gP@n9Za?Dg9fnLQU592p0__FnGr+Gh2 zXrJ)cWvG*{=B%-u3a^Y1(|@s;{)@%*Uo58oVln*}W0v!(BZq`i)uMp&+6j#qpu+v{ zxF)H%Dn|}RM^TVV!@e77aackVF2=VDlA}!y+%)UVb0Drtn_@N9tGh1n=+zC%mU)8C{J~& zYh^iMLaPNC+p7B3c-6Nswc8~v%?fpunnPVk1sE3#<>*6Gm%wG{o0`bTc|wJgzX{VD zEz|o~>*W0~Mced-%=0zt6kBIFc{cV_jBKbH6Q`>0-8zw+@L{Blx&f(_sMa0|K$4i$ z5^W-V2IS)z&W7L=DPgU_2FFdJ`jp4#q8#4Opzke-+5yQaHr8BVc3XyzYf0p2+&zi@ z>8sA1*~5+1>12?6^ih>2pQZixIm$a4VfV;C(ajsI^9lBs{0fESiu)Jz(Inu4G30YF zvTOI%NvqXeNf@aKE`?Op6-5QBgt`FC5)~K~Qn{!u*H&_?iRRilxvOag2!5Tp*#xI4 z_~H<wT=`DaRzMtb=Vk4Ax`oPPOgql-!b1a zzcjz6BaB=QKJ3RGo5*>y*8^JO%94PN!BW z{pdGf@OsOzsAJhZ_Y(Hdy@Fl;ALsQ0mJ#CoZmaOvtYaJx&q3u&II+_v>l|cr4n*fCus*Hx zJBGFn?ugG%dtgaTb^ zdD{kOe$d%iWqus1zkzWuiqQEv)k!3SfY|u^hzRvjRv>6aUcx!iENj*XRIo z8Z8l@(E;KzIzT)@2Z#e`vG{)u5Rq|!cz+HMr_Vw320GEK+lh*<;R?peucLd(Xb`~@ zdfbM)DHZs!NNZ!2Y88_X3{!3v`brh~-E(4~dZvtuFH*IS(CaddelTJ?RL z{MMmVdhvlYkl=Ef$s`&G1%LN*|67f0YQgP4_$~i?yDO=t)c6M?}hyS?G@%G z#y?YZ<6`NNofvMy1HeSo#ndfO3BeQbZjW%WbqZB{g%GO662mxK5rRuq82hluN05~l zVm+hD2GLM@@(Xh3BjO4PGWWg>xg6dxzw^S}D3wUxN^!&(q&eqeAhQ4LP379%C3^ecVXwX#aHv8`RGB$gz#b`Wfeg?k%ALgP(%p1lsvs=h4WgD}U zcIzDHPraVC_}i@W(LhAOVtJj89VBi8D^+jbJHy7g834yFHCcSM4-NE5^9ojS=q5fs z4FgC>)fK>#pD-^|8q_@mGCJ>L7x0N?=Q(NUOV<4rop(ktB4#{bp6ktr$R7`u=pUHh zK|QP%`aIh2aUJ=R4rSe86()5jG~;SKa0RCKoBSn^Rkm_w+kvHiFIn&-L4U`Add=gY zqLjG`E$;SvU(3srVtHn;8gr@HXBq*>{+cq#^<`{yDkm2#hJ;OSN&~Tu#`^s*u$YU{o)%4P$}oY=taPTR>1(a)$D=*97p#u7|z2G+|K#~I!PlMg6@w82N@Wc zMftFZ(Ez{3$zc%|Cg9N|qZ&2{f zOb5SqlpO6?0V%(4K?zW{+c5Kw09Z0((Jz#6(!Bsh$6z1Bh(2YWHD9J=$m39_H~D0a z!34lcJRV)_$0=PW9Ov4jD0&N2YL*!I3rjHNqsVMKQP8Q$GDhWQ7IF0{s8Uo)zF?Ha zc+5*)P|ZuK2)9S9Z_< zR$v*e5&ejs{RW^LQ`JU4L={N@vJz0#M*@oa=*e(nsdf(3)$Lg@03Dr(owCtv27TSdz9J9O;Rz(q6qbnVU6G=+ zF{4o zp!;WW`Wz^*w_5Z|6iUBc+3o}qr{az3vEW|EQe07B=iS10Q*Ejos7n`?abqC#zQR4u z#5JSm7sL@Z$C9sgBI?yLl51sQkMTs%=30%SdW=&H?MSSKX0nFg&l8s6W%~1o3m(i!1%bXlk40uMc3c7 z?l0-tOgtXs$g}j2K&=AJeTkmRq;olPbN~|lIx8)&`aRAMuYk<=O2nkGz3(@Vu;aik z$O5${fdM&T&O#n|&^!i8{#ElW;vDOQm|lpqKSxyYG}I`0K|EF)&r$Xu-WrcUGy6a} z0AIP*3a?!BAiJm?ljVTk_>I9GIwdvmV|raa1tZYOYY&55ZazcaTOmEW-Tk-t$1KwI zFx>e&R- zf{QI;;+Q7}v@6IdageTSN=i-X;4Ao)3ANl#k$eMYT8Fw!=Fl+~bV5ogs{91?0p=jW z7z)m?+)JVFyV;#G1BLNp=F{eBd>6SVc)DsUH5_%SQqW}@TfJ2*F!-)qkoe6jC*%Qq z@X(nGGn}%yjEj&VR@1))N6xZ8^9V-9=x|`bNa^z%IA*?ge{|!^*1f^H5Aj*(Kt8@_ zLyis2wV``#=<_!8RU7(^4KKFgOKkYksslFkA>V;z`E3R_x`3enJqM^DjzIZ~jbJ z2e539w8p*IJa<9x{iq+Jw+v#7^FGL&N6l3X(moCo(RUcq8!M;VF&vp>o$Vw`fp0Rk zsRZC=-L!SDVM*i-_U0&qA&4wewSM?4=}&a-*h*+md1y^fkvPW^&oDkR0wkynQ_+Kt z1TZmt<59Z3OrlwaLTqeeem0ObBNR0ADH3GZ>EFq4NcUpQbOC#K&WCxth(KHlxV?^C zP5>;f;zOYUe1DA(E$G2A)B?^Dkg@I;SakXwop9m)o1IWb)AS6eO2Zn1iR~ zU>ElThffUXI(#A|X{RQu=s8*3ybG{E@28Vpr*<+zu@v-u7vU7s*wJSsiYSfCR#FV6 z6Od9Mo>vf>W>GX?G3jh-b}tv5p@6pJT;U3rDoV7RBH20E17wev!*m8;A(FmI{*ug@ zfPgGKqi3W<`k`@XZ*0I@B!jh>VToaqoSl!eSjw^^(2r%O`E}%nu!fKwhhc(=oF*SV zU;h7Xc7-&%QodsXG1t|{E6lpcK=$)DD(2(!)?yYG(4iecG|6~#kNGBL73e9>tSH~u zQ9&W;MRFj7baozBDv7m{eO^FrZXrAQ4DNj6I)+>l7PAqgZ2sk}H;jV_f6&y6CI z)+`lTd`(AA3udf_%$F;ePD08RXsch2V&_XGLWIZItq2*UFo{Iz+VyQHhW^e1*-I8?2K~} z&W3h{=`>#;_ljGp=3_lvM{hdF&&B14Sh8rh(j96pk?QK-1KPj7oEd_grE=+p_+bs# zcw2)vm&LBju59`$u1&r{VzQW9MP$>ucTmzXE06?!U_uav1hIOGd>tKZoQ*? zHuC4Ng6^ebboR2CXI=JDPHT@S0D$20z(4<&SXFQO+5fpqZjN31byshU`e3wEZ26AfaoFp@e;jy?M zI8%$`bv>1lqjj)&e=f$IZ(~Vj=vW8#lKGqsA5i1aP{M>FrNLKhrp_dI@vV{*)u+%j zCF<&e{HW#|oW1lgHl7r7P+AYMq@zpZOeez9SQ3^%VDr~hm}MM4JcR<^27#+UR*_u@ zfj4(nPO^U(O#fx`6TtxKC^kJfb_XPmM#bA#kk`-{(Nt0-|4k5Y+!j5(egUzviK@Iz zQZ~CtBV3oLBlZftzFa^V^f@0Vb&!p{Unk+j{he%$E#?!Hc$x$U(A`$^f_VCShZ#0` z%z9t8-pk6~6B-z@kU}6QF+y9V0{3U}pqYEB(u|LQBUf-jr*R-?5agG#2Qt9oB&3>V z%CELHIJbGaW^jop1As!ek6_;3go9}o7mU&VwjdkS0VU^A{jI*Jc1=4Sp*4)m6)_p! z37XJlB6RXju2?2$Xq`S@f6?O!VI>us+@(?-!uDx$7hE@V2ZYw1C07? z05tRfX6_BFk9;Z`xYds4%P#%%$8_103_5W&T5n0~*%piW^dDHI*7H$y5VfM1vzbA?0MGPB&MhN7}ruUWpOq#SC7-_(NFc0n`KQAFeZ^6yZI=E1tNJ~s#?oC8Z8hJ z?h12=aMxNa0D8KQ97h)}g)u3XJKPk%j!u#8{=tAOa;*h-dy=EFoa+SffD*TtJSp7S zoIZ3Fdj-hBYfTh}?Y3L@7V>r;?}tua6v*`#4&ds}Zglhc@b=5aC1s|VBkPn_EU3Dc zLz*g7B+^K)`PZ{RbvuaVOMs!jN9Qkv7zCZeAZRrkuHK;h>emv=u}*S^KBfpOpE1qE z_5t*T>cDEb>vUK27}-Nn{ZTpuWwdy@4A5;dw;x44A7^$j=VH~QwLjM@1NmQFZc3_-mjL?1{kSX zfPx$~hYwGxBxkJo&}05p$p?3DHJy~J->ebsZGnm_UsB(rp>ibU0_t##1B@4GblnR1 zJ;>$kwi*a3A6EAEO+D=c+QJLg9V-%BGksXRRT5GI_yWo3Ca$&kI;9qj$qt}bCMZf$ zyhgiIg@j~oR`&cWu98j(j8(u_hw>u#nqP>h2!rB2jlcOWX8vu8`=mHv@(({kE{MH> zW5n=am&?W?jbdNKFC^(9nA~Yp(vV`zrkj9`0ccb}t!&7rx(?J1 zgo1ZuO+8G#ZE7HBwPU0WEwrI#in*rJY_#^6VuIIU^|t#7l!=#hAlrRIR5UWL$0>X_ z891R0qi-SqT!F0nP?uVwB#cX{=WBrii2CJ9kiJU|97zNR?k<$rqu=u!P=s{8>7;gC z{O4fu@}&PEf!d@)?}=tTK)W$fbV--i&o&jk^Gz{!HRHwn1I4fZ2H{WpdV?&G-%!n_ zc;6_lJx_AGN={jv_Uex%P%TsAK?Dtc3+dvB>#67tMlZQ z$u#Rt8&2yNZbDtkhbq*8h(MNIW@L4Z#nfe^b>~~O_A(idH)(OV_9VX6+Mi-H@OLl# z+lOEm{N0ED1zm6LMbI|N(XZCN#By7^lMw-Ti}@}9%+}uIUxB{|a-Bi^Zz=yv_Tbij z44~i%N`-;S1d^jRNm*27nEVXq*U*Ghl`?s5q+E^SZjv_!Jy$L@$H;RPQe~{Xp;D@h zlb`WYI6-taI;)(kt$o|YMa#DERSw8iRDPF6S_@gNqGgkp zn$2>rMH*|BEAYkE9=uoR=cxQ#&Q-9j;^!xex1f8DPh1|)iA8>ALm#u@3g0AuTv4QsuO0^!AL!xT|F})~KW~Ig<@)5cb zC<41!zABOPlPR3NC~$8D275oy4C@UMp|i%E5ernICJ-H>&}5}@?qy)@B7Qz2iJ%7& zEuAXqVRmZt%w=paXoW_xUL^VgK??hjgfmytL(exWP-C)MuEq;mI0&E7Y&y(W87Z5^ zzQzj}1stgy9>2>Ns|pfxjufMOiJG=16AZpzSY;0t`6w3FY~}nsLwKBH)_D}t1p~Pc zTQ99PukCce$_~yCZq=jhq$*mQRlAuXkeVJ|)q^0!!zzy)QC0G&^yYGLZo~@6oD-Vf zM>30D%kt@S6mlCDwd>0m+Y=G<8$loPz3E*c|A-4}ecIMGqxA@|^+Wb^~Ap_d-y zC)|+2GGX=ysYKFy2aL9l-)gBeOA&vR$uOFUS0Ap;CzBU7M<4I!{%KRRDDNDEsNj$N|DWtWSAfRkYJ!}X^RV6^bV=HV9yauj z4fnI*`C_9Uf{A?+#y4{7rVv!@zIBv|Cd}aaBoSWwiz&81mN8`A=BZO=QUd60l2r!R zQ>RP`VpB%>HO*6J1yN|L{OaZ?B=IJ!tx;xFgbqO>sQOSR?L+2yrnDzc^L*s1dv<=;4L$~4SHj5qA zY5~E+&}$v?aed4DPK~2^>%PK%q2!_oR+cI$nZ zb4PuF;MY#S_+-Rv&^f3z9gv=6~M24*OH9dBXfb@_Lcm=6G?2nZSg4w&GwgR?ci^hk*S= z@v1~Xo-5~ISJ5^mOBkh?*@kVkA7JVy&6h!#z5&4Thgc_PA|+H|ISl4E&<^g&{`YrV z=aWLM!{ly8?pz;x0*hRIukBhTgQwzM&onB8^4x%^jdy;BuDo69k^ zFJL)b2}qfPmk(k*-({cS5)Lkz$8MXibGXD$I96jaA1r?Z8v|j$d<*a<9d}RJfX-R( zS?hgY_sw2NNB}$+avFBB->@maf=+T_!_N-`yR11WP0opz4pu!?L*yH0Qz-63|KcJLoG5SImI`{f{Y*t8A=MbY4o8nv>-)V@bfy-?## zT~HxGf6#&J2ZNG^9PMv2&GARUMLq zI-MqZ-y|fkx|uU`MLfS2O8G^~@R!6p-a*sg2EYR}&Bag+D%imxEz^DPlm=y!19FG? z1Wetpn(vApdxnmB0uV*;(J%?7Tn=fbra2J}i1OWdZz5Zt%6E!G`dUi$WaMyz4SIaR z#IDRl>cWb>KM%_)58839d4>WQ_;iB(SZvLHyepmAjTcg>5rn${dhd_TpV+E@sdaoJ zm~IJ^#Cz#v6l~zX;%hJ1G_H+^Ndwyotv_kLVV!?7Wj@VvXViLRwY%4E&}S|_jo!VI zKP*ovky)&LRYEhifn_9eLGbA%R4Etl!o+@pyJ_Mt{KyeM+M>=xFZ!{TD4ojVGVIht zR+!AxLX}$=iOt(3xPs7$Q>rV^v7x)=Fp4Hvu|Z?+=sFGbC(?T0EOVdvoI(wkX-b0a z!6KRxr0C46Ou33)k|95vISSCWiu*}TOEi02KJRbR(R~t{S?7yu-Y9k2HR6|FqEC*Y zCl3di4o0APfw1Y`%YJnWrB*n}=-aad&U)Xrq1iU{q7D7khCM9G2+3;C`=RTILGCf_ zApGAne`E{OjT|iZQ}!ku!)_2cK8W-)BE#;bY{5ZJ?Us17p`A}hOJgw=!CvXTKnaXM zV828jNdLbiL)HJMsE(QeebC+Hy&%R5sUUYb@2cE=MGPT&x3(o-%`2G4@TY#FB_2y% z1nBQzIC2?e-96?Z^R)RowHI%Y`!`jx8!@@yCn+j`54b+*? z88IoglWZglK!gM%iZ@tDt`C&YVigm&nS>87IxboZd4ew^&1FfaoO?7;4j*3ezxUUx zYuSdb1KGB8s1=U$W$e;jd06a1OCgNa%NI_Yc1*LWHqu8YA?1r1wU-UOByi-nl|DSl z3)H10m`v0sFkZSUZ=sEniA(Ze|*R`@CO35qWbpYa&Pw7xj!>GWd9l z4gJK1%O(5uN^>LB$$u(k8A{3DNYY{L)63F>@l*g0$5nY)D*)_0)vhZh&Ss{{?_M|Eb-Gi=DXxL6^#=% z;zKw}a`qV|p=E+=3=&X(peDfGtR0&mW(lm74H%F*v@Yp))YeQK^(09GSR5qMF9_^(F!p^)?HQlbtnqI{{ZM|sQz3;ien~Q}rx28L(D9}6 z#Z$4K>WS?&MY|Get;KSwX{py7i=Y~bmPA9MDIQ}{VS(_ZSPP`4^Fw*+d$La{5A;Oq z4kjcyEJufZSU$k|y*v5(ART7X3sNv+%LOvsizJqZPa|ZX<%2S$MRH_JDJb!Ig^FI* zP`AZkJy{*%8On2Kt8?iT;*@g~3tA|{wKT{j)T$CTebk2DvZ42F zc&!cZV<&S8db^q=M?Rvlky04k$b2&kfR<4@CFL$#t9C> zcvdOkP~GjDWVeR~Vl#Z0vZqWC#VaCGnt0rg7N{^x1v8}4nUac)5A_Kth_aW?8k!&2 zQx~Zd`!Z3CzDDa%u)krFu6Tf&xF@IsA0=SvV9(_nDS3<$U%V3a+j+tKf~_>$G;(#j zERLPJM&x*xQ|2y=g9>WPBr8Y=sK$8J1RfW|O`%F&i)GLD6%?>9ttARb(7c>ZAZLDA zl#KzhvOU#nCu-hccROs})_YK?+!q9c=>zhUAUF8jakXRKCIkTj_sy_YCUs?+VeS4GhA zpi*?cNM~?diL4G7^U4AHOt0jiwi$YG5Vmp?teit-jt+@0>@aE}pNs|Z$`zVOstkS1 zM4LM01Fw{|I~?$S0Yke3RGS$m`6Hw^Wf&|z*B~RwO#1truR1P9FSF8yr^wNlf1w-c zoH}j5JP>Vd_j{bDoF@M;|1|HKf0=)q|Csm8`;-j68^h5q$Hj)&o3%Uhzn)ALdvj{# zz8v(`pLb6odwCWE+hp)yAmh%J3}|OKz&K}}JfFSS!mihcIV;3bc9On=GZ|dPbl@24 zSZ(Y!+hLtfj!Bi%5TEjUlN-hjSmHMU4ZaHk={?wY_d)}?-#h?x_#yMG`Ia1@Gl#%- zBGYBG#m@pJy&jL@yBt4yxJ~MiU`7&-sXWbudMRY2<#=i>M6nH!zAjOp+Ze#ydQhB$ z5biT3YjT*Z>cdllLjVt`*U1SKP7Mm9T6hwL(}Kd_psiCVoE{X`XyIu;b{MMBG2cUv z3yaKa=4Y6+m#LH{li~Do+H(=|%RJ0SGR%=>iYsUZo>kCoXIJ+S6OEtBVIYYES)C<&l&bZ z+lMiE%DOjknCvgD_gfq4X+sa#@MPaTKLU%k7lhXp7|hEsfY6PA>a=6_9yecvV(~3r zS`m(zoX2s42RIBD#HtwIJ`p2-yLm_GeoBwG`LT6>W8HsPuLsK>;E>DAt?V7&8yjn~ zK*R?{NE<5X!Azs)T#jWSX`s5K*O0H;Q1yN;Q&Pewzb(S5`iPS6NfM@BP>N6O5dK{# z@fJXjX0@|l&O#!WRqPfH)65*Ognk1#LUfZrjDR&)kt{z?M2&kiWa$}NkCT;bEmcAe zpmN5eK*u2{{}f4sRu55h@XPw-Sjo zELGYyLixgMH49C`%1!5EDz9d-=s@v;bZt&bMD1f-DRb8Eb`8Opmtaz$H~+wTf3cx^ zZRimj`jicQ)`pkb@CqB=ZNo9&y@tf*GV@V(a|L?+J=V~}gvz)}t-FpOnLD7e`yMl} zeK3v)I{riJ{#;}QNFKG@81NZtdGHnDImJeNQm=w|R0M*E6&&e@~SDE`owww&Mos}- zt>(#T677vewUkKINDZne7tm{(p41t^zMF&LtTRWk9AF&8uB zkQm0ownF~OtIO+HEb=(@aB6TC=1RZjNTNw|9J?FH1EiAS_jl29J7vcrSC8?XL0|?D zjRriBQv;9Y()};DM!Bnw#Bze_uUy>K0}xH ae?(`Tm*riu*99XQVi9?x* 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 literal 0 HcmV?d00001 diff --git a/parity/100.svg b/parity/100.svg new file mode 100644 index 00000000..3ee78cb4 --- /dev/null +++ b/parity/100.svg @@ -0,0 +1,30 @@ + + + 100 + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/parity/no.svg b/parity/no.svg new file mode 100644 index 00000000..53e4dca4 --- /dev/null +++ b/parity/no.svg @@ -0,0 +1,22 @@ + + + no + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/parity/null.svg b/parity/null.svg new file mode 100644 index 00000000..6404fccc --- /dev/null +++ b/parity/null.svg @@ -0,0 +1,41 @@ + + + null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/parity/soon.svg b/parity/soon.svg new file mode 100644 index 00000000..456e6fa6 --- /dev/null +++ b/parity/soon.svg @@ -0,0 +1,35 @@ + + + soon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/parity/yes.svg b/parity/yes.svg new file mode 100644 index 00000000..43323998 --- /dev/null +++ b/parity/yes.svg @@ -0,0 +1,22 @@ + + + yes + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/reference/array/alphabetical/index.html b/reference/array/alphabetical/index.html new file mode 100644 index 00000000..94554ef6 --- /dev/null +++ b/reference/array/alphabetical/index.html @@ -0,0 +1,96 @@ + alphabetical | Radashi + + Skip to content

alphabetical

Sorts an array of objects alphabetically by a property

186 bytes +

Usage

+

Given an array of objects and a callback function used to determine +the property to use for sorting, return a new array with the objects +sorted alphabetically. A third, and optional, argument allows you to +sort in descending order instead of the default ascending order.

+

For numerical sorting, see the sort function.

+
import * as _ from 'radashi'
+
const gods = [
{
name: 'Ra',
power: 100,
},
{
name: 'Zeus',
power: 98,
},
{
name: 'Loki',
power: 72,
},
{
name: 'Vishnu',
power: 100,
},
]
+
_.alphabetical(gods, g => g.name) // => [Loki, Ra, Vishnu, Zeus]
_.alphabetical(gods, g => g.name, 'desc') // => [Zeus, Vishnu, Ra, Loki]
\ No newline at end of file diff --git a/reference/array/boil/index.html b/reference/array/boil/index.html new file mode 100644 index 00000000..3c7dece0 --- /dev/null +++ b/reference/array/boil/index.html @@ -0,0 +1,92 @@ + boil | Radashi + + Skip to content

boil

Reduce a list of items down to one item

80 bytes +

Usage

+

Given an array of items return the final item that wins the comparison condition. Useful for more complicated min/max.

+
import * as _ from 'radashi'
+
const gods = [
{
name: 'Ra',
power: 100,
},
{
name: 'Zeus',
power: 98,
},
{
name: 'Loki',
power: 72,
},
]
+
_.boil(gods, (a, b) => (a.power > b.power ? a : b))
// => { name: 'Ra', power: 100 }
\ No newline at end of file diff --git a/reference/array/castArray/index.html b/reference/array/castArray/index.html new file mode 100644 index 00000000..1061fe0c --- /dev/null +++ b/reference/array/castArray/index.html @@ -0,0 +1,91 @@ + castArray | Radashi + + Skip to content

castArray

Cast a value into an array

76 bytes +

Usage

+

The castArray function ensures that the input value is always returned as an array. If the input is already an array, it returns a shallow copy of the array. If the input is not an array, it wraps the input in a new array.

+
import * as _ from 'radashi'
+
_.castArray(1) // => [1]
_.castArray([1, 2, 3]) // => [1, 2, 3]
_.castArray('hello') // => ['hello']
\ No newline at end of file diff --git a/reference/array/castArrayIfExists/index.html b/reference/array/castArrayIfExists/index.html new file mode 100644 index 00000000..423e5bf6 --- /dev/null +++ b/reference/array/castArrayIfExists/index.html @@ -0,0 +1,91 @@ + castArrayIfExists | Radashi + + Skip to content

castArrayIfExists

Cast a non-nullish value into an array

94 bytes +

Usage

+

The castArrayIfExists function ensures that a non-nullish input value is always returned as an array. If the input is already an array, it returns a shallow copy of the array. If the input is not an array, it wraps the input in a new array. Nullish values (null or undefined) are passed through as is.

+
import * as _ from 'radashi'
+
_.castArrayIfExists(1) // => [1]
_.castArrayIfExists([1, 2, 3]) // => [1, 2, 3]
_.castArrayIfExists('hello') // => ['hello']
_.castArrayIfExists(null) // => null
_.castArrayIfExists(undefined) // => undefined
\ No newline at end of file diff --git a/reference/array/cluster/index.html b/reference/array/cluster/index.html new file mode 100644 index 00000000..ba9174ab --- /dev/null +++ b/reference/array/cluster/index.html @@ -0,0 +1,94 @@ + cluster | Radashi + + Skip to content

cluster

Split a list into many lists of the given size

109 bytes +

Usage

+

Given an array of items and a desired cluster size (n), returns an array +of arrays. Each child array containing n (cluster size) items +split as evenly as possible.

+
import * as _ from 'radashi'
+
const gods = [
'Ra',
'Zeus',
'Loki',
'Vishnu',
'Icarus',
'Osiris',
'Thor',
'Apollo',
'Artemis',
'Athena',
]
+
_.cluster(gods, 3)
// => [
// [ 'Ra', 'Zeus', 'Loki' ],
// [ 'Vishnu', 'Icarus', 'Osiris' ],
// ['Thor', 'Apollo', 'Artemis'],
// ['Athena']
// ]
\ No newline at end of file diff --git a/reference/array/counting/index.html b/reference/array/counting/index.html new file mode 100644 index 00000000..6ee3af8a --- /dev/null +++ b/reference/array/counting/index.html @@ -0,0 +1,95 @@ + counting | Radashi + + Skip to content

counting

Creates an object with counts of occurrences of items

110 bytes +

Usage

+

Given an array of objects and an identity callback function to determine +how each object should be identified. Returns an object where the keys +are the id values the callback returned and each value is an integer +telling how many times that id occurred.

+
import * as _ from 'radashi'
+
const gods = [
{
name: 'Ra',
culture: 'egypt',
},
{
name: 'Zeus',
culture: 'greek',
},
{
name: 'Loki',
culture: 'greek',
},
]
+
_.counting(gods, g => g.culture) // => { egypt: 1, greek: 2 }
\ No newline at end of file diff --git a/reference/array/diff/index.html b/reference/array/diff/index.html new file mode 100644 index 00000000..3b37b651 --- /dev/null +++ b/reference/array/diff/index.html @@ -0,0 +1,93 @@ + diff | Radashi + + Skip to content

diff

Create an array of differences between two arrays

209 bytes +

Usage

+

Given two arrays, returns an array of all items that exist in the first array +but do not exist in the second array.

+
import * as _ from 'radashi'
+
const oldWorldGods = ['ra', 'zeus']
const newWorldGods = ['vishnu', 'zeus']
+
_.diff(oldWorldGods, newWorldGods) // => ['ra']
\ No newline at end of file diff --git a/reference/array/first/index.html b/reference/array/first/index.html new file mode 100644 index 00000000..0e43c166 --- /dev/null +++ b/reference/array/first/index.html @@ -0,0 +1,92 @@ + first | Radashi + + Skip to content

first

Get the first item from a list

62 bytes +

Usage

+

Given an array of items return the first item or a default value if no items exists.

+
import * as _ from 'radashi'
+
const gods = ['ra', 'loki', 'zeus']
+
_.first(gods) // => 'ra'
_.first([], 'vishnu') // => 'vishnu'
\ No newline at end of file diff --git a/reference/array/flat/index.html b/reference/array/flat/index.html new file mode 100644 index 00000000..26b17885 --- /dev/null +++ b/reference/array/flat/index.html @@ -0,0 +1,93 @@ + flat | Radashi + + Skip to content

flat

Flatten an array of arrays into a single dimension

77 bytes +

Usage

+

Given an array that contains many arrays, return a new array where all items from the children are present at the top level.

+
import * as _ from 'radashi'
+
const gods = [['ra', 'loki'], ['zeus']]
+
_.flat(gods) // => [ra, loki, zeus]
+

Note, _.flat is not recursive and will not flatten children of children of children … of children. It will only flatten T[][] an array of arrays.

\ No newline at end of file diff --git a/reference/array/fork/index.html b/reference/array/fork/index.html new file mode 100644 index 00000000..d3180ab2 --- /dev/null +++ b/reference/array/fork/index.html @@ -0,0 +1,92 @@ + fork | Radashi + + Skip to content

fork

Split an array into two arrays by a condition

98 bytes +

Usage

+

Given an array of items and a condition, returns two arrays where the first contains all items that passed the condition and the second contains all items that failed the condition.

+
import * as _ from 'radashi'
+
const gods = [
{
name: 'Ra',
power: 100,
},
{
name: 'Zeus',
power: 98,
},
{
name: 'Loki',
power: 72,
},
{
name: 'Vishnu',
power: 100,
},
]
+
const [finalGods, lesserGods] = _.fork(gods, f => f.power > 90) // [[ra, vishnu, zues], [loki]]
\ No newline at end of file diff --git a/reference/array/group/index.html b/reference/array/group/index.html new file mode 100644 index 00000000..879cabb7 --- /dev/null +++ b/reference/array/group/index.html @@ -0,0 +1,92 @@ + group | Radashi + + Skip to content

group

Sort an array of items into groups

114 bytes +

Usage

+

Given an array of items, group will build up an object where each key is an array of the items that belong in that group. Generally, this can be useful to categorize an array.

+
import * as _ from 'radashi'
+
const fish = [
{
name: 'Marlin',
source: 'ocean',
},
{
name: 'Bass',
source: 'lake',
},
{
name: 'Trout',
source: 'lake',
},
]
+
const fishBySource = _.group(fish, f => f.source) // => { ocean: [marlin], lake: [bass, trout] }
\ No newline at end of file diff --git a/reference/array/intersects/index.html b/reference/array/intersects/index.html new file mode 100644 index 00000000..56d04e58 --- /dev/null +++ b/reference/array/intersects/index.html @@ -0,0 +1,94 @@ + intersects | Radashi + + Skip to content

intersects

Determine if two arrays have a common item

154 bytes +

Usage

+

Given two arrays of items, returns true if any item exists in both arrays.

+
import * as _ from 'radashi'
+
const oceanFish = ['tuna', 'tarpon']
const lakeFish = ['bass', 'trout']
+
_.intersects(oceanFish, lakeFish) // => false
+
const brackishFish = ['tarpon', 'snook']
+
_.intersects(oceanFish, brackishFish) // => true
\ No newline at end of file diff --git a/reference/array/iterate/index.html b/reference/array/iterate/index.html new file mode 100644 index 00000000..9f8f2d5d --- /dev/null +++ b/reference/array/iterate/index.html @@ -0,0 +1,92 @@ + iterate | Radashi + + Skip to content

iterate

Iterate over a callback n times

87 bytes +

Usage

+

A bit like forEach meets reduce. Useful for running a function n number of times to generate a value. The _.iterate function takes a count (the number of times to run the callback), a callback function, and an initial value. The callback is run count many times as a reducer and the accumulated value is then returned.

+
import * as _ from 'radashi'
+
const value = _.iterate(
4,
(acc, idx) => {
return acc + idx
},
0,
) // => 10
+

Note, this is NOT zero indexed. If you pass a count of 5 you will get an index of 1, 2, 3, 4, 5 in the callback function.

\ No newline at end of file diff --git a/reference/array/last/index.html b/reference/array/last/index.html new file mode 100644 index 00000000..9be5995d --- /dev/null +++ b/reference/array/last/index.html @@ -0,0 +1,92 @@ + last | Radashi + + Skip to content

last

Get the last item from a list

70 bytes +

Usage

+

Given an array of items return the last item or a default value if no items exists.

+
import * as _ from 'radashi'
+
const fish = ['marlin', 'bass', 'trout']
+
const lastFish = _.last(fish) // => 'trout'
const lastItem = _.last([], 'bass') // => 'bass'
\ No newline at end of file diff --git a/reference/array/list/index.html b/reference/array/list/index.html new file mode 100644 index 00000000..9d0a7eb5 --- /dev/null +++ b/reference/array/list/index.html @@ -0,0 +1,106 @@ + list | Radashi + + Skip to content

list

Create a list with specific items

219 bytes +

Usage

+

Given a start, end, value, and step size returns a list with values from start to end by step size.

+

The interface is identical to range.

+

A hat tip to Python’s range functionality

+
import * as _ from 'radashi'
+
_.list(3) // [0, 1, 2, 3]
_.list(0, 3) // [0, 1, 2, 3]
_.list(0, 3, 'y') // [y, y, y, y]
_.list(0, 3, () => 'y') // [y, y, y, y]
_.list(0, 3, i => i) // [0, 1, 2, 3]
_.list(0, 3, i => `y${i}`) // [y0, y1, y2, y3]
_.list(0, 3, obj) // [obj, obj, obj, obj]
_.list(0, 6, i => i, 2) // [0, 2, 4, 6]
+

Signatures

+

list(size)

+

When givin a single argument, it’s treated as the size. Returns a list with values from 0 to size.

+
_.list(3) // [0, 1, 2, 3]
+

list(start, end)

+

When given two arguments, they’re treated as the start and end. Returns a list with values from start to end

+
_.list(2, 6) // [2, 3, 4, 5, 6]
+

list(start, end, value)

+

When given a third argument it’s treated as the value to be used in the list. If the value is a function it will be called, with an index argument, to create every value.

+
_.list(2, 4, {}) // [{}, {}, {}]
_.list(2, 4, null) // [null, null, null]
_.list(2, 4, i => i) // [2, 3, 4]
+

list(start, end, value, step)

+

When given a fourth argument it’s treated as the step size to skip when generating values from start to end.

+
_.list(2, 4, i => i, 2) // [2, 4]
_.list(25, 100, i => i, 25) // [25, 50, 75, 100]
\ No newline at end of file diff --git a/reference/array/mapify/index.html b/reference/array/mapify/index.html new file mode 100644 index 00000000..8560ec65 --- /dev/null +++ b/reference/array/mapify/index.html @@ -0,0 +1,111 @@ + mapify | Radashi + + Skip to content

mapify

Convert an array to a map

113 bytes +

Usage

+

The mapify function converts an array into a Map object, allowing you to specify how keys and values are derived from each array item.

+

Parameters

+
    +
  1. array: The input array to be converted into a Map.
  2. +
  3. getKey: A function that determines the key for each item in the array. It receives two arguments: +
      +
    • item: The current array item.
    • +
    • index: The index of the current item in the array.
    • +
    +
  4. +
  5. getValue (optional): A function that determines the value for each item in the array. If not provided, the original array item is used as the value. It also receives two arguments: +
      +
    • item: The current array item.
    • +
    • index: The index of the current item in the array.
    • +
    +
  6. +
+

Return Value

+

Returns a new Map object where keys and values are derived from the input array using the provided mapping functions.

+

Example

+
import * as _ from 'radashi'
+
const fish = [
{
name: 'Marlin',
weight: 105,
},
{
name: 'Bass',
weight: 8,
},
{
name: 'Trout',
weight: 13,
},
]
+
_.mapify(fish, f => f.name) // => Map(3) {'Marlin' => { name: 'Marlin', weight: 105 }, 'Bass' => { name: 'Bass', weight: 8 }, 'Trout' => { name: 'Trout', weight: 13 }}
_.mapify(
fish,
f => f.name,
f => f.weight,
) // => Map(3) { 'Marlin' => 105, 'Bass' => 8, 'Trout' => 13 }
\ No newline at end of file diff --git a/reference/array/merge/index.html b/reference/array/merge/index.html new file mode 100644 index 00000000..15925e75 --- /dev/null +++ b/reference/array/merge/index.html @@ -0,0 +1,94 @@ + merge | Radashi + + Skip to content

merge

Combine two lists overriding items in the first

185 bytes +

Usage

+

Given two arrays of items and an identity function, returns the first +list with all items from the second list where there was a match.

+
import * as _ from 'radashi'
+
const gods = [
{
name: 'Zeus',
power: 92,
},
{
name: 'Ra',
power: 97,
},
]
+
const newGods = [
{
name: 'Zeus',
power: 100,
},
]
+
_.merge(gods, newGods, f => f.name) // => [{name: "Zeus" power: 100}, {name: "Ra", power: 97}]
\ No newline at end of file diff --git a/reference/array/objectify/index.html b/reference/array/objectify/index.html new file mode 100644 index 00000000..d6a95fc3 --- /dev/null +++ b/reference/array/objectify/index.html @@ -0,0 +1,94 @@ + objectify | Radashi + + Skip to content

objectify

Convert a list to a dictionary object

91 bytes +

Usage

+

Given an array of items, create a dictionary with keys and values mapped by given functions. +First argument is the array to map. The second argument is the function to determine the key +for each item. The third argument is optional and determines the value for each item.

+
import * as _ from 'radashi'
+
const fish = [
{
name: 'Marlin',
weight: 105,
},
{
name: 'Bass',
weight: 8,
},
{
name: 'Trout',
weight: 13,
},
]
+
_.objectify(fish, f => f.name) // => { Marlin: [marlin object], Bass: [bass object], ... }
_.objectify(
fish,
f => f.name,
f => f.weight,
) // => { Marlin: 105, Bass: 8, Trout: 13 }
\ No newline at end of file diff --git a/reference/array/replace/index.html b/reference/array/replace/index.html new file mode 100644 index 00000000..5ee92465 --- /dev/null +++ b/reference/array/replace/index.html @@ -0,0 +1,93 @@ + replace | Radashi + + Skip to content

replace

Replace an item in an array

161 bytes +

Usage

+

Given an array of items, replace the one that matches the given condition function. Only replaces the first match. Always returns a copy of the original array.

+
import * as _ from 'radashi'
+
const fish = [
{
name: 'Marlin',
weight: 105,
},
{
name: 'Bass',
weight: 8,
},
{
name: 'Trout',
weight: 13,
},
]
+
const salmon = {
name: 'Salmon',
weight: 22,
}
+
// read: replace fish with salmon where the name is Bass
_.replace(fish, salmon, f => f.name === 'Bass') // => [marlin, salmon, trout]
\ No newline at end of file diff --git a/reference/array/replaceOrAppend/index.html b/reference/array/replaceOrAppend/index.html new file mode 100644 index 00000000..eec71308 --- /dev/null +++ b/reference/array/replaceOrAppend/index.html @@ -0,0 +1,94 @@ + replaceOrAppend | Radashi + + Skip to content

replaceOrAppend

Replace item in array or append if no match

193 bytes +

Usage

+

Given an array of items, an item and an identity function, returns a new array with the item either replaced at the index of the existing item — if it exists, else it is appended at the end.

+
import * as _ from 'radashi'
+
const fish = [
{
name: 'Marlin',
weight: 105,
},
{
name: 'Salmon',
weight: 19,
},
{
name: 'Trout',
weight: 13,
},
]
+
const salmon = {
name: 'Salmon',
weight: 22,
}
+
const sockeye = {
name: 'Sockeye',
weight: 8,
}
+
_.replaceOrAppend(fish, salmon, f => f.name === 'Salmon') // => [marlin, salmon (weight:22), trout]
_.replaceOrAppend(fish, sockeye, f => f.name === 'Sockeye') // => [marlin, salmon, trout, sockeye]
\ No newline at end of file diff --git a/reference/array/select/index.html b/reference/array/select/index.html new file mode 100644 index 00000000..5fc31b4a --- /dev/null +++ b/reference/array/select/index.html @@ -0,0 +1,93 @@ + select | Radashi + + Skip to content

select

Filter and map an array

146 bytes +

Usage

+

Applies a filter and a map operation at once and in one pass. +If the filter is omitted, returns all non-nullish mapped values.

+
import * as _ from 'radashi'
+
const fish = [
{
name: 'Marlin',
weight: 105,
source: 'ocean',
},
{
name: 'Bass',
weight: 8,
source: 'lake',
},
{
name: 'Trout',
weight: 13,
source: 'lake',
},
]
+
_.select(
fish,
f => f.weight,
f => f.source === 'lake',
) // => [8, 13]
\ No newline at end of file diff --git a/reference/array/selectFirst/index.html b/reference/array/selectFirst/index.html new file mode 100644 index 00000000..cfd9f135 --- /dev/null +++ b/reference/array/selectFirst/index.html @@ -0,0 +1,101 @@ + selectFirst | Radashi + + Skip to content

selectFirst

Find and map the first array element meeting a condition

143 bytes +

Usage

+

The selectFirst function combines the functionality of find and map operations on an array. It iterates through the array, applying a mapper function to each element, and returns the first mapped value that satisfies a given condition. If no condition is provided, it returns the first non-nullish mapped value.

+

This function is particularly useful when you need to find and transform an element in a single operation, potentially saving time and improving code readability.

+

Key features:

+
    +
  • Short-circuits on the first element that satisfies the condition
  • +
  • Allows for separate mapping and condition functions
  • +
  • Returns undefined if no element satisfies the condition or if the array is empty/nullish
  • +
+
import * as _ from 'radashi'
+
// Find the first even number and double it
_.selectFirst(
[1, 3, 4, 6, 8],
x => x * 2,
x => x % 2 === 0,
)
// => 8
+
// Find the first non-empty string and convert to uppercase
_.selectFirst(
['', null, 'hello', 'world'],
s => s?.toUpperCase(),
s => s !== null && s !== '',
)
// => 'HELLO'
+
// Find the first object with a specific property and extract a value
const users = [
{ id: 1, name: 'Alice', age: 30 },
{ id: 2, name: 'Bob', age: 25 },
{ id: 3, name: 'Charlie', age: 35 },
]
_.selectFirst(
users,
user => user.name,
user => user.age > 30,
)
// => 'Charlie'
+
// Using default condition (non-nullish)
_.selectFirst([null, undefined, 0, '', false, 'found'], x => x)
// => 0
\ No newline at end of file diff --git a/reference/array/shift/index.html b/reference/array/shift/index.html new file mode 100644 index 00000000..b0d650d2 --- /dev/null +++ b/reference/array/shift/index.html @@ -0,0 +1,90 @@ + shift | Radashi + + Skip to content

shift

Shift array items by n steps

145 bytes +

Usage

+

Given a list of items, return an array that shift right n positions.

+
import * as _ from 'radashi'
const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
_.shift(arr, 3) // => [7, 8, 9, 1, 2, 3, 4, 5, 6]
\ No newline at end of file diff --git a/reference/array/sift/index.html b/reference/array/sift/index.html new file mode 100644 index 00000000..1ee0991f --- /dev/null +++ b/reference/array/sift/index.html @@ -0,0 +1,92 @@ + sift | Radashi + + Skip to content

sift

Remove all falsy items from list

62 bytes +

Usage

+

Given a list of items, return a new list with all items that are not falsy.

+
import * as _ from 'radashi'
+
const fish = ['salmon', null, false, NaN, 'sockeye', 'bass']
+
_.sift(fish) // => ['salmon', 'sockeye', 'bass']
\ No newline at end of file diff --git a/reference/array/sort/index.html b/reference/array/sort/index.html new file mode 100644 index 00000000..fc3dc27b --- /dev/null +++ b/reference/array/sort/index.html @@ -0,0 +1,93 @@ + sort | Radashi + + Skip to content

sort

Sort a list of objects by a numerical property

131 bytes +

Usage

+

Given an array of objects, return a new array sorted by the numerical property specified in the get function. A third, and optional, argument allows you to sort in descending order instead of the default ascending order.

+

This function only supports numerical sorting. For alphabetic sorting, see the alphabetical function.

+
import * as _ from 'radashi'
+
const fish = [
{
name: 'Marlin',
weight: 105,
},
{
name: 'Bass',
weight: 8,
},
{
name: 'Trout',
weight: 13,
},
]
+
_.sort(fish, f => f.weight) // => [bass, trout, marlin]
_.sort(fish, f => f.weight, true) // => [marlin, trout, bass]
\ No newline at end of file diff --git a/reference/array/toggle/index.html b/reference/array/toggle/index.html new file mode 100644 index 00000000..d0c86c02 --- /dev/null +++ b/reference/array/toggle/index.html @@ -0,0 +1,103 @@ + toggle | Radashi + + Skip to content

toggle

Toggles an items existance in an array

232 bytes +

Usage

+

If the item matching the condition already exists in the list it will be removed. If it does not it will be added.

+
import * as _ from 'radashi'
+
const gods = ['ra', 'zeus', 'loki']
+
_.toggle(gods, 'ra') // => ['zeus', 'loki']
_.toggle(gods, 'vishnu') // => ['ra', 'zeus', 'loki', 'vishnu']
+

toggle(list, item, identity)

+

You can pass an optional toKey function to determine the identity of non-primitive values. Helpful when working with more complex data types.

+
import * as _ from 'radashi'
+
const ra = { name: 'Ra' }
const zeus = { name: 'Zeus' }
const loki = { name: 'Loki' }
const vishnu = { name: 'Vishnu' }
+
const gods = [ra, zeus, loki]
+
_.toggle(gods, ra, g => g.name) // => [zeus, loki]
_.toggle(gods, vishnu, g => g.name) // => [ra, zeus, loki, vishnu]
+

toggle(list, item, identity, options)

+

By default, toggle will append the item if it does not exist. If you need to prepend the item instead you can override the strategy in the options argument.

+
import * as _ from 'radashi'
+
const gods = ['ra', 'zeus', 'loki']
+
_.toggle(gods, 'vishnu', g => g, { strategy: 'prepend' }) // => ['vishnu', 'ra', 'zeus', 'loki']
\ No newline at end of file diff --git a/reference/array/unique/index.html b/reference/array/unique/index.html new file mode 100644 index 00000000..314bd69c --- /dev/null +++ b/reference/array/unique/index.html @@ -0,0 +1,93 @@ + unique | Radashi + + Skip to content

unique

Remove duplicates from an array

159 bytes +

Usage

+

Given an array of items — and optionally, a function to determine their identity — return a new array without any duplicates.

+

The function does not preserve the original order of items.

+
import * as _ from 'radashi'
+
const fish = [
{
name: 'Marlin',
weight: 105,
source: 'ocean',
},
{
name: 'Salmon',
weight: 22,
source: 'river',
},
{
name: 'Salmon',
weight: 22,
source: 'river',
},
]
+
_.unique(fish, f => f.name)
// [
// { name: 'Marlin', weight: 105, source: 'ocean' },
// { name: 'Salmon', weight: 22, source: 'river' }
// ]
\ No newline at end of file diff --git a/reference/array/unzip/index.html b/reference/array/unzip/index.html new file mode 100644 index 00000000..d44f76d4 --- /dev/null +++ b/reference/array/unzip/index.html @@ -0,0 +1,91 @@ + unzip | Radashi + + Skip to content

unzip

Group array elements by their index position across the input arrays

181 bytes +

Usage

+

Creates an array of ungrouped elements, where each resulting array contains all elements at a specific index from the input arrays. The first array contains all first elements, the second array contains all second elements, and so on.

+
import * as _ from 'radashi'
+
_.unzip([
['a', 1, true],
['b', 2, false],
])
// => [
// ['a', 'b'],
// [1, 2],
// [true, false],
// ]
\ No newline at end of file diff --git a/reference/array/zip/index.html b/reference/array/zip/index.html new file mode 100644 index 00000000..4a10ae26 --- /dev/null +++ b/reference/array/zip/index.html @@ -0,0 +1,92 @@ + zip | Radashi + + Skip to content

zip

Combine multiple arrays in sets

208 bytes +

Usage

+

Creates an array of grouped elements, the first of which contains the first elements of the given arrays, the second of which contains the second elements of the given arrays, and so on.

+
import * as _ from 'radashi'
+
const names = ['ra', 'zeus', 'loki']
const cultures = ['egypt', 'greek', 'norse']
+
_.zip(names, cultures)
// => [
// [ra, egypt]
// [zeus, greek]
// [loki, norse]
// ]
\ No newline at end of file diff --git a/reference/array/zipToObject/index.html b/reference/array/zipToObject/index.html new file mode 100644 index 00000000..c7e34e95 --- /dev/null +++ b/reference/array/zipToObject/index.html @@ -0,0 +1,94 @@ + zipToObject | Radashi + + Skip to content

zipToObject

Combine multiple arrays in sets

214 bytes +

Usage

+

Creates an object mapping the keys in the first array to their corresponding values in the second array.

+
import * as _ from 'radashi'
+
const names = ['ra', 'zeus', 'loki']
const cultures = ['egypt', 'greek', 'norse']
+
_.zipToObject(names, cultures)
// => { ra: egypt, zeus: greek, loki: norse }
+
_.zipToObject(names, (k, i) => k + i)
// => { ra: ra0, zeus: zeus1, loki: loki2 }
+
_.zipToObject(names, null)
// => { ra: null, zeus: null, loki: null }
\ No newline at end of file diff --git a/reference/async/all/index.html b/reference/async/all/index.html new file mode 100644 index 00000000..8bb300e7 --- /dev/null +++ b/reference/async/all/index.html @@ -0,0 +1,98 @@ + all | Radashi + + Skip to content

all

Await many promises

632 bytes +

The all function is similar to the builtin Promise.all or Promise.allSettled +functions. Given a list (or object) of promises, if any errors are thrown, all +errors are gathered and thrown in an AggregateError.

+

Using an Array

+

Passing an array as an argument will return the resolved promise values as an array in the same order.

+
import * as _ from 'radashi'
+
const [user] = await _.all([
api.users.create(...),
s3.buckets.create(...),
slack.customerSuccessChannel.sendMessage(...)
])
+

Using an Object

+

Passing an object as an argument will return an object with the same keys and the values as the resolved promise values.

+
import * as _ from 'radashi'
+
const { user } = await _.all({
user: api.users.create(...),
bucket: s3.buckets.create(...),
message: slack.customerSuccessChannel.sendMessage(...)
})
\ No newline at end of file diff --git a/reference/async/defer/index.html b/reference/async/defer/index.html new file mode 100644 index 00000000..ef26a737 --- /dev/null +++ b/reference/async/defer/index.html @@ -0,0 +1,105 @@ + defer | Radashi + + Skip to content

defer

Run an async function with deferred functions

422 bytes +

Usage

+

The _.defer functions lets you run an async function, registering functions as you go +that should be deferred until the async function completes, and then executed. This is +really useful in scripts where failure up to or after a specific point will require some +cleanup. It’s a bit like a finally block.

+

A hat tip to Swift’s defer for the inspiration.

+

The function passed to _.defer is called with a single register function argument that +can be used to register the work you want to be called when the function completes. If your function throws an error and then a registered cleanup function throws +and error it is ignored by default. The register +function supports an optional second options argument that lets you configure a rethrow +strategy so that error in the cleanup function is rethrown.

+
import * as _ from 'radashi'
+
await _.defer(async cleanup => {
const buildDir = await createBuildDir()
+
cleanup(() => fs.unlink(buildDir))
+
await build()
})
+
await _.defer(async register => {
const org = await api.org.create()
register(async () => api.org.delete(org.id), { rethrow: true })
+
const user = await api.user.create()
register(async () => api.users.delete(user.id), { rethrow: true })
+
await executeTest(org, user)
})
\ No newline at end of file diff --git a/reference/async/guard/index.html b/reference/async/guard/index.html new file mode 100644 index 00000000..08ae126f --- /dev/null +++ b/reference/async/guard/index.html @@ -0,0 +1,92 @@ + guard | Radashi + + Skip to content

guard

Have a function return undefined if it errors out

144 bytes +

Usage

+

This lets you set a default value if an async function errors out.

+
const users = (await guard(fetchUsers)) ?? []
+

You can choose to guard only specific errors too

+
const isInvalidUserError = (err: any) => err.code === 'INVALID_ID'
const user = (await guard(fetchUser, isInvalidUserError)) ?? DEFAULT_USER
\ No newline at end of file diff --git a/reference/async/map/index.html b/reference/async/map/index.html new file mode 100644 index 00000000..3776cff5 --- /dev/null +++ b/reference/async/map/index.html @@ -0,0 +1,92 @@ + map | Radashi + + Skip to content

map

Map an array with an async function

124 bytes +

Usage

+

A map that handles callback functions that return a promise.

+
import * as _ from 'radashi'
+
const userIds = [1, 2, 3, 4]
+
const users = await _.map(userIds, async userId => {
return await api.users.find(userId)
})
\ No newline at end of file diff --git a/reference/async/parallel/index.html b/reference/async/parallel/index.html new file mode 100644 index 00000000..7ea11b39 --- /dev/null +++ b/reference/async/parallel/index.html @@ -0,0 +1,102 @@ + parallel | Radashi + + Skip to content

parallel

Run many async function in parallel

1232 bytes +

Usage

+

Like _.map but built specifically to run the async callback functions +in parallel. The first argument is a limit of how many functions should +be allowed to run at once. Returns an array of results.

+
import * as _ from 'radashi'
+
const userIds = [1, 2, 3, 4, 5, 6, 7, 8, 9]
+
// Will run the find user async function 3 at a time
// starting another request when one of the 3 is freed
const users = await _.parallel(3, userIds, async userId => {
return await api.users.find(userId)
})
+

Errors

+

When all work is complete parallel will check for errors. If any +occurred they will all be thrown in a single AggregateError that +has an errors property that is all the errors that were thrown.

+
import * as _ from 'radashi'
+
const userIds = [1, 2, 3]
+
const [err, users] = await _.tryit(_.parallel)(3, userIds, async userId => {
throw new Error(`No, I don\'t want to find user ${userId}`)
})
+
console.log(err) // => AggregateError
console.log(err.errors) // => [Error, Error, Error]
console.log(err.errors[1].message) // => No, I don't want to find user 2
\ No newline at end of file diff --git a/reference/async/reduce/index.html b/reference/async/reduce/index.html new file mode 100644 index 00000000..1acf7e1d --- /dev/null +++ b/reference/async/reduce/index.html @@ -0,0 +1,92 @@ + reduce | Radashi + + Skip to content

reduce

Reduce an array with an async function

230 bytes +

Usage

+

A reduce that handles callback functions that return a promise.

+
import * as _ from 'radashi'
+
const userIds = [1, 2, 3, 4]
+
const users = await _.reduce(
userIds,
async (acc, userId) => {
const user = await api.users.find(userId)
return {
...acc,
[userId]: user,
}
},
{},
)
\ No newline at end of file diff --git a/reference/async/retry/index.html b/reference/async/retry/index.html new file mode 100644 index 00000000..b7f80132 --- /dev/null +++ b/reference/async/retry/index.html @@ -0,0 +1,94 @@ + retry | Radashi + + Skip to content

retry

Run an async function retrying if it fails

510 bytes +

Usage

+

The _.retry function allows you to run an async function and automagically retry it if it fails. Given the async func to run, an optional max number of retries (r), and an optional milliseconds to delay between retries (d), the given async function will be called, retrying r many times, and waiting d milliseconds between retries.

+

The times option defaults to 3. The delay option (defaults to null) can specify milliseconds to sleep between attempts.

+

The backoff option is like delay but uses a function to sleep — makes for easy exponential backoff.

+
import * as _ from 'radashi'
+
await _.retry({}, api.users.list)
await _.retry({ times: 10 }, api.users.list)
await _.retry({ times: 2, delay: 1000 }, api.users.list)
+
// exponential backoff
await _.retry({ backoff: i => 10 ** i }, api.users.list)
\ No newline at end of file diff --git a/reference/async/sleep/index.html b/reference/async/sleep/index.html new file mode 100644 index 00000000..0d977ffc --- /dev/null +++ b/reference/async/sleep/index.html @@ -0,0 +1,91 @@ + sleep | Radashi + + Skip to content

sleep

Asynchronously wait for time to pass

73 bytes +

Usage

+

The _.sleep function allows you to delay in milliseconds.

+
import * as _ from 'radashi'
+
await _.sleep(2000) // => waits 2 seconds
\ No newline at end of file diff --git a/reference/async/tryit/index.html b/reference/async/tryit/index.html new file mode 100644 index 00000000..42096988 --- /dev/null +++ b/reference/async/tryit/index.html @@ -0,0 +1,97 @@ + tryit | Radashi + + Skip to content

tryit

Convert a function to an error-first function

247 bytes +

Usage

+

Error-first callbacks were cool. Using mutable variables to hoist state when doing try/catch was not cool.

+

The tryit function let’s you wrap a function to convert it to an error-first function. Works for both async and sync functions.

+
import * as _ from 'radashi'
+
const [err, user] = await _.tryit(api.users.find)(userId)
+

Currying

+

You can curry tryit if you like.

+
import * as _ from 'radashi'
+
const findUser = _.tryit(api.users.find)
+
const [err, user] = await findUser(userId)
\ No newline at end of file diff --git a/reference/curry/chain/index.html b/reference/curry/chain/index.html new file mode 100644 index 00000000..2c2fe316 --- /dev/null +++ b/reference/curry/chain/index.html @@ -0,0 +1,100 @@ + chain | Radashi + + Skip to content

chain

Create a chain of function to run in order

93 bytes +

Usage

+

Chaining functions will cause them to execute one after another, passing the output from each function as the input to the next, returning the final output at the end of the chain.

+
import * as _ from 'radashi'
+
const add = (y: number) => (x: number) => x + y
const mult = (y: number) => (x: number) => x * y
const addFive = add(5)
const double = mult(2)
+
const chained = _.chain(addFive, double)
+
chained(0) // => 10
chained(7) // => 24
+

Example

+
import * as _ from 'radashi'
+
type Deity = {
name: string
rank: number
}
+
const gods: Deity[] = [
{ rank: 8, name: 'Ra' },
{ rank: 7, name: 'Zeus' },
{ rank: 9, name: 'Loki' },
]
+
const getName = (god: Deity) => item.name
const upperCase = (text: string) => text.toUpperCase() as Uppercase<string>
+
const getUpperName = _.chain(getName, upperCase)
+
getUpperName(gods[0]) // => 'RA'
gods.map(getUpperName) // => ['RA', 'ZEUS', 'LOKI']
\ No newline at end of file diff --git a/reference/curry/compose/index.html b/reference/curry/compose/index.html new file mode 100644 index 00000000..9b002e21 --- /dev/null +++ b/reference/curry/compose/index.html @@ -0,0 +1,96 @@ + compose | Radashi + + Skip to content

compose

Create a composition of functions

78 bytes +

Usage

+

In a composition of functions, each function is given the next function as an argument and must call it to continue executing.

+
import * as _ from 'radashi'
+
const useZero = (fn: any) => () => fn(0)
const objectize = (fn: any) => (num: any) => fn({ num })
const increment =
(fn: any) =>
({ num }: any) =>
fn({ num: num + 1 })
const returnArg = (arg: any) => (args: any) => args[arg]
+
const composed = _.compose(
useZero,
objectize,
increment,
increment,
returnArg('num'),
)
+
composed() // => 2
+

This can be a little jarring if you haven’t seen it before. Here’s a broken down composition. It’s equivelent to the code above.

+
const decomposed = useZero(objectize(increment(increment(_.returnArg('num')))))
+
decomposed() // => 2
\ No newline at end of file diff --git a/reference/curry/debounce/index.html b/reference/curry/debounce/index.html new file mode 100644 index 00000000..3829b4d3 --- /dev/null +++ b/reference/curry/debounce/index.html @@ -0,0 +1,115 @@ + debounce | Radashi + + Skip to content

debounce

Create a debounced callback function

220 bytes +

Usage

+

Debounce accepts an options object with a delay and a source function to call +when invoked. When the returned function is invoked it will only call the source +function after the delay milliseconds of time has passed. Calls that don’t result +in invoking the source reset the delay, pushing off the next invocation.

+
import * as _ from 'radashi'
+
const makeSearchRequest = event => {
api.movies.search(event.target.value)
}
+
input.addEventListener('change', _.debounce({ delay: 100 }, makeSearchRequest))
+

Timing

+

A visual of the debounce behavior when delay is 100. The debounce function +returned by debounce can be called every millisecond but it will only call +the given callback after delay milliseconds have passed.

+
Terminal window
Time: 0ms - - - - 100ms - - - - 200ms - - - - 300ms - - - - 400ms - - - -
debounce Invocations: x x x x - - - - - - - - x x x x x x x x x x - - - - - - - - - - - -
Source Invocations: - - - - - - - - - - x - - - - - - - - - - - - - - - - - x - - - - -
+

Cancel

+

The function returned by debounce has a cancel method that when called will permanently stop the source function from being debounced.

+
const debounced = _.debounce({ delay: 100 }, api.feed.refresh)
+
// ... sometime later
+
debounced.cancel()
+

Flush

+

The function returned by debounce has a flush method that when called will directly invoke the source function.

+
const debounced = _.debounce({ delay: 100 }, api.feed.refresh)
+
// ... sometime later
+
debounced.flush(event)
+

isPending

+

The function returned by debounce has a isPending method that when called will return if there is any pending invocation the source function.

+
const debounced = _.debounce({ delay: 100 }, api.feed.refresh)
+
// ... sometime later
+
debounced.isPending()
\ No newline at end of file diff --git a/reference/curry/flip/index.html b/reference/curry/flip/index.html new file mode 100644 index 00000000..a42f99bf --- /dev/null +++ b/reference/curry/flip/index.html @@ -0,0 +1,93 @@ + flip | Radashi + + Skip to content

flip

Swap the only two arguments of a function

63 bytes +

Usage

+

Return a new function that swaps the only two arguments of the original function. This is most useful for reversing the order of a “comparator” (i.e. a function used for sorting).

+
import * as _ from 'radashi'
+
const subtract = (a: number, b: number) => a - b
+
subtract(1, 2) // => -1
_.flip(subtract)(1, 2) // => 1
+

Note that functions with more than two arguments are not supported.

\ No newline at end of file diff --git a/reference/curry/memo/index.html b/reference/curry/memo/index.html new file mode 100644 index 00000000..e9bf69ad --- /dev/null +++ b/reference/curry/memo/index.html @@ -0,0 +1,106 @@ + memo | Radashi + + Skip to content

memo

Memoize a function

307 bytes +

Usage

+

Wrap a function with memo to get a function back that automagically returns values that have already been calculated.

+
import * as _ from 'radashi'
+
const timestamp = _.memo(() => Date.now())
+
const now = timestamp()
const later = timestamp()
+
now === later // => true
+

Expiration

+

You can optionally pass a ttl (time to live) that will expire memoized results. In versions prior to version 10, ttl had a value of 300 milliseconds if not specified.

+
import * as _ from 'radashi'
+
const timestamp = _.memo(() => Date.now(), {
ttl: 1000, // milliseconds
})
+
const now = timestamp()
const later = timestamp()
+
await _.sleep(2000)
+
const muchLater = timestamp()
+
now === later // => true
now === muchLater // => false
+

Key Function

+

You can optionally customize how values are stored when memoized.

+
const timestamp = _.memo(
({ group }: { group: string }) => {
const ts = Date.now()
return `${ts}::${group}`
},
{
key: ({ group }: { group: string }) => group,
},
)
+
const now = timestamp({ group: 'alpha' })
const later = timestamp({ group: 'alpha' })
const beta = timestamp({ group: 'beta' })
+
now === later // => true
beta === now // => false
\ No newline at end of file diff --git a/reference/curry/once/index.html b/reference/curry/once/index.html new file mode 100644 index 00000000..991f2853 --- /dev/null +++ b/reference/curry/once/index.html @@ -0,0 +1,96 @@ + once | Radashi + + Skip to content

once

Create a function that runs at most once

169 bytes +

Usage

+

Create a wrapper around a given function such that it executes at most once. Subsequent calls to the wrapped function return the result from the first execution, regardless of the arguments provided. This behavior is akin to memoization but specifically designed for single-use functions. The result of the first call is stored internally, allowing for efficient retrieval without recomputation.

+
import * as _ from 'radashi'
+
const fn = once(() => Math.random())
fn() // 0.5
fn() // 0.5
+

Resetting the function

+

The once.reset function clears the stored result of a function that was previously wrapped with once. This allows the function to be executed again as if it were never called before, enabling dynamic reuse of the function with fresh computations.

+
import * as _ from 'radashi'
+
const fn = once(() => Math.random())
fn() // 0.5
fn() // 0.5
+
once.reset(fn)
fn() // 0.3
fn() // 0.3
\ No newline at end of file diff --git a/reference/curry/partial/index.html b/reference/curry/partial/index.html new file mode 100644 index 00000000..e12e6f6a --- /dev/null +++ b/reference/curry/partial/index.html @@ -0,0 +1,93 @@ + partial | Radashi + + Skip to content

partial

Create a partial a function

68 bytes +

Usage

+

Create a partial function by providing some — or all — of the arguments the given function needs.

+
import * as _ from 'radashi'
+
const add = (a: number, b: number) => a + b
+
const addFive = _.partial(add, 5)
+
addFive(2) // => 7
\ No newline at end of file diff --git a/reference/curry/partob/index.html b/reference/curry/partob/index.html new file mode 100644 index 00000000..8fd4ce78 --- /dev/null +++ b/reference/curry/partob/index.html @@ -0,0 +1,93 @@ + partob | Radashi + + Skip to content

partob

Create a partob a function

62 bytes +

Usage

+

Modern javascript destructuring means a lot of developers, libraries, and frameworks are all opting for unary functions that take a single object that contains the arguments. The _.partob function let’s you partob these unary functions.

+
import * as _ from 'radashi'
+
const add = (props: { a: number; b: number }) => props.a + props.b
+
const addFive = _.partob(add, { a: 5 })
+
addFive({ b: 2 }) // => 7
\ No newline at end of file diff --git a/reference/curry/proxied/index.html b/reference/curry/proxied/index.html new file mode 100644 index 00000000..0c922aae --- /dev/null +++ b/reference/curry/proxied/index.html @@ -0,0 +1,93 @@ + proxied | Radashi + + Skip to content

proxied

Create a dynamic proxied a object

75 bytes +

Usage

+

Javascript’s Proxy object is powerful but a bit awkward to use. The _.proxied function creates the Proxy for you and handles calling back to your handler when functions on the Proxy are called or properties are accessed.

+
import * as _ from 'radashi'
+
type Property = 'name' | 'size' | 'getLocation'
+
const person = _.proxied((prop: Property) => {
switch (prop) {
case 'name':
return 'Joe'
case 'size':
return 20
case 'getLocation'
return () => 'here'
}
})
+
person.name // => Joe
person.size // => 20
person.getLocation() // => here
\ No newline at end of file diff --git a/reference/curry/throttle/index.html b/reference/curry/throttle/index.html new file mode 100644 index 00000000..b4ab9932 --- /dev/null +++ b/reference/curry/throttle/index.html @@ -0,0 +1,114 @@ + throttle | Radashi + + Skip to content

throttle

Creates a throttled function that limits invocations to a specified interval

260 bytes +

Usage

+

The throttle function creates a new function that, when called, will only execute the original function at most once per specified time interval. This is useful for limiting the rate at which a function can fire, especially for performance-intensive operations like handling scroll or resize events.

+

The function accepts two parameters:

+
    +
  1. An options object with: +
      +
    • interval: The minimum time (in milliseconds) between function invocations
    • +
    • trailing (optional): If true, also calls the function after the throttle period if it was invoked during the throttle
    • +
    +
  2. +
  3. The function to be throttled
  4. +
+

The returned throttled function also includes these methods:

+
    +
  • isThrottled(): boolean: To check if there’s currently an active throttle
  • +
  • trigger(...args): void: To invoke the wrapped function without waiting for the next interval
  • +
+
import { throttle } from 'radashi'
+
// Throttle a scroll event handler
const handleScroll = () => {
console.log('Scroll position:', window.scrollY)
}
const throttledScroll = throttle({ interval: 200 }, handleScroll)
window.addEventListener('scroll', throttledScroll)
+
// Throttle an API call
const throttledFetch = throttle(
{ interval: 5000, trailing: true },
async () => {
const response = await fetch('https://api.example.com/data')
const data = await response.json()
console.log(data)
},
)
+
// Check if throttled
console.log('Is throttled:', throttledFetch.isThrottled())
+

Timing

+

A visual representation of the throttle behavior when interval is set to 200ms:

+
Time: 0ms - - - - 100ms - - - - 200ms - - - - 300ms - - - - 400ms - - - -
Throttle Invocations: x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x - - -
Source Invocations: x - - - - - - - - - - - - x - - - - - - - - - - - - - x - - - - - -
+

When the trailing option is set to true, an additional invocation occurs after the throttle period if any calls were made during the throttled time:

+
Time: 0ms - - - - 100ms - - - - 200ms - - - - 300ms - - - - 400ms - - - -
Throttle Invocations: x x x x x x x x x x x x x x x x x x x x x - - - - - - - - - - - - -
Source Invocations: x - - - - - - - - - - - - x - - - - - - - - - - - - - x - - - - - -
+

In this diagram, ‘x’ represents function invocations, and ’-’ represents time passing.

\ No newline at end of file diff --git a/reference/function/always/index.html b/reference/function/always/index.html new file mode 100644 index 00000000..a89f0dc5 --- /dev/null +++ b/reference/function/always/index.html @@ -0,0 +1,96 @@ + always | Radashi + + Skip to content

always

Create a function that always returns the same value

47 bytes +

Usage

+

Creates a function that always returns the same value, regardless of any arguments passed to it.

+
import * as _ from 'radashi'
+
const alwaysTrue = _.always(true)
+
alwaysTrue() // true
alwaysTrue(1, 2, 3) // true
+

Use cases

+

You can avoid using always if the value is a primitive (use () => true instead), but it can be useful if you need a function that always returns the same object reference, or if you want to memoize a calculation across multiple calls.

+
// Not memoized
() => someCalculation()
// Memoized
_.always(someCalculation())
+
// Not same object
() => ({ a: 1, b: 2 })
// Same object
_.always({ a: 1, b: 2 })
\ No newline at end of file diff --git a/reference/function/castComparator/index.html b/reference/function/castComparator/index.html new file mode 100644 index 00000000..a3488ba9 --- /dev/null +++ b/reference/function/castComparator/index.html @@ -0,0 +1,104 @@ + castComparator | Radashi + + Skip to content

castComparator

Cast a value into a comparator function

230 bytes +

Usage

+

Create a comparator function which can be passed into Array.prototype.sort. It accepts either a property name or a mapping function. Optionally, you can pass a custom compare function (e.g. for localeCompare use cases).

+

The first argument of castComparator is called the mapping. This can be either:

+
    +
  • Function: If mapping is a function, it maps the input values to a comparable value.
  • +
  • Property Name: If mapping is a property name, it maps the input values to a property of the input values with a comparable value.
  • +
+
import * as _ from 'radash'
+
const users = [
{ id: 1, firstName: 'Alice', lastName: 'Smith' },
{ id: 3, firstName: 'Charlie', lastName: 'Brown' },
{ id: 2, firstName: 'Drew', lastName: 'Johnson' },
]
+
const compareById = _.castComparator('id')
users.sort(compareById)
// [Alice, Drew, Charlie]
+
const compareByFullName = _.castComparator(
user => `${user.firstName} ${user.lastName}`,
(a, b) => b.localeCompare(a),
)
users.sort(compareByFullName)
// [Alice, Charlie, Drew]
+

Compare Function

+

Optionally, you can pass a custom compare function that receives the mapped values and returns a number. If not provided, values are compared with the < and > built-in operators.

+

A positive number means the “right value” is greater than the “left value”, a negative number means the “left value” is greater than the “right value”, and 0 means both values are equal.

+
const users = [
{ id: 1, firstName: 'Alice', lastName: 'Smith' },
{ id: 3, firstName: 'Charlie', lastName: 'Brown' },
{ id: 2, firstName: 'Drew', lastName: 'Johnson' },
]
+
const compareByFullName = _.castComparator(
user => `${user.firstName} ${user.lastName}`,
(a, b) => b.localeCompare(a),
)
+
users.sort(compareByFullName)
// [Alice, Charlie, Drew]
\ No newline at end of file diff --git a/reference/function/castMapping/index.html b/reference/function/castMapping/index.html new file mode 100644 index 00000000..d0251154 --- /dev/null +++ b/reference/function/castMapping/index.html @@ -0,0 +1,132 @@ + castMapping | Radashi + + Skip to content

castMapping

Cast a value into a mapping function

117 bytes +

Usage

+

Improve your own utility function by adding a flexible value-mapping option, using castMapping to retrieve a mapping function.

+

The following types can be casted into a mapping function:

+
    +
  1. Function: If the input is a function, it returns the function as is.
  2. +
  3. Property Name: If the input is a property name, it returns a function that retrieves the value of that property from an object.
  4. +
  5. Nullish: If the input is nullish (null or undefined), it returns a function that simply returns the input object itself.
  6. +
+
import * as _ from 'radashi'
+
// Using a property name
const getName = _.castMapping('name')
getName({ name: 'Alice' }) // => 'Alice'
+
// Using a function
const getLength = _.castMapping((str: string) => str.length)
getLength('Hello') // => 5
+
// Using undefined
const identity = _.castMapping(undefined)
identity({ any: 'value' }) // => { any: 'value' }
+

Types

+

CastMapping

+

This is the return type of castMapping.

+
import * as _ from 'radashi'
import type { CastMapping } from 'radashi'
+
const data = { a: 1, b: '2' }
+
const mapper: CastMapping<typeof data, number> = _.castMapping(data => data.a)
+

MappedOutput

+

As you may have noticed in the previous example, the MappedOutput type is used to infer the type of the value returned by the mapping function.

+
import type { MappedOutput } from 'radashi'
+
type Data = { a: number; b: string }
+
const test = <T>() => T
+
test<MappedOutput<Data, (data: Data) => number>>()
// is number
+
test<MappedOutput<CastMapping<'a'>>>()
// is number
+
test<MappedOutput<undefined>>()
// is Data
+

Mapping

+

You can use the Mapping type to accept a value that can be passed into castMapping.

+
import * as _ from 'radashi'
import type { Mapping, MappedOutput } from 'radashi'
+
function mapArray<T, TMapping extends Mapping<T>>(
array: readonly T[],
mapping: TMapping,
): MappedOutput<TMapping, T>[] {
return array.map(_.castMapping(mapping))
}
+

If you want a mapping to be optional, use the OptionalMapping type instead.

+
import type { OptionalMapping, MappedOutput } from 'radashi'
+
function mapArray<T, TMapping extends OptionalMapping<T>>(
array: readonly T[],
mapping?: TMapping,
): MappedOutput<TMapping, T>[] {
return array.map(_.castMapping(mapping))
}
+

Etymology

+

Origin

+

The term “castMapping” combines two key concepts from programming:

+
    +
  1. +

    “Cast” originates from type casting in programming, which involves converting a value from one data type to another. This process ensures that data is in the correct format for a specific operation.

    +
  2. +
  3. +

    ”Mapping” as a noun refers to a correspondence between elements of two sets, or a function that defines such a correspondence. In programming, it often represents a data structure that associates keys with values, or a function that transforms one set of data into another.

    +
  4. +
+

Together, “castMapping” describes a function that takes a value (which could be a function, a property name, or undefined) and converts or “casts” it into a standardized mapping. This resulting mapping can then be used to transform data consistently, regardless of the initial input type. The process enhances flexibility in data manipulation by allowing various input types to be treated uniformly as mappings for data transformation.

\ No newline at end of file diff --git a/reference/function/noop/index.html b/reference/function/noop/index.html new file mode 100644 index 00000000..755b5b82 --- /dev/null +++ b/reference/function/noop/index.html @@ -0,0 +1,97 @@ + noop | Radashi + + Skip to content

noop

Does nothing and returns undefined

33 bytes +

Usage

+

This is useful when you need to pass a function somewhere, but you don’t care when it runs or what it receives.

+

Since noop has a function signature of () => undefined, you will be warned by TypeScript if you pass it where a function is expected to return something different.

+
import * as _ from 'radashi'
+
_.noop() // => undefined
+

FAQ

+
    +
  • Shouldn’t I just use ?. operator?
    +Where possible, yes you should. The noop is best for cases where you’re not in control of the code that calls it and a function is required.
  • +
\ No newline at end of file diff --git a/reference/index.html b/reference/index.html new file mode 100644 index 00000000..944d4ad5 --- /dev/null +++ b/reference/index.html @@ -0,0 +1,210 @@ + Functions overview | Radashi + + Skip to content

Functions overview

Welcome to the Radashi API Reference.

+

Array

+

alphabetical

Sorts an array of objects alphabetically by a property

+

boil

Reduce a list of items down to one item

+

castArray

Cast a value into an array

+

castArrayIfExists

Cast a non-nullish value into an array

+

cluster

Split a list into many lists of the given size

+

counting

Creates an object with counts of occurrences of items

+

diff

Create an array of differences between two arrays

+

first

Get the first item from a list

+

flat

Flatten an array of arrays into a single dimension

+

fork

Split an array into two arrays by a condition

+

group

Sort an array of items into groups

+

intersects

Determine if two arrays have a common item

+

iterate

Iterate over a callback n times

+

last

Get the last item from a list

+

list

Create a list with specific items

+

mapify

Convert an array to a map

+

merge

Combine two lists overriding items in the first

+

objectify

Convert a list to a dictionary object

+

replace

Replace an item in an array

+

replaceOrAppend

Replace item in array or append if no match

+

select

Filter and map an array

+

selectFirst

Find and map the first array element meeting a condition

+

shift

Shift array items by n steps

+

sift

Remove all falsy items from list

+

sort

Sort a list of objects by a numerical property

+

toggle

Toggles an items existance in an array

+

unique

Remove duplicates from an array

+

unzip

Group array elements by their index position across the input arrays

+

zip

Combine multiple arrays in sets

+

zipToObject

Combine multiple arrays in sets

+

Async

+

all

Await many promises

+

defer

Run an async function with deferred functions

+

guard

Have a function return undefined if it errors out

+

map

Map an array with an async function

+

parallel

Run many async function in parallel

+

reduce

Reduce an array with an async function

+

retry

Run an async function retrying if it fails

+

sleep

Asynchronously wait for time to pass

+

tryit

Convert a function to an error-first function

+

Curry

+

chain

Create a chain of function to run in order

+

compose

Create a composition of functions

+

debounce

Create a debounced callback function

+

flip

Swap the only two arguments of a function

+

memo

Memoize a function

+

once

Create a function that runs at most once

+

partial

Create a partial a function

+

partob

Create a partob a function

+

proxied

Create a dynamic proxied a object

+

throttle

Creates a throttled function that limits invocations to a specified interval

+

Function

+

always

Create a function that always returns the same value

+

castComparator

Cast a value into a comparator function

+

castMapping

Cast a value into a mapping function

+

noop

Does nothing and returns undefined

+

Number

+

clamp

Limit the range of a variable number

+

inRange

Verifies number within range, inclusive start, exclusive end, flexible order, defaulting to 0 if end unspecified

+

lerp

Smoothly transitions between two values based on a factor

+

max

Get the largest item from an array

+

min

Get the smallest item from an array

+

range

Create a range used for iterating

+

round

Rounds a number to a specified precision.

+

sum

Add up all items of an array

+

toFloat

Convert a value to a float if possible

+

toInt

Convert a value to an int if possible

+

Object

+

assign

Merges two objects together recursively

+

clone

Creates a shallow copy of the given object/value.

+

cloneDeep

Create a deep copy of an object or array

+

construct

Builds an object from key paths and values

+

crush

Flattens a deep object to a single dimension

+

filterKey

Check if an object key passes a filter

+

get

Get any attribute or child attribute using a deep path

+

invert

Invert the keys and values of an object

+

keys

Get all keys from an object deeply

+

listify

Convert an object to a list

+

lowerize

Convert all object keys to lower case

+

mapEntries

Map the keys and values of an object

+

mapKeys

Map over the keys of an object

+

mapValues

Map over the keys of an object

+

omit

Omit unwanted attributes from an object

+

pick

Pick only the desired properties from an object

+

set

Set a value on an object using a path key

+

shake

Remove unwanted values from an object

+

traverse

Deeply enumerate an object and any nested objects

+

upperize

Convert all object keys to upper case

+

Random

+

draw

Get a random item from a list

+

random

Generate a random number

+

shuffle

Randomly shuffle an array

+

uid

Generate a unique identifier

+

Series

+

series

Create an ordered series object

+

String

+

camel

Convert a string to camel case

+

capitalize

Convert a string to a capitalized format

+

dash

Convert a string to dash case

+

pascal

Convert a string to pascal case

+

similarity

Calculate the similarity between two strings using the Levenshtein distance algorithm

+

snake

Convert a string to snake case

+

template

Template a string with values from a data object using a search expression

+

title

Convert a string to title case

+

trim

Trim values from a string

+

Typed

+

isArray

Determine if a value is an Array

+

isBoolean

Check if a value is a boolean type

+

isDate

Determine if a value is a Date

+

isEmpty

Determine if a value is empty

+

isEqual

Determine if two values are equal

+

isFloat

Determine if a value is a float

+

isFunction

Determine if a value is a Function

+

isInt

Determine if a value is an int

+

isIntString

Determine if a value is an int in string form

+

isMap

Returns true for Map instances

+

isNumber

Determine if a value is a number

+

isObject

Determine if a value is an Object

+

isPlainObject

Determine if a value is a plain object

+

isPrimitive

Checks if the given value is primitive

+

isPromise

Determine if a value is a Promise

+

isRegExp

Returns true for RegExp instances

+

isSet

Returns true for Set instances

+

isString

Determine if a value is a String

+

isSymbol

Determine if a value is a Symbol

+

isWeakMap

Returns true for WeakMap instances

+

isWeakSet

Returns true for WeakSet instances

\ No newline at end of file diff --git a/reference/number/clamp/index.html b/reference/number/clamp/index.html new file mode 100644 index 00000000..438571b8 --- /dev/null +++ b/reference/number/clamp/index.html @@ -0,0 +1,101 @@ + clamp | Radashi + + Skip to content

clamp

Limit the range of a variable number

141 bytes +

Usage

+

The clamp function restricts a number to be within a specified +range.

+
    +
  • It takes three arguments: the number to clamp, the minimum value, +and the maximum value.
  • +
  • If the number is less than the minimum, it returns the minimum.
  • +
  • If the number is greater than the maximum, it returns the +maximum.
  • +
  • Otherwise, it returns the number itself.
  • +
+
import * as _ from 'radashi'
+
_.clamp(5, 1, 10) // returns 5
_.clamp(0, 1, 10) // returns 1
_.clamp(15, 1, 10) // returns 10
+
// Invalid range
_.clamp(1, 10, 1) // throws
\ No newline at end of file diff --git a/reference/number/inRange/index.html b/reference/number/inRange/index.html new file mode 100644 index 00000000..066085dd --- /dev/null +++ b/reference/number/inRange/index.html @@ -0,0 +1,97 @@ + inRange | Radashi + + Skip to content

inRange

Verifies number within range, inclusive start, exclusive end, flexible order, defaulting to 0 if end unspecified

185 bytes +

Basic usage

+

Pass the number, the start and the end (optional) of the range. The _.inRange function will return true if the given number is in the range.

+
    +
  • The start is inclusive, the end is exclusive. So 10 is in the range 0-11 and 10-20, but not 0-10.
  • +
  • If an end is unspecified, the range defaults to >= 0 and < start.
  • +
  • If the end is lower than the start, the range is reversed.
  • +
+
import * as _ from 'radashi'
+
_.inRange(10, 0, 20) // true
_.inRange(9.99, 0, 10) // true
_.inRange(Math.PI, 0, 3.15) // true
_.inRange(10, 10, 20) // true
_.inRange(10, 0, 10) // false
+
_.inRange(1, 2) // true
_.inRange(1, 0) // false
\ No newline at end of file diff --git a/reference/number/lerp/index.html b/reference/number/lerp/index.html new file mode 100644 index 00000000..0940ed11 --- /dev/null +++ b/reference/number/lerp/index.html @@ -0,0 +1,94 @@ + lerp | Radashi + + Skip to content

lerp

Smoothly transitions between two values based on a factor

54 bytes +

Usage

+

The lerp function is used to linearly interpolate between two numbers based on a specified amount. This function is particularly useful in animations, graphics, and games for smooth transitions.

+
import * as _ from 'radashi'
+
_.lerp(0, 10, 0.5) // => 5
_.lerp(5, 15, 0.2) // => 7
_.lerp(-10, 10, 0.75) // => 5
+

Etymology

+

The name lerp is short for “linear interpolation”. It’s a term from computer graphics that means “interpolate linearly between two values”.

+

For more information, check out the Wikipedia article on linear interpolation.

\ No newline at end of file diff --git a/reference/number/max/index.html b/reference/number/max/index.html new file mode 100644 index 00000000..aa3a6401 --- /dev/null +++ b/reference/number/max/index.html @@ -0,0 +1,92 @@ + max | Radashi + + Skip to content

max

Get the largest item from an array

125 bytes +

Usage

+

Given an array of items and a function to get the value of each item, returns the item with the largest value. Uses _.boil under the hood.

+
import * as _ from 'radashi'
+
const fish = [
{
name: 'Marlin',
weight: 105,
source: 'ocean',
},
{
name: 'Bass',
weight: 8,
source: 'lake',
},
{
name: 'Trout',
weight: 13,
source: 'lake',
},
]
+
_.max(fish, f => f.weight) // => {name: "Marlin", weight: 105, source: "ocean"}
\ No newline at end of file diff --git a/reference/number/min/index.html b/reference/number/min/index.html new file mode 100644 index 00000000..4da278bb --- /dev/null +++ b/reference/number/min/index.html @@ -0,0 +1,92 @@ + min | Radashi + + Skip to content

min

Get the smallest item from an array

125 bytes +

Usage

+

Given an array of items and a function to get the value of each item, returns the item with the smallest value. Uses _.boil under the hood.

+
import * as _ from 'radashi'
+
const fish = [
{
name: 'Marlin',
weight: 105,
source: 'ocean',
},
{
name: 'Bass',
weight: 8,
source: 'lake',
},
{
name: 'Trout',
weight: 13,
source: 'lake',
},
]
+
_.min(fish, f => f.weight) // => {name: "Bass", weight: 8, source: "lake"}
\ No newline at end of file diff --git a/reference/number/range/index.html b/reference/number/range/index.html new file mode 100644 index 00000000..8fabdcf6 --- /dev/null +++ b/reference/number/range/index.html @@ -0,0 +1,109 @@ + range | Radashi + + Skip to content

range

Create a range used for iterating

170 bytes +

Usage

+

Given a start, end, value, and step size returns a generator that will yield values from start to end by step size. Useful for replacing for (let i = 0) with for of. Range will return a generator that for of will call one at a time, so it’s safe to create large ranges.

+

The interface is identical to list.

+

A hat tip to Python’s range functionality

+
import * as _ from 'radashi'
+
_.range(3) // yields 0, 1, 2, 3
_.range(0, 3) // yields 0, 1, 2, 3
_.range(0, 3, 'y') // yields y, y, y, y
_.range(0, 3, () => 'y') // yields y, y, y, y
_.range(0, 3, i => i) // yields 0, 1, 2, 3
_.range(0, 3, i => `y${i}`) // yields y0, y1, y2, y3
_.range(0, 3, obj) // yields obj, obj, obj, obj
_.range(0, 6, i => i, 2) // yields 0, 2, 4, 6
+
for (const i of _.range(0, 200, 10)) {
console.log(i) // => 0, 10, 20, 30 ... 190, 200
}
+
for (const i of _.range(0, 5)) {
console.log(i) // => 0, 1, 2, 3, 4, 5
}
+

Signatures

+

The range function can do a lot with different arguments.

+

range(size)

+

When givin a single argument, it’s treated as the size. Returns a generator that yields values from 0 to size.

+
_.range(3) // yields 0, 1, 2, 3
+

range(start, end)

+

When given two arguments, they’re treated as the start and end. Returns a generator that yields values from start to end

+
_.range(2, 6) // yields 2, 3, 4, 5, 6
+

range(start, end, value)

+

When given a third argument it’s treated as the value to be yielded in the generator. If the value is a function it will be called, with an index argument, to create every value.

+
_.range(2, 4, {}) // yields {}, {}, {}
_.range(2, 4, null) // yields null, null, null
_.range(2, 4, i => i) // yields 2, 3, 4
+

range(start, end, value, step)

+

When given a fourth argument it’s treated as the step size to skip when yielding values from start to end.

+
_.range(2, 4, i => i, 2) // yields 2, 4
_.range(25, 100, i => i, 25) // yields 25, 50, 75, 100
\ No newline at end of file diff --git a/reference/number/round/index.html b/reference/number/round/index.html new file mode 100644 index 00000000..065c5a4a --- /dev/null +++ b/reference/number/round/index.html @@ -0,0 +1,97 @@ + round | Radashi + + Skip to content

round

Rounds a number to a specified precision.

199 bytes +

Usage

+

The _.round function rounds a given number to a specified precision.

+
import * as _ from 'radashi'
+
_.round(123.456) // => 123
_.round(1234.56, -2) // => 1200
+

Precision

+

The precision argument is limited to be within the range of -323 to +292. +Without this limit, precision values outside this range can result in NaN.

+

Rounding Method

+

You may provide a custom rounding method. The default is Math.round.

+
_.round(4.001, 2, Math.ceil) // => 4.01
_.round(4.089, 2, Math.floor) // => 4.08
\ No newline at end of file diff --git a/reference/number/sum/index.html b/reference/number/sum/index.html new file mode 100644 index 00000000..58b1b37a --- /dev/null +++ b/reference/number/sum/index.html @@ -0,0 +1,92 @@ + sum | Radashi + + Skip to content

sum

Add up all items of an array

78 bytes +

Usage

+

Given an array of items, and an optional function to map each item to a number, add up all the items.

+
import * as _ from 'radashi'
+
const fish = [
{
name: 'Marlin',
weight: 100,
},
{
name: 'Bass',
weight: 10,
},
{
name: 'Trout',
weight: 15,
},
]
+
_.sum(fish, f => f.weight) // => 125
\ No newline at end of file diff --git a/reference/number/toFloat/index.html b/reference/number/toFloat/index.html new file mode 100644 index 00000000..e2498fe4 --- /dev/null +++ b/reference/number/toFloat/index.html @@ -0,0 +1,91 @@ + toFloat | Radashi + + Skip to content

toFloat

Convert a value to a float if possible

161 bytes +

Usage

+

The _.toFloat function will do its best to convert the given value to a float.

+
import * as _ from 'radashi'
+
_.toFloat(0) // => 0.0
_.toFloat(null) // => 0.0
_.toFloat(null, 3.33) // => 3.33
\ No newline at end of file diff --git a/reference/number/toInt/index.html b/reference/number/toInt/index.html new file mode 100644 index 00000000..1a978c45 --- /dev/null +++ b/reference/number/toInt/index.html @@ -0,0 +1,91 @@ + toInt | Radashi + + Skip to content

toInt

Convert a value to an int if possible

157 bytes +

Usage

+

The _.toInt function will do its best to convert the given value to an int.

+
import * as _ from 'radashi'
+
_.toInt(0) // => 0
_.toInt(null) // => 0
_.toInt(null, 3) // => 3
\ No newline at end of file diff --git a/reference/object/assign/index.html b/reference/object/assign/index.html new file mode 100644 index 00000000..6bd3f371 --- /dev/null +++ b/reference/object/assign/index.html @@ -0,0 +1,92 @@ + assign | Radashi + + Skip to content

assign

Merges two objects together recursively

373 bytes +

Usage

+

Merges two objects together recursively into a new object applying values from right to left. Recursion only applies to child object properties.

+
import * as _ from 'radashi'
+
const ra = {
name: 'Ra',
power: 100,
}
+
_.assign(ra, { name: 'Loki' })
// => { name: Loki, power: 100 }
\ No newline at end of file diff --git a/reference/object/clone/index.html b/reference/object/clone/index.html new file mode 100644 index 00000000..f3d20045 --- /dev/null +++ b/reference/object/clone/index.html @@ -0,0 +1,93 @@ + clone | Radashi + + Skip to content

clone

Creates a shallow copy of the given object/value.

328 bytes +

Usage

+

Creates a shallow copy of the given object/value.

+
import * as _ from 'radashi'
+
const ra = {
name: 'Ra',
power: 100,
}
+
const gods = [ra]
+
_.clone(ra) // => copy of ra
_.clone(gods) // => copy of gods
\ No newline at end of file diff --git a/reference/object/cloneDeep/index.html b/reference/object/cloneDeep/index.html new file mode 100644 index 00000000..a76b9d14 --- /dev/null +++ b/reference/object/cloneDeep/index.html @@ -0,0 +1,107 @@ + cloneDeep | Radashi + + Skip to content

cloneDeep

Create a deep copy of an object or array

1142 bytes +

Usage

+

Deeply clone the given object or array. The only nested objects that get cloned by default are: plain objects, arrays, Map instances, and Set instances.

+

The default behavior aims to support the most popular use cases. See “Customized cloning” below if you need more control.

+

By default, non-enumerable properties and computed properties are copied losslessly. Note that you can opt out of this behavior if you need better performance (see “Faster cloning” below).

+
import * as _ from 'radashi'
+
_.cloneDeep()
+

Faster cloning

+

You can pass the FastCloningStrategy for better performance, but bear in mind the following tradeoff.

+

All plain objects and class instances are cloned with {...obj}. This means that the original prototype, computed properties, and non-enumerable properties are not preserved.

+

Also note that built-in, complex objects like RegExp and Date are still not cloned with this cloning strategy. You can override the cloneOther function if you need to clone these object types.

+

Customized cloning

+

“Cloning strategies” control how certain object types are handled by cloneDeep. You can pass in a custom strategy, which may even be a partial strategy. Any undefined methods in your strategy will inherit the default logic. Your custom methods can return null to use the default logic, or they can return the received object to skip cloning.

+
import * as _ from 'radashi'
+
_.cloneDeep(obj, {
// Clone arrays with default logic if they are not frozen.
cloneArray: array => (Object.isFrozen(array) ? array : null),
})
+

If you clone the object in your custom method, make sure to pass the clone into the track function before cloning the nested objects. Here’s an example with cloneOther that handles a custom class instance.

+
import * as _ from 'radashi'
+
_.cloneDeep(obj, {
cloneOther: (obj, track, clone) => {
if (obj instanceof MyClass) {
// 1. Create a new instance and track it.
const clone = track(new MyClass())
+
// 2. Copy over the properties of the original instance.
for (const key in obj) {
clone[key] = clone(obj[key])
}
+
// 3. Return the cloned instance.
return clone
}
+
// Use default logic for anything else.
return null
},
})
\ No newline at end of file diff --git a/reference/object/construct/index.html b/reference/object/construct/index.html new file mode 100644 index 00000000..5895fc98 --- /dev/null +++ b/reference/object/construct/index.html @@ -0,0 +1,92 @@ + construct | Radashi + + Skip to content

construct

Builds an object from key paths and values

693 bytes +

Usage

+

The opposite of crush, given an object that was crushed into key paths and values will return the original object reconstructed.

+
import * as _ from 'radashi'
+
const flat = {
name: 'ra',
power: 100,
'friend.name': 'loki',
'friend.power': 80,
'enemies.0.name': 'hathor',
'enemies.0.power': 12,
}
+
_.construct(flat)
// {
// name: 'ra',
// power: 100,
// friend: {
// name: 'loki',
// power: 80
// },
// enemies: [
// {
// name: 'hathor',
// power: 12
// }
// ]
// }
\ No newline at end of file diff --git a/reference/object/crush/index.html b/reference/object/crush/index.html new file mode 100644 index 00000000..6f61e503 --- /dev/null +++ b/reference/object/crush/index.html @@ -0,0 +1,92 @@ + crush | Radashi + + Skip to content

crush

Flattens a deep object to a single dimension

290 bytes +

Usage

+

Flattens a deep object to a single dimension. The deep keys will be converted to a dot notation in the new object.

+
import * as _ from 'radashi'
+
const ra = {
name: 'ra',
power: 100,
friend: {
name: 'loki',
power: 80,
},
enemies: [
{
name: 'hathor',
power: 12,
},
],
}
+
_.crush(ra)
// {
// name: 'ra',
// power: 100,
// 'friend.name': 'loki',
// 'friend.power': 80,
// 'enemies.0.name': 'hathor',
// 'enemies.0.power': 12
// }
\ No newline at end of file diff --git a/reference/object/filterKey/index.html b/reference/object/filterKey/index.html new file mode 100644 index 00000000..a94c51d8 --- /dev/null +++ b/reference/object/filterKey/index.html @@ -0,0 +1,92 @@ + filterKey | Radashi + + Skip to content

filterKey

Check if an object key passes a filter

146 bytes +

Usage

+

You have a utility function that is filtering an object’s properties somehow. Using filterKey will allow your function to filter those properties based on either an array of keys (an allowlist) or a function that returns a boolean for each property.

+

The KeyFilter type provided by Radashi is fundamental in taking advantage of the filterKey function. Be sure to use it to ensure type safety and maintainable code.

+
import * as _ from 'radashi'
+
function filterObject(obj: object, filter: _.KeyFilter) {
for (const key in obj) {
if (_.filterKey(obj, key, filter)) {
// ...
}
}
}
\ No newline at end of file diff --git a/reference/object/get/index.html b/reference/object/get/index.html new file mode 100644 index 00000000..7b3f925f --- /dev/null +++ b/reference/object/get/index.html @@ -0,0 +1,92 @@ + get | Radashi + + Skip to content

get

Get any attribute or child attribute using a deep path

190 bytes +

Usage

+

Given any value and a select function to get the desired attribute, returns the desired value or a default value if the desired value couldn’t be found.

+
import * as _ from 'radashi'
+
const fish = {
name: 'Bass',
weight: 8,
sizes: [
{
maturity: 'adult',
range: [7, 18],
unit: 'inches',
},
],
}
+
_.get(fish, 'sizes[0].range[1]') // 18
_.get(fish, 'sizes.0.range.1') // 18
_.get(fish, 'foo', 'default') // 'default'
\ No newline at end of file diff --git a/reference/object/invert/index.html b/reference/object/invert/index.html new file mode 100644 index 00000000..516a0f4f --- /dev/null +++ b/reference/object/invert/index.html @@ -0,0 +1,92 @@ + invert | Radashi + + Skip to content

invert

Invert the keys and values of an object

94 bytes +

Usage

+

Given an object returns a new object with the keys and values reversed.

+
import * as _ from 'radashi'
+
const powersByGod = {
ra: 'sun',
loki: 'tricks',
zeus: 'lighning',
}
+
_.invert(powersByGod) // => { sun: ra, tricks: loki, lightning: zeus }
\ No newline at end of file diff --git a/reference/object/keys/index.html b/reference/object/keys/index.html new file mode 100644 index 00000000..e34ef210 --- /dev/null +++ b/reference/object/keys/index.html @@ -0,0 +1,96 @@ + keys | Radashi + + Skip to content

keys

Get all keys from an object deeply

397 bytes +

Usage

+

Given an object, return all of it’s keys and children’s keys deeply as a flat string list.

+
import * as _ from 'radashi'
+
const ra = {
name: 'ra',
power: 100,
friend: {
name: 'loki',
power: 80,
},
enemies: [
{
name: 'hathor',
power: 12,
},
],
}
+
_.keys(ra)
// => [
// 'name',
// 'power',
// 'friend.name',
// 'friend.power',
// 'enemies.0.name',
// 'enemies.0.power'
// ]
+

This is a function you might like to use with get, which dynamically looks up values in an object given a string path. Using the two together you could do something like flatten a deep object.

+
import * as _ from 'radashi'
+
_.objectify(
_.keys(ra),
key => key,
key => _.get(ra, key),
)
// => {
// 'name': 'ra'
// 'power': 100
// 'friend.name': 'loki'
// 'friend.power': 80
// 'enemies.0.name': 'hathor'
// 'enemies.0.power': 12
// }
+

As of v10.5.0+ you can get this behavior via the crush function

\ No newline at end of file diff --git a/reference/object/listify/index.html b/reference/object/listify/index.html new file mode 100644 index 00000000..ec2754f8 --- /dev/null +++ b/reference/object/listify/index.html @@ -0,0 +1,92 @@ + listify | Radashi + + Skip to content

listify

Convert an object to a list

145 bytes +

Usage

+

Given an object and a mapping function, return an array with an item for each entry in the object.

+
import * as _ from 'radashi'
+
const fish = {
marlin: {
weight: 105,
},
bass: {
weight: 8,
},
}
+
_.listify(fish, (key, value) => ({ ...value, name: key })) // => [{ name: 'marlin', weight: 105 }, { name: 'bass', weight: 8 }]
\ No newline at end of file diff --git a/reference/object/lowerize/index.html b/reference/object/lowerize/index.html new file mode 100644 index 00000000..7bd8a215 --- /dev/null +++ b/reference/object/lowerize/index.html @@ -0,0 +1,93 @@ + lowerize | Radashi + + Skip to content

lowerize

Convert all object keys to lower case

146 bytes +

Usage

+

Convert all keys in an object to lower case. Useful to standardize attribute key casing. For example, headers.

+
import * as _ from 'radashi'
+
const ra = {
Mode: 'god',
Power: 'sun',
}
+
_.lowerize(ra) // => { mode, power }
+

The _.lowerize function is a shortcut for _.mapKeys(obj, k => k.toLowerCase())

\ No newline at end of file diff --git a/reference/object/mapEntries/index.html b/reference/object/mapEntries/index.html new file mode 100644 index 00000000..c1add47a --- /dev/null +++ b/reference/object/mapEntries/index.html @@ -0,0 +1,95 @@ + mapEntries | Radashi + + Skip to content

mapEntries

Map the keys and values of an object

127 bytes +

Usage

+

Iterates the entries of an object, calling the given toEntry callback function +to generate new entries. It’s a _.mapValues and _.mapKeys +in one. The toEntry callback function should return an array with +two items [key, value] (a.k.a the new entry).

+
import * as _ from 'radashi'
+
const ra = {
name: 'Ra',
power: 'sun',
rank: 100,
culture: 'egypt',
}
+
_.mapEntries(ra, (key, value) => [key.toUpperCase(), `${value}`]) // => { NAME: 'Ra', POWER: 'sun', RANK: '100', CULTURE: 'egypt' }
\ No newline at end of file diff --git a/reference/object/mapKeys/index.html b/reference/object/mapKeys/index.html new file mode 100644 index 00000000..b5bc3b8d --- /dev/null +++ b/reference/object/mapKeys/index.html @@ -0,0 +1,93 @@ + mapKeys | Radashi + + Skip to content

mapKeys

Map over the keys of an object

100 bytes +

Usage

+

Given an object and a toKey callback function, returns a new object with all the keys +mapped through the toKey function. The callback is given both the key and value for each entry.

+
import * as _ from 'radashi'
+
const ra = {
mode: 'god',
power: 'sun',
}
+
_.mapKeys(ra, key => key.toUpperCase()) // => { MODE, POWER }
_.mapKeys(ra, (key, value) => value) // => { god: 'god', power: 'power' }
\ No newline at end of file diff --git a/reference/object/mapValues/index.html b/reference/object/mapValues/index.html new file mode 100644 index 00000000..e9fd8d5c --- /dev/null +++ b/reference/object/mapValues/index.html @@ -0,0 +1,93 @@ + mapValues | Radashi + + Skip to content

mapValues

Map over the keys of an object

99 bytes +

Usage

+

Given an object and a toValue callback function, returns a new object with all the values +mapped through the toValue function. The callback is given both the value and key for each entry.

+
import * as _ from 'radashi'
+
const ra = {
mode: 'god',
power: 'sun',
}
+
_.mapValues(ra, value => value.toUpperCase()) // => { mode: 'GOD', power: 'SUN' }
_.mapValues(ra, (value, key) => key) // => { mode: 'mode', power: 'power' }
\ No newline at end of file diff --git a/reference/object/omit/index.html b/reference/object/omit/index.html new file mode 100644 index 00000000..f3a4d26f --- /dev/null +++ b/reference/object/omit/index.html @@ -0,0 +1,92 @@ + omit | Radashi + + Skip to content

omit

Omit unwanted attributes from an object

106 bytes +

Usage

+

Given an object and a list of keys in the object, returns a new object without any of the given keys.

+
import * as _ from 'radashi'
+
const fish = {
name: 'Bass',
weight: 8,
source: 'lake',
brackish: false,
}
+
_.omit(fish, ['name', 'source']) // => { weight, brackish }
\ No newline at end of file diff --git a/reference/object/pick/index.html b/reference/object/pick/index.html new file mode 100644 index 00000000..dd003bb6 --- /dev/null +++ b/reference/object/pick/index.html @@ -0,0 +1,104 @@ + pick | Radashi + + Skip to content

pick

Pick only the desired properties from an object

266 bytes +

Usage

+

Given an object and a list of keys in the object, returns a new object with only the given keys.

+
import * as _ from 'radashi'
+
const fish = {
name: 'Bass',
weight: 8,
source: 'lake',
brackish: false,
}
+
_.pick(fish, ['name', 'source']) // => { name, source }
+

Predicate function

+

The pick function can also accept a predicate function as the filter argument. This allows for more complex filtering logic beyond simple key inclusion or exclusion.

+
import * as _ from 'radashi'
+
const source = { a: 1, b: 2, c: 3, d: 4 }
+
_.pick(source, (value, key) => {
return value % 2 === 0 // Include only even values
})
// => { b: 2, d: 4 }
+

Unsafe predicate function

+ +
// Example demonstrating potential inaccuracy in `key` and `value` types within `_.pick` callback
import _ from 'lodash'
+
interface User {
name: string
age: number
}
+
function getUserDetails(user: User) {
return _.pick(user, (value, key) => {
// TypeScript believes `key` is 'name' | 'age', but at runtime
// it could be 'email'
if (key === 'name' || key === 'age') {
console.log(key, '=', value)
} else {
// TypeScript believes this will never run, but it does.
console.log('Unexpected key:', key)
}
})
}
+
// At runtime, the function may receive an object with more properties
const runtimeUser = {
name: 'John',
age: 30,
// This property is not listed in the User type:
email: 'john@example.com',
}
+
getUserDetails(runtimeUser)
// Logs the following:
// name = John
// age = 30
// Unexpected key: email
\ No newline at end of file diff --git a/reference/object/set/index.html b/reference/object/set/index.html new file mode 100644 index 00000000..38bed325 --- /dev/null +++ b/reference/object/set/index.html @@ -0,0 +1,92 @@ + set | Radashi + + Skip to content

set

Set a value on an object using a path key

616 bytes +

Usage

+

Opposite of get, dynamically set a nested value into an object using a key path. Does not modify the given initial object.

+
import * as _ from 'radashi'
+
_.set({}, 'name', 'ra')
// => { name: 'ra' }
+
_.set({}, 'cards[0].value', 2)
// => { cards: [{ value: 2 }] }
\ No newline at end of file diff --git a/reference/object/shake/index.html b/reference/object/shake/index.html new file mode 100644 index 00000000..1bb0ef2e --- /dev/null +++ b/reference/object/shake/index.html @@ -0,0 +1,92 @@ + shake | Radashi + + Skip to content

shake

Remove unwanted values from an object

120 bytes +

Usage

+

A bit like _.sift but for objects. By default, it will return a new object with all the undefined attributes removed. You can pass a second function argument to remove any attributes by a custom condition.

+
import * as _ from 'radashi'
+
const ra = {
mode: 'god',
greek: false,
limit: undefined,
}
+
_.shake(ra) // => { mode, greek }
_.shake(ra, a => !a) // => { mode }
\ No newline at end of file diff --git a/reference/object/traverse/index.html b/reference/object/traverse/index.html new file mode 100644 index 00000000..8054d4a8 --- /dev/null +++ b/reference/object/traverse/index.html @@ -0,0 +1,160 @@ + traverse | Radashi + + Skip to content

traverse

Deeply enumerate an object and any nested objects

1284 bytes +

Usage

+

Recursively visit each property of an object (or each element of an array) and its nested objects or arrays. To traverse non-array iterables (e.g. Map, Set) and class instances, see the Traversing other objects section.

+

Traversal is performed in a depth-first manner. That means the deepest object will be visited before the last property of the root object.

+
import * as _ from 'radashi'
+
const root = { a: { b: 2 }, c: [1, 2] }
+
_.traverse(root, (value, key, parent, context) => {
const depth = context.parents.length
console.log(' '.repeat(depth * 2), key, '=>', value)
})
// Logs the following:
// a => { b: 2 }
// b => 2
// c => [1, 2]
// 0 => 1
// 1 => 2
+

Tip: Check out the Advanced section to see what else is possible.

+ +

Types

+

TraverseVisitor

+

The TraverseVisitor type represents the function passed to traverse as its 2nd argument. If you ever need to declare a visitor separate from a traverse call, you can do so by declaring a function with this type signature.

+
import { TraverseVisitor } from 'radashi'
+
const visitor: TraverseVisitor = (value, key, parent, context) => {
// ...
}
+

TraverseContext

+

Every visit includes a context object typed with TraverseContext, which contains the following properties:

+
    +
  • key: The current key being visited.
  • +
  • parent: The parent object of the current value.
  • +
  • parents: An array of objects (from parent to child) that the current value is contained by.
  • +
  • path: An array describing the key path to the current value from the root.
  • +
  • skip: A function used for skipping traversal of an object. If no object is provided, the current value is skipped. See Skipping objects for more details.
  • +
  • skipped: A set of objects that have been skipped.
  • +
  • value: The current value being visited.
  • +
+ +

TraverseOptions

+

You may set these options for traverse using an object as its 3rd argument.

+
    +
  • ownKeys: A function that returns the own enumerable property names of an object.
  • +
  • rootNeedsVisit: A boolean indicating whether the root object should be visited.
  • +
+

See the Options section for more details.

+

Options

+

Traversing all properties

+

By default, non-enumerable properties and symbol properties are skipped. You can pass in a custom ownKeys implementation to control which object properties are visited.

+

This example shows how Reflect.ownKeys can be used to include non-enumerable properties and symbol properties. Note that symbol properties are always traversed last when using Reflect.ownKeys.

+
import * as _ from 'radashi'
+
const symbol = Symbol('b')
const root = { [symbol]: 1 }
Object.defineProperty(root, 'a', { value: 2, enumerable: false })
+
_.traverse(
root,
(value, key) => {
console.log(key, '=>', value)
},
{ ownKeys: Reflect.ownKeys },
)
// Logs the following:
// a => 2
// Symbol(b) => 1
+

Visiting the root object

+

By default, your visitor callback will never receive the object passed into traverse. To override this behavior, set the rootNeedsVisit option to true.

+

When the root object is visited, the key will be null.

+
import * as _ from 'radashi'
+
const root = { a: 1 }
+
_.traverse(
root,
(value, key) => {
console.log(key, '=>', value)
},
{ rootNeedsVisit: true },
)
// Logs the following:
// null => { a: 1 }
// a => 1
+

Advanced

+

Traversing other objects

+

If traversing plain objects and arrays isn’t enough, try calling traverse from within another traverse callback like follows. This takes advantage of the fact that the root object is always traversed.

+
import * as _ from 'radashi'
+
// Note how we're using a named visitor function so it can reference itself.
_.traverse(root, function visitor(value, key, parent, context, options) {
if (value instanceof MyClass) {
return _.traverse(value, visitor, options, context)
}
// TODO: Handle other values as needed.
})
+

If you didn’t set any options, the options argument can be null:

+
return _.traverse(root, visitor, null, context)
+

Skipping objects

+

Using the TraverseContext::skip method, you can prevent an object from being traversed. By calling skip() with no arguments, the current value won’t be traversed.

+
import * as _ from 'radashi'
+
const root = {
a: { b: 1 },
c: { d: 2 },
}
+
_.traverse(root, (value, key, parent, context) => {
console.log(key, '=>', value)
+
// Skip traversal of the 'a' object.
if (key === 'a') {
context.skip()
}
})
// Logs the following:
// a => { b: 1 }
// c => { d: 2 }
// d => 2
+

You can pass any object to skip() to skip traversal of that object.

+
import * as _ from 'radashi'
+
const root = {
a: {
b: {
c: 1,
},
},
}
+
_.traverse(root, (value, key, parent, context) => {
console.log(key, '=>', value)
+
// Visit the properties of the current object, but skip any objects nested within.
Object.values(value).forEach(nestedValue => {
if (_.isObject(nestedValue)) {
context.skip(nestedValue)
}
})
})
// Logs the following:
// a => { b: { c: 1 } }
// b => { c: 1 }
+

Exiting early

+

If your visitor callback returns false, traverse will exit early and also return false. This is useful if you found what you wanted, so you don’t need to traverse the rest of the objects.

+
let found = null
_.traverse(root, value => {
if (isWhatImLookingFor(value)) {
found = value
return false
}
})
+

Leave callbacks

+

If your visitor callback returns a function, it will be called once traverse has visited every visitable property/element within the current object. This is known as a “leave callback”.

+

Your leave callback can return false to exit traversal early.

+
_.traverse({ arr: ['a', 'b'] }, (value, key) => {
if (isArray(value)) {
console.log('start of array')
return () => {
console.log('end of array')
return false
}
} else {
console.log(key, '=>', value)
}
})
// Logs the following:
// start of array
// 0 => 'a'
// 1 => 'b'
// end of array
\ No newline at end of file diff --git a/reference/object/upperize/index.html b/reference/object/upperize/index.html new file mode 100644 index 00000000..37234096 --- /dev/null +++ b/reference/object/upperize/index.html @@ -0,0 +1,93 @@ + upperize | Radashi + + Skip to content

upperize

Convert all object keys to upper case

146 bytes +

Usage

+

Convert all keys in an object to upper case.

+
import * as _ from 'radashi'
+
const ra = {
Mode: 'god',
Power: 'sun',
}
+
_.upperize(ra) // => { MODE, POWER }
+

The _.upperize function is a shortcut for _.mapKeys(obj, k => k.toUpperCase())

\ No newline at end of file diff --git a/reference/random/draw/index.html b/reference/random/draw/index.html new file mode 100644 index 00000000..4ea0ce9d --- /dev/null +++ b/reference/random/draw/index.html @@ -0,0 +1,92 @@ + draw | Radashi + + Skip to content

draw

Get a random item from a list

155 bytes +

Usage

+

Draw, as in ‘to draw a card from a deck’, is used to get a random item from an array.

+
import * as _ from 'radashi'
+
const fish = ['marlin', 'bass', 'trout']
+
_.draw(fish) // => a random fish
\ No newline at end of file diff --git a/reference/random/random/index.html b/reference/random/random/index.html new file mode 100644 index 00000000..fa77ff1d --- /dev/null +++ b/reference/random/random/index.html @@ -0,0 +1,91 @@ + random | Radashi + + Skip to content

random

Generate a random number

80 bytes +

Usage

+

Genearate a number within a range. This function is meant for utility use — not cryptographic.

+
import * as _ from 'radashi'
+
_.random(0, 100) // => a random number between 0 and 100
\ No newline at end of file diff --git a/reference/random/shuffle/index.html b/reference/random/shuffle/index.html new file mode 100644 index 00000000..29ed7ede --- /dev/null +++ b/reference/random/shuffle/index.html @@ -0,0 +1,92 @@ + shuffle | Radashi + + Skip to content

shuffle

Randomly shuffle an array

197 bytes +

Usage

+

Create a new array with the items of the given array but in a random order. The randomization is done using the Fisher-Yates algorithm, which is mathematically proven to be unbiased (i.e. all permutations are equally likely).

+
import * as _ from 'radashi'
+
const fish = [
{
name: 'Marlin',
weight: 105,
source: 'ocean',
},
{
name: 'Salmon',
weight: 22,
source: 'river',
},
{
name: 'Salmon',
weight: 22,
source: 'river',
},
]
+
_.shuffle(fish)
\ No newline at end of file diff --git a/reference/random/uid/index.html b/reference/random/uid/index.html new file mode 100644 index 00000000..9bdf6deb --- /dev/null +++ b/reference/random/uid/index.html @@ -0,0 +1,92 @@ + uid | Radashi + + Skip to content

uid

Generate a unique identifier

280 bytes +

Usage

+

Generates a unique string with optional special characters.

+
import * as _ from 'radashi'
+
_.uid(7) // => UaOKdlW
_.uid(20, '*') // => dyJdbC*NsEgcnGjTHS
+

Note, this function is optimized for simplicity and usability — not performance or security. If you need to create universally unique or cryptographically random strings use a package specifically for that purpose.

\ No newline at end of file diff --git a/reference/series/series/index.html b/reference/series/series/index.html new file mode 100644 index 00000000..9307efc5 --- /dev/null +++ b/reference/series/series/index.html @@ -0,0 +1,99 @@ + series | Radashi + + Skip to content

series

Create an ordered series object

642 bytes +

Usage

+

Sometimes you have an enum or union type, possibly a status, that has inherint order and you need to work with values as though they’re ordered. The series function takes many values and returns an object that let’s you do ordered logic on those values.

+
import * as _ from 'radashi'
+
type Weekday = 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday'
+
const weekdays = _.series<Weekday>([
'monday',
'tuesday',
'wednesday',
'thursday',
'friday',
])
+
weekdays.min('tuesday', 'thursday') // => 'tuesday'
weekdays.max('wednesday', 'monday') // => 'wednesday'
weekdays.next('wednesday') // => 'thursday'
weekdays.previous('tuesday') // => 'monday'
weekdays.first() // => 'monday'
weekdays.last() // => 'friday'
weekdays.next('friday') // => null
weekdays.next('friday', weekdays.first()) // => 'monday'
weekdays.spin('monday', 3) // => 'thursday'
+

Complex Data Types

+

When working with objects you’ll want to provide a second argument to series, a function that converts non-primitive values into an identity that can be checked for equality.

+
import * as _ from 'radashi'
+
type Weekday = {
day: 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday'
}
+
const weekdays = _.series<Weekday>(
[
{ day: 'monday' },
{ day: 'tuesday' },
{ day: 'wednesday' },
{ day: 'thursday' },
{ day: 'friday' },
],
w => w.day,
)
+
weekdays.next({ day: 'wednesday' }) // => { day: 'thursday' }
weekdays.previous({ day: 'tuesday' }) // => { day: 'monday' }
\ No newline at end of file diff --git a/reference/string/camel/index.html b/reference/string/camel/index.html new file mode 100644 index 00000000..934112f0 --- /dev/null +++ b/reference/string/camel/index.html @@ -0,0 +1,91 @@ + camel | Radashi + + Skip to content

camel

Convert a string to camel case

357 bytes +

Usage

+

Given a string returns it in camel case format.

+
import * as _ from 'radashi'
+
_.camel('green fish blue fish') // => greenFishBlueFish
\ No newline at end of file diff --git a/reference/string/capitalize/index.html b/reference/string/capitalize/index.html new file mode 100644 index 00000000..490b7c0e --- /dev/null +++ b/reference/string/capitalize/index.html @@ -0,0 +1,91 @@ + capitalize | Radashi + + Skip to content

capitalize

Convert a string to a capitalized format

152 bytes +

Usage

+

Given a string returns it with the first letter upper cased and all other letters lower cased.

+
import * as _ from 'radashi'
+
_.capitalize('green fish blue FISH') // => Green fish blue fish
\ No newline at end of file diff --git a/reference/string/dash/index.html b/reference/string/dash/index.html new file mode 100644 index 00000000..7fd36a7f --- /dev/null +++ b/reference/string/dash/index.html @@ -0,0 +1,91 @@ + dash | Radashi + + Skip to content

dash

Convert a string to dash case

334 bytes +

Usage

+

Given a string returns it in dash case format.

+
import * as _ from 'radashi'
+
_.dash('green fish blue fish') // => green-fish-blue-fish
\ No newline at end of file diff --git a/reference/string/pascal/index.html b/reference/string/pascal/index.html new file mode 100644 index 00000000..7688d10c --- /dev/null +++ b/reference/string/pascal/index.html @@ -0,0 +1,91 @@ + pascal | Radashi + + Skip to content

pascal

Convert a string to pascal case

170 bytes +

Usage

+

Formats the given string in pascal case fashion.

+
import * as _ from 'radashi'
+
_.pascal('hello world') // => 'HelloWorld'
_.pascal('va va boom') // => 'VaVaBoom'
\ No newline at end of file diff --git a/reference/string/similarity/index.html b/reference/string/similarity/index.html new file mode 100644 index 00000000..fc18f990 --- /dev/null +++ b/reference/string/similarity/index.html @@ -0,0 +1,105 @@ + similarity | Radashi + + Skip to content

similarity

Calculate the similarity between two strings using the Levenshtein distance algorithm

455 bytes +

Usage

+

The similarity function computes the Levenshtein distance between two input strings. This distance represents the minimum number of single-character edits (insertions, deletions, or substitutions) required to change one string into the other.

+

This function is useful for various applications, including:

+
    +
  • Spell checking and autocorrect features
  • +
  • Fuzzy string matching
  • +
  • DNA sequence analysis
  • +
  • Plagiarism detection
  • +
+

The function is case-sensitive and treats whitespace as significant characters. The order of the input strings doesn’t affect the result, as the Levenshtein distance is symmetric.

+
import * as _ from 'radashi'
+
// Identical strings
_.similarity('hello', 'hello') // => 0
+
// One character difference
_.similarity('kitten', 'sitten') // => 1
+
// Multiple differences
_.similarity('saturday', 'sunday') // => 3
+
// Case sensitivity
_.similarity('foo', 'FOO') // => 3
+
// Whitespace significance
_.similarity('bar ', 'bar') // => 1
+
// Argument order doesn't matter
_.similarity('abc', 'cba') // => 2
_.similarity('cba', 'abc') // => 2
+

The function returns a number representing the Levenshtein distance between the two input strings. A lower number indicates higher similarity, with 0 meaning the strings are identical.

\ No newline at end of file diff --git a/reference/string/snake/index.html b/reference/string/snake/index.html new file mode 100644 index 00000000..6b847d73 --- /dev/null +++ b/reference/string/snake/index.html @@ -0,0 +1,94 @@ + snake | Radashi + + Skip to content

snake

Convert a string to snake case

441 bytes +

Usage

+

Given a string returns it in snake case format.

+
import * as _ from 'radashi'
+
_.snake('green fish blue fish') // => green_fish_blue_fish
+

Warning: In v11.0.0 a change was made to fix this function so that it correctly splits numbers from neighbouring letters (hello5 becomes hello_5). You can opt out of this behavior and continue with the legacy style (hello5 becomes hello5) by passing the splitOnNumber options.

+
_.snake('5green fish 2blue fish') // => 5_green_fish_2_blue_fish
+
_.snake('5green fish 2blue fish', {
splitOnNumber: false,
}) // => 5green_fish_2blue_fish
\ No newline at end of file diff --git a/reference/string/template/index.html b/reference/string/template/index.html new file mode 100644 index 00000000..4401967d --- /dev/null +++ b/reference/string/template/index.html @@ -0,0 +1,91 @@ + template | Radashi + + Skip to content

template

Template a string with values from a data object using a search expression

155 bytes +

Usage

+

Given a string, an object of data, and a format expression to search for, returns a string with all elements that matched the search replaced with their matching value from the data object.

+
import * as _ from 'radashi'
+
_.template('It is {{color}}', { color: 'blue' }) // => It is blue
_.template('It is <color>', { color: 'blue' }, /<(.+?)>/g) // => It is blue
\ No newline at end of file diff --git a/reference/string/title/index.html b/reference/string/title/index.html new file mode 100644 index 00000000..332e8738 --- /dev/null +++ b/reference/string/title/index.html @@ -0,0 +1,91 @@ + title | Radashi + + Skip to content

title

Convert a string to title case

273 bytes +

Usage

+

Formats the given string in title case fashion

+
import * as _ from 'radashi'
+
_.title('hello world') // => 'Hello World'
_.title('va_va_boom') // => 'Va Va Boom'
_.title('root-hook') // => 'Root Hook'
_.title('queryItems') // => 'Query Items'
\ No newline at end of file diff --git a/reference/string/trim/index.html b/reference/string/trim/index.html new file mode 100644 index 00000000..0f6590dc --- /dev/null +++ b/reference/string/trim/index.html @@ -0,0 +1,93 @@ + trim | Radashi + + Skip to content

trim

Trim values from a string

150 bytes +

Usage

+

Trims all prefix and suffix characters from the given string. Like the builtin trim function but accepts alternate (other than space) characters you would like to trim.

+
import * as _ from 'radashi'
+
_.trim(' hello ') // => hello
_.trim('__hello__', '_') // => hello
_.trim('/repos/:owner/', '/') // => repos/:owner
+

Trim also handles more than one character to trim.

+
_.trim('222__hello__111', '12_') // => hello
\ No newline at end of file diff --git a/reference/typed/isArray/index.html b/reference/typed/isArray/index.html new file mode 100644 index 00000000..6619f54e --- /dev/null +++ b/reference/typed/isArray/index.html @@ -0,0 +1,91 @@ + isArray | Radashi + + Skip to content

isArray

Determine if a value is an Array

42 bytes +

Usage

+

Pass in a value and get a boolean telling you if the value is an Array.

+
import * as _ from 'radashi'
+
_.isArray('hello') // => false
_.isArray(['hello']) // => true
\ No newline at end of file diff --git a/reference/typed/isBoolean/index.html b/reference/typed/isBoolean/index.html new file mode 100644 index 00000000..295dccc0 --- /dev/null +++ b/reference/typed/isBoolean/index.html @@ -0,0 +1,91 @@ + isBoolean | Radashi + + Skip to content

isBoolean

Check if a value is a boolean type

65 bytes +

Usage

+

Returns true if the value is a boolean type. Boxed boolean values (e.g. new Boolean(false)) are not considered booleans by this function.

+
import * as _ from 'radashi'
+
_.isBoolean(true) // => true
_.isBoolean(false) // => true
_.isBoolean('true') // => false
_.isBoolean(1) // => false
_.isBoolean(new Boolean(true)) // => false
_.isBoolean(undefined) // => false
_.isBoolean(null) // => false
\ No newline at end of file diff --git a/reference/typed/isDate/index.html b/reference/typed/isDate/index.html new file mode 100644 index 00000000..d82ba7d0 --- /dev/null +++ b/reference/typed/isDate/index.html @@ -0,0 +1,91 @@ + isDate | Radashi + + Skip to content

isDate

Determine if a value is a Date

124 bytes +

Usage

+

Determine if a value is a Date. Does not check that the input date is valid, only that it is a Javascript Date type.

+
import * as _ from 'radashi'
+
_.isDate(new Date()) // => true
_.isDate(12) // => false
_.isDate('hello') // => false
\ No newline at end of file diff --git a/reference/typed/isEmpty/index.html b/reference/typed/isEmpty/index.html new file mode 100644 index 00000000..b740805b --- /dev/null +++ b/reference/typed/isEmpty/index.html @@ -0,0 +1,92 @@ + isEmpty | Radashi + + Skip to content

isEmpty

Determine if a value is empty

493 bytes +

Usage

+

Pass in a value and get a boolean telling you if the value is empty.

+
import * as _ from 'radashi'
+
_.isEmpty([]) // => true
_.isEmpty('') // => true
+
_.isEmpty('hello') // => false
_.isEmpty(['hello']) // => false
\ No newline at end of file diff --git a/reference/typed/isEqual/index.html b/reference/typed/isEqual/index.html new file mode 100644 index 00000000..e81a4530 --- /dev/null +++ b/reference/typed/isEqual/index.html @@ -0,0 +1,92 @@ + isEqual | Radashi + + Skip to content

isEqual

Determine if two values are equal

456 bytes +

Usage

+

Given two values, returns true if they are equal.

+
import * as _ from 'radashi'
+
_.isEqual(null, null) // => true
_.isEqual([], []) // => true
+
_.isEqual('hello', 'world') // => false
_.isEqual(22, 'abc') // => false
\ No newline at end of file diff --git a/reference/typed/isFloat/index.html b/reference/typed/isFloat/index.html new file mode 100644 index 00000000..86b2de41 --- /dev/null +++ b/reference/typed/isFloat/index.html @@ -0,0 +1,91 @@ + isFloat | Radashi + + Skip to content

isFloat

Determine if a value is a float

115 bytes +

Usage

+

Pass in a value and get a boolean telling you if the value is a float.

+
import * as _ from 'radashi'
+
_.isFloat(12.233) // => true
_.isFloat(12) // => false
_.isFloat('hello') // => false
\ No newline at end of file diff --git a/reference/typed/isFunction/index.html b/reference/typed/isFunction/index.html new file mode 100644 index 00000000..9fdf5dec --- /dev/null +++ b/reference/typed/isFunction/index.html @@ -0,0 +1,91 @@ + isFunction | Radashi + + Skip to content

isFunction

Determine if a value is a Function

67 bytes +

Usage

+

Pass in a value and get a boolean telling you if the value is a function.

+
import * as _ from 'radashi'
+
_.isFunction('hello') // => false
_.isFunction(['hello']) // => false
_.isFunction(() => 'hello') // => true
\ No newline at end of file diff --git a/reference/typed/isInt/index.html b/reference/typed/isInt/index.html new file mode 100644 index 00000000..fef1af42 --- /dev/null +++ b/reference/typed/isInt/index.html @@ -0,0 +1,91 @@ + isInt | Radashi + + Skip to content

isInt

Determine if a value is an int

43 bytes +

Usage

+

Pass in a value and get a boolean telling you if the value is an int.

+
import * as _ from 'radashi'
+
_.isInt(12) // => true
_.isInt(12.233) // => false
_.isInt('hello') // => false
\ No newline at end of file diff --git a/reference/typed/isIntString/index.html b/reference/typed/isIntString/index.html new file mode 100644 index 00000000..ce7d17e1 --- /dev/null +++ b/reference/typed/isIntString/index.html @@ -0,0 +1,93 @@ + isIntString | Radashi + + Skip to content

isIntString

Determine if a value is an int in string form

146 bytes +

Usage

+

Pass in a value and get a boolean telling you if the value is an int in string form.

+
import * as _ from 'radashi'
+
_.isIntString('12') // => true
_.isIntString('-12') // => true
+
_.isIntString('12.233') // => false
_.isIntString('12.0') // => false
_.isIntString('+12') // => false
+
_.isIntString('hello') // => false
_.isIntString(null) // => false
_.isIntString(12) // => false
\ No newline at end of file diff --git a/reference/typed/isMap/index.html b/reference/typed/isMap/index.html new file mode 100644 index 00000000..d27d7e65 --- /dev/null +++ b/reference/typed/isMap/index.html @@ -0,0 +1,92 @@ + isMap | Radashi + + Skip to content

isMap

Returns true for Map instances

122 bytes +

Usage

+

Returns true for Map instances, even if they are subclass instances or from +other realms.

+
import * as _ from 'radashi'
+
_.isMap(new Map()) // true
_.isMap(new (class extends Map {})()) // true
\ No newline at end of file diff --git a/reference/typed/isNumber/index.html b/reference/typed/isNumber/index.html new file mode 100644 index 00000000..afbee026 --- /dev/null +++ b/reference/typed/isNumber/index.html @@ -0,0 +1,91 @@ + isNumber | Radashi + + Skip to content

isNumber

Determine if a value is a number

81 bytes +

Usage

+

Pass in a value and get a boolean telling you if the value is a number.

+
import * as _ from 'radashi'
+
_.isNumber('hello') // => false
_.isNumber(['hello']) // => false
_.isNumber(12) // => true
\ No newline at end of file diff --git a/reference/typed/isObject/index.html b/reference/typed/isObject/index.html new file mode 100644 index 00000000..1c7cc49a --- /dev/null +++ b/reference/typed/isObject/index.html @@ -0,0 +1,92 @@ + isObject | Radashi + + Skip to content

isObject

Determine if a value is an Object

128 bytes +

Usage

+

Pass in a value and get a boolean telling you if the value is an instance of Object (or a subclass of Object).

+
import * as _ from 'radashi'
+
_.isObject('hello') // => false
_.isObject(['hello']) // => false
_.isObject(null) // => false
_.isObject({ say: 'hello' }) // => true
+

Beware: This function returns false for objects created with Object.create(null). If you want to check if a value is a plain object, use _.isPlainObject instead.

\ No newline at end of file diff --git a/reference/typed/isPlainObject/index.html b/reference/typed/isPlainObject/index.html new file mode 100644 index 00000000..3f4f8923 --- /dev/null +++ b/reference/typed/isPlainObject/index.html @@ -0,0 +1,92 @@ + isPlainObject | Radashi + + Skip to content

isPlainObject

Determine if a value is a plain object

185 bytes +

Usage

+

Pass in a value and get a boolean telling you if the value is a plain object.

+
import * as _ from 'radashi'
+
_.isPlainObject({}) // => true
_.isPlainObject(Object.create(null)) // => true
+
_.isPlainObject([]) // => false
_.isPlainObject(null) // => false
_.isPlainObject(new Date()) // => false
\ No newline at end of file diff --git a/reference/typed/isPrimitive/index.html b/reference/typed/isPrimitive/index.html new file mode 100644 index 00000000..fd5149db --- /dev/null +++ b/reference/typed/isPrimitive/index.html @@ -0,0 +1,92 @@ + isPrimitive | Radashi + + Skip to content

isPrimitive

Checks if the given value is primitive

97 bytes +

Usage

+

Checks if the given value is primitive.

+

Primitive Types: number , string , boolean , symbol, bigint, undefined, null

+
import * as _ from 'radashi'
+
_.isPrimitive(22) // => true
_.isPrimitive('hello') // => true
_.isPrimitive(['hello']) // => false
\ No newline at end of file diff --git a/reference/typed/isPromise/index.html b/reference/typed/isPromise/index.html new file mode 100644 index 00000000..1ea1b229 --- /dev/null +++ b/reference/typed/isPromise/index.html @@ -0,0 +1,91 @@ + isPromise | Radashi + + Skip to content

isPromise

Determine if a value is a Promise

101 bytes +

Usage

+

Pass in a value and get a boolean telling you if the value is a Promise. This function is not “bullet proof” because determining if a value is a Promise in javascript is not “bullet proof”. The standard/recommended method is to use Promise.resolve to essentially cast any value, promise or not, into an awaited value. However, this may do in a pinch.

+
import * as _ from 'radashi'
+
_.isPromise('hello') // => false
_.isPromise(['hello']) // => false
_.isPromise(new Promise(res => res())) // => true
\ No newline at end of file diff --git a/reference/typed/isRegExp/index.html b/reference/typed/isRegExp/index.html new file mode 100644 index 00000000..c07289e5 --- /dev/null +++ b/reference/typed/isRegExp/index.html @@ -0,0 +1,92 @@ + isRegExp | Radashi + + Skip to content

isRegExp

Returns true for RegExp instances

128 bytes +

Usage

+

Returns true for RegExp instances, even if they are subclass instances or from +other realms.

+
import * as _ from 'radashi'
+
_.isRegExp(/.+/) // true
_.isRegExp(new RegExp('.+')) // true
_.isRegExp(new (class extends RegExp {})('.+')) // true
\ No newline at end of file diff --git a/reference/typed/isSet/index.html b/reference/typed/isSet/index.html new file mode 100644 index 00000000..9d51c655 --- /dev/null +++ b/reference/typed/isSet/index.html @@ -0,0 +1,92 @@ + isSet | Radashi + + Skip to content

isSet

Returns true for Set instances

122 bytes +

Usage

+

Returns true for Set instances, even if they are subclass instances or from +other realms.

+
import * as _ from 'radashi'
+
_.isSet(new Set()) // true
_.isSet(new (class extends Set {})()) // true
\ No newline at end of file diff --git a/reference/typed/isString/index.html b/reference/typed/isString/index.html new file mode 100644 index 00000000..74d1d6f5 --- /dev/null +++ b/reference/typed/isString/index.html @@ -0,0 +1,91 @@ + isString | Radashi + + Skip to content

isString

Determine if a value is a String

63 bytes +

Usage

+

Pass in a value and get a boolean telling you if the value is a string.

+
import * as _ from 'radashi'
+
_.isString('hello') // => true
_.isString(['hello']) // => false
\ No newline at end of file diff --git a/reference/typed/isSymbol/index.html b/reference/typed/isSymbol/index.html new file mode 100644 index 00000000..088c8837 --- /dev/null +++ b/reference/typed/isSymbol/index.html @@ -0,0 +1,91 @@ + isSymbol | Radashi + + Skip to content

isSymbol

Determine if a value is a Symbol

63 bytes +

Usage

+

Pass in a value and get a boolean telling you if the value is a Symbol.

+
import * as _ from 'radashi'
+
_.isSymbol('hello') // => false
_.isSymbol(Symbol('hello')) // => true
\ No newline at end of file diff --git a/reference/typed/isWeakMap/index.html b/reference/typed/isWeakMap/index.html new file mode 100644 index 00000000..fee005b4 --- /dev/null +++ b/reference/typed/isWeakMap/index.html @@ -0,0 +1,92 @@ + isWeakMap | Radashi + + Skip to content

isWeakMap

Returns true for WeakMap instances

130 bytes +

Usage

+

Returns true for WeakMap instances, even if they are subclass instances or from +other realms.

+
import * as _ from 'radashi'
+
_.isWeakMap(new WeakMap()) // true
_.isWeakMap(new (class extends WeakMap {})()) // true
\ No newline at end of file diff --git a/reference/typed/isWeakSet/index.html b/reference/typed/isWeakSet/index.html new file mode 100644 index 00000000..12f3d102 --- /dev/null +++ b/reference/typed/isWeakSet/index.html @@ -0,0 +1,92 @@ + isWeakSet | Radashi + + Skip to content

isWeakSet

Returns true for WeakSet instances

130 bytes +

Usage

+

Returns true for WeakSet instances, even if they are subclass instances or from +other realms.

+
import * as _ from 'radashi'
+
_.isWeakSet(new WeakSet()) // true
_.isWeakSet(new (class extends WeakSet {})()) // true
\ No newline at end of file diff --git a/search-dark.svg b/search-dark.svg new file mode 100644 index 00000000..b5d42a7d --- /dev/null +++ b/search-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/search.svg b/search.svg new file mode 100644 index 00000000..065fdd00 --- /dev/null +++ b/search.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/sitemap-0.xml b/sitemap-0.xml new file mode 100644 index 00000000..21e03864 --- /dev/null +++ b/sitemap-0.xml @@ -0,0 +1 @@ +https://radashi-org.github.io/https://radashi-org.github.io/browser-support/https://radashi-org.github.io/changelog/https://radashi-org.github.io/contributing/https://radashi-org.github.io/installation/https://radashi-org.github.io/our-ethos/https://radashi-org.github.io/reference/https://radashi-org.github.io/reference/array/alphabetical/https://radashi-org.github.io/reference/array/boil/https://radashi-org.github.io/reference/array/castArray/https://radashi-org.github.io/reference/array/castArrayIfExists/https://radashi-org.github.io/reference/array/cluster/https://radashi-org.github.io/reference/array/counting/https://radashi-org.github.io/reference/array/diff/https://radashi-org.github.io/reference/array/first/https://radashi-org.github.io/reference/array/flat/https://radashi-org.github.io/reference/array/fork/https://radashi-org.github.io/reference/array/group/https://radashi-org.github.io/reference/array/intersects/https://radashi-org.github.io/reference/array/iterate/https://radashi-org.github.io/reference/array/last/https://radashi-org.github.io/reference/array/list/https://radashi-org.github.io/reference/array/mapify/https://radashi-org.github.io/reference/array/merge/https://radashi-org.github.io/reference/array/objectify/https://radashi-org.github.io/reference/array/replace/https://radashi-org.github.io/reference/array/replaceOrAppend/https://radashi-org.github.io/reference/array/select/https://radashi-org.github.io/reference/array/selectFirst/https://radashi-org.github.io/reference/array/shift/https://radashi-org.github.io/reference/array/sift/https://radashi-org.github.io/reference/array/sort/https://radashi-org.github.io/reference/array/toggle/https://radashi-org.github.io/reference/array/unique/https://radashi-org.github.io/reference/array/unzip/https://radashi-org.github.io/reference/array/zip/https://radashi-org.github.io/reference/array/zipToObject/https://radashi-org.github.io/reference/async/all/https://radashi-org.github.io/reference/async/defer/https://radashi-org.github.io/reference/async/guard/https://radashi-org.github.io/reference/async/map/https://radashi-org.github.io/reference/async/parallel/https://radashi-org.github.io/reference/async/reduce/https://radashi-org.github.io/reference/async/retry/https://radashi-org.github.io/reference/async/sleep/https://radashi-org.github.io/reference/async/tryit/https://radashi-org.github.io/reference/curry/chain/https://radashi-org.github.io/reference/curry/compose/https://radashi-org.github.io/reference/curry/debounce/https://radashi-org.github.io/reference/curry/flip/https://radashi-org.github.io/reference/curry/memo/https://radashi-org.github.io/reference/curry/once/https://radashi-org.github.io/reference/curry/partial/https://radashi-org.github.io/reference/curry/partob/https://radashi-org.github.io/reference/curry/proxied/https://radashi-org.github.io/reference/curry/throttle/https://radashi-org.github.io/reference/function/always/https://radashi-org.github.io/reference/function/castComparator/https://radashi-org.github.io/reference/function/castMapping/https://radashi-org.github.io/reference/function/noop/https://radashi-org.github.io/reference/number/clamp/https://radashi-org.github.io/reference/number/inRange/https://radashi-org.github.io/reference/number/lerp/https://radashi-org.github.io/reference/number/max/https://radashi-org.github.io/reference/number/min/https://radashi-org.github.io/reference/number/range/https://radashi-org.github.io/reference/number/round/https://radashi-org.github.io/reference/number/sum/https://radashi-org.github.io/reference/number/toFloat/https://radashi-org.github.io/reference/number/toInt/https://radashi-org.github.io/reference/object/assign/https://radashi-org.github.io/reference/object/clone/https://radashi-org.github.io/reference/object/cloneDeep/https://radashi-org.github.io/reference/object/construct/https://radashi-org.github.io/reference/object/crush/https://radashi-org.github.io/reference/object/filterKey/https://radashi-org.github.io/reference/object/get/https://radashi-org.github.io/reference/object/invert/https://radashi-org.github.io/reference/object/keys/https://radashi-org.github.io/reference/object/listify/https://radashi-org.github.io/reference/object/lowerize/https://radashi-org.github.io/reference/object/mapEntries/https://radashi-org.github.io/reference/object/mapKeys/https://radashi-org.github.io/reference/object/mapValues/https://radashi-org.github.io/reference/object/omit/https://radashi-org.github.io/reference/object/pick/https://radashi-org.github.io/reference/object/set/https://radashi-org.github.io/reference/object/shake/https://radashi-org.github.io/reference/object/traverse/https://radashi-org.github.io/reference/object/upperize/https://radashi-org.github.io/reference/random/draw/https://radashi-org.github.io/reference/random/random/https://radashi-org.github.io/reference/random/shuffle/https://radashi-org.github.io/reference/random/uid/https://radashi-org.github.io/reference/series/series/https://radashi-org.github.io/reference/string/camel/https://radashi-org.github.io/reference/string/capitalize/https://radashi-org.github.io/reference/string/dash/https://radashi-org.github.io/reference/string/pascal/https://radashi-org.github.io/reference/string/similarity/https://radashi-org.github.io/reference/string/snake/https://radashi-org.github.io/reference/string/template/https://radashi-org.github.io/reference/string/title/https://radashi-org.github.io/reference/string/trim/https://radashi-org.github.io/reference/typed/isArray/https://radashi-org.github.io/reference/typed/isBoolean/https://radashi-org.github.io/reference/typed/isDate/https://radashi-org.github.io/reference/typed/isEmpty/https://radashi-org.github.io/reference/typed/isEqual/https://radashi-org.github.io/reference/typed/isFloat/https://radashi-org.github.io/reference/typed/isFunction/https://radashi-org.github.io/reference/typed/isInt/https://radashi-org.github.io/reference/typed/isIntString/https://radashi-org.github.io/reference/typed/isMap/https://radashi-org.github.io/reference/typed/isNumber/https://radashi-org.github.io/reference/typed/isObject/https://radashi-org.github.io/reference/typed/isPlainObject/https://radashi-org.github.io/reference/typed/isPrimitive/https://radashi-org.github.io/reference/typed/isPromise/https://radashi-org.github.io/reference/typed/isRegExp/https://radashi-org.github.io/reference/typed/isSet/https://radashi-org.github.io/reference/typed/isString/https://radashi-org.github.io/reference/typed/isSymbol/https://radashi-org.github.io/reference/typed/isWeakMap/https://radashi-org.github.io/reference/typed/isWeakSet/ \ No newline at end of file diff --git a/sitemap-index.xml b/sitemap-index.xml new file mode 100644 index 00000000..0cbb09f0 --- /dev/null +++ b/sitemap-index.xml @@ -0,0 +1 @@ +https://radashi-org.github.io/sitemap-0.xml \ No newline at end of file