@tricoteuses/tisseuse 0.14.2 → 0.14.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -23,7 +23,7 @@ function qe(e, t) {
23
23
  return `${n.slice(1, -1).join("/")}/${e}${t}`;
24
24
  }
25
25
  //#endregion
26
- //#region ../../node_modules/slug/slug.js
26
+ //#region ../../../../tricoteuses-juridique/node_modules/slug/slug.js
27
27
  var Je = typeof window < "u" ? window.btoa ? function(e) {
28
28
  return btoa(unescape(encodeURIComponent(e)));
29
29
  } : function(e) {
@@ -1661,7 +1661,7 @@ function* Tn(e) {
1661
1661
  }
1662
1662
  }
1663
1663
  //#endregion
1664
- //#region ../../node_modules/domelementtype/lib/esm/index.js
1664
+ //#region ../../../../tricoteuses-juridique/node_modules/domelementtype/lib/esm/index.js
1665
1665
  var k;
1666
1666
  (function(e) {
1667
1667
  e.Root = "root", e.Text = "text", e.Directive = "directive", e.Comment = "comment", e.Script = "script", e.Style = "style", e.Tag = "tag", e.CDATA = "cdata", e.Doctype = "doctype";
@@ -1823,7 +1823,7 @@ function Zn(e) {
1823
1823
  return t;
1824
1824
  }
1825
1825
  //#endregion
1826
- //#region ../../node_modules/domhandler/lib/esm/index.js
1826
+ //#region ../../../../tricoteuses-juridique/node_modules/domhandler/lib/esm/index.js
1827
1827
  var Qn = {
1828
1828
  withStartIndices: !1,
1829
1829
  withEndIndices: !1,
@@ -2018,7 +2018,7 @@ function xr(e) {
2018
2018
  return `<!--${e.data}-->`;
2019
2019
  }
2020
2020
  //#endregion
2021
- //#region ../../node_modules/domutils/lib/esm/stringify.js
2021
+ //#region ../../../../tricoteuses-juridique/node_modules/domutils/lib/esm/stringify.js
2022
2022
  function Sr(e, t) {
2023
2023
  return pr(e, t);
2024
2024
  }
@@ -2035,7 +2035,7 @@ function Er(e) {
2035
2035
  return Array.isArray(e) ? e.map(Er).join("") : j(e) && (e.type === k.Tag || Gn(e)) ? Er(e.children) : Kn(e) ? e.data : "";
2036
2036
  }
2037
2037
  //#endregion
2038
- //#region ../../node_modules/domutils/lib/esm/traversal.js
2038
+ //#region ../../../../tricoteuses-juridique/node_modules/domutils/lib/esm/traversal.js
2039
2039
  function Dr(e) {
2040
2040
  return j(e) ? e.children : [];
2041
2041
  }
@@ -2070,7 +2070,7 @@ function Pr(e) {
2070
2070
  return t;
2071
2071
  }
2072
2072
  //#endregion
2073
- //#region ../../node_modules/domutils/lib/esm/manipulation.js
2073
+ //#region ../../../../tricoteuses-juridique/node_modules/domutils/lib/esm/manipulation.js
2074
2074
  function Fr(e) {
2075
2075
  if (e.prev && (e.prev.next = e.next), e.next && (e.next.prev = e.prev), e.parent) {
2076
2076
  let t = e.parent.children, n = t.lastIndexOf(e);
@@ -2121,7 +2121,7 @@ function Br(e, t) {
2121
2121
  e.prev && (e.prev.next = t), t.parent = n, t.prev = e.prev, t.next = e, e.prev = t;
2122
2122
  }
2123
2123
  //#endregion
2124
- //#region ../../node_modules/domutils/lib/esm/querying.js
2124
+ //#region ../../../../tricoteuses-juridique/node_modules/domutils/lib/esm/querying.js
2125
2125
  function Vr(e, t, n = !0, r = Infinity) {
2126
2126
  return Hr(e, Array.isArray(t) ? t : [t], n, r);
2127
2127
  }
@@ -2169,7 +2169,7 @@ function Kr(e, t) {
2169
2169
  }
2170
2170
  }
2171
2171
  //#endregion
2172
- //#region ../../node_modules/domutils/lib/esm/legacy.js
2172
+ //#region ../../../../tricoteuses-juridique/node_modules/domutils/lib/esm/legacy.js
2173
2173
  var qr = {
2174
2174
  tag_name(e) {
2175
2175
  return typeof e == "function" ? (t) => A(t) && e(t.name) : e === "*" ? A : (t) => A(t) && t.name === e;
@@ -2215,7 +2215,7 @@ function ni(e, t, n = !0, r = Infinity) {
2215
2215
  return Vr(qr.tag_type(e), t, n, r);
2216
2216
  }
2217
2217
  //#endregion
2218
- //#region ../../node_modules/domutils/lib/esm/helpers.js
2218
+ //#region ../../../../tricoteuses-juridique/node_modules/domutils/lib/esm/helpers.js
2219
2219
  function ri(e) {
2220
2220
  let t = e.length;
2221
2221
  for (; --t >= 0;) {
@@ -2254,7 +2254,7 @@ function oi(e) {
2254
2254
  }), e;
2255
2255
  }
2256
2256
  //#endregion
2257
- //#region ../../node_modules/domutils/lib/esm/feeds.js
2257
+ //#region ../../../../tricoteuses-juridique/node_modules/domutils/lib/esm/feeds.js
2258
2258
  function si(e) {
2259
2259
  let t = pi(gi, e);
2260
2260
  return t ? t.name === "feed" ? ci(t) : li(t) : null;
@@ -2333,7 +2333,7 @@ function gi(e) {
2333
2333
  return e === "rss" || e === "feed" || e === "rdf:RDF";
2334
2334
  }
2335
2335
  //#endregion
2336
- //#region ../../node_modules/domutils/lib/esm/index.js
2336
+ //#region ../../../../tricoteuses-juridique/node_modules/domutils/lib/esm/index.js
2337
2337
  var _i = /* @__PURE__ */ Ue({
2338
2338
  DocumentPosition: () => ii,
2339
2339
  append: () => Rr,
@@ -2482,7 +2482,7 @@ function Ii(e) {
2482
2482
  return (n >= Fi.LowerA && n <= Fi.LowerZ || n >= Fi.UpperA && n <= Fi.UpperZ || n === Fi.Exclamation) && e.includes(">", t + 2);
2483
2483
  }
2484
2484
  //#endregion
2485
- //#region ../../node_modules/htmlparser2/node_modules/entities/dist/esm/decode-codepoint.js
2485
+ //#region ../../../../tricoteuses-juridique/node_modules/htmlparser2/node_modules/entities/dist/esm/decode-codepoint.js
2486
2486
  var Li = new Map([
2487
2487
  [0, 65533],
2488
2488
  [128, 8364],
@@ -2520,7 +2520,7 @@ function zi(e) {
2520
2520
  return e >= 55296 && e <= 57343 || e > 1114111 ? 65533 : Li.get(e) ?? e;
2521
2521
  }
2522
2522
  //#endregion
2523
- //#region ../../node_modules/htmlparser2/node_modules/entities/dist/esm/internal/decode-shared.js
2523
+ //#region ../../../../tricoteuses-juridique/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/decode-shared.js
2524
2524
  function Bi(e) {
2525
2525
  let t = typeof atob == "function" ? atob(e) : typeof Buffer.from == "function" ? Buffer.from(e, "base64").toString("binary") : new Buffer(e, "base64").toString("binary"), n = t.length & -2, r = new Uint16Array(n / 2);
2526
2526
  for (let e = 0, i = 0; e < n; e += 2) {
@@ -2530,13 +2530,13 @@ function Bi(e) {
2530
2530
  return r;
2531
2531
  }
2532
2532
  //#endregion
2533
- //#region ../../node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-html.js
2533
+ //#region ../../../../tricoteuses-juridique/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-html.js
2534
2534
  var Vi = /* @__PURE__ */ Bi("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg"), Hi = /* @__PURE__ */ Bi("AAJhZ2xxBwARABMAFQBtAg0AAAAAAA8AcAAmYG8AcwAnYHQAPmB0ADxg9SFvdCJg"), Ui;
2535
2535
  (function(e) {
2536
2536
  e[e.VALUE_LENGTH = 49152] = "VALUE_LENGTH", e[e.FLAG13 = 8192] = "FLAG13", e[e.BRANCH_LENGTH = 8064] = "BRANCH_LENGTH", e[e.JUMP_TABLE = 127] = "JUMP_TABLE";
2537
2537
  })(Ui ||= {});
2538
2538
  //#endregion
2539
- //#region ../../node_modules/htmlparser2/node_modules/entities/dist/esm/decode.js
2539
+ //#region ../../../../tricoteuses-juridique/node_modules/htmlparser2/node_modules/entities/dist/esm/decode.js
2540
2540
  var N;
2541
2541
  (function(e) {
2542
2542
  e[e.NUM = 35] = "NUM", e[e.SEMI = 59] = "SEMI", e[e.EQUALS = 61] = "EQUALS", e[e.ZERO = 48] = "ZERO", e[e.NINE = 57] = "NINE", e[e.LOWER_A = 97] = "LOWER_A", e[e.LOWER_F = 102] = "LOWER_F", e[e.LOWER_X = 120] = "LOWER_X", e[e.LOWER_Z = 122] = "LOWER_Z", e[e.UPPER_A = 65] = "UPPER_A", e[e.UPPER_F = 70] = "UPPER_F", e[e.UPPER_Z = 90] = "UPPER_Z";
@@ -2673,7 +2673,7 @@ function Zi(e, t, n, r) {
2673
2673
  return -1;
2674
2674
  }
2675
2675
  //#endregion
2676
- //#region ../../node_modules/htmlparser2/dist/esm/Tokenizer.js
2676
+ //#region ../../../../tricoteuses-juridique/node_modules/htmlparser2/dist/esm/Tokenizer.js
2677
2677
  var F;
2678
2678
  (function(e) {
2679
2679
  e[e.Tab = 9] = "Tab", e[e.NewLine = 10] = "NewLine", e[e.FormFeed = 12] = "FormFeed", e[e.CarriageReturn = 13] = "CarriageReturn", e[e.Space = 32] = "Space", e[e.ExclamationMark = 33] = "ExclamationMark", e[e.Number = 35] = "Number", e[e.Amp = 38] = "Amp", e[e.SingleQuote = 39] = "SingleQuote", e[e.DoubleQuote = 34] = "DoubleQuote", e[e.Dash = 45] = "Dash", e[e.Slash = 47] = "Slash", e[e.Zero = 48] = "Zero", e[e.Nine = 57] = "Nine", e[e.Semi = 59] = "Semi", e[e.Lt = 60] = "Lt", e[e.Eq = 61] = "Eq", e[e.Gt = 62] = "Gt", e[e.Questionmark = 63] = "Questionmark", e[e.UpperA = 65] = "UpperA", e[e.LowerA = 97] = "LowerA", e[e.UpperF = 70] = "UpperF", e[e.LowerF = 102] = "LowerF", e[e.UpperZ = 90] = "UpperZ", e[e.LowerZ = 122] = "LowerZ", e[e.LowerX = 120] = "LowerX", e[e.OpeningSquareBracket = 91] = "OpeningSquareBracket";
@@ -3282,7 +3282,7 @@ var L = {
3282
3282
  }
3283
3283
  };
3284
3284
  //#endregion
3285
- //#region ../../node_modules/htmlparser2/dist/esm/index.js
3285
+ //#region ../../../../tricoteuses-juridique/node_modules/htmlparser2/dist/esm/index.js
3286
3286
  function pa(e, t) {
3287
3287
  let n = new $n(void 0, t);
3288
3288
  return new fa(n, t).end(e), n.root;
@@ -3515,7 +3515,7 @@ function Ra(e, t) {
3515
3515
  return this;
3516
3516
  }
3517
3517
  //#endregion
3518
- //#region ../../node_modules/css-what/lib/es/types.js
3518
+ //#region ../../../../tricoteuses-juridique/node_modules/css-what/lib/es/types.js
3519
3519
  var z;
3520
3520
  (function(e) {
3521
3521
  e.Attribute = "attribute", e.Pseudo = "pseudo", e.PseudoElement = "pseudo-element", e.Tag = "tag", e.Universal = "universal", e.Adjacent = "adjacent", e.Child = "child", e.Descendant = "descendant", e.Parent = "parent", e.Sibling = "sibling", e.ColumnCombinator = "column-combinator";
@@ -3525,7 +3525,7 @@ var B;
3525
3525
  e.Any = "any", e.Element = "element", e.End = "end", e.Equals = "equals", e.Exists = "exists", e.Hyphen = "hyphen", e.Not = "not", e.Start = "start";
3526
3526
  })(B ||= {});
3527
3527
  //#endregion
3528
- //#region ../../node_modules/css-what/lib/es/parse.js
3528
+ //#region ../../../../tricoteuses-juridique/node_modules/css-what/lib/es/parse.js
3529
3529
  var za = /^[^\\#]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\-\u00b0-\uFFFF])+/, Ba = /\\([\da-f]{1,6}\s?|(\s)|.)/gi, Va = new Map([
3530
3530
  [126, B.Element],
3531
3531
  [94, B.Start],
@@ -3747,7 +3747,7 @@ function Xa(e, t, n) {
3747
3747
  return d(), n;
3748
3748
  }
3749
3749
  //#endregion
3750
- //#region ../../node_modules/css-select/lib/esm/sort.js
3750
+ //#region ../../../../tricoteuses-juridique/node_modules/css-select/lib/esm/sort.js
3751
3751
  var V = /* @__PURE__ */ Ge((/* @__PURE__ */ He(((e, t) => {
3752
3752
  t.exports = {
3753
3753
  trueFunc: function() {
@@ -3789,7 +3789,7 @@ function to(e) {
3789
3789
  return e.type === z.Attribute ? (t = $a.get(e.action) ?? 4, e.action === B.Equals && e.name === "id" && (t = 9), e.ignoreCase && (t >>= 1)) : e.type === z.Pseudo && (e.data ? e.name === "has" || e.name === "contains" ? t = 0 : Array.isArray(e.data) ? (t = Math.min(...e.data.map((e) => Math.min(...e.map(to)))), t < 0 && (t = 0)) : t = 2 : t = 3), t;
3790
3790
  }
3791
3791
  //#endregion
3792
- //#region ../../node_modules/css-select/lib/esm/attributes.js
3792
+ //#region ../../../../tricoteuses-juridique/node_modules/css-select/lib/esm/attributes.js
3793
3793
  var no = /[-[\]{}()*+?.,\\^$|#\s]/g;
3794
3794
  function ro(e) {
3795
3795
  return e.replace(no, "\\$&");
@@ -3884,7 +3884,7 @@ function uo(e) {
3884
3884
  }
3885
3885
  }
3886
3886
  //#endregion
3887
- //#region ../../node_modules/nth-check/lib/esm/compile.js
3887
+ //#region ../../../../tricoteuses-juridique/node_modules/nth-check/lib/esm/compile.js
3888
3888
  function fo(e) {
3889
3889
  let t = e[0], n = e[1] - 1;
3890
3890
  if (n < 0 && t <= 0) return V.default.falseFunc;
@@ -3895,12 +3895,12 @@ function fo(e) {
3895
3895
  return t > 1 ? (e) => e >= n && e % r === i : (e) => e <= n && e % r === i;
3896
3896
  }
3897
3897
  //#endregion
3898
- //#region ../../node_modules/nth-check/lib/esm/index.js
3898
+ //#region ../../../../tricoteuses-juridique/node_modules/nth-check/lib/esm/index.js
3899
3899
  function po(e) {
3900
3900
  return fo(uo(e));
3901
3901
  }
3902
3902
  //#endregion
3903
- //#region ../../node_modules/css-select/lib/esm/pseudo-selectors/filters.js
3903
+ //#region ../../../../tricoteuses-juridique/node_modules/css-select/lib/esm/pseudo-selectors/filters.js
3904
3904
  function mo(e, t) {
3905
3905
  return (n) => {
3906
3906
  let r = t.getParent(n);
@@ -3982,7 +3982,7 @@ function go(e) {
3982
3982
  };
3983
3983
  }
3984
3984
  //#endregion
3985
- //#region ../../node_modules/css-select/lib/esm/pseudo-selectors/pseudos.js
3985
+ //#region ../../../../tricoteuses-juridique/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.js
3986
3986
  var _o = {
3987
3987
  empty(e, { adapter: t }) {
3988
3988
  return !t.getChildren(e).some((e) => t.isTag(e) || t.getText(e) !== "");
@@ -4032,7 +4032,7 @@ function vo(e, t, n, r) {
4032
4032
  } else if (e.length === r) throw Error(`Pseudo-class :${t} doesn't have any arguments`);
4033
4033
  }
4034
4034
  //#endregion
4035
- //#region ../../node_modules/css-select/lib/esm/pseudo-selectors/aliases.js
4035
+ //#region ../../../../tricoteuses-juridique/node_modules/css-select/lib/esm/pseudo-selectors/aliases.js
4036
4036
  var yo = {
4037
4037
  "any-link": ":is(a, area, link)[href]",
4038
4038
  link: ":any-link:not(:visited)",
@@ -4106,7 +4106,7 @@ var wo = (e, t, n, r, i) => {
4106
4106
  }
4107
4107
  };
4108
4108
  //#endregion
4109
- //#region ../../node_modules/css-select/lib/esm/pseudo-selectors/index.js
4109
+ //#region ../../../../tricoteuses-juridique/node_modules/css-select/lib/esm/pseudo-selectors/index.js
4110
4110
  function Eo(e, t, n, r, i) {
4111
4111
  let { name: a, data: o } = t;
4112
4112
  if (Array.isArray(o)) {
@@ -4128,7 +4128,7 @@ function Eo(e, t, n, r, i) {
4128
4128
  throw Error(`Unknown pseudo-class :${a}`);
4129
4129
  }
4130
4130
  //#endregion
4131
- //#region ../../node_modules/css-select/lib/esm/general.js
4131
+ //#region ../../../../tricoteuses-juridique/node_modules/css-select/lib/esm/general.js
4132
4132
  function Do(e, t) {
4133
4133
  let n = t.getParent(e);
4134
4134
  return n && t.isTag(n) ? n : null;
@@ -4247,7 +4247,7 @@ function Io(e, t) {
4247
4247
  };
4248
4248
  }
4249
4249
  //#endregion
4250
- //#region ../../node_modules/css-select/lib/esm/index.js
4250
+ //#region ../../../../tricoteuses-juridique/node_modules/css-select/lib/esm/index.js
4251
4251
  var Lo = (e, t) => e === t, Ro = {
4252
4252
  adapter: _i,
4253
4253
  equals: Lo
@@ -4274,7 +4274,7 @@ function Uo(e, t) {
4274
4274
  return n;
4275
4275
  }
4276
4276
  //#endregion
4277
- //#region ../../node_modules/cheerio-select/lib/esm/positionals.js
4277
+ //#region ../../../../tricoteuses-juridique/node_modules/cheerio-select/lib/esm/positionals.js
4278
4278
  var Wo = new Set([
4279
4279
  "first",
4280
4280
  "last",
@@ -4303,7 +4303,7 @@ function Ko(e, t, n) {
4303
4303
  }
4304
4304
  }
4305
4305
  //#endregion
4306
- //#region ../../node_modules/cheerio-select/lib/esm/helpers.js
4306
+ //#region ../../../../tricoteuses-juridique/node_modules/cheerio-select/lib/esm/helpers.js
4307
4307
  function qo(e) {
4308
4308
  for (; e.parent;) e = e.parent;
4309
4309
  return e;
@@ -4314,7 +4314,7 @@ function Jo(e) {
4314
4314
  return [n, t];
4315
4315
  }
4316
4316
  //#endregion
4317
- //#region ../../node_modules/cheerio-select/lib/esm/index.js
4317
+ //#region ../../../../tricoteuses-juridique/node_modules/cheerio-select/lib/esm/index.js
4318
4318
  var Yo = {
4319
4319
  type: z.Universal,
4320
4320
  namespace: null
@@ -5013,7 +5013,7 @@ function Lc(e) {
5013
5013
  return !!e.name || e.type === Dn || e.type === On || e.type === An;
5014
5014
  }
5015
5015
  //#endregion
5016
- //#region ../../node_modules/parse5/dist/common/unicode.js
5016
+ //#region ../../../../tricoteuses-juridique/node_modules/parse5/dist/common/unicode.js
5017
5017
  var Rc = new Set([
5018
5018
  65534,
5019
5019
  65535,
@@ -5077,13 +5077,13 @@ function Wc(e) {
5077
5077
  return e >= 64976 && e <= 65007 || Rc.has(e);
5078
5078
  }
5079
5079
  //#endregion
5080
- //#region ../../node_modules/parse5/dist/common/error-codes.js
5080
+ //#region ../../../../tricoteuses-juridique/node_modules/parse5/dist/common/error-codes.js
5081
5081
  var U;
5082
5082
  (function(e) {
5083
5083
  e.controlCharacterInInputStream = "control-character-in-input-stream", e.noncharacterInInputStream = "noncharacter-in-input-stream", e.surrogateInInputStream = "surrogate-in-input-stream", e.nonVoidHtmlElementStartTagWithTrailingSolidus = "non-void-html-element-start-tag-with-trailing-solidus", e.endTagWithAttributes = "end-tag-with-attributes", e.endTagWithTrailingSolidus = "end-tag-with-trailing-solidus", e.unexpectedSolidusInTag = "unexpected-solidus-in-tag", e.unexpectedNullCharacter = "unexpected-null-character", e.unexpectedQuestionMarkInsteadOfTagName = "unexpected-question-mark-instead-of-tag-name", e.invalidFirstCharacterOfTagName = "invalid-first-character-of-tag-name", e.unexpectedEqualsSignBeforeAttributeName = "unexpected-equals-sign-before-attribute-name", e.missingEndTagName = "missing-end-tag-name", e.unexpectedCharacterInAttributeName = "unexpected-character-in-attribute-name", e.unknownNamedCharacterReference = "unknown-named-character-reference", e.missingSemicolonAfterCharacterReference = "missing-semicolon-after-character-reference", e.unexpectedCharacterAfterDoctypeSystemIdentifier = "unexpected-character-after-doctype-system-identifier", e.unexpectedCharacterInUnquotedAttributeValue = "unexpected-character-in-unquoted-attribute-value", e.eofBeforeTagName = "eof-before-tag-name", e.eofInTag = "eof-in-tag", e.missingAttributeValue = "missing-attribute-value", e.missingWhitespaceBetweenAttributes = "missing-whitespace-between-attributes", e.missingWhitespaceAfterDoctypePublicKeyword = "missing-whitespace-after-doctype-public-keyword", e.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers = "missing-whitespace-between-doctype-public-and-system-identifiers", e.missingWhitespaceAfterDoctypeSystemKeyword = "missing-whitespace-after-doctype-system-keyword", e.missingQuoteBeforeDoctypePublicIdentifier = "missing-quote-before-doctype-public-identifier", e.missingQuoteBeforeDoctypeSystemIdentifier = "missing-quote-before-doctype-system-identifier", e.missingDoctypePublicIdentifier = "missing-doctype-public-identifier", e.missingDoctypeSystemIdentifier = "missing-doctype-system-identifier", e.abruptDoctypePublicIdentifier = "abrupt-doctype-public-identifier", e.abruptDoctypeSystemIdentifier = "abrupt-doctype-system-identifier", e.cdataInHtmlContent = "cdata-in-html-content", e.incorrectlyOpenedComment = "incorrectly-opened-comment", e.eofInScriptHtmlCommentLikeText = "eof-in-script-html-comment-like-text", e.eofInDoctype = "eof-in-doctype", e.nestedComment = "nested-comment", e.abruptClosingOfEmptyComment = "abrupt-closing-of-empty-comment", e.eofInComment = "eof-in-comment", e.incorrectlyClosedComment = "incorrectly-closed-comment", e.eofInCdata = "eof-in-cdata", e.absenceOfDigitsInNumericCharacterReference = "absence-of-digits-in-numeric-character-reference", e.nullCharacterReference = "null-character-reference", e.surrogateCharacterReference = "surrogate-character-reference", e.characterReferenceOutsideUnicodeRange = "character-reference-outside-unicode-range", e.controlCharacterReference = "control-character-reference", e.noncharacterCharacterReference = "noncharacter-character-reference", e.missingWhitespaceBeforeDoctypeName = "missing-whitespace-before-doctype-name", e.missingDoctypeName = "missing-doctype-name", e.invalidCharacterSequenceAfterDoctypeName = "invalid-character-sequence-after-doctype-name", e.duplicateAttribute = "duplicate-attribute", e.nonConformingDoctype = "non-conforming-doctype", e.missingDoctype = "missing-doctype", e.misplacedDoctype = "misplaced-doctype", e.endTagWithoutMatchingOpenElement = "end-tag-without-matching-open-element", e.closingOfElementWithOpenChildElements = "closing-of-element-with-open-child-elements", e.disallowedContentInNoscriptInHead = "disallowed-content-in-noscript-in-head", e.openElementsLeftAfterEof = "open-elements-left-after-eof", e.abandonedHeadElementChild = "abandoned-head-element-child", e.misplacedStartTagForHeadElement = "misplaced-start-tag-for-head-element", e.nestedNoscriptInHead = "nested-noscript-in-head", e.eofInElementThatCanContainOnlyText = "eof-in-element-that-can-contain-only-text";
5084
5084
  })(U ||= {});
5085
5085
  //#endregion
5086
- //#region ../../node_modules/parse5/dist/tokenizer/preprocessor.js
5086
+ //#region ../../../../tricoteuses-juridique/node_modules/parse5/dist/tokenizer/preprocessor.js
5087
5087
  var Gc = 65536, Kc = class {
5088
5088
  constructor(e) {
5089
5089
  this.handler = e, this.html = "", this.pos = -1, this.lastGapPos = -2, this.gapStack = [], this.skipNextNewLine = !1, this.lastChunkWritten = !1, this.endOfChunkHit = !1, this.bufferWaterline = Gc, this.isEol = !1, this.lineStartPos = 0, this.droppedBufferSize = 0, this.line = 1, this.lastErrOffset = -1;
@@ -5164,7 +5164,7 @@ function qc(e, t) {
5164
5164
  return null;
5165
5165
  }
5166
5166
  //#endregion
5167
- //#region ../../node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-html.js
5167
+ //#region ../../../../tricoteuses-juridique/node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-html.js
5168
5168
  var Jc = /* @__PURE__ */ new Uint16Array(/* @__PURE__ */ "ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻\"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻\xA0ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌".split("").map((e) => e.charCodeAt(0))), Yc = new Map([
5169
5169
  [0, 65533],
5170
5170
  [128, 8364],
@@ -5200,7 +5200,7 @@ function Xc(e) {
5200
5200
  return e >= 55296 && e <= 57343 || e > 1114111 ? 65533 : Yc.get(e) ?? e;
5201
5201
  }
5202
5202
  //#endregion
5203
- //#region ../../node_modules/parse5/node_modules/entities/dist/esm/decode.js
5203
+ //#region ../../../../tricoteuses-juridique/node_modules/parse5/node_modules/entities/dist/esm/decode.js
5204
5204
  var G;
5205
5205
  (function(e) {
5206
5206
  e[e.NUM = 35] = "NUM", e[e.SEMI = 59] = "SEMI", e[e.EQUALS = 61] = "EQUALS", e[e.ZERO = 48] = "ZERO", e[e.NINE = 57] = "NINE", e[e.LOWER_A = 97] = "LOWER_A", e[e.LOWER_F = 102] = "LOWER_F", e[e.LOWER_X = 120] = "LOWER_X", e[e.LOWER_Z = 122] = "LOWER_Z", e[e.UPPER_A = 65] = "UPPER_A", e[e.UPPER_F = 70] = "UPPER_F", e[e.UPPER_Z = 90] = "UPPER_Z";
@@ -5328,7 +5328,7 @@ function al(e, t, n, r) {
5328
5328
  return -1;
5329
5329
  }
5330
5330
  //#endregion
5331
- //#region ../../node_modules/parse5/dist/common/html.js
5331
+ //#region ../../../../tricoteuses-juridique/node_modules/parse5/dist/common/html.js
5332
5332
  var q;
5333
5333
  (function(e) {
5334
5334
  e.HTML = "http://www.w3.org/1999/xhtml", e.MATHML = "http://www.w3.org/1998/Math/MathML", e.SVG = "http://www.w3.org/2000/svg", e.XLINK = "http://www.w3.org/1999/xlink", e.XML = "http://www.w3.org/XML/1998/namespace", e.XMLNS = "http://www.w3.org/2000/xmlns/";
@@ -5597,7 +5597,7 @@ function pl(e, t) {
5597
5597
  return fl.has(e) || t && e === J.NOSCRIPT;
5598
5598
  }
5599
5599
  //#endregion
5600
- //#region ../../node_modules/parse5/dist/tokenizer/index.js
5600
+ //#region ../../../../tricoteuses-juridique/node_modules/parse5/dist/tokenizer/index.js
5601
5601
  var Z;
5602
5602
  (function(e) {
5603
5603
  e[e.DATA = 0] = "DATA", e[e.RCDATA = 1] = "RCDATA", e[e.RAWTEXT = 2] = "RAWTEXT", e[e.SCRIPT_DATA = 3] = "SCRIPT_DATA", e[e.PLAINTEXT = 4] = "PLAINTEXT", e[e.TAG_OPEN = 5] = "TAG_OPEN", e[e.END_TAG_OPEN = 6] = "END_TAG_OPEN", e[e.TAG_NAME = 7] = "TAG_NAME", e[e.RCDATA_LESS_THAN_SIGN = 8] = "RCDATA_LESS_THAN_SIGN", e[e.RCDATA_END_TAG_OPEN = 9] = "RCDATA_END_TAG_OPEN", e[e.RCDATA_END_TAG_NAME = 10] = "RCDATA_END_TAG_NAME", e[e.RAWTEXT_LESS_THAN_SIGN = 11] = "RAWTEXT_LESS_THAN_SIGN", e[e.RAWTEXT_END_TAG_OPEN = 12] = "RAWTEXT_END_TAG_OPEN", e[e.RAWTEXT_END_TAG_NAME = 13] = "RAWTEXT_END_TAG_NAME", e[e.SCRIPT_DATA_LESS_THAN_SIGN = 14] = "SCRIPT_DATA_LESS_THAN_SIGN", e[e.SCRIPT_DATA_END_TAG_OPEN = 15] = "SCRIPT_DATA_END_TAG_OPEN", e[e.SCRIPT_DATA_END_TAG_NAME = 16] = "SCRIPT_DATA_END_TAG_NAME", e[e.SCRIPT_DATA_ESCAPE_START = 17] = "SCRIPT_DATA_ESCAPE_START", e[e.SCRIPT_DATA_ESCAPE_START_DASH = 18] = "SCRIPT_DATA_ESCAPE_START_DASH", e[e.SCRIPT_DATA_ESCAPED = 19] = "SCRIPT_DATA_ESCAPED", e[e.SCRIPT_DATA_ESCAPED_DASH = 20] = "SCRIPT_DATA_ESCAPED_DASH", e[e.SCRIPT_DATA_ESCAPED_DASH_DASH = 21] = "SCRIPT_DATA_ESCAPED_DASH_DASH", e[e.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN = 22] = "SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN", e[e.SCRIPT_DATA_ESCAPED_END_TAG_OPEN = 23] = "SCRIPT_DATA_ESCAPED_END_TAG_OPEN", e[e.SCRIPT_DATA_ESCAPED_END_TAG_NAME = 24] = "SCRIPT_DATA_ESCAPED_END_TAG_NAME", e[e.SCRIPT_DATA_DOUBLE_ESCAPE_START = 25] = "SCRIPT_DATA_DOUBLE_ESCAPE_START", e[e.SCRIPT_DATA_DOUBLE_ESCAPED = 26] = "SCRIPT_DATA_DOUBLE_ESCAPED", e[e.SCRIPT_DATA_DOUBLE_ESCAPED_DASH = 27] = "SCRIPT_DATA_DOUBLE_ESCAPED_DASH", e[e.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH = 28] = "SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH", e[e.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN = 29] = "SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN", e[e.SCRIPT_DATA_DOUBLE_ESCAPE_END = 30] = "SCRIPT_DATA_DOUBLE_ESCAPE_END", e[e.BEFORE_ATTRIBUTE_NAME = 31] = "BEFORE_ATTRIBUTE_NAME", e[e.ATTRIBUTE_NAME = 32] = "ATTRIBUTE_NAME", e[e.AFTER_ATTRIBUTE_NAME = 33] = "AFTER_ATTRIBUTE_NAME", e[e.BEFORE_ATTRIBUTE_VALUE = 34] = "BEFORE_ATTRIBUTE_VALUE", e[e.ATTRIBUTE_VALUE_DOUBLE_QUOTED = 35] = "ATTRIBUTE_VALUE_DOUBLE_QUOTED", e[e.ATTRIBUTE_VALUE_SINGLE_QUOTED = 36] = "ATTRIBUTE_VALUE_SINGLE_QUOTED", e[e.ATTRIBUTE_VALUE_UNQUOTED = 37] = "ATTRIBUTE_VALUE_UNQUOTED", e[e.AFTER_ATTRIBUTE_VALUE_QUOTED = 38] = "AFTER_ATTRIBUTE_VALUE_QUOTED", e[e.SELF_CLOSING_START_TAG = 39] = "SELF_CLOSING_START_TAG", e[e.BOGUS_COMMENT = 40] = "BOGUS_COMMENT", e[e.MARKUP_DECLARATION_OPEN = 41] = "MARKUP_DECLARATION_OPEN", e[e.COMMENT_START = 42] = "COMMENT_START", e[e.COMMENT_START_DASH = 43] = "COMMENT_START_DASH", e[e.COMMENT = 44] = "COMMENT", e[e.COMMENT_LESS_THAN_SIGN = 45] = "COMMENT_LESS_THAN_SIGN", e[e.COMMENT_LESS_THAN_SIGN_BANG = 46] = "COMMENT_LESS_THAN_SIGN_BANG", e[e.COMMENT_LESS_THAN_SIGN_BANG_DASH = 47] = "COMMENT_LESS_THAN_SIGN_BANG_DASH", e[e.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH = 48] = "COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH", e[e.COMMENT_END_DASH = 49] = "COMMENT_END_DASH", e[e.COMMENT_END = 50] = "COMMENT_END", e[e.COMMENT_END_BANG = 51] = "COMMENT_END_BANG", e[e.DOCTYPE = 52] = "DOCTYPE", e[e.BEFORE_DOCTYPE_NAME = 53] = "BEFORE_DOCTYPE_NAME", e[e.DOCTYPE_NAME = 54] = "DOCTYPE_NAME", e[e.AFTER_DOCTYPE_NAME = 55] = "AFTER_DOCTYPE_NAME", e[e.AFTER_DOCTYPE_PUBLIC_KEYWORD = 56] = "AFTER_DOCTYPE_PUBLIC_KEYWORD", e[e.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER = 57] = "BEFORE_DOCTYPE_PUBLIC_IDENTIFIER", e[e.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED = 58] = "DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED", e[e.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED = 59] = "DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED", e[e.AFTER_DOCTYPE_PUBLIC_IDENTIFIER = 60] = "AFTER_DOCTYPE_PUBLIC_IDENTIFIER", e[e.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS = 61] = "BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS", e[e.AFTER_DOCTYPE_SYSTEM_KEYWORD = 62] = "AFTER_DOCTYPE_SYSTEM_KEYWORD", e[e.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER = 63] = "BEFORE_DOCTYPE_SYSTEM_IDENTIFIER", e[e.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED = 64] = "DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED", e[e.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED = 65] = "DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED", e[e.AFTER_DOCTYPE_SYSTEM_IDENTIFIER = 66] = "AFTER_DOCTYPE_SYSTEM_IDENTIFIER", e[e.BOGUS_DOCTYPE = 67] = "BOGUS_DOCTYPE", e[e.CDATA_SECTION = 68] = "CDATA_SECTION", e[e.CDATA_SECTION_BRACKET = 69] = "CDATA_SECTION_BRACKET", e[e.CDATA_SECTION_END = 70] = "CDATA_SECTION_END", e[e.CHARACTER_REFERENCE = 71] = "CHARACTER_REFERENCE", e[e.AMBIGUOUS_AMPERSAND = 72] = "AMBIGUOUS_AMPERSAND";
@@ -7528,7 +7528,7 @@ function Ql(e) {
7528
7528
  return sl.NO_QUIRKS;
7529
7529
  }
7530
7530
  //#endregion
7531
- //#region ../../node_modules/parse5/dist/common/foreign-content.js
7531
+ //#region ../../../../tricoteuses-juridique/node_modules/parse5/dist/common/foreign-content.js
7532
7532
  var $l = {
7533
7533
  TEXT_HTML: "text/html",
7534
7534
  APPLICATION_XML: "application/xhtml+xml"
@@ -7676,7 +7676,7 @@ function pu(e, t, n, r) {
7676
7676
  return (!r || r === q.HTML) && fu(e, t, n) || (!r || r === q.MATHML) && du(e, t);
7677
7677
  }
7678
7678
  //#endregion
7679
- //#region ../../node_modules/parse5/dist/parser/index.js
7679
+ //#region ../../../../tricoteuses-juridique/node_modules/parse5/dist/parser/index.js
7680
7680
  var mu = "hidden", hu = 8, gu = 3, Q;
7681
7681
  (function(e) {
7682
7682
  e[e.INITIAL = 0] = "INITIAL", e[e.BEFORE_HTML = 1] = "BEFORE_HTML", e[e.BEFORE_HEAD = 2] = "BEFORE_HEAD", e[e.IN_HEAD = 3] = "IN_HEAD", e[e.IN_HEAD_NO_SCRIPT = 4] = "IN_HEAD_NO_SCRIPT", e[e.AFTER_HEAD = 5] = "AFTER_HEAD", e[e.IN_BODY = 6] = "IN_BODY", e[e.TEXT = 7] = "TEXT", e[e.IN_TABLE = 8] = "IN_TABLE", e[e.IN_TABLE_TEXT = 9] = "IN_TABLE_TEXT", e[e.IN_CAPTION = 10] = "IN_CAPTION", e[e.IN_COLUMN_GROUP = 11] = "IN_COLUMN_GROUP", e[e.IN_TABLE_BODY = 12] = "IN_TABLE_BODY", e[e.IN_ROW = 13] = "IN_ROW", e[e.IN_CELL = 14] = "IN_CELL", e[e.IN_SELECT = 15] = "IN_SELECT", e[e.IN_SELECT_IN_TABLE = 16] = "IN_SELECT_IN_TABLE", e[e.IN_TEMPLATE = 17] = "IN_TEMPLATE", e[e.AFTER_BODY = 18] = "AFTER_BODY", e[e.IN_FRAMESET = 19] = "IN_FRAMESET", e[e.AFTER_FRAMESET = 20] = "AFTER_FRAMESET", e[e.AFTER_AFTER_BODY = 21] = "AFTER_AFTER_BODY", e[e.AFTER_AFTER_FRAMESET = 22] = "AFTER_AFTER_FRAMESET";
@@ -9695,7 +9695,7 @@ function np(e, { treeAdapter: t }) {
9695
9695
  return `<!DOCTYPE ${t.getDocumentTypeNodeName(e)}>`;
9696
9696
  }
9697
9697
  //#endregion
9698
- //#region ../../node_modules/parse5/dist/index.js
9698
+ //#region ../../../../tricoteuses-juridique/node_modules/parse5/dist/index.js
9699
9699
  function rp(e, t) {
9700
9700
  return bu.parse(e, t);
9701
9701
  }
@@ -9705,7 +9705,7 @@ function ip(e, t, n) {
9705
9705
  return r.tokenizer.write(t, !0), r.getFragment();
9706
9706
  }
9707
9707
  //#endregion
9708
- //#region ../../node_modules/parse5-htmlparser2-tree-adapter/dist/index.js
9708
+ //#region ../../../../tricoteuses-juridique/node_modules/parse5-htmlparser2-tree-adapter/dist/index.js
9709
9709
  function ap(e) {
9710
9710
  let t = e.includes("\"") ? "'" : "\"";
9711
9711
  return t + e + t;
@@ -10348,7 +10348,38 @@ var Kp = C(String.raw`^« ?([^»\n]+)`, {
10348
10348
  stop: n[1]
10349
10349
  }, t.position());
10350
10350
  }
10351
- }), $ = T(x([_(Kp, {
10351
+ });
10352
+ function Jp(e, t) {
10353
+ let n = e.indexOf("\n", t);
10354
+ return n === -1 ? !1 : /^[ \t]*«/u.test(e.slice(n + 1));
10355
+ }
10356
+ function Yp(e) {
10357
+ return /»[.;]?\s*$/u.exec(e);
10358
+ }
10359
+ var $ = T((e) => {
10360
+ let { input: t } = e, n = e.offset;
10361
+ if (t[n] !== "«" || t.indexOf("\n", n) === -1) return;
10362
+ let r = n, i = [];
10363
+ for (; r < t.length;) {
10364
+ let a = t.indexOf("\n", r), o = a === -1 ? t.length : a, s = t.slice(r, o), c = /^[ \t]*« ?/u.exec(s);
10365
+ if (c === null) break;
10366
+ let l = r + c[0].length, u = o, d = Yp(s), f = Jp(t, o), p = s.slice(c[0].length).includes("«");
10367
+ if (d !== null && (!f || !p)) for (u = r + d.index; u > l && /\s/u.test(t[u - 1]);) u--;
10368
+ if (i.push({ position: {
10369
+ start: l,
10370
+ stop: u
10371
+ } }), d !== null && !f) return e.length = r + d.index + d[0].length - n, e.usedInputs = t.slice(n, n + e.length), e.offset += e.length, e.length = 0, {
10372
+ content: i,
10373
+ position: {
10374
+ start: n,
10375
+ stop: e.offset
10376
+ },
10377
+ type: "citation"
10378
+ };
10379
+ if (a === -1) break;
10380
+ r = a + 1;
10381
+ }
10382
+ }, x([_(Kp, {
10352
10383
  min: 1,
10353
10384
  separator: C(String.raw`»?\n`),
10354
10385
  value: (e) => e.map((e, t) => t === 0 ? e : e[1])
@@ -10357,7 +10388,7 @@ var Kp = C(String.raw`^« ?([^»\n]+)`, {
10357
10388
  position: t.position(),
10358
10389
  type: "citation"
10359
10390
  }) }), x([ue, qp], { value: (e) => e[1] }));
10360
- function Jp(e, t) {
10391
+ function Xp(e, t) {
10361
10392
  let n = 0, r = t.content[0].position, i = t.content.at(-1).position, a = t.content.map(({ position: t }) => e.input.slice(t.start, t.stop)).join("\n");
10362
10393
  return {
10363
10394
  input: e.text(t.position),
@@ -10388,12 +10419,12 @@ function Jp(e, t) {
10388
10419
  title: "Conversion de citation"
10389
10420
  };
10390
10421
  }
10391
- function Yp(e, t) {
10392
- return Jp(new n(e), t).output;
10422
+ function Zp(e, t) {
10423
+ return Xp(new n(e), t).output;
10393
10424
  }
10394
10425
  //#endregion
10395
10426
  //#region src/lib/text_parsers/legal_text_aliases.ts
10396
- var Xp = [
10427
+ var Qp = [
10397
10428
  {
10398
10429
  cid: "LEGITEXT000025024948",
10399
10430
  nature: "CODE",
@@ -10550,10 +10581,10 @@ var Xp = [
10550
10581
  pattern: "(?:comofi|cmf)",
10551
10582
  title: "Code monétaire et financier"
10552
10583
  }
10553
- ], Zp = Xp.map((e) => ({
10584
+ ], $p = Qp.map((e) => ({
10554
10585
  alias: e,
10555
10586
  regExp: RegExp(`^(?:${e.pattern})$`, "iv")
10556
- })), Qp = `(?:${Xp.map(({ pattern: e }) => `(?:${e})`).join("|")})`, $p = {
10587
+ })), em = `(?:${Qp.map(({ pattern: e }) => `(?:${e})`).join("|")})`, tm = {
10557
10588
  I: {
10558
10589
  cid: "LEGITEXT000006069568",
10559
10590
  nature: "CODE",
@@ -10575,8 +10606,8 @@ var Xp = [
10575
10606
  title: "Code général des impôts, annexe IV"
10576
10607
  }
10577
10608
  };
10578
- function em(e) {
10579
- let t = Zp.find(({ regExp: t }) => t.test(e))?.alias;
10609
+ function nm(e) {
10610
+ let t = $p.find(({ regExp: t }) => t.test(e))?.alias;
10580
10611
  if (t === void 0) return;
10581
10612
  let { cid: n, nature: r, title: i } = t;
10582
10613
  return {
@@ -10585,35 +10616,35 @@ function em(e) {
10585
10616
  title: i
10586
10617
  };
10587
10618
  }
10588
- function tm(e, t) {
10589
- let n = em(e);
10619
+ function rm(e, t) {
10620
+ let n = nm(e);
10590
10621
  return n === void 0 ? void 0 : {
10591
10622
  ...n,
10592
10623
  position: t,
10593
10624
  type: "texte"
10594
10625
  };
10595
10626
  }
10596
- var nm = T(...Xp.map(({ pattern: e }) => C(`${e}(?=$|\\P{Alphabetic})`, {
10627
+ var im = T(...Qp.map(({ pattern: e }) => C(`${e}(?=$|\\P{Alphabetic})`, {
10597
10628
  flags: "iv",
10598
- value: (e, t) => tm(e[0], t.position())
10629
+ value: (e, t) => rm(e[0], t.position())
10599
10630
  })));
10600
10631
  //#endregion
10601
10632
  //#region src/lib/text_parsers/doctrinal_references.ts
10602
- function rm(e, t) {
10633
+ function am(e, t) {
10603
10634
  let n = e.indices?.groups?.[t];
10604
10635
  return n === void 0 ? void 0 : {
10605
10636
  start: n[0],
10606
10637
  stop: n[1]
10607
10638
  };
10608
10639
  }
10609
- function im(e) {
10640
+ function om(e) {
10610
10641
  let t = e.groups?.article?.trim(), n = e.groups?.text;
10611
10642
  if (t === void 0 || n === void 0) return;
10612
- let r = rm(e, "articleKeyword");
10643
+ let r = am(e, "articleKeyword");
10613
10644
  if (r === void 0 && !/^(?:(?:L\.?\s*O|[LRDA])\*?\.?\s*)\d/iu.test(t)) return;
10614
- let i = t.match(/^(?<article>.*\d(?:[\p{L}\d-]*))\s+(?<subdivision>[IVXLCDM]+(?:\s+(?:bis|ter|quater))?|\d+\s*(?:°|º))$/iu)?.groups?.article?.trim() ?? t, a = Jt(i), o = rm(e, "article"), s = rm(e, "text");
10645
+ let i = t.match(/^(?<article>.*\d(?:[\p{L}\d-]*))\s+(?<subdivision>[IVXLCDM]+(?:\s+(?:bis|ter|quater))?|\d+\s*(?:°|º))$/iu)?.groups?.article?.trim() ?? t, a = Jt(i), o = am(e, "article"), s = am(e, "text");
10615
10646
  if (a === void 0 || o === void 0 || s === void 0) return;
10616
- let c = tm(n, s);
10647
+ let c = rm(n, s);
10617
10648
  if (c === void 0) return;
10618
10649
  let l = {
10619
10650
  num: a,
@@ -10633,36 +10664,36 @@ function im(e) {
10633
10664
  type: "parent-enfant"
10634
10665
  };
10635
10666
  }
10636
- var am = C(String.raw`cgi\s*,\s*ann(?:exe)?\.?\s*(IV|III|II|I)`, {
10667
+ var sm = C(String.raw`cgi\s*,\s*ann(?:exe)?\.?\s*(IV|III|II|I)`, {
10637
10668
  flags: "i",
10638
10669
  value: (e, t) => {
10639
- let n = $p[e[1].toUpperCase()];
10670
+ let n = tm[e[1].toUpperCase()];
10640
10671
  return n === void 0 ? void 0 : {
10641
10672
  ...n,
10642
10673
  position: t.position(),
10643
10674
  type: "texte"
10644
10675
  };
10645
10676
  }
10646
- }), om = o(Qt, { value: (e, t) => ({
10677
+ }), cm = o(Qt, { value: (e, t) => ({
10647
10678
  num: e,
10648
10679
  position: t.position(),
10649
10680
  type: "article"
10650
- }) }), sm = x([C(String.raw`\s*,\s*art(?:icle)?\.?\s+`, { flags: "i" }), om], { value: (e) => e[1] }), cm = x([
10681
+ }) }), lm = x([C(String.raw`\s*,\s*art(?:icle)?\.?\s+`, { flags: "i" }), cm], { value: (e) => e[1] }), um = x([
10651
10682
  w(C(String.raw`(?:le|la|les)\s+`, { flags: "i" }), { default: "" }),
10652
- T(am, nm),
10653
- sm
10683
+ T(sm, im),
10684
+ lm
10654
10685
  ], { value: (e, t) => ({
10655
10686
  child: e[2],
10656
10687
  parent: e[1],
10657
10688
  position: t.position(),
10658
10689
  type: "parent-enfant"
10659
- }) }), lm = C(String.raw`(?:(?<articleKeyword>articles?)\s+)?(?<article>\S[^\n,;:\(\)]*?)\s+(?:(?:du|de\s+la|de\s+l['’])\s+)?(?<text>${Qp})(?=$|\P{Alphabetic})`, {
10690
+ }) }), dm = C(String.raw`(?:(?<articleKeyword>articles?)\s+)?(?<article>\S[^\n,;:\(\)]*?)\s+(?:(?:du|de\s+la|de\s+l['’])\s+)?(?<text>${em})(?=$|\P{Alphabetic})`, {
10660
10691
  flags: "div",
10661
- value: (e) => im(e)
10662
- }), um = C(String.raw`(?<article1>(?:(?:L\.?\s*O|[LRDA])\*?\.?\s*)\d[^\n,;:\(\)]*?)\s+(?<coordinator>et|ou)\s+(?<article2>(?:(?:L\.?\s*O|[LRDA])\*?\.?\s*)\d[^\n,;:\(\)]*?)\s+(?:(?:du|de\s+la|de\s+l['’])\s+)?(?<text>${Qp})(?=$|\P{Alphabetic})`, {
10692
+ value: (e) => om(e)
10693
+ }), fm = C(String.raw`(?<article1>(?:(?:L\.?\s*O|[LRDA])\*?\.?\s*)\d[^\n,;:\(\)]*?)\s+(?<coordinator>et|ou)\s+(?<article2>(?:(?:L\.?\s*O|[LRDA])\*?\.?\s*)\d[^\n,;:\(\)]*?)\s+(?:(?:du|de\s+la|de\s+l['’])\s+)?(?<text>${em})(?=$|\P{Alphabetic})`, {
10663
10694
  flags: "div",
10664
10695
  value: (e) => {
10665
- let t = rm(e, "article1"), n = rm(e, "article2"), r = rm(e, "text"), i = e.groups?.article1, a = e.groups?.article2, o = e.groups?.coordinator, s = i === void 0 ? void 0 : Jt(i.trim()), c = a === void 0 ? void 0 : Jt(a.trim()), l = e.groups?.text === void 0 || r === void 0 ? void 0 : tm(e.groups.text, r);
10696
+ let t = am(e, "article1"), n = am(e, "article2"), r = am(e, "text"), i = e.groups?.article1, a = e.groups?.article2, o = e.groups?.coordinator, s = i === void 0 ? void 0 : Jt(i.trim()), c = a === void 0 ? void 0 : Jt(a.trim()), l = e.groups?.text === void 0 || r === void 0 ? void 0 : rm(e.groups.text, r);
10666
10697
  if (!(t === void 0 || n === void 0 || s === void 0 || c === void 0 || o !== "et" && o !== "ou" || l === void 0)) return {
10667
10698
  child: {
10668
10699
  coordinator: o,
@@ -10690,7 +10721,7 @@ var am = C(String.raw`cgi\s*,\s*ann(?:exe)?\.?\s*(IV|III|II|I)`, {
10690
10721
  type: "parent-enfant"
10691
10722
  };
10692
10723
  }
10693
- }), dm = T(cm, um, lm), fm = (e) => {
10724
+ }), pm = T(um, fm, dm), mm = (e) => {
10694
10725
  let t = e.offset, n = /,\s*(?:par\s+)?/guy;
10695
10726
  if (n.lastIndex = t, !n.exec(e.input)) return;
10696
10727
  e.offset = n.lastIndex;
@@ -10706,7 +10737,7 @@ var am = C(String.raw`cgi\s*,\s*ann(?:exe)?\.?\s*(IV|III|II|I)`, {
10706
10737
  }
10707
10738
  return e.offset = i.lastIndex, e.length = 0, e.usedInputs = e.input.slice(t, e.offset), r;
10708
10739
  };
10709
- function pm(e) {
10740
+ function hm(e) {
10710
10741
  for (let t = 0; t < e.length; t += 1) {
10711
10742
  let r = t === 0 ? void 0 : e[t - 1];
10712
10743
  if (r && /[\p{L}\p{N}_]/u.test(r)) continue;
@@ -10715,7 +10746,15 @@ function pm(e) {
10715
10746
  }
10716
10747
  return null;
10717
10748
  }
10718
- function mm(e) {
10749
+ function gm(e, t) {
10750
+ let r = e.slice(0, Math.max(0, t)), i = /(?:^|[^\p{L}\p{N}_])les\s+/giu, a = null;
10751
+ for (; i.exec(r) !== null;) {
10752
+ let e = new n(r, i.lastIndex), t = Ae(e);
10753
+ typeof t != "number" || t <= 1 || /^\s+occurrences\b/iu.exec(r.slice(e.offset)) && (a = t);
10754
+ }
10755
+ return a;
10756
+ }
10757
+ function _m(e) {
10719
10758
  let t = [], r = /(?:,\s*)?par\s+/giu, i = 0, a;
10720
10759
  for (; (a = r.exec(e)) !== null;) {
10721
10760
  let o = new n(e, r.lastIndex);
@@ -10727,17 +10766,17 @@ function mm(e) {
10727
10766
  }
10728
10767
  //#endregion
10729
10768
  //#region src/lib/text_parsers/actions.ts
10730
- var hm = (e) => x([
10769
+ var vm = (e) => x([
10731
10770
  C(e, { flags: "i" }),
10732
- fm,
10771
+ mm,
10733
10772
  C(e === "est" ? "remplacée?" : "remplacée?s", { flags: "i" })
10734
- ], { value: "remplacer" }), gm = T(ee(C("(modalités|conditions) d'application (de )?", { flags: "i" }), {
10773
+ ], { value: "remplacer" }), ym = T(ee(C("(modalités|conditions) d'application (de )?", { flags: "i" }), {
10735
10774
  lookbackLength: 35,
10736
10775
  value: { action: "précision" }
10737
10776
  }), ee(C("en application (de )?", { flags: "i" }), {
10738
10777
  lookbackLength: 35,
10739
10778
  value: { action: "application" }
10740
- })), _m = i("après|avant|ajoutée?s?|insérée?s?|complétée?s?|rédigée?s?|suit|modifiée?s?|rétablie?s?|remplacée?s?|supprimée?s?|abrogée?s?|devient", T(x([
10779
+ })), bm = i("après|avant|ajoutée?s?|insérée?s?|complétée?s?|rédigée?s?|suit|modifiée?s?|rétablie?s?|remplacée?s?|supprimée?s?|abrogée?s?|devient", T(x([
10741
10780
  b,
10742
10781
  C("est complété par les mots ?", { flags: "i" }),
10743
10782
  C(" ?:"),
@@ -10805,7 +10844,7 @@ var hm = (e) => x([
10805
10844
  }), C("est rétablie? (ainsi qu'il|comme) suit", {
10806
10845
  flags: "i",
10807
10846
  value: "rétablir"
10808
- }), hm("est"), C("est remplacée?", {
10847
+ }), vm("est"), C("est remplacée?", {
10809
10848
  flags: "i",
10810
10849
  value: "remplacer"
10811
10850
  }), C("sont ainsi modifiée?s", {
@@ -10820,7 +10859,7 @@ var hm = (e) => x([
10820
10859
  }), C("sont rétablie?s (ainsi qu'il|comme) suit", {
10821
10860
  flags: "i",
10822
10861
  value: "rétablir"
10823
- }), hm("sont"), C("sont remplacée?s", {
10862
+ }), vm("sont"), C("sont remplacée?s", {
10824
10863
  flags: "i",
10825
10864
  value: "remplacer"
10826
10865
  }), C("sont renum[eé]rotée?s", {
@@ -10840,7 +10879,7 @@ var hm = (e) => x([
10840
10879
  }), C("est remplacée?", {
10841
10880
  flags: "i",
10842
10881
  value: "remplacer"
10843
- }), hm("est"), hm("sont"), C("sont remplacée?s", {
10882
+ }), vm("est"), vm("sont"), C("sont remplacée?s", {
10844
10883
  flags: "i",
10845
10884
  value: "remplacer"
10846
10885
  }), C("est modifiée?", {
@@ -11000,23 +11039,23 @@ var hm = (e) => x([
11000
11039
  }), C("est supprimée?", {
11001
11040
  flags: "i",
11002
11041
  value: "supprimer"
11003
- }))], { value: (e) => ({ action: e[1] }) }))), vm = T(un, wn), ym = T(fn, xn, nm, he), bm = x([vm, _(x([le, ym], { value: (e) => e[1] }))], { value: (e, t) => _t(e[0], e[1], t.position()) }), xm = x([ym, _(x([le, ym], { value: (e) => e[1] }))], { value: (e, t) => _t(e[0], e[1], t.position()) }), Sm = x([se, bm], { value: (e) => e[1] }), Cm = T(x([le, xm], { value: (e) => e[1] }), Sm), wm = T(x([Ht, w(Cm, { default: null })], { value: (e) => {
11042
+ }))], { value: (e) => ({ action: e[1] }) }))), xm = T(un, wn), Sm = T(fn, xn, im, he), Cm = x([xm, _(x([le, Sm], { value: (e) => e[1] }))], { value: (e, t) => _t(e[0], e[1], t.position()) }), wm = x([Sm, _(x([le, Sm], { value: (e) => e[1] }))], { value: (e, t) => _t(e[0], e[1], t.position()) }), Tm = x([se, Cm], { value: (e) => e[1] }), Em = T(x([le, wm], { value: (e) => e[1] }), Tm), Dm = T(x([Ht, w(Em, { default: null })], { value: (e) => {
11004
11043
  let t = e[0], n = e[1];
11005
11044
  return n === null ? t : mt(n, t);
11006
- } }), bm), Tm = T(x([Ut, w(Cm, { default: null })], { value: (e) => {
11045
+ } }), Cm), Om = T(x([Ut, w(Em, { default: null })], { value: (e) => {
11007
11046
  let t = e[0], n = e[1];
11008
11047
  return n === null ? t : mt(n, t);
11009
- } }), xm), Em = x([
11010
- w(gm, { default: null }),
11048
+ } }), wm), km = x([
11049
+ w(ym, { default: null }),
11011
11050
  x([
11012
11051
  p,
11013
- wm,
11052
+ Dm,
11014
11053
  w([w(C(" modifiée?s", { flags: "i" }), { default: "" }), C(" susvisée?s", { flags: "i" })], { default: "" })
11015
11054
  ], { value: (e, t) => ({
11016
11055
  ...e[1],
11017
11056
  position: t.position()
11018
11057
  }) }),
11019
- w(_m, { default: null })
11058
+ w(bm, { default: null })
11020
11059
  ], { value: (e, t) => {
11021
11060
  let n = e[2] ?? e[0];
11022
11061
  return n === null ? e[1] : {
@@ -11025,18 +11064,18 @@ var hm = (e) => x([
11025
11064
  reference: e[1],
11026
11065
  type: "reference_et_action"
11027
11066
  };
11028
- } }), Dm = T(x([
11029
- w(gm, { default: null }),
11067
+ } }), Am = T(x([
11068
+ w(ym, { default: null }),
11030
11069
  x([
11031
11070
  ce,
11032
- Tm,
11071
+ Om,
11033
11072
  w([w(C(" modifiée?", { flags: "i" }), { default: "" }), C(" susvisée?", { flags: "i" })], { default: "" }),
11034
11073
  w(C(String.raw`, ?qui devient [^,]+ ","`, { flags: "i" }), { default: "" })
11035
11074
  ], { value: (e, t) => ({
11036
11075
  ...e[1],
11037
11076
  position: t.position()
11038
11077
  }) }),
11039
- w(_m, { default: null })
11078
+ w(bm, { default: null })
11040
11079
  ], { value: (e, t) => {
11041
11080
  let n = e[2] ?? e[0];
11042
11081
  return n === null ? e[1] : {
@@ -11045,23 +11084,23 @@ var hm = (e) => x([
11045
11084
  reference: e[1],
11046
11085
  type: "reference_et_action"
11047
11086
  };
11048
- } }), Em), Om = i("article|loi|décret|code|alinéa|phrase|chapitre|titre|livre|partie|section|paragraphe|ordonnance|constitution|directive|règlement|\\d|[ivxlc]+|[a-zA-Z]", x([Dm, _([T(Ct, St), Dm])], { value: (e, t) => ht(e[0], e[1], t.position()) })), km = o(Tm, { value: (e, t) => ({
11087
+ } }), km), jm = i("article|loi|décret|code|alinéa|phrase|chapitre|titre|livre|partie|section|paragraphe|ordonnance|constitution|directive|règlement|\\d|[ivxlc]+|[a-zA-Z]", x([Am, _([T(Ct, St), Am])], { value: (e, t) => ht(e[0], e[1], t.position()) })), Mm = o(Om, { value: (e, t) => ({
11049
11088
  ...e,
11050
11089
  position: t.position()
11051
- }) }), Am = T(_(km, {
11090
+ }) }), Nm = T(_(Mm, {
11052
11091
  min: 2,
11053
11092
  separator: Ne,
11054
11093
  value: (e) => [e[0], ...e.slice(1).map(([, e]) => e)]
11055
- }), _(km, {
11094
+ }), _(Mm, {
11056
11095
  min: 2,
11057
11096
  separator: C(String.raw`\n`),
11058
11097
  value: (e) => [e[0], ...e.slice(1).map(([, e]) => e)]
11059
- }), o(km, { value: (e) => [e] }));
11098
+ }), o(Mm, { value: (e) => [e] }));
11060
11099
  //#endregion
11061
11100
  //#region src/lib/extractors/references.ts
11062
- function* jm(e, t) {
11063
- let r = Jp(e, t), i = new n(r.output), a = _e(r);
11064
- for (let e of Nm(i)) {
11101
+ function* Pm(e, t) {
11102
+ let r = Xp(e, t), i = new n(r.output), a = _e(r);
11103
+ for (let e of Im(i)) {
11065
11104
  e = structuredClone(e), t.references === void 0 && (t.references = []), t.references.push(e);
11066
11105
  for (let t of xt(e)) {
11067
11106
  let e = t.position;
@@ -11070,132 +11109,132 @@ function* jm(e, t) {
11070
11109
  yield e;
11071
11110
  }
11072
11111
  }
11073
- function* Mm(e, t = {}) {
11074
- yield* Nm(e, t);
11112
+ function* Fm(e, t = {}) {
11113
+ yield* Im(e, t);
11075
11114
  }
11076
- function* Nm(e, t = {}) {
11077
- let n = i(String.raw`arrêtés?|circulaires?|code|constitution|décrets?(?:-loi)?|loi|ordonnance|art\.|articles?|chapitre|livre|paragraphe|partie|section|sous-paragraphe|sous-section|sous-sous-paragraphe|sous-titre|titre|alinéas?|phrases?|règlements?|directives?|décisions?|«|[IVXLCDM]+|[A-Z]|\d+`, T($, tn, _n, dm, Om), 80, String.raw`(?<=^|\P{Alphabetic})(?:arrêtés?|circulaires?|code|constitution|décrets?(?:-loi)?|loi|ordonnance|art\.|articles?|chapitre|livre|paragraphe|partie|section|sous-paragraphe|sous-section|sous-sous-paragraphe|sous-titre|titre|alinéas?|phrases?|règlements?|directives?|décisions?|«|[IVXLCDM]+|[A-Z]|\d+)(?=$|\P{Alphabetic})`);
11115
+ function* Im(e, t = {}) {
11116
+ let n = i(String.raw`arrêtés?|circulaires?|code|constitution|décrets?(?:-loi)?|loi|ordonnance|art\.|articles?|chapitre|livre|paragraphe|partie|section|sous-paragraphe|sous-section|sous-sous-paragraphe|sous-titre|titre|alinéas?|phrases?|règlements?|directives?|décisions?|«|[IVXLCDM]+|[A-Z]|\d+`, T($, tn, _n, pm, jm), 80, String.raw`(?<=^|\P{Alphabetic})(?:arrêtés?|circulaires?|code|constitution|décrets?(?:-loi)?|loi|ordonnance|art\.|articles?|chapitre|livre|paragraphe|partie|section|sous-paragraphe|sous-section|sous-sous-paragraphe|sous-titre|titre|alinéas?|phrases?|règlements?|directives?|décisions?|«|[IVXLCDM]+|[A-Z]|\d+)(?=$|\P{Alphabetic})`);
11078
11117
  for (let r of n.extract(e, {
11079
11118
  overlapWindow: 80,
11080
11119
  overlapWindowForCandidate: t.overlapWindowForCandidate
11081
- })) if (r !== void 0) if (r.type === "citation") yield* jm(e, r);
11120
+ })) if (r !== void 0) if (r.type === "citation") yield* Pm(e, r);
11082
11121
  else {
11083
11122
  if (r.type === "reference_et_action" || r.type === "alinéa" || r.type === "article" || r.type === "chapitre" || r.type === "item" || r.type === "livre" || r.type === "paragraphe" || r.type === "partie" || r.type === "phrase" || r.type === "section" || r.type === "sous-paragraphe" || r.type === "sous-section" || r.type === "sous-sous-paragraphe" || r.type === "sous-titre" || r.type === "titre" || r.type === "texte" || r.type === "bounded-interval" || r.type === "counted-interval" || r.type === "enumeration" || r.type === "exclusion" || r.type === "parent-enfant" || r.type === "incomplete-header") {
11084
11123
  for (let t of xt(r)) if (t.type === "reference_et_action") {
11085
11124
  let { originalCitations: n } = t.action;
11086
- if (n !== void 0) for (let t of n) for (let n of jm(e, t));
11125
+ if (n !== void 0) for (let t of n) for (let n of Pm(e, t));
11087
11126
  }
11088
11127
  }
11089
11128
  yield r;
11090
11129
  }
11091
11130
  }
11092
- function* Pm(e, t) {
11131
+ function* Lm(e, t) {
11093
11132
  let n = _e(t);
11094
- for (let t of Mm(e)) {
11133
+ for (let t of Fm(e)) {
11095
11134
  for (let e of xt(t, { citations: !0 })) e.position !== void 0 && (e.originalTransformation = v(n, e.position));
11096
11135
  yield t;
11097
11136
  }
11098
11137
  }
11099
- var Fm = (e) => [...Mm(e)], Im = (e, t) => [...Pm(e, t)], Lm = "(?:avant|apr[eè]s)", Rm = T(C("avant(?![-A-Za-zÀ-ÖØ-öø-ÿ0-9_])", {
11138
+ var Rm = (e) => [...Fm(e)], zm = (e, t) => [...Lm(e, t)], Bm = "(?:avant|apr[eè]s)", Vm = T(C("avant(?![-A-Za-zÀ-ÖØ-öø-ÿ0-9_])", {
11100
11139
  flags: "i",
11101
11140
  value: "before"
11102
11141
  }), C("apr[eè]s(?![-A-Za-zÀ-ÖØ-öø-ÿ0-9_])", {
11103
11142
  flags: "i",
11104
11143
  value: "after"
11105
- })), zm = T(C("(?:au|a[uù])\\s+d[eé]but\\b", {
11144
+ })), Hm = T(C("(?:au|a[uù])\\s+d[eé]but\\b", {
11106
11145
  flags: "i",
11107
11146
  value: "start"
11108
11147
  }), C("(?:a|à)\\s+la\\s+fin\\b", {
11109
11148
  flags: "i",
11110
11149
  value: "end"
11111
11150
  }));
11112
- function Bm(e) {
11151
+ function Um(e) {
11113
11152
  return e === "before" ? "insert_before" : "insert_after";
11114
11153
  }
11115
- function Vm(e) {
11116
- let t = Hm(e), n = /(?:^|[^\p{L}\p{N}_-])(avant|apres)(?![\p{L}\p{N}_-])/u.exec(t);
11154
+ function Wm(e) {
11155
+ let t = Gm(e), n = /(?:^|[^\p{L}\p{N}_-])(avant|apres)(?![\p{L}\p{N}_-])/u.exec(t);
11117
11156
  return n ? n[1] === "avant" ? "before" : "after" : null;
11118
11157
  }
11119
- function Hm(e) {
11158
+ function Gm(e) {
11120
11159
  return e.toLowerCase().normalize("NFD").replace(/\p{Diacritic}/gu, "");
11121
11160
  }
11122
11161
  //#endregion
11123
11162
  //#region src/lib/text_parsers/action_words.ts
11124
- var Um = /\b(ins[èe]re|ins[ée]r[ée]|ajout|remplac|supprim|abrog|compl[èeé]t|r[ée]dig|r[ée]tabl|modifi(?:e|é|ée|és|ées|er|ant|ent))/iu;
11125
- function Wm(e) {
11163
+ var Km = /\b(ins[èe]re|ins[ée]r[ée]|ajout|remplac|supprim|abrog|compl[èeé]t|r[ée]dig|r[ée]tabl|modifi(?:e|é|ée|és|ées|er|ant|ent))/iu;
11164
+ function qm(e) {
11126
11165
  return e.toLowerCase().normalize("NFD").replace(/\p{Diacritic}/gu, "");
11127
11166
  }
11128
- function Gm(e, t = e) {
11167
+ function Jm(e, t = e) {
11129
11168
  return /\bredige\b|\bredigee\b|\bredigees\b|\brediges\b|\bainsi\b/.test(e) || /\bdispositions suivantes\b/.test(t);
11130
11169
  }
11131
- function Km(e) {
11132
- return Vm(e) === "after";
11170
+ function Ym(e) {
11171
+ return Wm(e) === "after";
11133
11172
  }
11134
- function qm(e) {
11135
- return Vm(e) === "before";
11173
+ function Xm(e) {
11174
+ return Wm(e) === "before";
11136
11175
  }
11137
- function Jm(e) {
11176
+ function Zm(e) {
11138
11177
  return /\bretabl/.test(e);
11139
11178
  }
11140
- function Ym(e) {
11179
+ function Qm(e) {
11141
11180
  return /\binsere(?:e|es|s)?\b|\bajoute\b|\bajoutee\b|\bajoutes\b|\bajoutees\b|\bcomplete(?:e|es|s)?\b/.test(e);
11142
11181
  }
11143
- function Xm(e) {
11182
+ function $m(e) {
11144
11183
  return /\bremplace\b|\bremplacee\b|\bremplaces\b|\bremplacees\b/.test(e);
11145
11184
  }
11146
- function Zm(e) {
11185
+ function eh(e) {
11147
11186
  return /\bsupprime\b|\bsupprimee\b|\bsupprimes\b|\bsupprimees\b|\babroge\b|\babrogee\b|\babroges\b|\babrogees\b/.test(e);
11148
11187
  }
11149
- function Qm(e) {
11188
+ function th(e) {
11150
11189
  return /\b(remplace|modifie|redige|rediges|redigee|redigees)\b/.test(e);
11151
11190
  }
11152
11191
  //#endregion
11153
11192
  //#region src/lib/extractors/portion_references.ts
11154
- function $m(e, t) {
11193
+ function nh(e, t) {
11155
11194
  e && (e.start += t, e.stop += t);
11156
11195
  }
11157
- function eh(e, t) {
11196
+ function rh(e, t) {
11158
11197
  if (e.type === "parent-enfant") {
11159
- eh(e.parent, t), eh(e.child, t), $m(e.position, t);
11198
+ rh(e.parent, t), rh(e.child, t), nh(e.position, t);
11160
11199
  return;
11161
11200
  }
11162
11201
  if (e.type === "bounded-interval") {
11163
- eh(e.first, t), eh(e.last, t), $m(e.position, t);
11202
+ rh(e.first, t), rh(e.last, t), nh(e.position, t);
11164
11203
  return;
11165
11204
  }
11166
11205
  if (e.type === "counted-interval") {
11167
- eh(e.first, t), $m(e.position, t);
11206
+ rh(e.first, t), nh(e.position, t);
11168
11207
  return;
11169
11208
  }
11170
11209
  if (e.type === "enumeration" || e.type === "exclusion") {
11171
- eh(e.left, t), eh(e.right, t), $m(e.position, t);
11210
+ rh(e.left, t), rh(e.right, t), nh(e.position, t);
11172
11211
  return;
11173
11212
  }
11174
11213
  if (e.type === "reference_et_action") {
11175
- eh(e.reference, t), $m(e.position, t);
11214
+ rh(e.reference, t), nh(e.position, t);
11176
11215
  return;
11177
11216
  }
11178
- $m(e.position, t);
11217
+ nh(e.position, t);
11179
11218
  }
11180
- function th(e) {
11219
+ function ih(e) {
11181
11220
  return e.replace(/\b(de\s+l['’]?|de\s+la|de\s+le|du|des)\s*$/i, "");
11182
11221
  }
11183
- function nh(e) {
11222
+ function ah(e) {
11184
11223
  let t = /^(?:(?:[aà]\s+)?l['’]|(?:[aà]\s+)?la\b|(?:[aà]\s+)?le\b|les\b|des\b|aux\b|du\b)\s*/iu.exec(e)?.[0].length ?? 0, n = e.slice(t > 0 ? t : 0).trim();
11185
11224
  return n ? {
11186
11225
  text: n,
11187
11226
  offset: t
11188
11227
  } : null;
11189
11228
  }
11190
- function rh(e) {
11229
+ function oh(e) {
11191
11230
  return [...e.matchAll(/(?:^|\P{L})(\p{L})/gu)].map((e) => (e.index ?? 0) + e[0].length - (e[1]?.length ?? 0));
11192
11231
  }
11193
- function ih(e) {
11232
+ function sh(e) {
11194
11233
  let t = new n(e), r = Rt(t);
11195
11234
  return !r || t.remaining().trim().length !== 0 ? null : r;
11196
11235
  }
11197
- function ah(e) {
11198
- for (let t of rh(e)) {
11236
+ function ch(e) {
11237
+ for (let t of oh(e)) {
11199
11238
  let r = new n(e, t), i = Et(r);
11200
11239
  if (!(i === void 0 || r.remaining().trim() !== "")) return {
11201
11240
  nature: i,
@@ -11204,17 +11243,17 @@ function ah(e) {
11204
11243
  }
11205
11244
  return null;
11206
11245
  }
11207
- function oh(e, t) {
11246
+ function lh(e, t) {
11208
11247
  let n = e.trim().replace(/[;:,]\s*$/u, "").replace(/\b(?:est|sont)\s*$/iu, "").trim();
11209
11248
  if (!n) return null;
11210
- for (let e of rh(n)) {
11211
- let r = n.slice(e).trim(), i = ah(r);
11249
+ for (let e of oh(n)) {
11250
+ let r = n.slice(e).trim(), i = ch(r);
11212
11251
  if (!i) continue;
11213
- let a = mm(r.slice(0, i.start)).trim();
11252
+ let a = _m(r.slice(0, i.start)).trim();
11214
11253
  if (!a) continue;
11215
11254
  let o = /\s*(,|\bet\b|\bou\b|(?<!\p{L})[aà](?!\p{L}))\s*/giu, s = [], c = 0, l;
11216
11255
  for (; (l = o.exec(a)) !== null;) {
11217
- let e = Wm(l[1] ?? "");
11256
+ let e = qm(l[1] ?? "");
11218
11257
  if (a.slice(c, l.index).trim() === "") {
11219
11258
  e !== "a" && e !== "à" && (c = o.lastIndex);
11220
11259
  continue;
@@ -11231,17 +11270,17 @@ function oh(e, t) {
11231
11270
  }), s.length < 2) continue;
11232
11271
  let u = s.some((e) => e.separator === "à"), d = [], f = [], p = !0, m = i.nature, h;
11233
11272
  for (let [n, r] of s.entries()) {
11234
- let i = nh(r.text);
11273
+ let i = ah(r.text);
11235
11274
  if (!i) {
11236
11275
  d.length = 0;
11237
11276
  break;
11238
11277
  }
11239
- let a = ih(`${i.text} ${m}`);
11278
+ let a = sh(`${i.text} ${m}`);
11240
11279
  if (!a) {
11241
11280
  d.length = 0;
11242
11281
  break;
11243
11282
  }
11244
- eh(a, t + e + r.start + i.offset), d.push(a), a.type !== m || a.index === void 0 || a.index < 1 ? p = !1 : (h !== void 0 && !u && a.index !== h + 1 && (p = !1), h = a.index), n < s.length - 1 && (f.push(r.separator ?? "et"), (r.separator ?? "et") === "ou" && (p = !1));
11283
+ rh(a, t + e + r.start + i.offset), d.push(a), a.type !== m || a.index === void 0 || a.index < 1 ? p = !1 : (h !== void 0 && !u && a.index !== h + 1 && (p = !1), h = a.index), n < s.length - 1 && (f.push(r.separator ?? "et"), (r.separator ?? "et") === "ou" && (p = !1));
11245
11284
  }
11246
11285
  let [g, ..._] = d;
11247
11286
  if (!g || _.length === 0) continue;
@@ -11258,16 +11297,16 @@ function oh(e, t) {
11258
11297
  }
11259
11298
  return null;
11260
11299
  }
11261
- function sh(e, t) {
11300
+ function uh(e, t) {
11262
11301
  let r = e.trim().replace(/[;:,]\s*$/u, "").replace(/\b(?:est|sont)\s*$/iu, "").trim();
11263
11302
  if (!r) return null;
11264
- for (let e of rh(r)) {
11303
+ for (let e of oh(r)) {
11265
11304
  let i = r.slice(e);
11266
11305
  if (!i) continue;
11267
11306
  let a = new n(i), o = Rt(a);
11268
11307
  if (!o || a.offset === 0 || !se(a)) continue;
11269
- let s = a.offset, c = oh(i.slice(s), t + e + s);
11270
- if (c) return eh(o, t + e), {
11308
+ let s = a.offset, c = lh(i.slice(s), t + e + s);
11309
+ if (c) return rh(o, t + e), {
11271
11310
  ...mt(c, o),
11272
11311
  position: {
11273
11312
  start: o.position.start,
@@ -11277,57 +11316,57 @@ function sh(e, t) {
11277
11316
  }
11278
11317
  return null;
11279
11318
  }
11280
- function ch(e, t) {
11281
- let r = th(e);
11319
+ function dh(e, t) {
11320
+ let r = ih(e);
11282
11321
  if (!r) return null;
11283
- let i = sh(r, t);
11322
+ let i = uh(r, t);
11284
11323
  if (i) return i;
11285
- let a = oh(r, t);
11324
+ let a = lh(r, t);
11286
11325
  if (a) return a;
11287
- for (let e of rh(r)) {
11326
+ for (let e of oh(r)) {
11288
11327
  let i = r.slice(e);
11289
11328
  if (!i) continue;
11290
11329
  let a = new n(i), o = Rt(a);
11291
- if (!(!o || a.offset === 0) && i.slice(a.offset).trim().length === 0) return eh(o, t + e), o;
11330
+ if (!(!o || a.offset === 0) && i.slice(a.offset).trim().length === 0) return rh(o, t + e), o;
11292
11331
  }
11293
11332
  return null;
11294
11333
  }
11295
- function lh(e) {
11334
+ function fh(e) {
11296
11335
  return Math.max(0, ...Rp(e).map((e) => e.kind === "single" ? e.steps.length : Math.max(e.first.length, e.last.length)));
11297
11336
  }
11298
- function uh(e) {
11337
+ function ph(e) {
11299
11338
  return Rp(e).length;
11300
11339
  }
11301
- function dh(e, t) {
11340
+ function mh(e, t) {
11302
11341
  if (!e) return t;
11303
11342
  if (!t) return e;
11304
- let n = lh(e), r = lh(t);
11305
- return n === r ? uh(e) >= uh(t) ? e : t : n > r ? e : t;
11343
+ let n = fh(e), r = fh(t);
11344
+ return n === r ? ph(e) >= ph(t) ? e : t : n > r ? e : t;
11306
11345
  }
11307
- function fh(e) {
11346
+ function hh(e) {
11308
11347
  return e.map((e) => ({
11309
11348
  reference: e,
11310
- specificity: lh(e)
11349
+ specificity: fh(e)
11311
11350
  })).filter((e) => e.specificity > 0).sort((e, t) => t.specificity - e.specificity)[0]?.reference ?? null;
11312
11351
  }
11313
- function ph(e, { actionIndex: t = e.length } = {}) {
11352
+ function gh(e, { actionIndex: t = e.length } = {}) {
11314
11353
  let r = /\barticle\b/i.exec(e);
11315
11354
  if (!r || r.index === void 0) return null;
11316
11355
  let i = r.index, a = new n(e.slice(i)), o = fn(a);
11317
11356
  if (!o) return null;
11318
- eh(o, i);
11319
- let s = e.slice(0, i), c = i + a.offset, l = e.slice(c, t), u = dh(fh(mh(s)), ch(s, 0)) ?? fh(mh(l)) ?? ch(l, c);
11357
+ rh(o, i);
11358
+ let s = e.slice(0, i), c = i + a.offset, l = e.slice(c, t), u = mh(hh(_h(s)), dh(s, 0)) ?? hh(_h(l)) ?? dh(l, c);
11320
11359
  return u ? mt(o, u) : null;
11321
11360
  }
11322
- function mh(e) {
11323
- return Fm(new n(e));
11361
+ function _h(e) {
11362
+ return Rm(new n(e));
11324
11363
  }
11325
11364
  //#endregion
11326
11365
  //#region src/lib/extractors/quoted_text.ts
11327
- function hh(e) {
11366
+ function vh(e) {
11328
11367
  return e.split(/\n+/).map((e) => e.replace(/^\s*[«“"]\s*/u, "").trim()).filter((e) => e.length > 0).join("\n").replace(/[»”"]\s*$/u, "").trim();
11329
11368
  }
11330
- function gh(e) {
11369
+ function yh(e) {
11331
11370
  let t = [], r = 0;
11332
11371
  for (; r < e.length;) {
11333
11372
  let i = e.indexOf("«", r);
@@ -11339,7 +11378,7 @@ function gh(e) {
11339
11378
  r = i + 1;
11340
11379
  continue;
11341
11380
  }
11342
- let s = hh(Yp(e, o)), c = o.position ?? {
11381
+ let s = vh(Zp(e, o)), c = o.position ?? {
11343
11382
  start: i,
11344
11383
  stop: i + 1
11345
11384
  };
@@ -11353,7 +11392,7 @@ function gh(e) {
11353
11392
  }
11354
11393
  return t;
11355
11394
  }
11356
- function _h(e, t) {
11395
+ function bh(e, t) {
11357
11396
  if (t.length === 0) return e;
11358
11397
  let n = 0, r = [];
11359
11398
  for (let { start: i, end: a } of t) {
@@ -11362,7 +11401,7 @@ function _h(e, t) {
11362
11401
  }
11363
11402
  return n < e.length && r.push(e.slice(n)), r.join("");
11364
11403
  }
11365
- function vh(e) {
11404
+ function xh(e) {
11366
11405
  let t = [], n = 0;
11367
11406
  for (; n < e.length;) {
11368
11407
  let r = e.indexOf("«", n);
@@ -11382,13 +11421,13 @@ function vh(e) {
11382
11421
  }
11383
11422
  return t;
11384
11423
  }
11385
- function yh(e, t) {
11424
+ function Sh(e, t) {
11386
11425
  return e ? t.some((t) => e.start >= t.start && e.stop <= t.end) : !1;
11387
11426
  }
11388
- function bh(e, t) {
11389
- return yh(e, t);
11427
+ function Ch(e, t) {
11428
+ return Sh(e, t);
11390
11429
  }
11391
- function xh(e) {
11430
+ function wh(e) {
11392
11431
  if (!e.includes("«")) return e;
11393
11432
  let t = e.split(""), n = !1;
11394
11433
  for (let e = 0; e < t.length; e++) {
@@ -11407,10 +11446,10 @@ function xh(e) {
11407
11446
  }
11408
11447
  //#endregion
11409
11448
  //#region src/lib/text_parsers/action_citation_patterns.ts
11410
- function Sh(e) {
11449
+ function Th(e) {
11411
11450
  return `(?:${e.join("|")})`;
11412
11451
  }
11413
- var Ch = [
11452
+ var Eh = [
11414
11453
  "(?:à\\s+|de\\s+)?l[’']année",
11415
11454
  "(?:à\\s+|de\\s+)?la date",
11416
11455
  "(?:à\\s+|de\\s+)?la mention",
@@ -11428,7 +11467,7 @@ var Ch = [
11428
11467
  "(?:aux|des|les)\\s+nombres",
11429
11468
  "(?:aux|des|les)\\s+références",
11430
11469
  "le tableau intitulé"
11431
- ], wh = [
11470
+ ], Dh = [
11432
11471
  "l[’']année",
11433
11472
  "la date",
11434
11473
  "la mention",
@@ -11446,10 +11485,10 @@ var Ch = [
11446
11485
  "les mots",
11447
11486
  "les nombres",
11448
11487
  "les références"
11449
- ], Th = Sh(Ch), Eh = Sh(wh);
11488
+ ], Oh = Th(Eh), kh = Th(Dh);
11450
11489
  //#endregion
11451
11490
  //#region src/lib/text_parsers/action_directives.ts
11452
- function Dh(e) {
11491
+ function Ah(e) {
11453
11492
  return e.type === "reference_et_action" ? {
11454
11493
  action: e.action,
11455
11494
  reference: e.reference
@@ -11458,7 +11497,7 @@ function Dh(e) {
11458
11497
  reference: e
11459
11498
  };
11460
11499
  }
11461
- function Oh(e) {
11500
+ function jh(e) {
11462
11501
  let t = e.indices?.[0]?.[0] ?? e.index, n = /« ?(.*?) ?»/dg, r = [], i;
11463
11502
  for (; (i = n.exec(e[0])) !== null;) {
11464
11503
  let e = i.indices?.[1], n = i.indices?.[0];
@@ -11474,21 +11513,21 @@ function Oh(e) {
11474
11513
  }
11475
11514
  return r;
11476
11515
  }
11477
- var kh = x([
11478
- C(`${Th}s?`, { flags: "i" }),
11516
+ var Mh = x([
11517
+ C(`${Oh}s?`, { flags: "i" }),
11479
11518
  C(" ?: ?"),
11480
11519
  $
11481
- ], { value: (e) => e[2] }), Ah = x([
11482
- C(`${Eh}s?(?: suivant(?:e)?s?)?`, { flags: "i" }),
11520
+ ], { value: (e) => e[2] }), Nh = x([
11521
+ C(`${kh}s?(?: suivant(?:e)?s?)?`, { flags: "i" }),
11483
11522
  C(" ?: ?"),
11484
11523
  $
11485
- ], { value: (e) => e[2] }), jh = x([
11524
+ ], { value: (e) => e[2] }), Ph = x([
11486
11525
  b,
11487
- kh,
11526
+ Mh,
11488
11527
  S,
11489
11528
  T(C("est remplacée? par", { flags: "i" }), C("sont remplacée?s par", { flags: "i" })),
11490
11529
  S,
11491
- Ah
11530
+ Nh
11492
11531
  ], { value: (e) => ({
11493
11532
  action: {
11494
11533
  action: "remplacer",
@@ -11499,9 +11538,9 @@ var kh = x([
11499
11538
  replacementCitation: e[5],
11500
11539
  targetCitation: e[1]
11501
11540
  }
11502
- }) }), Mh = T(C(`(?:, ?| )(?:${Th}s? ?: ?« ?[^»]+ ?»(?: ?(?:,|et) ?)*)+(?:est|sont) (?:supprimée?s?|abrogée?s?)`, {
11541
+ }) }), Fh = T(C(`(?:, ?| )(?:${Oh}s? ?: ?« ?[^»]+ ?»(?: ?(?:,|et) ?)*)+(?:est|sont) (?:supprimée?s?|abrogée?s?)`, {
11503
11542
  flags: "di",
11504
- value: (e) => Oh(e).map((e) => ({
11543
+ value: (e) => jh(e).map((e) => ({
11505
11544
  action: {
11506
11545
  action: "supprimer",
11507
11546
  actionInContent: !0
@@ -11513,8 +11552,8 @@ var kh = x([
11513
11552
  }))
11514
11553
  }), x([
11515
11554
  b,
11516
- kh,
11517
- _([C("(?:, ?| et )"), kh], { value: (e) => e.map((e) => e[1]) }),
11555
+ Mh,
11556
+ _([C("(?:, ?| et )"), Mh], { value: (e) => e.map((e) => e[1]) }),
11518
11557
  S,
11519
11558
  T(C("est supprimée?", { flags: "i" }), C("sont supprimée?s", { flags: "i" }), C("est abrogée?", { flags: "i" }), C("sont abrogée?s", { flags: "i" }))
11520
11559
  ], { value: (e) => [e[1], ...e[2] ?? []].map((e) => ({
@@ -11526,9 +11565,9 @@ var kh = x([
11526
11565
  kind: "delete",
11527
11566
  targetCitation: e
11528
11567
  }
11529
- })) })), Nh = T(x([
11568
+ })) })), Ih = T(x([
11530
11569
  b,
11531
- Rm,
11570
+ Vm,
11532
11571
  S,
11533
11572
  C("(?:la référence|la mention|le mot|les mots|le signe)", { flags: "i" }),
11534
11573
  C(" ?: ?"),
@@ -11544,10 +11583,10 @@ var kh = x([
11544
11583
  },
11545
11584
  operation: {
11546
11585
  insertCitation: e[9],
11547
- kind: Bm(e[1]),
11586
+ kind: Um(e[1]),
11548
11587
  targetCitation: e[5]
11549
11588
  }
11550
- }) }), jh, Mh, x([
11589
+ }) }), Ph, Fh, x([
11551
11590
  b,
11552
11591
  T(C("est ainsi rédigée?", { flags: "i" }), C("sont ainsi rédigée?s", { flags: "i" }), C("est rédigée? (?:ainsi qu'il|comme) suit", { flags: "i" }), C("sont rédigée?s (?:ainsi qu'il|comme) suit", { flags: "i" })),
11553
11592
  C(" ?: ?"),
@@ -11562,27 +11601,27 @@ var kh = x([
11562
11601
  replacementCitation: e[3],
11563
11602
  replacementKind: "text"
11564
11603
  }
11565
- }) })), Ph = T(Nh, x([C(" et"), Nh], { value: (e) => e[1] })), Fh = w(T(x([
11604
+ }) })), Lh = T(Ih, x([C(" et"), Ih], { value: (e) => e[1] })), Rh = w(T(x([
11566
11605
  S,
11567
11606
  C("par", { flags: "i" }),
11568
11607
  S,
11569
- Ah
11608
+ Nh
11570
11609
  ], { value: (e) => ({
11571
11610
  citation: e[3],
11572
11611
  kind: "replace"
11573
- }) }), x([S, Ah], { value: (e) => ({
11612
+ }) }), x([S, Nh], { value: (e) => ({
11574
11613
  citation: e[1],
11575
11614
  kind: "insert"
11576
11615
  }) })), { default: null });
11577
- function Ih(e) {
11616
+ function zh(e) {
11578
11617
  return typeof e == "object" && !!e && "action" in e && "operation" in e;
11579
11618
  }
11580
- function Lh(e) {
11619
+ function Bh(e) {
11581
11620
  let t = [];
11582
- for (let n of e) Ih(n) ? t.push(n) : Array.isArray(n) && t.push(...Lh(n));
11621
+ for (let n of e) zh(n) ? t.push(n) : Array.isArray(n) && t.push(...Bh(n));
11583
11622
  return t;
11584
11623
  }
11585
- function Rh(e, t) {
11624
+ function Vh(e, t) {
11586
11625
  if (!e) return [];
11587
11626
  let n = e.originalCitations ?? [];
11588
11627
  if (e.action === "remplacer") {
@@ -11630,12 +11669,12 @@ function Rh(e, t) {
11630
11669
  }
11631
11670
  return [];
11632
11671
  }
11633
- var zh = i("après|avant|remplacée?s?|supprimée?s?|abrogée?s?|ins[eé]r[eé]e?s?|ajout[eé]e?s?|rédigée?s?", x([
11634
- Om,
11635
- Fh,
11636
- _(Ph, { value: (e) => Lh(e) })
11672
+ var Hh = i("après|avant|remplacée?s?|supprimée?s?|abrogée?s?|ins[eé]r[eé]e?s?|ajout[eé]e?s?|rédigée?s?", x([
11673
+ jm,
11674
+ Rh,
11675
+ _(Lh, { value: (e) => Bh(e) })
11637
11676
  ], { value: (e, t) => {
11638
- let { action: n, reference: r } = Dh(e[0]), i = [...Rh(n, e[1]), ...e[2] ?? []], a = n ?? i[0]?.action;
11677
+ let { action: n, reference: r } = Ah(e[0]), i = [...Vh(n, e[1]), ...e[2] ?? []], a = n ?? i[0]?.action;
11639
11678
  if (!(!a || i.length === 0)) return {
11640
11679
  action: a,
11641
11680
  operations: i.map(({ operation: e }) => e),
@@ -11643,7 +11682,7 @@ var zh = i("après|avant|remplacée?s?|supprimée?s?|abrogée?s?|ins[eé]r[eé]e
11643
11682
  reference: r,
11644
11683
  type: "action_directive"
11645
11684
  };
11646
- } }), 200), Bh = x([
11685
+ } }), 200), Uh = x([
11647
11686
  C("la\\s+fin\\s+de\\s+", { flags: "i" }),
11648
11687
  w(C("(?:la\\s+|l['’]\\s*)", { flags: "i" }), { default: "" }),
11649
11688
  T(C("phrase", {
@@ -11660,14 +11699,14 @@ var zh = i("après|avant|remplacée?s?|supprimée?s?|abrogée?s?|ins[eé]r[eé]e
11660
11699
  type: "tail_after_target",
11661
11700
  unit: e[2]
11662
11701
  }) });
11663
- function Vh(e) {
11702
+ function Wh(e) {
11664
11703
  if (e.type === "phrase") return "phrase";
11665
11704
  if (e.type === "alinéa") return "alinéa";
11666
11705
  if (e.type === "article") return "article";
11667
- if (e.type === "parent-enfant") return Vh(e.child);
11706
+ if (e.type === "parent-enfant") return Wh(e.child);
11668
11707
  }
11669
- function Hh(e) {
11670
- let t = Wm(e);
11708
+ function Gh(e) {
11709
+ let t = qm(e);
11671
11710
  if (!/\bla\s+fin\s+d/iu.test(t)) return null;
11672
11711
  let n = /\bla\s+fin\s+(?:de\s+la|d['’]?une|du|de\s+l['’]?|des)\s*[^,;.]*\bphrase\b/u.test(t) ? "phrase" : /\bla\s+fin\s+(?:de\s+la|d['’]?un|du|de\s+l['’]?|des)\s*[^,;.]*\balinea\b/u.test(t) ? "alinéa" : /\bla\s+fin\s+(?:de\s+l['’]?|d['’]?)article\b/u.test(t) ? "article" : void 0;
11673
11712
  return {
@@ -11677,10 +11716,10 @@ function Hh(e) {
11677
11716
  }
11678
11717
  //#endregion
11679
11718
  //#region src/lib/text_parsers/action_occurrences.ts
11680
- function Uh(e) {
11719
+ function Kh(e) {
11681
11720
  return e.replace(/\s+/gu, " ").trim().normalize("NFD").replace(/[\u0300-\u036f]/gu, "").replace(/[’‘]/gu, "'").toLowerCase();
11682
11721
  }
11683
- function Wh(e, t) {
11722
+ function qh(e, t) {
11684
11723
  let n = e.slice(0, Math.max(0, t)), r = RegExp(`\\b(${we})\\s+occurrence\\b`, "giu"), i = null, a;
11685
11724
  for (; (a = r.exec(n)) !== null;) {
11686
11725
  let e = be(a[1] ?? "");
@@ -11688,37 +11727,37 @@ function Wh(e, t) {
11688
11727
  }
11689
11728
  return i;
11690
11729
  }
11691
- function Gh(e) {
11692
- let t = Uh(e);
11693
- return /\b(?:derniere\s+occurrence|a\s+la\s+fin)\b/u.test(t) ? "last" : Wh(e, e.length) ?? void 0;
11730
+ function Jh(e) {
11731
+ let t = Kh(e);
11732
+ return /\b(?:derniere\s+occurrence|a\s+la\s+fin)\b/u.test(t) ? "last" : qh(e, e.length) ?? void 0;
11694
11733
  }
11695
11734
  //#endregion
11696
11735
  //#region src/lib/extractors/action_directives.ts
11697
- var Kh = "(?:(?:alinea|alineas|section|sous-section|paragraphe|sous-paragraphe|sous-sous-paragraphe|chapitre|titre|livre|partie)|(?:[ivxlcdm]+|[a-z]|\\d+\\s*°?)(?:\\s+(?:bis|ter|quater|quinquies|sexies|septies|octies|nonies|decies|undecies|duodecies))?)", qh = "(?:un|une|l['’]?|le|la)";
11698
- function Jh(e) {
11736
+ var Yh = "(?:(?:alinea|alineas|section|sous-section|paragraphe|sous-paragraphe|sous-sous-paragraphe|chapitre|titre|livre|partie)|(?:[ivxlcdm]+|[a-z]|\\d+\\s*°?)(?:\\s+(?:bis|ter|quater|quinquies|sexies|septies|octies|nonies|decies|undecies|duodecies))?)", Xh = "(?:un|une|l['’]?|le|la)";
11737
+ function Zh(e) {
11699
11738
  return /\b(?:les?|la|l['’]?)\s+(?:mots?|references?|mentions?|signes?|nombres?|montants?|taux|pourcentages?|dates?|annees?)\b/u.test(e);
11700
11739
  }
11701
- function Yh(e) {
11740
+ function Qh(e) {
11702
11741
  return /\b(?:une|la|les?)\s+phrases?\b/u.test(e);
11703
11742
  }
11704
- function Xh(e) {
11705
- return new RegExp(String.raw`\b(?:insere(?:e|es|s)?|ajoute(?:e|es|s)?|complete(?:e|es|s)?|retabli(?:e|es|s)?)\b[\s\S]{0,90}\b${qh}\s+${Kh}\b`, "u").test(e) ? !0 : new RegExp(String.raw`\b${qh}\s+${Kh}\b[\s\S]{0,90}\b(?:est|sont)\s+(?:ainsi\s+)?(?:insere(?:e|es|s)?|ajoute(?:e|es|s)?|complete(?:e|es|s)?|retabli(?:e|es|s)?)\b`, "u").test(e);
11743
+ function $h(e) {
11744
+ return new RegExp(String.raw`\b(?:insere(?:e|es|s)?|ajoute(?:e|es|s)?|complete(?:e|es|s)?|retabli(?:e|es|s)?)\b[\s\S]{0,90}\b${Xh}\s+${Yh}\b`, "u").test(e) ? !0 : new RegExp(String.raw`\b${Xh}\s+${Yh}\b[\s\S]{0,90}\b(?:est|sont)\s+(?:ainsi\s+)?(?:insere(?:e|es|s)?|ajoute(?:e|es|s)?|complete(?:e|es|s)?|retabli(?:e|es|s)?)\b`, "u").test(e);
11706
11745
  }
11707
- function Zh({ hasRedactionIntro: e, insertText: t, normalized: n }) {
11708
- if (!Jh(n) && !Yh(n) && (Xh(n) && /\balinea\b/u.test(n) || e && yp(t))) return "block";
11746
+ function eg({ hasRedactionIntro: e, insertText: t, normalized: n }) {
11747
+ if (!Zh(n) && !Qh(n) && ($h(n) && /\balinea\b/u.test(n) || e && yp(t))) return "block";
11709
11748
  }
11710
- function Qh({ hasRedactionIntro: e, normalized: t, replacementText: n }) {
11711
- if (!Yh(t) && (e && /\balineas?\b/u.test(t) || e && yp(n))) return "block";
11749
+ function tg({ hasRedactionIntro: e, normalized: t, replacementText: n }) {
11750
+ if (!Qh(t) && (e && /\balineas?\b/u.test(t) || e && yp(n))) return "block";
11712
11751
  }
11713
- function $h(e) {
11752
+ function ng(e) {
11714
11753
  let t = bp(e);
11715
11754
  return t ? t.restText : e;
11716
11755
  }
11717
- function eg(e) {
11718
- let t = $h(e);
11756
+ function rg(e) {
11757
+ let t = ng(e);
11719
11758
  return t === e ? e.replace(gp, "") : t;
11720
11759
  }
11721
- function tg(e) {
11760
+ function ig(e) {
11722
11761
  let t = e.split("\n"), n = [], r = 0;
11723
11762
  for (let e of t) {
11724
11763
  let t = r, i = t + e.length;
@@ -11730,10 +11769,10 @@ function tg(e) {
11730
11769
  }
11731
11770
  return n;
11732
11771
  }
11733
- function ng(e) {
11772
+ function ag(e) {
11734
11773
  return bp(e) !== void 0 || gp.test(e);
11735
11774
  }
11736
- function rg(e) {
11775
+ function og(e) {
11737
11776
  if (gp.test(e)) return {
11738
11777
  marker: "-",
11739
11778
  level: 5
@@ -11741,87 +11780,87 @@ function rg(e) {
11741
11780
  let t = bp(e);
11742
11781
  return t ? {
11743
11782
  marker: t.token,
11744
- level: ig(t.token)
11783
+ level: sg(t.token)
11745
11784
  } : null;
11746
11785
  }
11747
- function ig(e) {
11786
+ function sg(e) {
11748
11787
  let t = e.trim().split(/\s+/u)[0]?.replace(/[^\p{L}\p{N}]+/gu, "") ?? "";
11749
11788
  return /^\d+$/u.test(t) ? 2 : /^[ivxlcdm]+$/u.test(t) && (t.length > 1 || /^[ivx]$/u.test(t)) ? 4 : /^[a-z]$/u.test(t) ? 3 : vp(t) || /^[A-Z]$/u.test(t) ? 1 : 2;
11750
11789
  }
11751
- function ag(e) {
11790
+ function cg(e) {
11752
11791
  let t = [], n = e;
11753
11792
  for (;;) {
11754
- let e = rg(n);
11793
+ let e = og(n);
11755
11794
  if (!e) return t;
11756
11795
  t.push(e.marker);
11757
- let r = eg(n);
11796
+ let r = rg(n);
11758
11797
  if (r === n) return t;
11759
11798
  n = r.trimStart();
11760
11799
  }
11761
11800
  }
11762
- function og(e) {
11763
- let t = Wm(_h(e, gh(e)));
11801
+ function lg(e) {
11802
+ let t = qm(bh(e, yh(e)));
11764
11803
  return /(?:^|[;:.]\s*)(?:(?:il\s+)?est|sont)\s+(?:inseree?s?|ajoutee?s?)\s+(?:la\s+reference|la\s+mention|les\s+mots|le\s+mot|le\s+signe|les\s+references)?\s*:/.exec(t)?.index ?? null;
11765
11804
  }
11766
- function sg(e) {
11767
- let t = og(e);
11805
+ function ug(e) {
11806
+ let t = lg(e);
11768
11807
  if (t !== null) return t;
11769
11808
  for (let t = 0; t < e.length; t += 1) {
11770
11809
  let r = new n(e.slice(t));
11771
- if (_m(r) && r.offset > 0) return t;
11810
+ if (bm(r) && r.offset > 0) return t;
11772
11811
  }
11773
11812
  return null;
11774
11813
  }
11775
- function cg(e) {
11814
+ function dg(e) {
11776
11815
  return e.type === "reference_et_action" ? e.reference : e;
11777
11816
  }
11778
- function lg(e) {
11779
- return Fm(new n(e)).map(cg).find((e) => bt(e) === "article") || (__(e)?.reference ?? null);
11817
+ function fg(e) {
11818
+ return Rm(new n(e)).map(dg).find((e) => bt(e) === "article") || (x_(e)?.reference ?? null);
11780
11819
  }
11781
- function ug(e) {
11782
- let t = sg(e) ?? e.length, r = vh(e), i = Fm(new n(e)), a = i.flatMap((e) => Array.from(O(cg(e)))).filter((e) => e.type === "article" && e.position).map((e) => ({
11820
+ function pg(e) {
11821
+ let t = ug(e) ?? e.length, r = xh(e), i = Rm(new n(e)), a = i.flatMap((e) => Array.from(O(dg(e)))).filter((e) => e.type === "article" && e.position).map((e) => ({
11783
11822
  start: e.position.start,
11784
11823
  end: e.position.stop
11785
- })), o = i.map(cg).filter((e) => !bh(e.position, r) && !yh(e.position, a) && bt(e) !== "article" && (e.position?.start ?? 0) < t).sort((e, t) => (e.position?.start ?? 0) - (t.position?.start ?? 0)), s = e.slice(0, t).trimEnd(), c = ch(t_(s), 0) ?? ch(s, 0) ?? ch(s.replace(/\b(?:est|sont)\s*$/iu, "").trimEnd(), 0), l = c && !yh(c.position, a) ? c : null, u = o[0];
11786
- return u ? dh(u, l) : l;
11824
+ })), o = i.map(dg).filter((e) => !Ch(e.position, r) && !Sh(e.position, a) && bt(e) !== "article" && (e.position?.start ?? 0) < t).sort((e, t) => (e.position?.start ?? 0) - (t.position?.start ?? 0)), s = e.slice(0, t).trimEnd(), c = dh(a_(s), 0) ?? dh(s, 0) ?? dh(s.replace(/\b(?:est|sont)\s*$/iu, "").trimEnd(), 0), l = c && !Sh(c.position, a) ? c : null, u = o[0];
11825
+ return u ? mh(u, l) : l;
11787
11826
  }
11788
- function dg(e) {
11789
- let t = sg(e) ?? e.length, r = vh(e), i = Fm(new n(e)).map(cg).filter((e) => !bh(e.position, r) && (e.position?.start ?? 0) < t).sort((e, t) => (e.position?.start ?? 0) - (t.position?.start ?? 0));
11827
+ function mg(e) {
11828
+ let t = ug(e) ?? e.length, r = xh(e), i = Rm(new n(e)).map(dg).filter((e) => !Ch(e.position, r) && (e.position?.start ?? 0) < t).sort((e, t) => (e.position?.start ?? 0) - (t.position?.start ?? 0));
11790
11829
  return i.length === 0 ? null : i.find((e) => bt(e) !== "article") ?? null ?? i[0] ?? null;
11791
11830
  }
11792
- function fg(e) {
11793
- let t = [e, $h(e)].map((e) => e.trim()).filter((e, t, n) => e && n.indexOf(e) === t);
11831
+ function hg(e) {
11832
+ let t = [e, ng(e)].map((e) => e.trim()).filter((e, t, n) => e && n.indexOf(e) === t);
11794
11833
  for (let e of t) {
11795
- let t = sg(e) ?? e.length, n = ch(e, 0) ?? ph(e, { actionIndex: t }) ?? dg(e) ?? lg(e);
11834
+ let t = ug(e) ?? e.length, n = dh(e, 0) ?? gh(e, { actionIndex: t }) ?? mg(e) ?? fg(e);
11796
11835
  if (n) return n;
11797
11836
  }
11798
11837
  return null;
11799
11838
  }
11800
- function pg(e) {
11839
+ function gg(e) {
11801
11840
  return e?.toLowerCase().replace(/[.)]/g, "").trim();
11802
11841
  }
11803
- function mg(e, t) {
11804
- return !(e.type !== t.type || e.index !== void 0 && t.index !== void 0 && e.index !== t.index || e.num !== void 0 && t.num !== void 0 && pg(e.num) !== pg(t.num));
11842
+ function _g(e, t) {
11843
+ return !(e.type !== t.type || e.index !== void 0 && t.index !== void 0 && e.index !== t.index || e.num !== void 0 && t.num !== void 0 && gg(e.num) !== gg(t.num));
11805
11844
  }
11806
- function hg(e) {
11845
+ function vg(e) {
11807
11846
  let t = null;
11808
11847
  for (let n of O(e)) t = n;
11809
11848
  return t;
11810
11849
  }
11811
- function gg(e, t) {
11812
- return t && e.type === "parent-enfant" && mg(e.parent, t) ? e.child : e;
11850
+ function yg(e, t) {
11851
+ return t && e.type === "parent-enfant" && _g(e.parent, t) ? e.child : e;
11813
11852
  }
11814
- function _g(e, t) {
11853
+ function bg(e, t) {
11815
11854
  let n = null;
11816
11855
  for (let r of O(e)) r.type === t && r.relative === void 0 && (r.index === void 0 && r.num === void 0 || (n = r));
11817
11856
  return n;
11818
11857
  }
11819
- function vg(e, t) {
11858
+ function xg(e, t) {
11820
11859
  if (!t) return e;
11821
11860
  let n = structuredClone(e), r = (e) => {
11822
11861
  if (e.type !== "parent-enfant" && e.type !== "bounded-interval" && e.type !== "counted-interval" && e.type !== "enumeration" && e.type !== "exclusion" && e.type !== "reference_et_action") {
11823
11862
  if (e.relative === 0) {
11824
- let n = _g(t, e.type);
11863
+ let n = bg(t, e.type);
11825
11864
  n && (e.index = n.index, e.num = n.num, delete e.relative);
11826
11865
  }
11827
11866
  return;
@@ -11847,7 +11886,7 @@ function vg(e, t) {
11847
11886
  };
11848
11887
  return r(n), n;
11849
11888
  }
11850
- function yg(e) {
11889
+ function Sg(e) {
11851
11890
  let t = (e) => {
11852
11891
  if (e.type !== "parent-enfant" && e.type !== "bounded-interval" && e.type !== "counted-interval" && e.type !== "enumeration" && e.type !== "exclusion" && e.type !== "reference_et_action") return e.relative !== void 0;
11853
11892
  switch (e.type) {
@@ -11861,14 +11900,14 @@ function yg(e) {
11861
11900
  };
11862
11901
  return t(e);
11863
11902
  }
11864
- function bg(e) {
11903
+ function Cg(e) {
11865
11904
  let t = [], n = [];
11866
11905
  for (let r of e) {
11867
- if (!ng(r.text)) {
11906
+ if (!ag(r.text)) {
11868
11907
  n[n.length - 1]?.body.push(r);
11869
11908
  continue;
11870
11909
  }
11871
- let e = rg(r.text), i = e?.level ?? 0, a = {
11910
+ let e = og(r.text), i = e?.level ?? 0, a = {
11872
11911
  body: [],
11873
11912
  children: [],
11874
11913
  level: i,
@@ -11880,13 +11919,13 @@ function bg(e) {
11880
11919
  }
11881
11920
  return t;
11882
11921
  }
11883
- function xg(e, t) {
11922
+ function wg(e, t) {
11884
11923
  if (!e) return t;
11885
11924
  if (!t) return e;
11886
- let n = gg(t, hg(e));
11925
+ let n = yg(t, vg(e));
11887
11926
  return n.type === "article" || bt(n), mt(e, n);
11888
11927
  }
11889
- function Sg(e, t) {
11928
+ function Tg(e, t) {
11890
11929
  return {
11891
11930
  ...mt(e, t),
11892
11931
  position: {
@@ -11895,16 +11934,16 @@ function Sg(e, t) {
11895
11934
  }
11896
11935
  };
11897
11936
  }
11898
- function Cg(e) {
11899
- return [eg(e.line.text), ...e.body.map((e) => e.text)].join("\n").trim();
11937
+ function Eg(e) {
11938
+ return [rg(e.line.text), ...e.body.map((e) => e.text)].join("\n").trim();
11900
11939
  }
11901
- function wg(e) {
11940
+ function Dg(e) {
11902
11941
  return e.body[e.body.length - 1]?.end ?? e.line.end;
11903
11942
  }
11904
- function Tg(e) {
11943
+ function Og(e) {
11905
11944
  return (e ?? "").replace(/°/gu, "").replace(/\s+/gu, " ").trim();
11906
11945
  }
11907
- function Eg(e, t) {
11946
+ function kg(e, t) {
11908
11947
  let r = new n(e, t), i = te(r);
11909
11948
  return typeof i == "string" && r.offset > t ? {
11910
11949
  date: i,
@@ -11912,14 +11951,14 @@ function Eg(e, t) {
11912
11951
  stop: r.offset
11913
11952
  } : null;
11914
11953
  }
11915
- function Dg(e) {
11916
- let t = vh(e), n = [];
11954
+ function Ag(e) {
11955
+ let t = xh(e), n = [];
11917
11956
  for (let r = 0; r < e.length; r += 1) {
11918
11957
  let i = e[r];
11919
11958
  if (i === void 0 || !/\d/u.test(i)) continue;
11920
- let a = Eg(e, r);
11959
+ let a = kg(e, r);
11921
11960
  if (a) {
11922
- if (yh(a, t)) {
11961
+ if (Sh(a, t)) {
11923
11962
  r = Math.max(r, a.stop - 1);
11924
11963
  continue;
11925
11964
  }
@@ -11928,25 +11967,25 @@ function Dg(e) {
11928
11967
  }
11929
11968
  return n;
11930
11969
  }
11931
- function Og(e) {
11932
- return Wm(e).replace(/\s+/gu, " ");
11970
+ function jg(e) {
11971
+ return qm(e).replace(/\s+/gu, " ");
11933
11972
  }
11934
- function kg(e) {
11935
- let t = Og(e), n = /\b(?:entr(?:e|ent|era|eront)\s+en\s+vigueur|s['’]?\s*appli(?:que|quent)|est\s+applicable|sont\s+applicables?|applicables?)\b/giu, r = null, i;
11973
+ function Mg(e) {
11974
+ let t = jg(e), n = /\b(?:entr(?:e|ent|era|eront)\s+en\s+vigueur|s['’]?\s*appli(?:que|quent)|est\s+applicable|sont\s+applicables?|applicables?)\b/giu, r = null, i;
11936
11975
  for (; (i = n.exec(t)) !== null;) r = i;
11937
11976
  return r;
11938
11977
  }
11939
- function Ag(e, t) {
11940
- let n = Og(e.slice(0, t.start)), r = Og(e.slice(t.stop));
11941
- return !!(/\bau\s*$/u.test(n) && r.startsWith(",") || /\ba compter\s+(?:du|de la|de l['’]?|des)?\s*$/u.test(n) || /\babroge(?:e|es|s)?\s+a compter\s+(?:du|de la|de l['’]?|des)?\s*$/u.test(n) || kg(e.slice(0, t.start)));
11978
+ function Ng(e, t) {
11979
+ let n = jg(e.slice(0, t.start)), r = jg(e.slice(t.stop));
11980
+ return !!(/\bau\s*$/u.test(n) && r.startsWith(",") || /\ba compter\s+(?:du|de la|de l['’]?|des)?\s*$/u.test(n) || /\babroge(?:e|es|s)?\s+a compter\s+(?:du|de la|de l['’]?|des)?\s*$/u.test(n) || Mg(e.slice(0, t.start)));
11942
11981
  }
11943
- function jg(e) {
11944
- return Dg(e).find((t) => Ag(e, t))?.date;
11982
+ function Pg(e) {
11983
+ return Ag(e).find((t) => Ng(e, t))?.date;
11945
11984
  }
11946
- function Mg(e) {
11947
- return e.map((e) => Tg(e.num)).filter((e) => e.length > 0);
11985
+ function Fg(e) {
11986
+ return e.map((e) => Og(e.num)).filter((e) => e.length > 0);
11948
11987
  }
11949
- function Ng(e, t) {
11988
+ function Ig(e, t) {
11950
11989
  let n = e.at(-1), r = t.at(-1);
11951
11990
  if (!n || !r) return [e, t];
11952
11991
  let i = e.slice(0, -1), a = t.slice(0, -1);
@@ -11957,51 +11996,51 @@ function Ng(e, t) {
11957
11996
  for (let e = o; e <= s; e += 1) c.push([...i, String(e)]);
11958
11997
  return c;
11959
11998
  }
11960
- function Pg(e) {
11999
+ function Lg(e) {
11961
12000
  if (e.kind === "single") {
11962
- let t = Mg(e.steps);
12001
+ let t = Fg(e.steps);
11963
12002
  return t.length > 0 ? [t] : [];
11964
12003
  }
11965
- let t = Mg(e.first), n = Mg(e.last);
11966
- return t.length === 0 && n.length === 0 ? [] : Ng(t, n);
12004
+ let t = Fg(e.first), n = Fg(e.last);
12005
+ return t.length === 0 && n.length === 0 ? [] : Ig(t, n);
11967
12006
  }
11968
- function Fg(e) {
11969
- let t = Fm(new n(e)), r = [];
11970
- for (let e of t.map(cg)) {
12007
+ function Rg(e) {
12008
+ let t = Rm(new n(e)), r = [];
12009
+ for (let e of t.map(dg)) {
11971
12010
  if (e.type === "article" && e.present) {
11972
12011
  r.push([]);
11973
12012
  continue;
11974
12013
  }
11975
- for (let t of Rp(e)) r.push(...Pg(t));
12014
+ for (let t of Rp(e)) r.push(...Lg(t));
11976
12015
  }
11977
12016
  return r.filter((e, t, n) => n.findIndex((t) => t.join("\0") === e.join("\0")) === t);
11978
12017
  }
11979
- function Ig(e) {
12018
+ function zg(e) {
11980
12019
  let t = [], n = e.split(/(?<=[.;])\s+/u).map((e) => e.trim()).filter(Boolean);
11981
- for (let e of n) for (let n of Dg(e)) {
11982
- if (!Ag(e, n)) continue;
11983
- let r = kg(e.slice(0, n.start));
12020
+ for (let e of n) for (let n of Ag(e)) {
12021
+ if (!Ng(e, n)) continue;
12022
+ let r = Mg(e.slice(0, n.start));
11984
12023
  if (!r) continue;
11985
- let i = Fg(e.slice(0, r.index).trim());
12024
+ let i = Rg(e.slice(0, r.index).trim());
11986
12025
  if (i.length === 0) continue;
11987
12026
  t.push({
11988
12027
  date: n.date,
11989
12028
  paths: i
11990
12029
  });
11991
- let a = Lg(e.slice(n.stop), i);
12030
+ let a = Bg(e.slice(n.stop), i);
11992
12031
  t.push(...a);
11993
12032
  }
11994
12033
  return t;
11995
12034
  }
11996
- function Lg(e, t) {
12035
+ function Bg(e, t) {
11997
12036
  let n = /(?:^|[^\p{L}\p{N}_])(?:a|à)\s+l['’]exception\s+(.+?)(?:\bqui\b|\bentr(?:e|ent|era|eront)\s+en\s+vigueur\b)/iu.exec(e);
11998
12037
  if (!n) return [];
11999
12038
  let r = n.index + n[0].length, i = n[1]?.trim();
12000
12039
  if (!i) return [];
12001
- let a = Fg(i);
12040
+ let a = Rg(i);
12002
12041
  if (a.length === 0) return [];
12003
12042
  let o = [];
12004
- for (let n of Dg(e.slice(r))) {
12043
+ for (let n of Ag(e.slice(r))) {
12005
12044
  let e = n.date;
12006
12045
  o.push({
12007
12046
  date: e,
@@ -12012,44 +12051,44 @@ function Lg(e, t) {
12012
12051
  }
12013
12052
  return o;
12014
12053
  }
12015
- function Rg(e, t, n) {
12054
+ function Vg(e, t, n) {
12016
12055
  return [
12017
12056
  ...e,
12018
- Tg(t.marker),
12019
- ...ag(n).map(Tg)
12057
+ Og(t.marker),
12058
+ ...cg(n).map(Og)
12020
12059
  ].filter((e) => e.length > 0);
12021
12060
  }
12022
- function zg(e) {
12061
+ function Hg(e) {
12023
12062
  let t = [];
12024
- for (let n of e) t.push(...Ig(Cg(n))), t.push(...zg(n.children));
12063
+ for (let n of e) t.push(...zg(Eg(n))), t.push(...Hg(n.children));
12025
12064
  return t;
12026
12065
  }
12027
- function Bg(e, t) {
12066
+ function Ug(e, t) {
12028
12067
  return t.length > e.length ? !1 : t.every((t, n) => e[n] === t);
12029
12068
  }
12030
- function Vg(e, t) {
12069
+ function Wg(e, t) {
12031
12070
  if (t.length > e.length) return !1;
12032
12071
  let n = e.length - t.length;
12033
12072
  return t.every((t, r) => e[n + r] === t);
12034
12073
  }
12035
- function Hg(e, t, n) {
12036
- return n ? n.some((n) => Hg(e, n) ? Hg(e, Bg(e, n) ? [...n, ...t] : t) : !1) : t.length === 0 ? !0 : Bg(e, t) || Vg(e, t);
12074
+ function Gg(e, t, n) {
12075
+ return n ? n.some((n) => Gg(e, n) ? Gg(e, Ug(e, n) ? [...n, ...t] : t) : !1) : t.length === 0 ? !0 : Ug(e, t) || Wg(e, t);
12037
12076
  }
12038
- function Ug(e, t, n) {
12077
+ function Kg(e, t, n) {
12039
12078
  if (e.length === 0 || n.length === 0) return;
12040
12079
  let r = new Map(t.map((e) => [e.directive, e.sourcePath]));
12041
12080
  for (let t of e) {
12042
12081
  if (t.applicabilityDate) continue;
12043
12082
  let e = r.get(t) ?? [], i, a = -1;
12044
12083
  for (let t of n) for (let n of t.paths) {
12045
- if (!Hg(e, n, t.parentPaths)) continue;
12084
+ if (!Gg(e, n, t.parentPaths)) continue;
12046
12085
  let r = n.length + Math.max(0, ...t.parentPaths?.map((e) => e.length) ?? [0]);
12047
12086
  r > a && (i = t.date, a = r);
12048
12087
  }
12049
12088
  i && (t.applicabilityDate = i);
12050
12089
  }
12051
12090
  }
12052
- function Wg(e, t) {
12091
+ function qg(e, t) {
12053
12092
  if (!e) return t;
12054
12093
  if (!t) return e;
12055
12094
  let n = t.rowIndex ?? e.rowIndex, r = t.columnIndex ?? e.columnIndex;
@@ -12059,39 +12098,39 @@ function Wg(e, t) {
12059
12098
  ...r ? { columnIndex: r } : {}
12060
12099
  };
12061
12100
  }
12062
- function Gg(e) {
12101
+ function Jg(e) {
12063
12102
  return e !== void 0 && (e.rowIndex !== void 0 || e.columnIndex !== void 0);
12064
12103
  }
12065
- function Kg(e, t, n, r, i = [], a = []) {
12104
+ function Yg(e, t, n, r, i = [], a = []) {
12066
12105
  let o = [], s = t;
12067
12106
  for (let c of e) {
12068
- let e = eg(c.line.text), l = Rg(i, c, e), u = Cg(c);
12107
+ let e = rg(c.line.text), l = Vg(i, c, e), u = Eg(c);
12069
12108
  if (!u) continue;
12070
- let d = Wg(r, e_(u, r !== void 0)), f = fg(e), p = xg(t, f);
12071
- if (sg(u) === null) {
12109
+ let d = qg(r, i_(u, r !== void 0)), f = hg(e), p = wg(t, f);
12110
+ if (ug(u) === null) {
12072
12111
  if (c.children.length > 0) {
12073
- let e = p ?? t, r = Kg(c.children, e, n, d, l, a);
12112
+ let e = p ?? t, r = Yg(c.children, e, n, d, l, a);
12074
12113
  r.length > 0 && (o.push(...r), s = r[r.length - 1]?.reference ?? s);
12075
12114
  continue;
12076
12115
  }
12077
12116
  s = p ?? s;
12078
12117
  continue;
12079
12118
  }
12080
- let m = lg(u), h = xg(t, ug(u) ?? m ?? f) ?? m ?? p;
12119
+ let m = fg(u), h = wg(t, pg(u) ?? m ?? f) ?? m ?? p;
12081
12120
  if (!h) {
12082
12121
  if (c.children.length > 0) {
12083
- let e = Kg(c.children, p ?? t, n, d, l, a);
12122
+ let e = Yg(c.children, p ?? t, n, d, l, a);
12084
12123
  o.push(...e);
12085
12124
  }
12086
12125
  continue;
12087
12126
  }
12088
- h = vg(h, yg(h) ? s ?? t : t);
12089
- let g = g_({
12127
+ h = xg(h, Sg(h) ? s ?? t : t);
12128
+ let g = b_({
12090
12129
  action: { action: "modifier" },
12091
12130
  reference: h,
12092
12131
  sourcePosition: {
12093
12132
  start: c.line.start,
12094
- stop: wg(c)
12133
+ stop: Dg(c)
12095
12134
  },
12096
12135
  sourceText: u,
12097
12136
  fullText: n,
@@ -12099,7 +12138,7 @@ function Kg(e, t, n, r, i = [], a = []) {
12099
12138
  });
12100
12139
  if (!g) {
12101
12140
  if (s = h, c.children.length > 0) {
12102
- let e = Kg(c.children, p ?? h, n, d, l, a);
12141
+ let e = Yg(c.children, p ?? h, n, d, l, a);
12103
12142
  o.push(...e), s = e[e.length - 1]?.reference ?? s;
12104
12143
  }
12105
12144
  continue;
@@ -12115,19 +12154,19 @@ function Kg(e, t, n, r, i = [], a = []) {
12115
12154
  sourcePath: l
12116
12155
  });
12117
12156
  if (s = h, c.children.length > 0) {
12118
- let e = Kg(c.children, p ?? h, n, d, l, a);
12157
+ let e = Yg(c.children, p ?? h, n, d, l, a);
12119
12158
  e.length > 0 && (o.push(...e), s = e[e.length - 1]?.reference ?? s);
12120
12159
  }
12121
12160
  }
12122
- return h_(o);
12161
+ return y_(o);
12123
12162
  }
12124
- function qg(e) {
12125
- let t = tg(e), n = t.findIndex((e) => ng(e.text));
12163
+ function Xg(e) {
12164
+ let t = ig(e), n = t.findIndex((e) => ag(e.text));
12126
12165
  if (n === -1) return null;
12127
- let r = t.slice(0, n).reverse().map((e) => fg(e.text)).find((e) => e !== null) ?? null, i = bg(t.slice(n)), a = [], o = Kg(i, r, e, void 0, [], a);
12128
- return Ug(o, a, zg(i)), o.length > 0 ? o : null;
12166
+ let r = t.slice(0, n).reverse().map((e) => hg(e.text)).find((e) => e !== null) ?? null, i = Cg(t.slice(n)), a = [], o = Yg(i, r, e, void 0, [], a);
12167
+ return Kg(o, a, Hg(i)), o.length > 0 ? o : null;
12129
12168
  }
12130
- function Jg(e, t) {
12169
+ function Zg(e, t) {
12131
12170
  let n = e.indexOf("«");
12132
12171
  if (n === -1) return;
12133
12172
  let r = e.indexOf("»", n + 1);
@@ -12142,36 +12181,40 @@ function Jg(e, t) {
12142
12181
  }
12143
12182
  };
12144
12183
  }
12145
- function Yg(e) {
12146
- let t = Wm(e);
12184
+ function Qg(e) {
12185
+ let t = qm(e);
12147
12186
  return /\btableau\b/.test(t) && /\b(?:tableau|celui)\s+(?:suivant|ainsi\s+redigee?|ainsi\s+rediges|ainsi\s+redigees)\b/.test(t);
12148
12187
  }
12149
- function Xg(e) {
12150
- for (let t of tg(e)) {
12151
- if (!Yg(t.text)) continue;
12188
+ function $g(e) {
12189
+ for (let t of ig(e)) {
12190
+ if (!Qg(t.text)) continue;
12152
12191
  let e = t.text.indexOf(":");
12153
12192
  return e === -1 ? t.end : t.start + e + 1;
12154
12193
  }
12155
12194
  return null;
12156
12195
  }
12157
- function Zg(e, t) {
12158
- let n = Xg(e);
12159
- return n === null ? Jg(e, t) : Jg(e.slice(n), t + n);
12196
+ function e_(e, t) {
12197
+ let n = $g(e);
12198
+ return n === null ? Zg(e, t) : Zg(e.slice(n), t + n);
12199
+ }
12200
+ function t_(e, t) {
12201
+ return qh(e, t);
12160
12202
  }
12161
- function Qg(e, t) {
12162
- return Wh(e, t);
12203
+ function n_(e, t) {
12204
+ let n = gm(e, t);
12205
+ return n && n > 1 ? n : void 0;
12163
12206
  }
12164
- function $g(e, t) {
12207
+ function r_(e, t) {
12165
12208
  if (!Array.isArray(e) || e.length < 2 || t.length < e.length) return e;
12166
12209
  let n = e[0];
12167
12210
  return e.some((e) => JSON.stringify(e) !== JSON.stringify(n)) ? e : n;
12168
12211
  }
12169
- function e_(e, t = !1) {
12170
- let n = _h(e, gh(e)), r = Wm(n), i = /\btableau\b/.test(r);
12212
+ function i_(e, t = !1) {
12213
+ let n = bh(e, yh(e)), r = qm(n), i = /\btableau\b/.test(r);
12171
12214
  if (!i && !t) return;
12172
12215
  let a = (e) => {
12173
12216
  if (!e) return;
12174
- let t = e.replace(/^(?:a|à)\s+la\s+/iu, "").trim(), n = Wm(t);
12217
+ let t = e.replace(/^(?:a|à)\s+la\s+/iu, "").trim(), n = qm(t);
12175
12218
  if (/^derni(?:er|ere)s?\b/u.test(n)) return -1;
12176
12219
  let r = be(t);
12177
12220
  return r && r > 0 ? r : void 0;
@@ -12192,30 +12235,30 @@ function e_(e, t = !1) {
12192
12235
  let l = /\bla\s+(.+?)\s+ligne\b/iu.exec(n), u = /\bla\s+(.+?)\s+colonne\b/iu.exec(n);
12193
12236
  return o(a(l?.[1]), a(u?.[1])) || (i ? { type: "table" } : void 0);
12194
12237
  }
12195
- function t_(e) {
12238
+ function a_(e) {
12196
12239
  return e.replace(/(?:[,;:]\s*)?(?:(?:le|la|les|l['’])\s+)?(?:année|date|dispositions?|mention|montant|mot|mots|nombre|nombres|pourcentage|référence|références|signe|taux|texte|phrase|phrases|tableau)(?:\s+[^,;:]*)?\s*:?\s*$/iu, "").trimEnd();
12197
12240
  }
12198
- function n_(e) {
12241
+ function o_(e) {
12199
12242
  return e.replace(/(?:[,;:]\s*)?(?:(?:le|la|les|l['’])\s+)?(?:année|date|dispositions?|mention|montant|mot|mots|nombre|nombres|pourcentage|référence|références|signe|taux|texte|tableau)(?:\s+[^,;:]*)?\s*:?\s*$/iu, "").trimEnd();
12200
12243
  }
12201
- var r_ = [
12202
- i_("(?:la\\s+date\\s+d(?:u|e|[’']))"),
12203
- i_("(?:le\\s+montant\\s+d(?:e|[’']))"),
12204
- i_("(?:la\\s+référence\\s+à)")
12244
+ var s_ = [
12245
+ c_("(?:la\\s+date\\s+d(?:u|e|[’']))"),
12246
+ c_("(?:le\\s+montant\\s+d(?:e|[’']))"),
12247
+ c_("(?:la\\s+référence\\s+à)")
12205
12248
  ];
12206
- function i_(e) {
12249
+ function c_(e) {
12207
12250
  return new RegExp(String.raw`(?:^|[,;:]\s*)${e}\s+(?<target>.+?)\s+(?:est|sont)\s+remplac[eé]e?s?\s+par\s+${e}\s+(?<replacement>.+?)(?=\s*(?:[.;]|$))`, "iu");
12208
12251
  }
12209
- function a_(e) {
12252
+ function l_(e) {
12210
12253
  return e.replace(/\s+/gu, " ").replace(/\s+([,;])/gu, "$1").trim();
12211
12254
  }
12212
- function o_(e) {
12255
+ function u_(e) {
12213
12256
  if (e.includes("«") || e.includes("»")) return null;
12214
- for (let t of r_) {
12257
+ for (let t of s_) {
12215
12258
  let n = t.exec(e), r = n?.groups?.target, i = n?.groups?.replacement;
12216
12259
  if (!(!r || !i)) return {
12217
- targetText: a_(r),
12218
- replacementText: a_(i),
12260
+ targetText: l_(r),
12261
+ replacementText: l_(i),
12219
12262
  operandRange: {
12220
12263
  start: n.index,
12221
12264
  end: n.index + n[0].length
@@ -12224,19 +12267,25 @@ function o_(e) {
12224
12267
  }
12225
12268
  return null;
12226
12269
  }
12227
- function s_(e) {
12228
- let t = o_(e);
12270
+ function d_(e) {
12271
+ let t = u_(e);
12229
12272
  return t ? [t.operandRange] : [];
12230
12273
  }
12231
- function c_(e, t) {
12232
- return yh(e.position, t) ? !0 : Array.from(O(cg(e))).some((e) => yh(e.position, t));
12233
- }
12234
- function l_(e, t, n, r, i) {
12235
- let a = Wm(e), o = Wm(_h(e, r)), s = Gm(o, a), c = Km(o), l = qm(o), u = t.action === "rétablir" || Jm(o), d = Ym(o) || u, f = Xm(o), p = Zm(o), m = Yg(e), h = l ? "insert_before" : "insert_after", g = c ? Hh(o) : null, _ = f ? g : null, v = p ? g : null, y = ({ kind: e, targetText: t, insertText: n, expectsFollowingTable: r }) => {
12236
- let i = Zh({
12237
- hasRedactionIntro: s,
12274
+ function f_(e, t) {
12275
+ return Sh(e.position, t) ? !0 : Array.from(O(dg(e))).some((e) => Sh(e.position, t));
12276
+ }
12277
+ function p_(e, t, n, r, i, a) {
12278
+ let o = qm(e), s = qm(bh(e, i)), c = Jm(s, o), l = Ym(s), u = Xm(s), d = n.action === "rétablir" || Zm(s), f = Qm(s) || d, p = $m(s), m = eh(s), h = Qg(e), g = u ? "insert_before" : "insert_after", _ = l ? Gh(s) : null, v = p ? _ : null, y = m ? _ : null, ee = () => {
12279
+ let n = i[0]?.start;
12280
+ return (n === void 0 ? void 0 : n_(t, n)) ?? hm(e) ?? void 0;
12281
+ }, te = () => {
12282
+ let e = i[0]?.start;
12283
+ return (e === void 0 ? void 0 : t_(t, e)) ?? void 0;
12284
+ }, ne = ({ kind: e, targetText: t, insertText: n, expectsFollowingTable: r }) => {
12285
+ let i = eg({
12286
+ hasRedactionIntro: c,
12238
12287
  insertText: n,
12239
- normalized: a
12288
+ normalized: o
12240
12289
  });
12241
12290
  return {
12242
12291
  kind: e,
@@ -12246,131 +12295,141 @@ function l_(e, t, n, r, i) {
12246
12295
  ...r ? { expectsFollowingTable: r } : {}
12247
12296
  };
12248
12297
  };
12249
- if ((c || l) && d && p && i.length >= 3) {
12250
- let e = i.slice(0, -2), t = i.at(-2), n = i.at(-1);
12298
+ if ((l || u) && f && m && a.length >= 3) {
12299
+ let e = a.slice(0, -2), t = a.at(-2), n = a.at(-1);
12251
12300
  if (e.length > 0 && t && n) return [{
12252
12301
  kind: "delete",
12253
12302
  targetText: e[0],
12254
12303
  extraTargetTexts: e.slice(1)
12255
- }, y({
12256
- kind: h,
12304
+ }, ne({
12305
+ kind: g,
12257
12306
  targetText: t,
12258
12307
  insertText: n,
12259
- expectsFollowingTable: m
12308
+ expectsFollowingTable: h
12260
12309
  })];
12261
12310
  }
12262
- if (!c && !l && d && p && i.length >= 2 && /\best ajoutee?\s+une phrase\b|\bune phrase ainsi redigee\b/.test(a)) {
12263
- let e = i.slice(0, -1), t = i.at(-1);
12311
+ if (!l && !u && f && m && a.length >= 2 && /\best ajoutee?\s+une phrase\b|\bune phrase ainsi redigee\b/.test(o)) {
12312
+ let e = a.slice(0, -1), t = a.at(-1);
12264
12313
  if (e.length > 0 && t) return [{
12265
12314
  kind: "delete",
12266
12315
  targetText: e[0],
12267
12316
  extraTargetTexts: e.slice(1)
12268
- }, y({
12317
+ }, ne({
12269
12318
  kind: "insert_after",
12270
12319
  targetText: "",
12271
12320
  insertText: t,
12272
- expectsFollowingTable: m
12321
+ expectsFollowingTable: h
12273
12322
  })];
12274
12323
  }
12275
- if ((c || l) && d && f && i.length >= 4) {
12276
- let e = i.at(-2), t = i.at(-1);
12324
+ if ((l || u) && f && p && a.length >= 4) {
12325
+ let e = a.at(-2), t = a.at(-1);
12277
12326
  if (e && t) return [{
12278
12327
  kind: "replace",
12279
- targetText: i[0],
12280
- replacementText: i[1]
12281
- }, y({
12282
- kind: h,
12328
+ targetText: a[0],
12329
+ replacementText: a[1]
12330
+ }, ne({
12331
+ kind: g,
12283
12332
  targetText: e,
12284
12333
  insertText: t,
12285
- expectsFollowingTable: m
12334
+ expectsFollowingTable: h
12286
12335
  })];
12287
12336
  }
12288
- if (f && p && !d && i.length >= 3) {
12289
- let e = a.search(/\bremplace(?:e|es|s)?\b/u), t = a.search(/\bsupprime(?:e|es|s)?\b/u);
12337
+ if (p && m && !f && a.length >= 3) {
12338
+ let e = o.search(/\bremplace(?:e|es|s)?\b/u), t = o.search(/\bsupprime(?:e|es|s)?\b/u);
12290
12339
  if (e !== -1 && t !== -1 && e < t) return [{
12291
12340
  kind: "replace",
12292
- targetText: i[0],
12293
- replacementText: i[1],
12294
- ..._ ? { targetScope: _ } : {}
12341
+ targetText: a[0],
12342
+ replacementText: a[1],
12343
+ ...v ? { targetScope: v } : {}
12295
12344
  }, {
12296
12345
  kind: "delete",
12297
- targetText: i[2],
12298
- extraTargetTexts: i.slice(3),
12299
- ...v ? { targetScope: v } : {}
12346
+ targetText: a[2],
12347
+ extraTargetTexts: a.slice(3),
12348
+ ...y ? { targetScope: y } : {}
12300
12349
  }];
12301
- if (e !== -1 && t !== -1 && t < e && i.length >= 4) return [{
12350
+ if (e !== -1 && t !== -1 && t < e && a.length >= 4) return [{
12302
12351
  kind: "delete",
12303
- targetText: i[0],
12304
- extraTargetTexts: i.slice(1, -2),
12305
- ...v ? { targetScope: v } : {}
12352
+ targetText: a[0],
12353
+ extraTargetTexts: a.slice(1, -2),
12354
+ ...y ? { targetScope: y } : {}
12306
12355
  }, {
12307
12356
  kind: "replace",
12308
- targetText: i.at(-2) ?? "",
12309
- replacementText: i.at(-1) ?? "",
12310
- ..._ ? { targetScope: _ } : {}
12357
+ targetText: a.at(-2) ?? "",
12358
+ replacementText: a.at(-1) ?? "",
12359
+ ...v ? { targetScope: v } : {}
12311
12360
  }];
12312
12361
  }
12313
- let ee = o.match(/\bremplace(?:e|es|s)?\b/gu)?.length ?? 0;
12314
- if (f && !d && i.length >= 4 && i.length % 2 == 0 && ee >= 2) {
12362
+ let re = s.match(/\bremplace(?:e|es|s)?\b/gu)?.length ?? 0;
12363
+ if (p && !f && a.length >= 4 && a.length % 2 == 0 && re >= 2) {
12315
12364
  let e = [];
12316
- for (let t = 0; t < i.length; t += 2) e.push({
12365
+ for (let t = 0; t < a.length; t += 2) e.push({
12317
12366
  kind: "replace",
12318
- targetText: i[t],
12319
- replacementText: i[t + 1],
12320
- ..._ ? { targetScope: _ } : {}
12367
+ targetText: a[t],
12368
+ replacementText: a[t + 1],
12369
+ ...v ? { targetScope: v } : {}
12321
12370
  });
12322
12371
  return e;
12323
12372
  }
12324
- if (t.action === "supprimer" || p) return n === "article" && i.length === 0 ? { kind: "delete_article" } : i.length >= 1 ? {
12325
- kind: "delete",
12326
- targetText: i[0],
12327
- extraTargetTexts: i.slice(1),
12328
- ...v ? { targetScope: v } : {}
12329
- } : { kind: "delete_portion" };
12330
- if (f && /\bpar\s+(?:le|un)\s+tableau\s+(?:suivant|ainsi\s+redigee?|ainsi\s+rediges|ainsi\s+redigees)\b/.test(a)) return {
12373
+ if (n.action === "supprimer" || m) {
12374
+ if (r === "article" && a.length === 0) return { kind: "delete_article" };
12375
+ if (a.length >= 1) {
12376
+ let e = a.length === 1 ? ee() : void 0;
12377
+ return {
12378
+ kind: "delete",
12379
+ targetText: a[0],
12380
+ extraTargetTexts: a.slice(1),
12381
+ ...e ? { targetOccurrenceCount: e } : {},
12382
+ ...y ? { targetScope: y } : {}
12383
+ };
12384
+ }
12385
+ return { kind: "delete_portion" };
12386
+ }
12387
+ if (p && /\bpar\s+(?:le|un)\s+tableau\s+(?:suivant|ainsi\s+redigee?|ainsi\s+rediges|ainsi\s+redigees)\b/.test(o)) return {
12331
12388
  kind: "replace_portion",
12332
12389
  replacement: { type: "following_table" }
12333
12390
  };
12334
- if (f && !d && !p && i.length === 0) {
12335
- let t = o_(e);
12391
+ if (p && !f && !m && a.length === 0) {
12392
+ let t = u_(e);
12336
12393
  if (t) return {
12337
12394
  kind: "replace",
12338
12395
  targetText: t.targetText,
12339
12396
  replacementText: t.replacementText,
12340
- ..._ ? { targetScope: _ } : {}
12397
+ ...v ? { targetScope: v } : {}
12341
12398
  };
12342
12399
  }
12343
- if (f && i.length >= 2) {
12344
- let t = pm(e), n = {
12400
+ if (p && a.length >= 2) {
12401
+ let e = ee(), t = te();
12402
+ return {
12345
12403
  kind: "replace",
12346
- targetText: i[0],
12347
- replacementText: i[1],
12348
- ..._ ? { targetScope: _ } : {}
12404
+ targetText: a[0],
12405
+ replacementText: a[1],
12406
+ ...t ? { occurrenceIndex: t } : {},
12407
+ ...e ? { targetOccurrenceCount: e } : {},
12408
+ ...v ? { targetScope: v } : {}
12349
12409
  };
12350
- return t && t > 1 ? Array.from({ length: t }, () => n) : n;
12351
12410
  }
12352
- if (c && s && i.length >= 2 && g) return {
12411
+ if (l && c && a.length >= 2 && _) return {
12353
12412
  kind: "replace",
12354
- targetText: i[0],
12355
- replacementText: i[1],
12356
- targetScope: g
12413
+ targetText: a[0],
12414
+ replacementText: a[1],
12415
+ targetScope: _
12357
12416
  };
12358
- if (!d && i.length === 1 && s) {
12359
- let e = Qh({
12360
- hasRedactionIntro: s,
12361
- normalized: a,
12362
- replacementText: i[0]
12417
+ if (!f && a.length === 1 && c) {
12418
+ let e = tg({
12419
+ hasRedactionIntro: c,
12420
+ normalized: o,
12421
+ replacementText: a[0]
12363
12422
  });
12364
12423
  return {
12365
12424
  kind: "replace_portion",
12366
12425
  replacement: {
12367
12426
  type: "text",
12368
- text: i[0]
12427
+ text: a[0]
12369
12428
  },
12370
12429
  ...e ? { replacementLayout: e } : {}
12371
12430
  };
12372
12431
  }
12373
- if (d && m) return y(l ? {
12432
+ if (f && h) return ne(u ? {
12374
12433
  kind: "insert_before",
12375
12434
  targetText: "",
12376
12435
  insertText: "",
@@ -12381,42 +12440,42 @@ function l_(e, t, n, r, i) {
12381
12440
  insertText: "",
12382
12441
  expectsFollowingTable: !0
12383
12442
  });
12384
- if (d && i.length >= 2) {
12385
- if (c) return y({
12443
+ if (f && a.length >= 2) {
12444
+ if (l) return ne({
12386
12445
  kind: "insert_after",
12387
- targetText: i[0],
12388
- insertText: i[1],
12389
- expectsFollowingTable: m
12446
+ targetText: a[0],
12447
+ insertText: a[1],
12448
+ expectsFollowingTable: h
12390
12449
  });
12391
- if (l) return y({
12450
+ if (u) return ne({
12392
12451
  kind: "insert_before",
12393
- targetText: i[0],
12394
- insertText: i[1],
12395
- expectsFollowingTable: m
12452
+ targetText: a[0],
12453
+ insertText: a[1],
12454
+ expectsFollowingTable: h
12396
12455
  });
12397
12456
  }
12398
- return d && i.length === 1 ? y(c ? {
12457
+ return f && a.length === 1 ? ne(l ? {
12399
12458
  kind: "insert_after",
12400
12459
  targetText: "",
12401
- insertText: i[0],
12402
- expectsFollowingTable: m
12403
- } : l ? {
12460
+ insertText: a[0],
12461
+ expectsFollowingTable: h
12462
+ } : u ? {
12404
12463
  kind: "insert_before",
12405
12464
  targetText: "",
12406
- insertText: i[0],
12407
- expectsFollowingTable: m
12465
+ insertText: a[0],
12466
+ expectsFollowingTable: h
12408
12467
  } : {
12409
12468
  kind: "insert_after",
12410
12469
  targetText: "",
12411
- insertText: i[0],
12412
- expectsFollowingTable: m
12470
+ insertText: a[0],
12471
+ expectsFollowingTable: h
12413
12472
  }) : null;
12414
12473
  }
12415
- function u_(e) {
12416
- let t = Wm(e);
12474
+ function m_(e) {
12475
+ let t = qm(e);
12417
12476
  return /\bapres\b/.test(t) && /\bla\s+fin\s+(?:(?:de\s+l['’]?)|d['’]?|de|du|des)?\s*$/u.test(t);
12418
12477
  }
12419
- function d_(e) {
12478
+ function h_(e) {
12420
12479
  switch (e.kind) {
12421
12480
  case "insert_after":
12422
12481
  case "insert_before": return {
@@ -12432,6 +12491,8 @@ function d_(e) {
12432
12491
  targetText: e.targetText,
12433
12492
  replacementText: e.replacementText,
12434
12493
  replacement: e.replacement,
12494
+ ...e.occurrenceIndex === void 0 ? {} : { occurrenceIndex: e.occurrenceIndex },
12495
+ ...e.targetOccurrenceCount === void 0 ? {} : { targetOccurrenceCount: e.targetOccurrenceCount },
12435
12496
  ...e.targetScope ? { targetScope: e.targetScope } : {},
12436
12497
  ...e.tableTarget ? { tableTarget: e.tableTarget } : {}
12437
12498
  };
@@ -12448,6 +12509,7 @@ function d_(e) {
12448
12509
  targetText: e.targetText,
12449
12510
  ...e.targetScope ? { targetScope: e.targetScope } : {},
12450
12511
  ...e.occurrenceIndex === void 0 ? {} : { occurrenceIndex: e.occurrenceIndex },
12512
+ ...e.targetOccurrenceCount === void 0 ? {} : { targetOccurrenceCount: e.targetOccurrenceCount },
12451
12513
  ...e.tableTarget ? { tableTarget: e.tableTarget } : {}
12452
12514
  };
12453
12515
  case "delete_portion": return {
@@ -12457,11 +12519,11 @@ function d_(e) {
12457
12519
  case "delete_article": return { kind: "delete_article" };
12458
12520
  }
12459
12521
  }
12460
- function f_(e) {
12522
+ function g_(e) {
12461
12523
  let t = (t) => {
12462
12524
  let n = e[t];
12463
12525
  return typeof n == "string" ? n : "";
12464
- }, n = "targetScope" in e && e.targetScope ? e.targetScope.type : "", r = "occurrenceIndex" in e && e.occurrenceIndex !== void 0 ? String(e.occurrenceIndex) : "", i = "insertLayout" in e && e.insertLayout ? e.insertLayout : "", a = "replacementLayout" in e && e.replacementLayout ? e.replacementLayout : "";
12526
+ }, n = "targetScope" in e && e.targetScope ? e.targetScope.type : "", r = "occurrenceIndex" in e && e.occurrenceIndex !== void 0 ? String(e.occurrenceIndex) : "", i = "targetOccurrenceCount" in e && e.targetOccurrenceCount !== void 0 ? String(e.targetOccurrenceCount) : "", a = "insertLayout" in e && e.insertLayout ? e.insertLayout : "", o = "replacementLayout" in e && e.replacementLayout ? e.replacementLayout : "";
12465
12527
  return [
12466
12528
  e.kind,
12467
12529
  t("targetText"),
@@ -12470,10 +12532,11 @@ function f_(e) {
12470
12532
  n,
12471
12533
  r,
12472
12534
  i,
12473
- a
12535
+ a,
12536
+ o
12474
12537
  ].join("|");
12475
12538
  }
12476
- function p_(e, t, n) {
12539
+ function __(e, t, n) {
12477
12540
  return t.targetType === n.targetType && JSON.stringify(t.reference) === JSON.stringify(n.reference) && JSON.stringify(t.portionSelectors) === JSON.stringify(n.portionSelectors) ? e : {
12478
12541
  ...e,
12479
12542
  targetType: t.targetType,
@@ -12481,10 +12544,10 @@ function p_(e, t, n) {
12481
12544
  portionSelectors: t.portionSelectors
12482
12545
  };
12483
12546
  }
12484
- function m_(e, t) {
12485
- return (e.kind === "compound" ? e.operations : [d_(e)]).map((n) => p_(n, e, t));
12547
+ function v_(e, t) {
12548
+ return (e.kind === "compound" ? e.operations : [h_(e)]).map((n) => __(n, e, t));
12486
12549
  }
12487
- function h_(e) {
12550
+ function y_(e) {
12488
12551
  let t = [];
12489
12552
  for (let n = 0; n < e.length; n += 1) {
12490
12553
  let r = e[n];
@@ -12499,14 +12562,14 @@ function h_(e) {
12499
12562
  continue;
12500
12563
  }
12501
12564
  let o = i[0], s = [];
12502
- for (let [e, t] of i.entries()) for (let [n, r] of m_(t, o).entries()) s.push({
12565
+ for (let [e, t] of i.entries()) for (let [n, r] of v_(t, o).entries()) s.push({
12503
12566
  directiveIndex: e,
12504
12567
  operationIndex: n,
12505
12568
  operation: r
12506
12569
  });
12507
12570
  let c = /* @__PURE__ */ new Set(), l = [];
12508
12571
  for (let e = s.length - 1; e >= 0; --e) {
12509
- let t = s[e], n = f_(t.operation);
12572
+ let t = s[e], n = g_(t.operation);
12510
12573
  c.has(n) || (c.add(n), l.push(t));
12511
12574
  }
12512
12575
  l.sort((e, t) => e.directiveIndex - t.directiveIndex || e.operationIndex - t.operationIndex), t.push({
@@ -12525,14 +12588,14 @@ function h_(e) {
12525
12588
  }
12526
12589
  return t;
12527
12590
  }
12528
- function g_({ action: e, reference: t, sourcePosition: n, sourceText: r, fullText: i, tableTarget: a }) {
12529
- let o = e.target ?? bt(t), s = Rp(t), c = i && n.start < i.length ? i.slice(n.start) : r, l = i && n.start < i.length ? n.start : 0, u = i === r && n.start < r.length && !u_(r.slice(0, n.start)) ? r.slice(n.start) : r, d = gh(u), f = l_(r, e, o, d, d.map((e) => e.text));
12591
+ function b_({ action: e, reference: t, sourcePosition: n, sourceText: r, fullText: i, tableTarget: a }) {
12592
+ let o = e.target ?? bt(t), s = Rp(t), c = i && n.start < i.length ? i.slice(n.start) : r, l = i && n.start < i.length ? n.start : 0, u = i === r && n.start < r.length && !m_(r.slice(0, n.start)) ? r.slice(n.start) : r, d = yh(u), f = p_(r, u, e, o, d, d.map((e) => e.text));
12530
12593
  if (!f) return null;
12531
- let p = $g(f, s), m = jg(r), h = {
12594
+ let p = r_(f, s), m = Pg(r), h = {
12532
12595
  ...m ? { applicabilityDate: m } : {},
12533
12596
  sourcePosition: n,
12534
12597
  sourceText: r
12535
- }, g = Zg(c, l), _ = (e) => {
12598
+ }, g = e_(c, l), _ = (e) => {
12536
12599
  switch (e.kind) {
12537
12600
  case "insert_after":
12538
12601
  case "insert_before": return {
@@ -12548,6 +12611,8 @@ function g_({ action: e, reference: t, sourcePosition: n, sourceText: r, fullTex
12548
12611
  targetText: e.targetText,
12549
12612
  replacementText: e.replacementText,
12550
12613
  replacement: e.replacement,
12614
+ ...e.occurrenceIndex === void 0 ? {} : { occurrenceIndex: e.occurrenceIndex },
12615
+ ...e.targetOccurrenceCount === void 0 ? {} : { targetOccurrenceCount: e.targetOccurrenceCount },
12551
12616
  ...e.targetScope ? { targetScope: e.targetScope } : {},
12552
12617
  ...e.tableTarget ? { tableTarget: e.tableTarget } : {}
12553
12618
  };
@@ -12564,6 +12629,7 @@ function g_({ action: e, reference: t, sourcePosition: n, sourceText: r, fullTex
12564
12629
  targetText: e.targetText,
12565
12630
  ...e.targetScope ? { targetScope: e.targetScope } : {},
12566
12631
  ...e.occurrenceIndex === void 0 ? {} : { occurrenceIndex: e.occurrenceIndex },
12632
+ ...e.targetOccurrenceCount === void 0 ? {} : { targetOccurrenceCount: e.targetOccurrenceCount },
12567
12633
  ...e.tableTarget ? { tableTarget: e.tableTarget } : {}
12568
12634
  };
12569
12635
  case "delete_portion": return {
@@ -12591,7 +12657,7 @@ function g_({ action: e, reference: t, sourcePosition: n, sourceText: r, fullTex
12591
12657
  insertText: e.insertText,
12592
12658
  ...e.insertLayout ? { insertLayout: e.insertLayout } : {},
12593
12659
  ...e.expectsFollowingTable && g ? { citation: g } : {},
12594
- ...Gg(a) ? { tableTarget: a } : {},
12660
+ ...Jg(a) ? { tableTarget: a } : {},
12595
12661
  ...h
12596
12662
  };
12597
12663
  case "replace": return {
@@ -12605,8 +12671,10 @@ function g_({ action: e, reference: t, sourcePosition: n, sourceText: r, fullTex
12605
12671
  type: "text",
12606
12672
  text: e.replacementText
12607
12673
  },
12674
+ ...e.occurrenceIndex === void 0 ? {} : { occurrenceIndex: e.occurrenceIndex },
12675
+ ...e.targetOccurrenceCount === void 0 ? {} : { targetOccurrenceCount: e.targetOccurrenceCount },
12608
12676
  ...e.targetScope ? { targetScope: e.targetScope } : {},
12609
- ...Gg(a) ? { tableTarget: a } : {},
12677
+ ...Jg(a) ? { tableTarget: a } : {},
12610
12678
  ...h
12611
12679
  };
12612
12680
  case "replace_portion": return e.replacement.type === "following_table" && !g ? null : {
@@ -12618,11 +12686,11 @@ function g_({ action: e, reference: t, sourcePosition: n, sourceText: r, fullTex
12618
12686
  replacement: e.replacement,
12619
12687
  ...e.replacementLayout ? { replacementLayout: e.replacementLayout } : {},
12620
12688
  ...e.replacement.type === "following_table" && g ? { citation: g } : {},
12621
- ...Gg(a) ? { tableTarget: a } : {},
12689
+ ...Jg(a) ? { tableTarget: a } : {},
12622
12690
  ...h
12623
12691
  };
12624
12692
  case "delete": {
12625
- let n = d.map((e) => Qg(u, e.start)), r = /* @__PURE__ */ new Map();
12693
+ let n = d.map((e) => t_(u, e.start)), r = /* @__PURE__ */ new Map();
12626
12694
  for (let [e, t] of d.entries()) r.has(t.text) || r.set(t.text, n[e] ?? null);
12627
12695
  let i = [e.targetText, ...e.extraTargetTexts ?? []].filter((e) => e && e.trim().length > 0).filter((e, t, n) => n.indexOf(e) === t);
12628
12696
  return i.length > 1 ? v(i.map((t) => ({
@@ -12630,7 +12698,8 @@ function g_({ action: e, reference: t, sourcePosition: n, sourceText: r, fullTex
12630
12698
  targetText: t,
12631
12699
  ...e.targetScope ? { targetScope: e.targetScope } : {},
12632
12700
  occurrenceIndex: r.get(t) ?? void 0,
12633
- ...Gg(a) ? { tableTarget: a } : {}
12701
+ ...t === e.targetText && e.targetOccurrenceCount !== void 0 ? { targetOccurrenceCount: e.targetOccurrenceCount } : {},
12702
+ ...Jg(a) ? { tableTarget: a } : {}
12634
12703
  }))) : {
12635
12704
  kind: "delete",
12636
12705
  targetType: o,
@@ -12639,7 +12708,8 @@ function g_({ action: e, reference: t, sourcePosition: n, sourceText: r, fullTex
12639
12708
  targetText: e.targetText,
12640
12709
  ...e.targetScope ? { targetScope: e.targetScope } : {},
12641
12710
  occurrenceIndex: r.get(e.targetText) ?? void 0,
12642
- ...Gg(a) ? { tableTarget: a } : {},
12711
+ ...e.targetOccurrenceCount === void 0 ? {} : { targetOccurrenceCount: e.targetOccurrenceCount },
12712
+ ...Jg(a) ? { tableTarget: a } : {},
12643
12713
  ...h
12644
12714
  };
12645
12715
  }
@@ -12648,7 +12718,7 @@ function g_({ action: e, reference: t, sourcePosition: n, sourceText: r, fullTex
12648
12718
  targetType: o,
12649
12719
  reference: t,
12650
12720
  portionSelectors: s,
12651
- ...Gg(a) ? { tableTarget: a } : {},
12721
+ ...Jg(a) ? { tableTarget: a } : {},
12652
12722
  ...h
12653
12723
  };
12654
12724
  case "delete_article": return o === "article" ? {
@@ -12672,7 +12742,7 @@ function g_({ action: e, reference: t, sourcePosition: n, sourceText: r, fullTex
12672
12742
  }
12673
12743
  return y(p);
12674
12744
  }
12675
- function __(e) {
12745
+ function x_(e) {
12676
12746
  let t = /\barticle\s+([0-9]+(?:-[0-9]+)?(?:\s*[A-Z])?(?:\s+[a-z]+)?)\b/i.exec(e);
12677
12747
  if (!t || t.index === void 0) return null;
12678
12748
  let n = t.index, r = t.index + t[0].length;
@@ -12691,57 +12761,57 @@ function __(e) {
12691
12761
  }
12692
12762
  };
12693
12763
  }
12694
- function v_(e, t) {
12764
+ function S_(e, t) {
12695
12765
  let i = r(e).output;
12696
12766
  if (t.allowListExtraction) {
12697
- let e = qg(i);
12767
+ let e = Xg(i);
12698
12768
  if (e) return e;
12699
12769
  }
12700
- let a = vh(i), o = s_(i), s = xh(i), c = Fm(new n(i)), l = [...a, ...o];
12701
- if (l.length > 0 && (c = c.filter((e) => !c_(e, l))), c.length === 0 && (c = Fm(new n(s.split(",")[0] ?? s))), c.length === 0) {
12702
- let e = __(s);
12770
+ let a = xh(i), o = d_(i), s = wh(i), c = Rm(new n(i)), l = [...a, ...o];
12771
+ if (l.length > 0 && (c = c.filter((e) => !f_(e, l))), c.length === 0 && (c = Rm(new n(s.split(",")[0] ?? s))), c.length === 0) {
12772
+ let e = x_(s);
12703
12773
  e && (c = [{
12704
12774
  ...e.reference,
12705
12775
  position: e.position
12706
12776
  }]);
12707
12777
  }
12708
- let u = sg(s);
12778
+ let u = ug(s);
12709
12779
  if (c.length === 1 && c[0]?.type === "article") {
12710
- let e = ph(s, { actionIndex: u ?? s.length });
12780
+ let e = gh(s, { actionIndex: u ?? s.length });
12711
12781
  e && (c = [e]);
12712
12782
  }
12713
12783
  if (u !== null) {
12714
- let e = c.some((e) => bt(cg(e)) === "article"), t = c.some((e) => [...O(cg(e))].some((e) => e.type === "article")), n = s.slice(0, u), r = ch(t_(n), 0) ?? ch(n, 0), i = c.map(cg).sort((e, t) => lh(t) - lh(e) || uh(t) - uh(e))[0], a = dh(i ?? null, r);
12784
+ let e = c.some((e) => bt(dg(e)) === "article"), t = c.some((e) => [...O(dg(e))].some((e) => e.type === "article")), n = s.slice(0, u), r = dh(a_(n), 0) ?? dh(n, 0), i = c.map(dg).sort((e, t) => fh(t) - fh(e) || ph(t) - ph(e))[0], a = mh(i ?? null, r);
12715
12785
  if (!e && a && a === r && (c = [r]), !t) {
12716
12786
  let e = i, t = n.indexOf(":");
12717
12787
  if (t !== -1) {
12718
- let r = t + 1, i = ch(n_(n.slice(r)), r), a = i ? Rp(i) : [];
12719
- e && i && lh(e) > 0 && (a.length > 1 || a.some((e) => e.kind === "range")) && (c = [Sg(e, i)]);
12788
+ let r = t + 1, i = dh(o_(n.slice(r)), r), a = i ? Rp(i) : [];
12789
+ e && i && fh(e) > 0 && (a.length > 1 || a.some((e) => e.kind === "range")) && (c = [Tg(e, i)]);
12720
12790
  }
12721
12791
  }
12722
12792
  if (t) {
12723
- let e = c.map(cg).filter((e) => [...O(e)].some((e) => e.type === "article")).sort((e, t) => lh(t) - lh(e) || uh(t) - uh(e))[0], t = n.indexOf(":"), r = t === -1 ? 0 : t + 1, i = ch(n_(n.slice(r)), r), a = i ? Rp(i) : [];
12724
- t !== -1 && e && i && lh(e) > 0 && (a.length > 1 || a.some((e) => e.kind === "range")) && c.push(Sg(e, i));
12793
+ let e = c.map(dg).filter((e) => [...O(e)].some((e) => e.type === "article")).sort((e, t) => fh(t) - fh(e) || ph(t) - ph(e))[0], t = n.indexOf(":"), r = t === -1 ? 0 : t + 1, i = dh(o_(n.slice(r)), r), a = i ? Rp(i) : [];
12794
+ t !== -1 && e && i && fh(e) > 0 && (a.length > 1 || a.some((e) => e.kind === "range")) && c.push(Tg(e, i));
12725
12795
  }
12726
12796
  }
12727
12797
  let d = [];
12728
12798
  for (let e of c) {
12729
12799
  if (e.type === "reference_et_action") {
12730
- let t = e.position?.start ?? 0, n = i.lastIndexOf("\n", Math.max(0, t - 1)) + 1, r = u_(i.slice(n, t)) ? n : t, a = {
12800
+ let t = e.position?.start ?? 0, n = i.lastIndexOf("\n", Math.max(0, t - 1)) + 1, r = m_(i.slice(n, t)) ? n : t, a = {
12731
12801
  start: r,
12732
12802
  stop: i.length
12733
- }, o = i.slice(r), s = g_({
12803
+ }, o = i.slice(r), s = b_({
12734
12804
  action: e.action,
12735
12805
  reference: e.reference,
12736
12806
  sourcePosition: a,
12737
12807
  sourceText: o,
12738
12808
  fullText: i,
12739
- tableTarget: e_(o) ?? e_(i)
12809
+ tableTarget: i_(o) ?? i_(i)
12740
12810
  });
12741
12811
  s && (Array.isArray(s) ? d.push(...s) : d.push(s));
12742
12812
  continue;
12743
12813
  }
12744
- let t = g_({
12814
+ let t = b_({
12745
12815
  action: { action: "modifier" },
12746
12816
  reference: e,
12747
12817
  sourcePosition: e.position ?? {
@@ -12750,73 +12820,87 @@ function v_(e, t) {
12750
12820
  },
12751
12821
  sourceText: i,
12752
12822
  fullText: i,
12753
- tableTarget: e_(i)
12823
+ tableTarget: i_(i)
12754
12824
  });
12755
12825
  t && (Array.isArray(t) ? d.push(...t) : d.push(t));
12756
12826
  }
12757
12827
  if (d.length === 0) {
12758
- let e = __(s);
12828
+ let e = x_(s);
12759
12829
  if (e) {
12760
- let t = g_({
12830
+ let t = b_({
12761
12831
  action: { action: "modifier" },
12762
12832
  reference: e.reference,
12763
12833
  sourcePosition: e.position,
12764
12834
  sourceText: i,
12765
12835
  fullText: i,
12766
- tableTarget: e_(i)
12836
+ tableTarget: i_(i)
12767
12837
  });
12768
12838
  t && (Array.isArray(t) ? d.push(...t) : d.push(t));
12769
12839
  }
12770
12840
  }
12771
- return h_(d);
12841
+ return y_(d);
12772
12842
  }
12773
- function y_(e) {
12843
+ function C_(e) {
12774
12844
  let t = new n(r(e).output);
12775
- return [...zh.extract(t, { overlapWindow: 100 })];
12845
+ return [...Hh.extract(t, { overlapWindow: 100 })];
12846
+ }
12847
+ function w_(e) {
12848
+ return S_(e, { allowListExtraction: !0 });
12849
+ }
12850
+ var T_ = w_;
12851
+ function E_(e) {
12852
+ let t = qm(e);
12853
+ return t.includes("«") || t.includes("»") || !e.trim().endsWith(":") ? !1 : th(t);
12776
12854
  }
12777
- function b_(e) {
12778
- return v_(e, { allowListExtraction: !0 });
12855
+ function D_(e) {
12856
+ return e.trimStart().startsWith("«");
12857
+ }
12858
+ function O_(e) {
12859
+ return /»[.;]?\s*$/u.test(e);
12779
12860
  }
12780
- var x_ = b_;
12781
- function S_(e) {
12782
- let t = Wm(e);
12783
- return t.includes("«") || t.includes("»") || !e.trim().endsWith(":") ? !1 : Qm(t);
12861
+ function k_(e, t) {
12862
+ for (let n = t; n < e.length; n += 1) {
12863
+ let t = ng(e[n]).trim();
12864
+ if (t.length > 0) return t;
12865
+ }
12784
12866
  }
12785
- function C_(e, t) {
12867
+ function A_(e, t) {
12786
12868
  let n = [], r = !1, i = t + 1;
12787
12869
  for (; i < e.length;) {
12788
- let t = e[i], a = $h(t);
12870
+ let t = e[i], a = ng(t);
12789
12871
  if (!r && a.includes("«") && (r = !0), r) {
12790
- if (n.push(a), a.includes("»")) break;
12872
+ n.push(a);
12873
+ let t = k_(e, i + 1);
12874
+ if (O_(a) && (t === void 0 || !D_(t))) break;
12791
12875
  } else if (a.trim().length > 0) break;
12792
12876
  i += 1;
12793
12877
  }
12794
12878
  return !r || n.length === 0 ? null : {
12795
- combinedText: [$h(e[t]), ...n].join("\n"),
12879
+ combinedText: [ng(e[t]), ...n].join("\n"),
12796
12880
  endIndex: i
12797
12881
  };
12798
12882
  }
12799
- function w_(e) {
12883
+ function j_(e) {
12800
12884
  let t = a()(e).output.split("\n").map((e) => e.trim()).filter((e) => e.length > 0), n = [];
12801
12885
  for (let e = 0; e < t.length; e += 1) {
12802
12886
  let r = t[e];
12803
- if (S_(r)) {
12804
- let r = C_(t, e);
12887
+ if (E_(r)) {
12888
+ let r = A_(t, e);
12805
12889
  if (r) {
12806
- let t = b_(r.combinedText);
12890
+ let t = w_(r.combinedText);
12807
12891
  if (t.length > 0) {
12808
12892
  n.push(...t), e = r.endIndex;
12809
12893
  continue;
12810
12894
  }
12811
12895
  }
12812
12896
  }
12813
- let i = v_(r, { allowListExtraction: !1 });
12897
+ let i = S_(r, { allowListExtraction: !1 });
12814
12898
  i.length > 0 && n.push(...i);
12815
12899
  }
12816
12900
  return n;
12817
12901
  }
12818
- var T_ = w_, E_;
12819
- function D_(e) {
12902
+ var M_ = j_, N_;
12903
+ function P_(e) {
12820
12904
  return {
12821
12905
  dateDebut: e.dateDebut ?? "0001-01-01",
12822
12906
  dateFin: e.dateFin ?? "2999-01-01",
@@ -12825,7 +12909,7 @@ function D_(e) {
12825
12909
  textId: e.textId
12826
12910
  };
12827
12911
  }
12828
- function O_(e) {
12912
+ function F_(e) {
12829
12913
  let t = e["@id"];
12830
12914
  return t === void 0 ? null : {
12831
12915
  dateDebut: e["@debut"] ?? null,
@@ -12835,10 +12919,10 @@ function O_(e) {
12835
12919
  title: e["#text"] ?? null
12836
12920
  };
12837
12921
  }
12838
- function k_(e, t) {
12922
+ function I_(e, t) {
12839
12923
  return (e.dateDebut === null || e.dateDebut <= t) && (e.dateFin === null || e.dateFin >= t);
12840
12924
  }
12841
- var A_ = class extends ke {
12925
+ var L_ = class extends ke {
12842
12926
  canutesDb;
12843
12927
  articleRowsByNumByTextAndDate = /* @__PURE__ */ new Map();
12844
12928
  directSectionChildrenByParentAndDate = /* @__PURE__ */ new Map();
@@ -12863,7 +12947,7 @@ var A_ = class extends ke {
12863
12947
  WHERE
12864
12948
  data -> 'CONTEXTE' -> 'TEXTE' ->> '@cid' = ${n}
12865
12949
  AND num = ${t}
12866
- `).map(D_), this.articleRowsByNumByTextAndDate.set(r, i)), i;
12950
+ `).map(P_), this.articleRowsByNumByTextAndDate.set(r, i)), i;
12867
12951
  }
12868
12952
  async getDirectSectionChildren({ date: e, parentPath: t }) {
12869
12953
  let n = `${t}\0${e}`, r = this.directSectionChildrenByParentAndDate.get(n);
@@ -12877,7 +12961,7 @@ var A_ = class extends ke {
12877
12961
  SELECT data
12878
12962
  FROM legifrance.textelr
12879
12963
  WHERE id = ${t}
12880
- `)[0]?.data.STRUCT?.LIEN_SECTION_TA?.map(O_).filter((e) => e !== null).filter((t) => k_(t, e)) ?? [] : i.map(O_).filter((e) => e !== null).filter((t) => k_(t, e)), this.directSectionChildrenByParentAndDate.set(n, r);
12964
+ `)[0]?.data.STRUCT?.LIEN_SECTION_TA?.map(F_).filter((e) => e !== null).filter((t) => I_(t, e)) ?? [] : i.map(F_).filter((e) => e !== null).filter((t) => I_(t, e)), this.directSectionChildrenByParentAndDate.set(n, r);
12881
12965
  }
12882
12966
  return r;
12883
12967
  }
@@ -12920,7 +13004,7 @@ var A_ = class extends ke {
12920
13004
  FROM legifrance.article
12921
13005
  WHERE num = ${t}
12922
13006
  LIMIT 100
12923
- `).map(D_), this.globalArticleRowsByNumAndDate.set(n, r)), r;
13007
+ `).map(P_), this.globalArticleRowsByNumAndDate.set(n, r)), r;
12924
13008
  }
12925
13009
  async preloadTextTitlesInfos(e = {}) {
12926
13010
  let t = (t, n = {}) => {
@@ -12935,7 +13019,7 @@ var A_ = class extends ke {
12935
13019
  return;
12936
13020
  }
12937
13021
  let n = new xe("canutes.preloadTextTitlesInfos");
12938
- E_ === void 0 ? (t("queryTextTitlesInfos:start"), E_ = (async () => {
13022
+ N_ === void 0 ? (t("queryTextTitlesInfos:start"), N_ = (async () => {
12939
13023
  let e = await n.time("queryTextTitlesInfos", () => this.canutesDb`
12940
13024
  SELECT
12941
13025
  data -> 'META' -> 'META_SPEC' -> 'META_TEXTE_CHRONICLE' ->> 'CID' AS cid,
@@ -12965,8 +13049,8 @@ var A_ = class extends ke {
12965
13049
  `);
12966
13050
  t("queryTextTitlesInfos:done", { count: e.length }), t("buildTextTitlesInfos:start", { count: e.length }), await Ee(e, { onProgress: ({ count: e, phase: n }) => t(`buildTextTitlesInfos:${n}`, { count: e }) }), t("buildTextTitlesInfos:done", { count: e.length }), t("setTextTitlesInfos:done");
12967
13051
  })().catch((e) => {
12968
- throw E_ = void 0, e;
12969
- })) : t("waiting-for-shared-preload"), await E_, n.log(), this.textTitlesInfosLoaded = !0;
13052
+ throw N_ = void 0, e;
13053
+ })) : t("waiting-for-shared-preload"), await N_, n.log(), this.textTitlesInfosLoaded = !0;
12970
13054
  }
12971
13055
  async preloadUniqueActiveArticlesByNums({ date: e, nums: t }) {
12972
13056
  let n = [...new Set([...t].filter(Boolean))].filter((t) => !this.globalArticleRowsByNumAndDate.has(`${t}\0${e}`));
@@ -12980,7 +13064,7 @@ var A_ = class extends ke {
12980
13064
  data -> 'META' -> 'META_SPEC' -> 'META_ARTICLE' ->> 'DATE_FIN' AS "dateFin"
12981
13065
  FROM legifrance.article
12982
13066
  WHERE num IN ${this.canutesDb(n)}
12983
- `).map(D_), i = /* @__PURE__ */ new Map();
13067
+ `).map(P_), i = /* @__PURE__ */ new Map();
12984
13068
  for (let e of r) {
12985
13069
  if (e.num === null) continue;
12986
13070
  let t = i.get(e.num);
@@ -12991,15 +13075,15 @@ var A_ = class extends ke {
12991
13075
  };
12992
13076
  //#endregion
12993
13077
  //#region src/lib/extractors/links.ts
12994
- async function* j_({ canutesDb: e, context: t, date: n, legiResolver: r, logIgnoredReferencesTypes: i, logPartialReferences: a, logReferences: o, state: s, transformation: c }) {
12995
- let l = r ?? (e === void 0 ? void 0 : new A_(e));
13078
+ async function* R_({ canutesDb: e, context: t, date: n, legiResolver: r, logIgnoredReferencesTypes: i, logPartialReferences: a, logReferences: o, state: s, transformation: c }) {
13079
+ let l = r ?? (e === void 0 ? void 0 : new L_(e));
12996
13080
  if (l === void 0) throw Error("A Canutes database or legal resolver is required");
12997
13081
  let u = new xe("extractTextLinks"), d = {}, f = c === void 0 ? void 0 : _e(c), p = s === void 0 ? {} : structuredClone(s), m = u.timeSync("extractReferences", () => {
12998
13082
  let e = [];
12999
- for (let n of c === void 0 ? Mm(t) : Pm(t, c)) o && console.log(`In "${t.input.slice(n.position.start, n.position.stop)}": \nReference "${t.text(n.position)}": ${JSON.stringify(n, null, 2)}`), e.push(n);
13083
+ for (let n of c === void 0 ? Fm(t) : Lm(t, c)) o && console.log(`In "${t.input.slice(n.position.start, n.position.stop)}": \nReference "${t.text(n.position)}": ${JSON.stringify(n, null, 2)}`), e.push(n);
13000
13084
  return e;
13001
13085
  }, { inputSize: t.input.length }), h = performance.now();
13002
- for (let e of m) for (let n of B_(t, e)) {
13086
+ for (let e of m) for (let n of q_(t, e)) {
13003
13087
  let r = n.type === "parent-enfant" ? n.parent : n;
13004
13088
  switch (r.type) {
13005
13089
  case "alinéa":
@@ -13028,7 +13112,7 @@ async function* j_({ canutesDb: e, context: t, date: n, legiResolver: r, logIgno
13028
13112
  r.definition && p.textId === void 0 && a && console.log(`In "${t.input.slice(e.position.start, e.position.stop)}": Missing state.textId for division definition`);
13029
13113
  break;
13030
13114
  case "texte":
13031
- M_({
13115
+ z_({
13032
13116
  context: t,
13033
13117
  logPartialReferences: a,
13034
13118
  reference: e,
@@ -13044,14 +13128,14 @@ async function* j_({ canutesDb: e, context: t, date: n, legiResolver: r, logIgno
13044
13128
  phase: "collectDefinitionsAndTextState"
13045
13129
  });
13046
13130
  let g = /* @__PURE__ */ new Set();
13047
- for (let e of m) for (let t of z_(e, { citations: !0 })) g.add(t);
13048
- let _ = N_(t, m);
13131
+ for (let e of m) for (let t of K_(e, { citations: !0 })) g.add(t);
13132
+ let _ = B_(t, m);
13049
13133
  await u.time("preloadActiveArticlesByTextIds", () => l.preloadActiveArticlesByTextIds({
13050
13134
  date: n,
13051
13135
  nums: g,
13052
13136
  textIds: _
13053
13137
  }), { count: _.size });
13054
- let v = await u.time("collectUniqueFallbackArticleNums", () => P_({
13138
+ let v = await u.time("collectUniqueFallbackArticleNums", () => V_({
13055
13139
  context: t,
13056
13140
  date: n,
13057
13141
  legiResolver: l,
@@ -13064,7 +13148,7 @@ async function* j_({ canutesDb: e, context: t, date: n, legiResolver: r, logIgno
13064
13148
  nums: v
13065
13149
  }), { count: v.size }), p = s === void 0 ? {} : s;
13066
13150
  let y = 0, ee = performance.now();
13067
- for (let e of m) for await (let r of G_({
13151
+ for (let e of m) for await (let r of Q_({
13068
13152
  articleDefinitionByNumByTextId: d,
13069
13153
  legiResolver: l,
13070
13154
  context: t,
@@ -13081,7 +13165,7 @@ async function* j_({ canutesDb: e, context: t, date: n, legiResolver: r, logIgno
13081
13165
  phase: "iterReferenceLinks"
13082
13166
  }), u.log({ referenceCount: m.length });
13083
13167
  }
13084
- function M_({ context: e, logPartialReferences: t, reference: n, state: r, text: i }) {
13168
+ function z_({ context: e, logPartialReferences: t, reference: n, state: r, text: i }) {
13085
13169
  switch (i.nature) {
13086
13170
  case "ARRETE":
13087
13171
  case "CIRCULAIRE":
@@ -13152,17 +13236,17 @@ function M_({ context: e, logPartialReferences: t, reference: n, state: r, text:
13152
13236
  default: i.nature === void 0 ? delete r.textId : c("nature", i.nature);
13153
13237
  }
13154
13238
  }
13155
- function N_(e, t) {
13239
+ function B_(e, t) {
13156
13240
  let n = /* @__PURE__ */ new Set();
13157
- for (let r of t) for (let t of B_(e, r, { citations: !0 })) {
13241
+ for (let r of t) for (let t of q_(e, r, { citations: !0 })) {
13158
13242
  let e = t.type === "parent-enfant" ? t.parent : t;
13159
13243
  e.type === "texte" && e.cid !== void 0 ? n.add(e.cid) : e.type === "article" && e.implicitText?.cid !== void 0 && n.add(e.implicitText.cid);
13160
13244
  }
13161
13245
  return n;
13162
13246
  }
13163
- async function P_({ context: e, date: t, legiResolver: n, logPartialReferences: r, references: i, state: a }) {
13247
+ async function V_({ context: e, date: t, legiResolver: n, logPartialReferences: r, references: i, state: a }) {
13164
13248
  let o = /* @__PURE__ */ new Set();
13165
- for (let s of i) await F_({
13249
+ for (let s of i) await H_({
13166
13250
  articleNums: o,
13167
13251
  context: e,
13168
13252
  date: t,
@@ -13173,8 +13257,8 @@ async function P_({ context: e, date: t, legiResolver: n, logPartialReferences:
13173
13257
  });
13174
13258
  return o;
13175
13259
  }
13176
- async function F_({ articleNums: e, context: t, date: n, legiResolver: r, logPartialReferences: i, reference: a, state: o }) {
13177
- for (let s of B_(t, a)) await I_({
13260
+ async function H_({ articleNums: e, context: t, date: n, legiResolver: r, logPartialReferences: i, reference: a, state: o }) {
13261
+ for (let s of q_(t, a)) await U_({
13178
13262
  articleNums: e,
13179
13263
  atomicOrParentChildReference: s,
13180
13264
  context: t,
@@ -13189,7 +13273,7 @@ async function F_({ articleNums: e, context: t, date: n, legiResolver: r, logPar
13189
13273
  if (s !== void 0) {
13190
13274
  for (let a of s) if (a.references !== void 0) {
13191
13275
  let s = structuredClone(o);
13192
- for (let o of a.references) await F_({
13276
+ for (let o of a.references) await H_({
13193
13277
  articleNums: e,
13194
13278
  context: t,
13195
13279
  date: n,
@@ -13202,7 +13286,7 @@ async function F_({ articleNums: e, context: t, date: n, legiResolver: r, logPar
13202
13286
  }
13203
13287
  }
13204
13288
  }
13205
- async function I_({ articleNums: e, atomicOrParentChildReference: t, context: n, date: r, legiResolver: i, logPartialReferences: a, reference: o, state: s }) {
13289
+ async function U_({ articleNums: e, atomicOrParentChildReference: t, context: n, date: r, legiResolver: i, logPartialReferences: a, reference: o, state: s }) {
13206
13290
  let c = t.type === "parent-enfant" ? t.parent : t, l = t.type === "parent-enfant" ? t : void 0;
13207
13291
  switch (c.type) {
13208
13292
  case "alinéa":
@@ -13211,7 +13295,7 @@ async function I_({ articleNums: e, atomicOrParentChildReference: t, context: n,
13211
13295
  case "phrase": break;
13212
13296
  case "article":
13213
13297
  if (c.definition && s.textId !== void 0) break;
13214
- await L_({
13298
+ await W_({
13215
13299
  article: c,
13216
13300
  date: r,
13217
13301
  legiResolver: i,
@@ -13229,7 +13313,7 @@ async function I_({ articleNums: e, atomicOrParentChildReference: t, context: n,
13229
13313
  case "sous-titre":
13230
13314
  case "titre":
13231
13315
  if (c.definition && s.textId !== void 0) break;
13232
- l !== void 0 && await F_({
13316
+ l !== void 0 && await H_({
13233
13317
  articleNums: e,
13234
13318
  context: n,
13235
13319
  date: r,
@@ -13240,13 +13324,13 @@ async function I_({ articleNums: e, atomicOrParentChildReference: t, context: n,
13240
13324
  });
13241
13325
  break;
13242
13326
  case "texte":
13243
- M_({
13327
+ z_({
13244
13328
  context: n,
13245
13329
  logPartialReferences: a,
13246
13330
  reference: o,
13247
13331
  state: s,
13248
13332
  text: c
13249
- }), l !== void 0 && await F_({
13333
+ }), l !== void 0 && await H_({
13250
13334
  articleNums: e,
13251
13335
  context: n,
13252
13336
  date: r,
@@ -13259,7 +13343,7 @@ async function I_({ articleNums: e, atomicOrParentChildReference: t, context: n,
13259
13343
  default: break;
13260
13344
  }
13261
13345
  }
13262
- async function L_({ article: e, date: t, legiResolver: n, state: r }) {
13346
+ async function W_({ article: e, date: t, legiResolver: n, state: r }) {
13263
13347
  if (e.present || e.num === void 0) return !1;
13264
13348
  let i = e.implicitText?.cid ?? r.textId;
13265
13349
  return !(i !== void 0 && (await n.getActiveArticlesByTextAndNum({
@@ -13272,7 +13356,7 @@ async function L_({ article: e, date: t, legiResolver: n, state: r }) {
13272
13356
  textId: r.defaultTextId
13273
13357
  })).length > 0);
13274
13358
  }
13275
- async function* R_({ ancestors: e, article: t, legiResolver: n, context: r, date: i, logPartialReferences: a, originalPositionsFromTransformedIterator: o, reference: s, state: c }) {
13359
+ async function* G_({ ancestors: e, article: t, legiResolver: n, context: r, date: i, logPartialReferences: a, originalPositionsFromTransformedIterator: o, reference: s, state: c }) {
13276
13360
  if (t.present) return;
13277
13361
  let l = [], u = t.implicitText?.cid ?? c.textId;
13278
13362
  if (u !== void 0 && (l = await n.getActiveArticlesByTextAndNum({
@@ -13308,91 +13392,91 @@ async function* R_({ ancestors: e, article: t, legiResolver: n, context: r, date
13308
13392
  type: "external_article"
13309
13393
  }).filter(([, e]) => e !== void 0));
13310
13394
  }
13311
- function* z_(e, { citations: t = !1 } = {}) {
13395
+ function* K_(e, { citations: t = !1 } = {}) {
13312
13396
  switch (e.type) {
13313
13397
  case "article":
13314
13398
  e.num !== void 0 && (yield e.num);
13315
13399
  break;
13316
13400
  case "bounded-interval":
13317
- yield* z_(e.first, { citations: t }), yield* z_(e.last, { citations: t });
13401
+ yield* K_(e.first, { citations: t }), yield* K_(e.last, { citations: t });
13318
13402
  break;
13319
13403
  case "counted-interval":
13320
- yield* z_(e.first, { citations: t });
13404
+ yield* K_(e.first, { citations: t });
13321
13405
  break;
13322
13406
  case "enumeration":
13323
13407
  case "exclusion":
13324
- yield* z_(e.left, { citations: t }), yield* z_(e.right, { citations: t });
13408
+ yield* K_(e.left, { citations: t }), yield* K_(e.right, { citations: t });
13325
13409
  break;
13326
13410
  case "parent-enfant":
13327
- yield* z_(e.parent, { citations: t }), yield* z_(e.child, { citations: t });
13411
+ yield* K_(e.parent, { citations: t }), yield* K_(e.child, { citations: t });
13328
13412
  break;
13329
13413
  case "reference_et_action":
13330
- if (yield* z_(e.reference, { citations: t }), t) {
13414
+ if (yield* K_(e.reference, { citations: t }), t) {
13331
13415
  let { originalCitations: n } = e.action;
13332
13416
  if (n !== void 0) {
13333
- for (let e of n) if (e.references !== void 0) for (let n of e.references) yield* z_(n, { citations: t });
13417
+ for (let e of n) if (e.references !== void 0) for (let n of e.references) yield* K_(n, { citations: t });
13334
13418
  }
13335
13419
  }
13336
13420
  break;
13337
13421
  }
13338
13422
  }
13339
- function* B_(e, t, { citations: n = !1 } = {}) {
13423
+ function* q_(e, t, { citations: n = !1 } = {}) {
13340
13424
  switch (t.type) {
13341
13425
  case "bounded-interval":
13342
- yield* B_(e, t.first, { citations: n }), yield* B_(e, t.last, { citations: n });
13426
+ yield* q_(e, t.first, { citations: n }), yield* q_(e, t.last, { citations: n });
13343
13427
  break;
13344
13428
  case "counted-interval":
13345
- yield* B_(e, t.first, { citations: n });
13429
+ yield* q_(e, t.first, { citations: n });
13346
13430
  break;
13347
13431
  case "enumeration":
13348
13432
  case "exclusion":
13349
- yield* B_(e, t.left, { citations: n }), yield* B_(e, t.right, { citations: n });
13433
+ yield* q_(e, t.left, { citations: n }), yield* q_(e, t.right, { citations: n });
13350
13434
  break;
13351
13435
  case "reference_et_action":
13352
- if (yield* B_(e, t.reference, { citations: n }), n) {
13436
+ if (yield* q_(e, t.reference, { citations: n }), n) {
13353
13437
  let { originalCitations: r } = t.action;
13354
13438
  if (r !== void 0) {
13355
- for (let t of r) if (t.references !== void 0) for (let r of t.references) yield* B_(e, r, { citations: n });
13439
+ for (let t of r) if (t.references !== void 0) for (let r of t.references) yield* q_(e, r, { citations: n });
13356
13440
  }
13357
13441
  }
13358
13442
  break;
13359
13443
  default: yield t;
13360
13444
  }
13361
13445
  }
13362
- function* V_(e, t) {
13446
+ function* J_(e, t) {
13363
13447
  if (t.type === "texte") console.error(`iterDeepestDivisionsOrArticles must not be called with a text:\n${JSON.stringify(t, null, 2)}`);
13364
13448
  else if (dt(t) || t.type === "article") yield t;
13365
13449
  else if (!(ft(t) || t.type === "incomplete-header")) switch (t.type) {
13366
13450
  case "bounded-interval":
13367
- yield* V_(e, t.first), yield* V_(e, t.last);
13451
+ yield* J_(e, t.first), yield* J_(e, t.last);
13368
13452
  break;
13369
13453
  case "counted-interval":
13370
- yield* V_(e, t.first);
13454
+ yield* J_(e, t.first);
13371
13455
  break;
13372
13456
  case "enumeration":
13373
13457
  case "exclusion":
13374
- yield* V_(e, t.left), yield* V_(e, t.right);
13458
+ yield* J_(e, t.left), yield* J_(e, t.right);
13375
13459
  break;
13376
13460
  case "parent-enfant": {
13377
- let n = [...V_(e, t.child)];
13378
- n.length === 0 ? yield* V_(e, t.parent) : yield* n;
13461
+ let n = [...J_(e, t.child)];
13462
+ n.length === 0 ? yield* J_(e, t.parent) : yield* n;
13379
13463
  break;
13380
13464
  }
13381
13465
  case "reference_et_action": {
13382
- yield* V_(e, t.reference);
13466
+ yield* J_(e, t.reference);
13383
13467
  let { originalCitations: n } = t.action;
13384
13468
  if (n !== void 0) {
13385
- for (let t of n) if (t.references !== void 0) for (let n of t.references) yield* V_(e, n);
13469
+ for (let t of n) if (t.references !== void 0) for (let n of t.references) yield* J_(e, n);
13386
13470
  }
13387
13471
  break;
13388
13472
  }
13389
13473
  default: c("iterDeepestDivisionsOrArticles reference.type", t);
13390
13474
  }
13391
13475
  }
13392
- function H_(e) {
13476
+ function Y_(e) {
13393
13477
  return e?.split(":")[0].trim().toLowerCase().split(/\s+/).map((e) => e.trim()).filter((e) => e !== "").join(" ");
13394
13478
  }
13395
- async function* U_({ ancestors: e, legiResolver: t, context: n, date: r, division: i, divisionChildReference: a, logIgnoredReferencesTypes: o, logPartialReferences: s, originalPositionsFromTransformedIterator: c, parentSectionChildren: l, reference: u, state: d }) {
13479
+ async function* X_({ ancestors: e, legiResolver: t, context: n, date: r, division: i, divisionChildReference: a, logIgnoredReferencesTypes: o, logPartialReferences: s, originalPositionsFromTransformedIterator: c, parentSectionChildren: l, reference: u, state: d }) {
13396
13480
  if (i.present) return;
13397
13481
  let f;
13398
13482
  if (l === void 0 && d.textId !== void 0 && (l = await t.getDirectSectionChildren({
@@ -13400,20 +13484,20 @@ async function* U_({ ancestors: e, legiResolver: t, context: n, date: r, divisio
13400
13484
  parentPath: d.textId
13401
13485
  })), l !== void 0) {
13402
13486
  for (let e of l) {
13403
- let t = H_(e.title);
13487
+ let t = Y_(e.title);
13404
13488
  if (t !== void 0) {
13405
13489
  let n = !1;
13406
- if (i.index !== void 0 && (n = W_(i.type, i.index).some((e) => e === t)), !n && i.num !== void 0 && (n = `${i.type} ${i.num.toLowerCase()}` === t), n) {
13490
+ if (i.index !== void 0 && (n = Z_(i.type, i.index).some((e) => e === t)), !n && i.num !== void 0 && (n = `${i.type} ${i.num.toLowerCase()}` === t), n) {
13407
13491
  f = e;
13408
13492
  break;
13409
13493
  }
13410
13494
  }
13411
13495
  }
13412
13496
  if (f === void 0 && (f = l.find((e) => {
13413
- let t = H_(e.title)?.split(/\s+/);
13497
+ let t = Y_(e.title)?.split(/\s+/);
13414
13498
  return t !== void 0 && t.length === 2 && ot.includes(t[0]) && t[1] === "législative";
13415
13499
  }), f !== void 0)) {
13416
- let e = H_(f.title).split(/\s+/), t = {
13500
+ let e = Y_(f.title).split(/\s+/), t = {
13417
13501
  start: i.position.stop,
13418
13502
  stop: i.position.stop
13419
13503
  }, n = c === void 0 ? void 0 : v(c, t), r = Object.fromEntries(Object.entries({
@@ -13431,8 +13515,8 @@ async function* U_({ ancestors: e, legiResolver: t, context: n, date: r, divisio
13431
13515
  }).filter(([, e]) => e !== void 0)), i = r;
13432
13516
  }
13433
13517
  }
13434
- let p = a === void 0 ? [] : [...V_(n, a.child)], m = 0;
13435
- if (a !== void 0) for (let l of B_(n, a.child)) {
13518
+ let p = a === void 0 ? [] : [...J_(n, a.child)], m = 0;
13519
+ if (a !== void 0) for (let l of q_(n, a.child)) {
13436
13520
  let h = l.type === "parent-enfant" ? l.parent : l, g = l.type === "parent-enfant" ? l : void 0;
13437
13521
  switch (h.type) {
13438
13522
  case "alinéa":
@@ -13440,7 +13524,7 @@ async function* U_({ ancestors: e, legiResolver: t, context: n, date: r, divisio
13440
13524
  case "item":
13441
13525
  case "phrase": break;
13442
13526
  case "article":
13443
- yield* R_({
13527
+ yield* G_({
13444
13528
  ancestors: p.length === 1 ? [...e ?? [], i] : void 0,
13445
13529
  article: h,
13446
13530
  legiResolver: t,
@@ -13466,7 +13550,7 @@ async function* U_({ ancestors: e, legiResolver: t, context: n, date: r, divisio
13466
13550
  f !== void 0 && (a = await t.getDirectSectionChildren({
13467
13551
  date: r,
13468
13552
  parentPath: f.path
13469
- })), yield* U_({
13553
+ })), yield* X_({
13470
13554
  ancestors: p.length === 1 ? [...e ?? [], i] : void 0,
13471
13555
  legiResolver: t,
13472
13556
  context: n,
@@ -13504,7 +13588,7 @@ async function* U_({ ancestors: e, legiResolver: t, context: n, date: r, divisio
13504
13588
  }).filter(([, e]) => e !== void 0));
13505
13589
  }
13506
13590
  }
13507
- function* W_(e, t) {
13591
+ function* Z_(e, t) {
13508
13592
  let n = Math.floor(t), r = Math.floor((t - n) * 1e3);
13509
13593
  if (r === 0) {
13510
13594
  for (let t of re(n)) yield `${t.toLowerCase()} ${e}`;
@@ -13514,9 +13598,9 @@ function* W_(e, t) {
13514
13598
  for (let r of f(n)) yield `${e} ${t} ${r.toLowerCase()}`;
13515
13599
  }
13516
13600
  }
13517
- async function* G_({ articleDefinitionByNumByTextId: e, legiResolver: t, context: n, date: r, logIgnoredReferencesTypes: i, logPartialReferences: a, originalPositionsFromTransformedIterator: o, reference: s, state: c }) {
13601
+ async function* Q_({ articleDefinitionByNumByTextId: e, legiResolver: t, context: n, date: r, logIgnoredReferencesTypes: i, logPartialReferences: a, originalPositionsFromTransformedIterator: o, reference: s, state: c }) {
13518
13602
  let l = e ?? {}, u = c === void 0 ? {} : c;
13519
- for (let e of B_(n, s)) {
13603
+ for (let e of q_(n, s)) {
13520
13604
  let c = e.type === "parent-enfant" ? e.parent : e, d = e.type === "parent-enfant" ? e : void 0;
13521
13605
  switch (c.type) {
13522
13606
  case "alinéa":
@@ -13527,7 +13611,7 @@ async function* G_({ articleDefinitionByNumByTextId: e, legiResolver: t, context
13527
13611
  if (c.definition && u.textId !== void 0) {
13528
13612
  let e = l[u.textId]?.[c.num];
13529
13613
  e !== void 0 && (e.originalTransformation === void 0 && o !== void 0 && (e.originalTransformation = v(o, e.position)), yield e);
13530
- } else yield* R_({
13614
+ } else yield* G_({
13531
13615
  article: c,
13532
13616
  legiResolver: t,
13533
13617
  context: n,
@@ -13548,7 +13632,7 @@ async function* G_({ articleDefinitionByNumByTextId: e, legiResolver: t, context
13548
13632
  case "sous-sous-paragraphe":
13549
13633
  case "sous-titre":
13550
13634
  case "titre":
13551
- c.definition && u.textId !== void 0 || (yield* U_({
13635
+ c.definition && u.textId !== void 0 || (yield* X_({
13552
13636
  legiResolver: t,
13553
13637
  context: n,
13554
13638
  date: r,
@@ -13562,15 +13646,15 @@ async function* G_({ articleDefinitionByNumByTextId: e, legiResolver: t, context
13562
13646
  }));
13563
13647
  break;
13564
13648
  case "texte": {
13565
- M_({
13649
+ z_({
13566
13650
  context: n,
13567
13651
  logPartialReferences: a,
13568
13652
  reference: s,
13569
13653
  state: u,
13570
13654
  text: c
13571
13655
  });
13572
- let e = d === void 0 ? [] : [...V_(n, d.child)], l = 0;
13573
- if (d !== void 0) for (let f of B_(n, d.child)) {
13656
+ let e = d === void 0 ? [] : [...J_(n, d.child)], l = 0;
13657
+ if (d !== void 0) for (let f of q_(n, d.child)) {
13574
13658
  let p = f.type === "parent-enfant" ? f.parent : f, m = f.type === "parent-enfant" ? f : void 0;
13575
13659
  switch (p.type) {
13576
13660
  case "alinéa":
@@ -13578,7 +13662,7 @@ async function* G_({ articleDefinitionByNumByTextId: e, legiResolver: t, context
13578
13662
  case "item":
13579
13663
  case "phrase": break;
13580
13664
  case "article":
13581
- yield* R_({
13665
+ yield* G_({
13582
13666
  ancestors: e.length === 1 ? [c] : void 0,
13583
13667
  article: p,
13584
13668
  legiResolver: t,
@@ -13604,7 +13688,7 @@ async function* G_({ articleDefinitionByNumByTextId: e, legiResolver: t, context
13604
13688
  u.textId !== void 0 && (d = await t.getDirectSectionChildren({
13605
13689
  date: r,
13606
13690
  parentPath: u.textId
13607
- })), yield* U_({
13691
+ })), yield* X_({
13608
13692
  ancestors: e.length === 1 ? [c] : void 0,
13609
13693
  legiResolver: t,
13610
13694
  context: n,
@@ -13655,7 +13739,7 @@ async function* G_({ articleDefinitionByNumByTextId: e, legiResolver: t, context
13655
13739
  if (e !== void 0) {
13656
13740
  for (let s of e) if (s.references !== void 0) {
13657
13741
  let e = structuredClone(u);
13658
- for (let c of s.references) yield* G_({
13742
+ for (let c of s.references) yield* Q_({
13659
13743
  articleDefinitionByNumByTextId: l,
13660
13744
  legiResolver: t,
13661
13745
  context: n,
@@ -13672,13 +13756,13 @@ async function* G_({ articleDefinitionByNumByTextId: e, legiResolver: t, context
13672
13756
  }
13673
13757
  //#endregion
13674
13758
  //#region src/lib/extractors/table_of_contents.ts
13675
- function K_(e) {
13759
+ function $_(e) {
13676
13760
  let t = e;
13677
13761
  return t.items ?? [...t.articles ?? [], ...t.divisions ?? []];
13678
13762
  }
13679
- function* q_({ context: e, tableOfContents: t, transformation: n }) {
13763
+ function* ev({ context: e, tableOfContents: t, transformation: n }) {
13680
13764
  let r = 0, i = _e(n);
13681
- for (let n of Y_(t)) {
13765
+ for (let n of nv(t)) {
13682
13766
  let t = n.line.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), a = RegExp(`^${t}$`, "m");
13683
13767
  a.lastIndex = r;
13684
13768
  let o = a.exec(e.input);
@@ -13690,7 +13774,7 @@ function* q_({ context: e, tableOfContents: t, transformation: n }) {
13690
13774
  l.originalTransformation = c, l.position = s, yield l, r = s.stop;
13691
13775
  }
13692
13776
  }
13693
- function J_(e) {
13777
+ function tv(e) {
13694
13778
  let t = new n(e), r = { items: [] }, i = [];
13695
13779
  for (let e of Tn(t)) if (dt(e)) {
13696
13780
  let n = i.findIndex(({ type: t }) => t === e.type);
@@ -13708,14 +13792,14 @@ function J_(e) {
13708
13792
  else throw Error(`Unexpected type "${e.type}" in definition:\n${JSON.stringify(e, null, 2)}`);
13709
13793
  return r;
13710
13794
  }
13711
- function* Y_(e) {
13795
+ function* nv(e) {
13712
13796
  e.type !== void 0 && (yield e);
13713
- for (let t of K_(e)) t.type === "article" ? yield t : yield* Y_(t);
13797
+ for (let t of $_(e)) t.type === "article" ? yield t : yield* nv(t);
13714
13798
  }
13715
13799
  //#endregion
13716
13800
  //#region src/lib/links.ts
13717
- var X_ = ["Exploratrice", "Forgejo"];
13718
- function Z_(e, t, n) {
13801
+ var rv = ["Exploratrice", "Forgejo"];
13802
+ function iv(e, t, n) {
13719
13803
  let r = n.match(Ke);
13720
13804
  if (r === null) throw Error(`Unknown ID format: ${n}`);
13721
13805
  switch (e) {
@@ -13736,19 +13820,19 @@ function Z_(e, t, n) {
13736
13820
  }
13737
13821
  //#endregion
13738
13822
  //#region src/lib/linkers/html.ts
13739
- function Q_(e, t) {
13823
+ function av(e, t) {
13740
13824
  if (e !== void 0) return e;
13741
- if (t !== void 0) return new A_(t);
13825
+ if (t !== void 0) return new L_(t);
13742
13826
  throw Error("A Canutes database or legal resolver is required");
13743
13827
  }
13744
- function $_(e, t) {
13828
+ function ov(e, t) {
13745
13829
  return t.type === "reference_et_action" ? JSON.stringify({
13746
13830
  ...e,
13747
13831
  action: t.action
13748
13832
  }) : JSON.stringify(e);
13749
13833
  }
13750
- async function ev({ canutesDb: e, legiResolver: t, date: r, html: i, linkBaseUrl: o, linkType: s, logIgnoredReferencesTypes: l, logPartialReferences: u, logReferences: d, onLink: f, previousContext: p, state: m }) {
13751
- let h = new xe("addLinksToHtml"), g = Q_(t, e);
13834
+ async function sv({ canutesDb: e, legiResolver: t, date: r, html: i, linkBaseUrl: o, linkType: s, logIgnoredReferencesTypes: l, logPartialReferences: u, logReferences: d, onLink: f, previousContext: p, state: m }) {
13835
+ let h = new xe("addLinksToHtml"), g = av(t, e);
13752
13836
  await h.time("preloadTextTitlesInfos", () => g.preloadTextTitlesInfos());
13753
13837
  let _ = h.timeSync("simplifyHtml", () => a({ removeAWithHref: !0 })(i), {
13754
13838
  inputSize: i.length,
@@ -13757,7 +13841,7 @@ async function ev({ canutesDb: e, legiResolver: t, date: r, html: i, linkBaseUrl
13757
13841
  v.currentArticle = p?.currentArticle, v.currentText = p?.currentText;
13758
13842
  let y = [], ee = { value: 0 }, te = -1;
13759
13843
  await h.time("extractTextLinks", async () => {
13760
- for await (let e of j_({
13844
+ for await (let e of R_({
13761
13845
  legiResolver: g,
13762
13846
  context: v,
13763
13847
  date: r,
@@ -13770,7 +13854,7 @@ async function ev({ canutesDb: e, legiResolver: t, date: r, html: i, linkBaseUrl
13770
13854
  case "article_definition": {
13771
13855
  let { article: t, originalTransformation: n, textId: r } = e;
13772
13856
  if (n === void 0) throw Error(`Missing originalTransformation attribute in article definition: ${JSON.stringify(e, null, 2)}`);
13773
- nv({
13857
+ lv({
13774
13858
  inputHtml: i,
13775
13859
  originalTransformation: n,
13776
13860
  output: { replacements: y },
@@ -13783,12 +13867,12 @@ async function ev({ canutesDb: e, legiResolver: t, date: r, html: i, linkBaseUrl
13783
13867
  let { articleId: t, originalTransformation: n } = e;
13784
13868
  if (t !== void 0) {
13785
13869
  if (n === void 0) throw Error(`Missing originalTransformation attribute in external article link: ${JSON.stringify(e, null, 2)}`);
13786
- nv({
13870
+ lv({
13787
13871
  inputHtml: i,
13788
13872
  originalTransformation: n,
13789
13873
  output: { replacements: y },
13790
13874
  replacementCounter: ee,
13791
- tagHtmlFromOriginal: (e) => `<a class="lien_article_externe" href="${Z_(s, o, t)}">${e}</a>`
13875
+ tagHtmlFromOriginal: (e) => `<a class="lien_article_externe" href="${iv(s, o, t)}">${e}</a>`
13792
13876
  });
13793
13877
  }
13794
13878
  break;
@@ -13797,12 +13881,12 @@ async function ev({ canutesDb: e, legiResolver: t, date: r, html: i, linkBaseUrl
13797
13881
  let { originalTransformation: t, sectionTaId: n } = e;
13798
13882
  if (n !== void 0) {
13799
13883
  if (t === void 0) throw Error(`Missing originalTransformation attribute in external division link: ${JSON.stringify(e, null, 2)}`);
13800
- nv({
13884
+ lv({
13801
13885
  inputHtml: i,
13802
13886
  originalTransformation: t,
13803
13887
  output: { replacements: y },
13804
13888
  replacementCounter: ee,
13805
- tagHtmlFromOriginal: (e) => `<a class="lien_division_externe" href="${Z_(s, o, n)}">${e}</a>`
13889
+ tagHtmlFromOriginal: (e) => `<a class="lien_division_externe" href="${iv(s, o, n)}">${e}</a>`
13806
13890
  });
13807
13891
  }
13808
13892
  break;
@@ -13814,12 +13898,12 @@ async function ev({ canutesDb: e, legiResolver: t, date: r, html: i, linkBaseUrl
13814
13898
  continue;
13815
13899
  }
13816
13900
  if (t === void 0) throw Error(`Missing originalTransformation attribute in external text link: ${JSON.stringify(e, null, 2)}`);
13817
- nv({
13901
+ lv({
13818
13902
  inputHtml: i,
13819
13903
  originalTransformation: t,
13820
13904
  output: { replacements: y },
13821
13905
  replacementCounter: ee,
13822
- tagHtmlFromOriginal: (e) => `<a class="lien_texte_externe" href="${Z_(s, o, n.cid)}">${e}</a>`
13906
+ tagHtmlFromOriginal: (e) => `<a class="lien_texte_externe" href="${iv(s, o, n.cid)}">${e}</a>`
13823
13907
  });
13824
13908
  break;
13825
13909
  }
@@ -13827,7 +13911,7 @@ async function ev({ canutesDb: e, legiResolver: t, date: r, html: i, linkBaseUrl
13827
13911
  let { url: t, originalTransformation: n } = e;
13828
13912
  if (t === void 0) continue;
13829
13913
  if (n === void 0) throw Error(`Missing originalTransformation attribute in european text link: ${JSON.stringify(e, null, 2)}`);
13830
- nv({
13914
+ lv({
13831
13915
  inputHtml: i,
13832
13916
  originalTransformation: n,
13833
13917
  output: { replacements: y },
@@ -13839,7 +13923,7 @@ async function ev({ canutesDb: e, legiResolver: t, date: r, html: i, linkBaseUrl
13839
13923
  case "internal_article": {
13840
13924
  let { definition: t, originalTransformation: n } = e;
13841
13925
  if (n === void 0) throw Error(`Missing originalTransformation attribute in internal article link: ${JSON.stringify(e, null, 2)}`);
13842
- nv({
13926
+ lv({
13843
13927
  inputHtml: i,
13844
13928
  originalTransformation: n,
13845
13929
  output: { replacements: y },
@@ -13851,7 +13935,7 @@ async function ev({ canutesDb: e, legiResolver: t, date: r, html: i, linkBaseUrl
13851
13935
  default: c("Link", e);
13852
13936
  }
13853
13937
  }, { count: te + 1 });
13854
- let ne = h.timeSync("applyHtmlReplacements", () => tv(i, y), {
13938
+ let ne = h.timeSync("applyHtmlReplacements", () => cv(i, y), {
13855
13939
  count: y.length,
13856
13940
  inputSize: i.length
13857
13941
  });
@@ -13863,13 +13947,13 @@ async function ev({ canutesDb: e, legiResolver: t, date: r, html: i, linkBaseUrl
13863
13947
  output: y.length === 0 ? null : ne
13864
13948
  };
13865
13949
  }
13866
- function tv(e, t) {
13950
+ function cv(e, t) {
13867
13951
  if (t.length === 0) return e;
13868
13952
  let n = [], r = 0;
13869
13953
  for (let i of t.toSorted((e, t) => e.start - t.start || e.stop - t.stop || e.order - t.order)) i.start < r || (n.push(e.slice(r, i.start)), n.push(i.replacement), r = i.stop);
13870
13954
  return n.push(e.slice(r)), n.join("");
13871
13955
  }
13872
- function nv({ inputHtml: e, originalTransformation: t, output: n, replacementCounter: r, tagHtmlFromOriginal: i }) {
13956
+ function lv({ inputHtml: e, originalTransformation: t, output: n, replacementCounter: r, tagHtmlFromOriginal: i }) {
13873
13957
  let a = d(t, i(s(e, t, 0) ?? ""));
13874
13958
  n.replacements.push({
13875
13959
  order: r.value++,
@@ -13878,11 +13962,11 @@ function nv({ inputHtml: e, originalTransformation: t, output: n, replacementCou
13878
13962
  stop: t.position.stop
13879
13963
  });
13880
13964
  }
13881
- function rv({ attributes: e, inputHtml: t, originalTransformation: n, outputByType: r, replacementCounter: i }) {
13965
+ function uv({ attributes: e, inputHtml: t, originalTransformation: n, outputByType: r, replacementCounter: i }) {
13882
13966
  let a = Object.entries(e).map(([e, t]) => `${e}="${et(t, !0)}"`).join(" ");
13883
13967
  for (let e of ["links", "links_or_references"]) {
13884
13968
  let o = r[e];
13885
- o !== void 0 && nv({
13969
+ o !== void 0 && lv({
13886
13970
  inputHtml: t,
13887
13971
  originalTransformation: n,
13888
13972
  output: o,
@@ -13891,11 +13975,11 @@ function rv({ attributes: e, inputHtml: t, originalTransformation: n, outputByTy
13891
13975
  });
13892
13976
  }
13893
13977
  }
13894
- function iv({ id: e, outputByType: t }) {
13978
+ function dv({ id: e, outputByType: t }) {
13895
13979
  return t.references !== void 0 || e === void 0 && t.links_or_references !== void 0;
13896
13980
  }
13897
- async function av({ canutesDb: e, legiResolver: t, date: r, defaultTextId: i, htmlTransformation: a, inputHtml: o, linkBaseUrl: s, linkType: l, logIgnoredReferencesTypes: u, logPartialReferences: d, logReferences: f, outputTypes: p, referredLegifranceTextsInfos: m }) {
13898
- let h = Q_(t, e);
13981
+ async function fv({ canutesDb: e, legiResolver: t, date: r, defaultTextId: i, htmlTransformation: a, inputHtml: o, linkBaseUrl: s, linkType: l, logIgnoredReferencesTypes: u, logPartialReferences: d, logReferences: f, outputTypes: p, referredLegifranceTextsInfos: m }) {
13982
+ let h = av(t, e);
13899
13983
  await h.preloadTextTitlesInfos();
13900
13984
  let g = new n(a.output), _ = {}, v = {};
13901
13985
  for (let e of p) v[e] = {
@@ -13904,7 +13988,7 @@ async function av({ canutesDb: e, legiResolver: t, date: r, defaultTextId: i, ht
13904
13988
  replacements: []
13905
13989
  };
13906
13990
  let y = { value: 0 };
13907
- for await (let e of j_({
13991
+ for await (let e of R_({
13908
13992
  legiResolver: h,
13909
13993
  context: g,
13910
13994
  date: r,
@@ -13917,7 +14001,7 @@ async function av({ canutesDb: e, legiResolver: t, date: r, defaultTextId: i, ht
13917
14001
  case "article_definition": {
13918
14002
  let { article: t, originalTransformation: n, textId: r } = e;
13919
14003
  if (n === void 0) throw Error(`Missing originalTransformation attribute in article definition: ${JSON.stringify(e, null, 2)}`);
13920
- for (let e of Object.values(v)) nv({
14004
+ for (let e of Object.values(v)) lv({
13921
14005
  inputHtml: o,
13922
14006
  originalTransformation: n,
13923
14007
  output: e,
@@ -13929,10 +14013,10 @@ async function av({ canutesDb: e, legiResolver: t, date: r, defaultTextId: i, ht
13929
14013
  case "external_article": {
13930
14014
  let { article: t, articleId: n, originalTransformation: r } = e;
13931
14015
  if (r === void 0) throw Error(`Missing originalTransformation attribute in external article link: ${JSON.stringify(e, null, 2)}`);
13932
- if (n !== void 0 && (rv({
14016
+ if (n !== void 0 && (uv({
13933
14017
  attributes: {
13934
14018
  class: "lien_article_externe",
13935
- href: Z_(l, s, n)
14019
+ href: iv(l, s, n)
13936
14020
  },
13937
14021
  inputHtml: o,
13938
14022
  originalTransformation: r,
@@ -13942,14 +14026,14 @@ async function av({ canutesDb: e, legiResolver: t, date: r, defaultTextId: i, ht
13942
14026
  let e = await h.getTextIdFromSegmentId(n);
13943
14027
  e != null && (_[e] = (_[e] ?? 0) + 1);
13944
14028
  }
13945
- iv({
14029
+ dv({
13946
14030
  id: n,
13947
14031
  outputByType: v
13948
- }) && ov({
14032
+ }) && pv({
13949
14033
  attributes: {
13950
14034
  class: "reference_article",
13951
14035
  style: "background-color: #eae462",
13952
- title: $_(t, e.reference)
14036
+ title: ov(t, e.reference)
13953
14037
  },
13954
14038
  id: n,
13955
14039
  inputHtml: o,
@@ -13962,10 +14046,10 @@ async function av({ canutesDb: e, legiResolver: t, date: r, defaultTextId: i, ht
13962
14046
  case "external_division": {
13963
14047
  let { division: t, originalTransformation: n, sectionTaId: r } = e;
13964
14048
  if (n === void 0) throw Error(`Missing originalTransformation attribute in external division link: ${JSON.stringify(e, null, 2)}`);
13965
- if (r !== void 0 && (rv({
14049
+ if (r !== void 0 && (uv({
13966
14050
  attributes: {
13967
14051
  class: "lien_division_externe",
13968
- href: Z_(l, s, r)
14052
+ href: iv(l, s, r)
13969
14053
  },
13970
14054
  inputHtml: o,
13971
14055
  originalTransformation: n,
@@ -13975,14 +14059,14 @@ async function av({ canutesDb: e, legiResolver: t, date: r, defaultTextId: i, ht
13975
14059
  let e = await h.getTextIdFromSegmentId(r);
13976
14060
  e != null && (_[e] = (_[e] ?? 0) + 1);
13977
14061
  }
13978
- iv({
14062
+ dv({
13979
14063
  id: r,
13980
14064
  outputByType: v
13981
- }) && ov({
14065
+ }) && pv({
13982
14066
  attributes: {
13983
14067
  class: "reference_division",
13984
14068
  style: "background-color: #eae462",
13985
- title: $_(t, e.reference)
14069
+ title: ov(t, e.reference)
13986
14070
  },
13987
14071
  id: r,
13988
14072
  inputHtml: o,
@@ -13995,7 +14079,7 @@ async function av({ canutesDb: e, legiResolver: t, date: r, defaultTextId: i, ht
13995
14079
  case "european_text": {
13996
14080
  let { url: t, originalTransformation: n, text: r, titleId: i } = e;
13997
14081
  if (n === void 0) throw Error(`Missing originalTransformation attribute in external text link: ${JSON.stringify(e, null, 2)}`);
13998
- rv({
14082
+ uv({
13999
14083
  attributes: {
14000
14084
  class: "lien_texte_european",
14001
14085
  href: t,
@@ -14005,14 +14089,14 @@ async function av({ canutesDb: e, legiResolver: t, date: r, defaultTextId: i, ht
14005
14089
  originalTransformation: n,
14006
14090
  outputByType: v,
14007
14091
  replacementCounter: y
14008
- }), iv({
14092
+ }), dv({
14009
14093
  id: i,
14010
14094
  outputByType: v
14011
- }) && ov({
14095
+ }) && pv({
14012
14096
  attributes: {
14013
14097
  class: "reference_texte",
14014
14098
  style: "background-color: #eae462",
14015
- title: $_(r, e.reference)
14099
+ title: ov(r, e.reference)
14016
14100
  },
14017
14101
  id: i,
14018
14102
  inputHtml: o,
@@ -14025,23 +14109,23 @@ async function av({ canutesDb: e, legiResolver: t, date: r, defaultTextId: i, ht
14025
14109
  case "external_text": {
14026
14110
  let { originalTransformation: t, text: n } = e;
14027
14111
  if (t === void 0) throw Error(`Missing originalTransformation attribute in external text link: ${JSON.stringify(e, null, 2)}`);
14028
- n.cid === void 0 ? !n.present && d && console.error(`Link to text "${g.text(n.position)}" without CID: ${JSON.stringify(n, null, 2)}`) : (rv({
14112
+ n.cid === void 0 ? !n.present && d && console.error(`Link to text "${g.text(n.position)}" without CID: ${JSON.stringify(n, null, 2)}`) : (uv({
14029
14113
  attributes: {
14030
14114
  class: "lien_texte_externe",
14031
- href: Z_(l, s, n.cid)
14115
+ href: iv(l, s, n.cid)
14032
14116
  },
14033
14117
  inputHtml: o,
14034
14118
  originalTransformation: t,
14035
14119
  outputByType: v,
14036
14120
  replacementCounter: y
14037
- }), m && (_[n.cid] = (_[n.cid] ?? 0) + 1)), iv({
14121
+ }), m && (_[n.cid] = (_[n.cid] ?? 0) + 1)), dv({
14038
14122
  id: n.cid,
14039
14123
  outputByType: v
14040
- }) && ov({
14124
+ }) && pv({
14041
14125
  attributes: {
14042
14126
  class: "reference_texte",
14043
14127
  style: "background-color: #eae462",
14044
- title: $_(n, e.reference)
14128
+ title: ov(n, e.reference)
14045
14129
  },
14046
14130
  id: n.cid,
14047
14131
  inputHtml: o,
@@ -14054,7 +14138,7 @@ async function av({ canutesDb: e, legiResolver: t, date: r, defaultTextId: i, ht
14054
14138
  case "internal_article": {
14055
14139
  let { definition: t, originalTransformation: n } = e;
14056
14140
  if (n === void 0) throw Error(`Missing originalTransformation attribute in internal article link: ${JSON.stringify(e, null, 2)}`);
14057
- for (let e of Object.values(v)) nv({
14141
+ for (let e of Object.values(v)) lv({
14058
14142
  inputHtml: o,
14059
14143
  originalTransformation: n,
14060
14144
  output: e,
@@ -14065,18 +14149,18 @@ async function av({ canutesDb: e, legiResolver: t, date: r, defaultTextId: i, ht
14065
14149
  }
14066
14150
  default: c("Link", e);
14067
14151
  }
14068
- for (let e of Object.values(v)) e.html = tv(o, e.replacements);
14152
+ for (let e of Object.values(v)) e.html = cv(o, e.replacements);
14069
14153
  return {
14070
14154
  outputByType: v,
14071
14155
  referredLegifranceTextCountByCid: _
14072
14156
  };
14073
14157
  }
14074
- function ov({ attributes: e, id: t, inputHtml: n, originalTransformation: r, outputByType: i, replacementCounter: a }) {
14158
+ function pv({ attributes: e, id: t, inputHtml: n, originalTransformation: r, outputByType: i, replacementCounter: a }) {
14075
14159
  let o = Object.entries(e).map(([e, t]) => `${e}="${et(t, !0)}"`).join(" ");
14076
14160
  for (let e of ["links_or_references", "references"]) {
14077
14161
  if (e === "links_or_references" && t !== void 0) continue;
14078
14162
  let s = i[e];
14079
- s !== void 0 && nv({
14163
+ s !== void 0 && lv({
14080
14164
  inputHtml: n,
14081
14165
  originalTransformation: r,
14082
14166
  output: s,
@@ -14086,4 +14170,4 @@ function ov({ attributes: e, id: t, inputHtml: n, originalTransformation: r, out
14086
14170
  }
14087
14171
  }
14088
14172
  //#endregion
14089
- export { Wp as $, Pm as A, O as At, lm as B, ft as Bt, Um as C, Rt as Ct, Lm as D, ht as Dt, Rm as E, mt as Et, km as F, rt as Ft, Kp as G, cm as H, lt as Ht, xm as I, it as It, Gp as J, qp as K, ym as L, at as Lt, Im as M, tt as Mt, Am as N, nt as Nt, jm as O, _t as Ot, Om as P, ot as Pt, bp as Q, _m as R, ut as Rt, Th as S, Dt as St, Bm as T, Ot as Tt, nm as U, ct as Ut, um as V, st as Vt, $ as W, Rp as X, jp as Y, yp as Z, Gh as _, qt as _t, q_ as a, wn as at, zh as b, Bt as bt, Y_ as c, fn as ct, A_ as d, rn as dt, dp as et, y_ as f, an as ft, b_ as g, Xt as gt, w_ as h, Qt as ht, Z_ as i, xn as it, Fm as j, xt as jt, Mm as k, D as kt, j_ as l, un as lt, x_ as m, sn as mt, ev as n, _n as nt, J_ as o, pn as ot, T_ as p, nn as pt, Yp as q, X_ as r, vn as rt, K_ as s, gn as st, av as t, Tn as tt, G_ as u, tn as ut, Bh as v, Jt as vt, zm as w, zt as wt, Eh as x, Vt as xt, Vh as y, Yt as yt, dm as z, dt as zt };
14173
+ export { Wp as $, Lm as A, O as At, dm as B, ft as Bt, Km as C, Rt as Ct, Bm as D, ht as Dt, Vm as E, mt as Et, Mm as F, rt as Ft, Kp as G, um as H, lt as Ht, wm as I, it as It, Gp as J, qp as K, Sm as L, at as Lt, zm as M, tt as Mt, Nm as N, nt as Nt, Pm as O, _t as Ot, jm as P, ot as Pt, bp as Q, bm as R, ut as Rt, Oh as S, Dt as St, Um as T, Ot as Tt, im as U, ct as Ut, fm as V, st as Vt, $ as W, Rp as X, jp as Y, yp as Z, Jh as _, qt as _t, ev as a, wn as at, Hh as b, Bt as bt, nv as c, fn as ct, L_ as d, rn as dt, dp as et, C_ as f, an as ft, w_ as g, Xt as gt, j_ as h, Qt as ht, iv as i, xn as it, Rm as j, xt as jt, Fm as k, D as kt, R_ as l, un as lt, T_ as m, sn as mt, sv as n, _n as nt, tv as o, pn as ot, M_ as p, nn as pt, Zp as q, rv as r, vn as rt, $_ as s, gn as st, fv as t, Tn as tt, Q_ as u, tn as ut, Uh as v, Jt as vt, Hm as w, zt as wt, kh as x, Vt as xt, Wh as y, Yt as yt, pm as z, dt as zt };