@ms-cloudpack/remote-cache 0.11.75 → 0.11.76

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.
@@ -6173,7 +6173,7 @@ var init_esm9 = __esm({
6173
6173
  }
6174
6174
  });
6175
6175
 
6176
- // ../../node_modules/.store/fast-xml-parser-npm-5.5.7-d3593c54f5/package/src/util.js
6176
+ // ../../node_modules/.store/fast-xml-parser-npm-5.7.1-94929a6c96/package/src/util.js
6177
6177
  function getAllMatches(string, regex) {
6178
6178
  const matches = [];
6179
6179
  let match = regex.exec(string);
@@ -6194,7 +6194,7 @@ function isExist(v) {
6194
6194
  }
6195
6195
  var nameStartChar, nameChar, nameRegexp, regexName, isName, DANGEROUS_PROPERTY_NAMES, criticalProperties;
6196
6196
  var init_util2 = __esm({
6197
- "../../node_modules/.store/fast-xml-parser-npm-5.5.7-d3593c54f5/package/src/util.js"() {
6197
+ "../../node_modules/.store/fast-xml-parser-npm-5.7.1-94929a6c96/package/src/util.js"() {
6198
6198
  "use strict";
6199
6199
  nameStartChar = ":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD";
6200
6200
  nameChar = nameStartChar + "\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040";
@@ -6222,7 +6222,7 @@ var init_util2 = __esm({
6222
6222
  }
6223
6223
  });
6224
6224
 
6225
- // ../../node_modules/.store/fast-xml-parser-npm-5.5.7-d3593c54f5/package/src/validator.js
6225
+ // ../../node_modules/.store/fast-xml-parser-npm-5.7.1-94929a6c96/package/src/validator.js
6226
6226
  function validate(xmlData, options) {
6227
6227
  options = Object.assign({}, defaultOptions, options);
6228
6228
  const tags2 = [];
@@ -6521,7 +6521,7 @@ function getPositionFromMatch(match) {
6521
6521
  }
6522
6522
  var defaultOptions, doubleQuote, singleQuote, validAttrStrRegxp;
6523
6523
  var init_validator = __esm({
6524
- "../../node_modules/.store/fast-xml-parser-npm-5.5.7-d3593c54f5/package/src/validator.js"() {
6524
+ "../../node_modules/.store/fast-xml-parser-npm-5.7.1-94929a6c96/package/src/validator.js"() {
6525
6525
  "use strict";
6526
6526
  init_util2();
6527
6527
  defaultOptions = {
@@ -6548,7 +6548,1501 @@ var init_validator = __esm({
6548
6548
  }
6549
6549
  });
6550
6550
 
6551
- // ../../node_modules/.store/fast-xml-parser-npm-5.5.7-d3593c54f5/package/src/xmlparser/OptionsBuilder.js
6551
+ // ../../node_modules/.store/@nodable-entities-npm-2.1.0-6eb9f06ac0/package/src/entities.js
6552
+ var BASIC_LATIN, LATIN_ACCENTS, LATIN_EXTENDED, GREEK, CYRILLIC, MATH, MATH_ADVANCED, ARROWS, SHAPES, PUNCTUATION, CURRENCY, FRACTIONS, MISC_SYMBOLS, ALL_ENTITIES, XML, COMMON_HTML;
6553
+ var init_entities = __esm({
6554
+ "../../node_modules/.store/@nodable-entities-npm-2.1.0-6eb9f06ac0/package/src/entities.js"() {
6555
+ BASIC_LATIN = {
6556
+ amp: "&",
6557
+ AMP: "&",
6558
+ lt: "<",
6559
+ LT: "<",
6560
+ gt: ">",
6561
+ GT: ">",
6562
+ quot: '"',
6563
+ QUOT: '"',
6564
+ apos: "'",
6565
+ lsquo: "\u2018",
6566
+ rsquo: "\u2019",
6567
+ ldquo: "\u201C",
6568
+ rdquo: "\u201D",
6569
+ lsquor: "\u201A",
6570
+ rsquor: "\u2019",
6571
+ ldquor: "\u201E",
6572
+ bdquo: "\u201E",
6573
+ comma: ",",
6574
+ period: ".",
6575
+ colon: ":",
6576
+ semi: ";",
6577
+ excl: "!",
6578
+ quest: "?",
6579
+ num: "#",
6580
+ dollar: "$",
6581
+ percent: "%",
6582
+ amp: "&",
6583
+ ast: "*",
6584
+ commat: "@",
6585
+ lowbar: "_",
6586
+ verbar: "|",
6587
+ vert: "|",
6588
+ sol: "/",
6589
+ bsol: "\\",
6590
+ lbrace: "{",
6591
+ rbrace: "}",
6592
+ lbrack: "[",
6593
+ rbrack: "]",
6594
+ lpar: "(",
6595
+ rpar: ")",
6596
+ nbsp: "\xA0",
6597
+ iexcl: "\xA1",
6598
+ cent: "\xA2",
6599
+ pound: "\xA3",
6600
+ curren: "\xA4",
6601
+ yen: "\xA5",
6602
+ brvbar: "\xA6",
6603
+ sect: "\xA7",
6604
+ uml: "\xA8",
6605
+ copy: "\xA9",
6606
+ COPY: "\xA9",
6607
+ ordf: "\xAA",
6608
+ laquo: "\xAB",
6609
+ not: "\xAC",
6610
+ shy: "\xAD",
6611
+ reg: "\xAE",
6612
+ REG: "\xAE",
6613
+ macr: "\xAF",
6614
+ deg: "\xB0",
6615
+ plusmn: "\xB1",
6616
+ sup2: "\xB2",
6617
+ sup3: "\xB3",
6618
+ acute: "\xB4",
6619
+ micro: "\xB5",
6620
+ para: "\xB6",
6621
+ middot: "\xB7",
6622
+ cedil: "\xB8",
6623
+ sup1: "\xB9",
6624
+ ordm: "\xBA",
6625
+ raquo: "\xBB",
6626
+ frac14: "\xBC",
6627
+ frac12: "\xBD",
6628
+ half: "\xBD",
6629
+ frac34: "\xBE",
6630
+ iquest: "\xBF",
6631
+ times: "\xD7",
6632
+ div: "\xF7",
6633
+ divide: "\xF7"
6634
+ };
6635
+ LATIN_ACCENTS = {
6636
+ Agrave: "\xC0",
6637
+ agrave: "\xE0",
6638
+ Aacute: "\xC1",
6639
+ aacute: "\xE1",
6640
+ Acirc: "\xC2",
6641
+ acirc: "\xE2",
6642
+ Atilde: "\xC3",
6643
+ atilde: "\xE3",
6644
+ Auml: "\xC4",
6645
+ auml: "\xE4",
6646
+ Aring: "\xC5",
6647
+ aring: "\xE5",
6648
+ AElig: "\xC6",
6649
+ aelig: "\xE6",
6650
+ Ccedil: "\xC7",
6651
+ ccedil: "\xE7",
6652
+ Egrave: "\xC8",
6653
+ egrave: "\xE8",
6654
+ Eacute: "\xC9",
6655
+ eacute: "\xE9",
6656
+ Ecirc: "\xCA",
6657
+ ecirc: "\xEA",
6658
+ Euml: "\xCB",
6659
+ euml: "\xEB",
6660
+ Igrave: "\xCC",
6661
+ igrave: "\xEC",
6662
+ Iacute: "\xCD",
6663
+ iacute: "\xED",
6664
+ Icirc: "\xCE",
6665
+ icirc: "\xEE",
6666
+ Iuml: "\xCF",
6667
+ iuml: "\xEF",
6668
+ ETH: "\xD0",
6669
+ eth: "\xF0",
6670
+ Ntilde: "\xD1",
6671
+ ntilde: "\xF1",
6672
+ Ograve: "\xD2",
6673
+ ograve: "\xF2",
6674
+ Oacute: "\xD3",
6675
+ oacute: "\xF3",
6676
+ Ocirc: "\xD4",
6677
+ ocirc: "\xF4",
6678
+ Otilde: "\xD5",
6679
+ otilde: "\xF5",
6680
+ Ouml: "\xD6",
6681
+ ouml: "\xF6",
6682
+ Oslash: "\xD8",
6683
+ oslash: "\xF8",
6684
+ Ugrave: "\xD9",
6685
+ ugrave: "\xF9",
6686
+ Uacute: "\xDA",
6687
+ uacute: "\xFA",
6688
+ Ucirc: "\xDB",
6689
+ ucirc: "\xFB",
6690
+ Uuml: "\xDC",
6691
+ uuml: "\xFC",
6692
+ Yacute: "\xDD",
6693
+ yacute: "\xFD",
6694
+ THORN: "\xDE",
6695
+ thorn: "\xFE",
6696
+ szlig: "\xDF",
6697
+ yuml: "\xFF",
6698
+ Yuml: "\u0178"
6699
+ };
6700
+ LATIN_EXTENDED = {
6701
+ Amacr: "\u0100",
6702
+ amacr: "\u0101",
6703
+ Abreve: "\u0102",
6704
+ abreve: "\u0103",
6705
+ Aogon: "\u0104",
6706
+ aogon: "\u0105",
6707
+ Cacute: "\u0106",
6708
+ cacute: "\u0107",
6709
+ Ccirc: "\u0108",
6710
+ ccirc: "\u0109",
6711
+ Cdot: "\u010A",
6712
+ cdot: "\u010B",
6713
+ Ccaron: "\u010C",
6714
+ ccaron: "\u010D",
6715
+ Dcaron: "\u010E",
6716
+ dcaron: "\u010F",
6717
+ Dstrok: "\u0110",
6718
+ dstrok: "\u0111",
6719
+ Emacr: "\u0112",
6720
+ emacr: "\u0113",
6721
+ Ecaron: "\u011A",
6722
+ ecaron: "\u011B",
6723
+ Edot: "\u0116",
6724
+ edot: "\u0117",
6725
+ Eogon: "\u0118",
6726
+ eogon: "\u0119",
6727
+ Gcirc: "\u011C",
6728
+ gcirc: "\u011D",
6729
+ Gbreve: "\u011E",
6730
+ gbreve: "\u011F",
6731
+ Gdot: "\u0120",
6732
+ gdot: "\u0121",
6733
+ Gcedil: "\u0122",
6734
+ Hcirc: "\u0124",
6735
+ hcirc: "\u0125",
6736
+ Hstrok: "\u0126",
6737
+ hstrok: "\u0127",
6738
+ Itilde: "\u0128",
6739
+ itilde: "\u0129",
6740
+ Imacr: "\u012A",
6741
+ imacr: "\u012B",
6742
+ Iogon: "\u012E",
6743
+ iogon: "\u012F",
6744
+ Idot: "\u0130",
6745
+ IJlig: "\u0132",
6746
+ ijlig: "\u0133",
6747
+ Jcirc: "\u0134",
6748
+ jcirc: "\u0135",
6749
+ Kcedil: "\u0136",
6750
+ kcedil: "\u0137",
6751
+ kgreen: "\u0138",
6752
+ Lacute: "\u0139",
6753
+ lacute: "\u013A",
6754
+ Lcedil: "\u013B",
6755
+ lcedil: "\u013C",
6756
+ Lcaron: "\u013D",
6757
+ lcaron: "\u013E",
6758
+ Lmidot: "\u013F",
6759
+ lmidot: "\u0140",
6760
+ Lstrok: "\u0141",
6761
+ lstrok: "\u0142",
6762
+ Nacute: "\u0143",
6763
+ nacute: "\u0144",
6764
+ Ncaron: "\u0147",
6765
+ ncaron: "\u0148",
6766
+ Ncedil: "\u0145",
6767
+ ncedil: "\u0146",
6768
+ ENG: "\u014A",
6769
+ eng: "\u014B",
6770
+ Omacr: "\u014C",
6771
+ omacr: "\u014D",
6772
+ Odblac: "\u0150",
6773
+ odblac: "\u0151",
6774
+ OElig: "\u0152",
6775
+ oelig: "\u0153",
6776
+ Racute: "\u0154",
6777
+ racute: "\u0155",
6778
+ Rcaron: "\u0158",
6779
+ rcaron: "\u0159",
6780
+ Rcedil: "\u0156",
6781
+ rcedil: "\u0157",
6782
+ Sacute: "\u015A",
6783
+ sacute: "\u015B",
6784
+ Scirc: "\u015C",
6785
+ scirc: "\u015D",
6786
+ Scedil: "\u015E",
6787
+ scedil: "\u015F",
6788
+ Scaron: "\u0160",
6789
+ scaron: "\u0161",
6790
+ Tcedil: "\u0162",
6791
+ tcedil: "\u0163",
6792
+ Tcaron: "\u0164",
6793
+ tcaron: "\u0165",
6794
+ Tstrok: "\u0166",
6795
+ tstrok: "\u0167",
6796
+ Utilde: "\u0168",
6797
+ utilde: "\u0169",
6798
+ Umacr: "\u016A",
6799
+ umacr: "\u016B",
6800
+ Ubreve: "\u016C",
6801
+ ubreve: "\u016D",
6802
+ Uring: "\u016E",
6803
+ uring: "\u016F",
6804
+ Udblac: "\u0170",
6805
+ udblac: "\u0171",
6806
+ Uogon: "\u0172",
6807
+ uogon: "\u0173",
6808
+ Wcirc: "\u0174",
6809
+ wcirc: "\u0175",
6810
+ Ycirc: "\u0176",
6811
+ ycirc: "\u0177",
6812
+ Zacute: "\u0179",
6813
+ zacute: "\u017A",
6814
+ Zdot: "\u017B",
6815
+ zdot: "\u017C",
6816
+ Zcaron: "\u017D",
6817
+ zcaron: "\u017E"
6818
+ };
6819
+ GREEK = {
6820
+ Alpha: "\u0391",
6821
+ alpha: "\u03B1",
6822
+ Beta: "\u0392",
6823
+ beta: "\u03B2",
6824
+ Gamma: "\u0393",
6825
+ gamma: "\u03B3",
6826
+ Delta: "\u0394",
6827
+ delta: "\u03B4",
6828
+ Epsilon: "\u0395",
6829
+ epsilon: "\u03B5",
6830
+ epsiv: "\u03F5",
6831
+ varepsilon: "\u03F5",
6832
+ Zeta: "\u0396",
6833
+ zeta: "\u03B6",
6834
+ Eta: "\u0397",
6835
+ eta: "\u03B7",
6836
+ Theta: "\u0398",
6837
+ theta: "\u03B8",
6838
+ thetasym: "\u03D1",
6839
+ vartheta: "\u03D1",
6840
+ Iota: "\u0399",
6841
+ iota: "\u03B9",
6842
+ Kappa: "\u039A",
6843
+ kappa: "\u03BA",
6844
+ kappav: "\u03F0",
6845
+ varkappa: "\u03F0",
6846
+ Lambda: "\u039B",
6847
+ lambda: "\u03BB",
6848
+ Mu: "\u039C",
6849
+ mu: "\u03BC",
6850
+ Nu: "\u039D",
6851
+ nu: "\u03BD",
6852
+ Xi: "\u039E",
6853
+ xi: "\u03BE",
6854
+ Omicron: "\u039F",
6855
+ omicron: "\u03BF",
6856
+ Pi: "\u03A0",
6857
+ pi: "\u03C0",
6858
+ piv: "\u03D6",
6859
+ varpi: "\u03D6",
6860
+ Rho: "\u03A1",
6861
+ rho: "\u03C1",
6862
+ rhov: "\u03F1",
6863
+ varrho: "\u03F1",
6864
+ Sigma: "\u03A3",
6865
+ sigma: "\u03C3",
6866
+ sigmaf: "\u03C2",
6867
+ sigmav: "\u03C2",
6868
+ varsigma: "\u03C2",
6869
+ Tau: "\u03A4",
6870
+ tau: "\u03C4",
6871
+ Upsilon: "\u03A5",
6872
+ upsilon: "\u03C5",
6873
+ upsi: "\u03C5",
6874
+ Upsi: "\u03D2",
6875
+ upsih: "\u03D2",
6876
+ Phi: "\u03A6",
6877
+ phi: "\u03C6",
6878
+ phiv: "\u03D5",
6879
+ varphi: "\u03D5",
6880
+ Chi: "\u03A7",
6881
+ chi: "\u03C7",
6882
+ Psi: "\u03A8",
6883
+ psi: "\u03C8",
6884
+ Omega: "\u03A9",
6885
+ omega: "\u03C9",
6886
+ ohm: "\u03A9",
6887
+ Gammad: "\u03DC",
6888
+ gammad: "\u03DD",
6889
+ digamma: "\u03DD"
6890
+ };
6891
+ CYRILLIC = {
6892
+ Afr: "\u{1D504}",
6893
+ afr: "\u{1D51E}",
6894
+ Acy: "\u0410",
6895
+ acy: "\u0430",
6896
+ Bcy: "\u0411",
6897
+ bcy: "\u0431",
6898
+ Vcy: "\u0412",
6899
+ vcy: "\u0432",
6900
+ Gcy: "\u0413",
6901
+ gcy: "\u0433",
6902
+ Dcy: "\u0414",
6903
+ dcy: "\u0434",
6904
+ IEcy: "\u0415",
6905
+ iecy: "\u0435",
6906
+ IOcy: "\u0401",
6907
+ iocy: "\u0451",
6908
+ ZHcy: "\u0416",
6909
+ zhcy: "\u0436",
6910
+ Zcy: "\u0417",
6911
+ zcy: "\u0437",
6912
+ Icy: "\u0418",
6913
+ icy: "\u0438",
6914
+ Jcy: "\u0419",
6915
+ jcy: "\u0439",
6916
+ Kcy: "\u041A",
6917
+ kcy: "\u043A",
6918
+ Lcy: "\u041B",
6919
+ lcy: "\u043B",
6920
+ Mcy: "\u041C",
6921
+ mcy: "\u043C",
6922
+ Ncy: "\u041D",
6923
+ ncy: "\u043D",
6924
+ Ocy: "\u041E",
6925
+ ocy: "\u043E",
6926
+ Pcy: "\u041F",
6927
+ pcy: "\u043F",
6928
+ Rcy: "\u0420",
6929
+ rcy: "\u0440",
6930
+ Scy: "\u0421",
6931
+ scy: "\u0441",
6932
+ Tcy: "\u0422",
6933
+ tcy: "\u0442",
6934
+ Ucy: "\u0423",
6935
+ ucy: "\u0443",
6936
+ Fcy: "\u0424",
6937
+ fcy: "\u0444",
6938
+ KHcy: "\u0425",
6939
+ khcy: "\u0445",
6940
+ TScy: "\u0426",
6941
+ tscy: "\u0446",
6942
+ CHcy: "\u0427",
6943
+ chcy: "\u0447",
6944
+ SHcy: "\u0428",
6945
+ shcy: "\u0448",
6946
+ SHCHcy: "\u0429",
6947
+ shchcy: "\u0449",
6948
+ HARDcy: "\u042A",
6949
+ hardcy: "\u044A",
6950
+ Ycy: "\u042B",
6951
+ ycy: "\u044B",
6952
+ SOFTcy: "\u042C",
6953
+ softcy: "\u044C",
6954
+ Ecy: "\u042D",
6955
+ ecy: "\u044D",
6956
+ YUcy: "\u042E",
6957
+ yucy: "\u044E",
6958
+ YAcy: "\u042F",
6959
+ yacy: "\u044F",
6960
+ DJcy: "\u0402",
6961
+ djcy: "\u0452",
6962
+ GJcy: "\u0403",
6963
+ gjcy: "\u0453",
6964
+ Jukcy: "\u0404",
6965
+ jukcy: "\u0454",
6966
+ DScy: "\u0405",
6967
+ dscy: "\u0455",
6968
+ Iukcy: "\u0406",
6969
+ iukcy: "\u0456",
6970
+ YIcy: "\u0407",
6971
+ yicy: "\u0457",
6972
+ Jsercy: "\u0408",
6973
+ jsercy: "\u0458",
6974
+ LJcy: "\u0409",
6975
+ ljcy: "\u0459",
6976
+ NJcy: "\u040A",
6977
+ njcy: "\u045A",
6978
+ TSHcy: "\u040B",
6979
+ tshcy: "\u045B",
6980
+ KJcy: "\u040C",
6981
+ kjcy: "\u045C",
6982
+ Ubrcy: "\u040E",
6983
+ ubrcy: "\u045E",
6984
+ DZcy: "\u040F",
6985
+ dzcy: "\u045F"
6986
+ };
6987
+ MATH = {
6988
+ plus: "+",
6989
+ minus: "\u2212",
6990
+ mnplus: "\u2213",
6991
+ mp: "\u2213",
6992
+ pm: "\xB1",
6993
+ times: "\xD7",
6994
+ div: "\xF7",
6995
+ divide: "\xF7",
6996
+ sdot: "\u22C5",
6997
+ star: "\u2606",
6998
+ starf: "\u2605",
6999
+ bigstar: "\u2605",
7000
+ lowast: "\u2217",
7001
+ ast: "*",
7002
+ midast: "*",
7003
+ compfn: "\u2218",
7004
+ smallcircle: "\u2218",
7005
+ bullet: "\u2022",
7006
+ bull: "\u2022",
7007
+ nbsp: "\xA0",
7008
+ hellip: "\u2026",
7009
+ mldr: "\u2026",
7010
+ prime: "\u2032",
7011
+ Prime: "\u2033",
7012
+ tprime: "\u2034",
7013
+ bprime: "\u2035",
7014
+ backprime: "\u2035",
7015
+ minus: "\u2212",
7016
+ minusd: "\u2238",
7017
+ dotminus: "\u2238",
7018
+ plusdo: "\u2214",
7019
+ dotplus: "\u2214",
7020
+ plusmn: "\xB1",
7021
+ minusplus: "\u2213",
7022
+ mnplus: "\u2213",
7023
+ mp: "\u2213",
7024
+ setminus: "\u2216",
7025
+ smallsetminus: "\u2216",
7026
+ Backslash: "\u2216",
7027
+ setmn: "\u2216",
7028
+ ssetmn: "\u2216",
7029
+ lowbar: "_",
7030
+ verbar: "|",
7031
+ vert: "|",
7032
+ VerticalLine: "|",
7033
+ colon: ":",
7034
+ Colon: "\u2237",
7035
+ Proportion: "\u2237",
7036
+ ratio: "\u2236",
7037
+ equals: "=",
7038
+ ne: "\u2260",
7039
+ nequiv: "\u2262",
7040
+ equiv: "\u2261",
7041
+ Congruent: "\u2261",
7042
+ sim: "\u223C",
7043
+ thicksim: "\u223C",
7044
+ thksim: "\u223C",
7045
+ sime: "\u2243",
7046
+ simeq: "\u2243",
7047
+ TildeEqual: "\u2243",
7048
+ asymp: "\u2248",
7049
+ approx: "\u2248",
7050
+ thickapprox: "\u2248",
7051
+ thkap: "\u2248",
7052
+ TildeTilde: "\u2248",
7053
+ ncong: "\u2247",
7054
+ cong: "\u2245",
7055
+ TildeFullEqual: "\u2245",
7056
+ asympeq: "\u224D",
7057
+ CupCap: "\u224D",
7058
+ bump: "\u224E",
7059
+ Bumpeq: "\u224E",
7060
+ HumpDownHump: "\u224E",
7061
+ bumpe: "\u224F",
7062
+ bumpeq: "\u224F",
7063
+ HumpEqual: "\u224F",
7064
+ dotminus: "\u2238",
7065
+ minusd: "\u2238",
7066
+ plusdo: "\u2214",
7067
+ dotplus: "\u2214",
7068
+ le: "\u2264",
7069
+ LessEqual: "\u2264",
7070
+ ge: "\u2265",
7071
+ GreaterEqual: "\u2265",
7072
+ lesseqgtr: "\u22DA",
7073
+ lesseqqgtr: "\u2A8B",
7074
+ greater: ">",
7075
+ less: "<"
7076
+ };
7077
+ MATH_ADVANCED = {
7078
+ alefsym: "\u2135",
7079
+ aleph: "\u2135",
7080
+ beth: "\u2136",
7081
+ gimel: "\u2137",
7082
+ daleth: "\u2138",
7083
+ forall: "\u2200",
7084
+ ForAll: "\u2200",
7085
+ part: "\u2202",
7086
+ PartialD: "\u2202",
7087
+ exist: "\u2203",
7088
+ Exists: "\u2203",
7089
+ nexist: "\u2204",
7090
+ nexists: "\u2204",
7091
+ empty: "\u2205",
7092
+ emptyset: "\u2205",
7093
+ emptyv: "\u2205",
7094
+ varnothing: "\u2205",
7095
+ nabla: "\u2207",
7096
+ Del: "\u2207",
7097
+ isin: "\u2208",
7098
+ isinv: "\u2208",
7099
+ in: "\u2208",
7100
+ Element: "\u2208",
7101
+ notin: "\u2209",
7102
+ notinva: "\u2209",
7103
+ ni: "\u220B",
7104
+ niv: "\u220B",
7105
+ SuchThat: "\u220B",
7106
+ ReverseElement: "\u220B",
7107
+ notni: "\u220C",
7108
+ notniva: "\u220C",
7109
+ prod: "\u220F",
7110
+ Product: "\u220F",
7111
+ coprod: "\u2210",
7112
+ Coproduct: "\u2210",
7113
+ sum: "\u2211",
7114
+ Sum: "\u2211",
7115
+ minus: "\u2212",
7116
+ mp: "\u2213",
7117
+ plusdo: "\u2214",
7118
+ dotplus: "\u2214",
7119
+ setminus: "\u2216",
7120
+ lowast: "\u2217",
7121
+ radic: "\u221A",
7122
+ Sqrt: "\u221A",
7123
+ prop: "\u221D",
7124
+ propto: "\u221D",
7125
+ Proportional: "\u221D",
7126
+ varpropto: "\u221D",
7127
+ infin: "\u221E",
7128
+ infintie: "\u29DD",
7129
+ ang: "\u2220",
7130
+ angle: "\u2220",
7131
+ angmsd: "\u2221",
7132
+ measuredangle: "\u2221",
7133
+ angsph: "\u2222",
7134
+ mid: "\u2223",
7135
+ VerticalBar: "\u2223",
7136
+ nmid: "\u2224",
7137
+ nsmid: "\u2224",
7138
+ npar: "\u2226",
7139
+ parallel: "\u2225",
7140
+ spar: "\u2225",
7141
+ nparallel: "\u2226",
7142
+ nspar: "\u2226",
7143
+ and: "\u2227",
7144
+ wedge: "\u2227",
7145
+ or: "\u2228",
7146
+ vee: "\u2228",
7147
+ cap: "\u2229",
7148
+ cup: "\u222A",
7149
+ int: "\u222B",
7150
+ Integral: "\u222B",
7151
+ conint: "\u222E",
7152
+ ContourIntegral: "\u222E",
7153
+ Conint: "\u222F",
7154
+ DoubleContourIntegral: "\u222F",
7155
+ Cconint: "\u2230",
7156
+ there4: "\u2234",
7157
+ therefore: "\u2234",
7158
+ Therefore: "\u2234",
7159
+ becaus: "\u2235",
7160
+ because: "\u2235",
7161
+ Because: "\u2235",
7162
+ ratio: "\u2236",
7163
+ Proportion: "\u2237",
7164
+ minusd: "\u2238",
7165
+ dotminus: "\u2238",
7166
+ mDDot: "\u223A",
7167
+ homtht: "\u223B",
7168
+ sim: "\u223C",
7169
+ bsimg: "\u223D",
7170
+ backsim: "\u223D",
7171
+ ac: "\u223E",
7172
+ mstpos: "\u223E",
7173
+ acd: "\u223F",
7174
+ VerticalTilde: "\u2240",
7175
+ wr: "\u2240",
7176
+ wreath: "\u2240",
7177
+ nsime: "\u2244",
7178
+ nsimeq: "\u2244",
7179
+ nsimeq: "\u2244",
7180
+ ncong: "\u2247",
7181
+ simne: "\u2246",
7182
+ ncongdot: "\u2A6D\u0338",
7183
+ ngsim: "\u2275",
7184
+ nsim: "\u2241",
7185
+ napprox: "\u2249",
7186
+ nap: "\u2249",
7187
+ ngeq: "\u2271",
7188
+ nge: "\u2271",
7189
+ nleq: "\u2270",
7190
+ nle: "\u2270",
7191
+ ngtr: "\u226F",
7192
+ ngt: "\u226F",
7193
+ nless: "\u226E",
7194
+ nlt: "\u226E",
7195
+ nprec: "\u2280",
7196
+ npr: "\u2280",
7197
+ nsucc: "\u2281",
7198
+ nsc: "\u2281"
7199
+ };
7200
+ ARROWS = {
7201
+ larr: "\u2190",
7202
+ leftarrow: "\u2190",
7203
+ LeftArrow: "\u2190",
7204
+ uarr: "\u2191",
7205
+ uparrow: "\u2191",
7206
+ UpArrow: "\u2191",
7207
+ rarr: "\u2192",
7208
+ rightarrow: "\u2192",
7209
+ RightArrow: "\u2192",
7210
+ darr: "\u2193",
7211
+ downarrow: "\u2193",
7212
+ DownArrow: "\u2193",
7213
+ harr: "\u2194",
7214
+ leftrightarrow: "\u2194",
7215
+ LeftRightArrow: "\u2194",
7216
+ varr: "\u2195",
7217
+ updownarrow: "\u2195",
7218
+ UpDownArrow: "\u2195",
7219
+ nwarr: "\u2196",
7220
+ nwarrow: "\u2196",
7221
+ UpperLeftArrow: "\u2196",
7222
+ nearr: "\u2197",
7223
+ nearrow: "\u2197",
7224
+ UpperRightArrow: "\u2197",
7225
+ searr: "\u2198",
7226
+ searrow: "\u2198",
7227
+ LowerRightArrow: "\u2198",
7228
+ swarr: "\u2199",
7229
+ swarrow: "\u2199",
7230
+ LowerLeftArrow: "\u2199",
7231
+ lArr: "\u21D0",
7232
+ Leftarrow: "\u21D0",
7233
+ uArr: "\u21D1",
7234
+ Uparrow: "\u21D1",
7235
+ rArr: "\u21D2",
7236
+ Rightarrow: "\u21D2",
7237
+ dArr: "\u21D3",
7238
+ Downarrow: "\u21D3",
7239
+ hArr: "\u21D4",
7240
+ Leftrightarrow: "\u21D4",
7241
+ iff: "\u21D4",
7242
+ vArr: "\u21D5",
7243
+ Updownarrow: "\u21D5",
7244
+ lAarr: "\u21DA",
7245
+ Lleftarrow: "\u21DA",
7246
+ rAarr: "\u21DB",
7247
+ Rrightarrow: "\u21DB",
7248
+ lrarr: "\u21C6",
7249
+ leftrightarrows: "\u21C6",
7250
+ rlarr: "\u21C4",
7251
+ rightleftarrows: "\u21C4",
7252
+ lrhar: "\u21CB",
7253
+ leftrightharpoons: "\u21CB",
7254
+ ReverseEquilibrium: "\u21CB",
7255
+ rlhar: "\u21CC",
7256
+ rightleftharpoons: "\u21CC",
7257
+ Equilibrium: "\u21CC",
7258
+ udarr: "\u21C5",
7259
+ UpArrowDownArrow: "\u21C5",
7260
+ duarr: "\u21F5",
7261
+ DownArrowUpArrow: "\u21F5",
7262
+ llarr: "\u21C7",
7263
+ leftleftarrows: "\u21C7",
7264
+ rrarr: "\u21C9",
7265
+ rightrightarrows: "\u21C9",
7266
+ ddarr: "\u21CA",
7267
+ downdownarrows: "\u21CA",
7268
+ har: "\u21BD",
7269
+ lhard: "\u21BD",
7270
+ leftharpoondown: "\u21BD",
7271
+ lharu: "\u21BC",
7272
+ leftharpoonup: "\u21BC",
7273
+ rhard: "\u21C1",
7274
+ rightharpoondown: "\u21C1",
7275
+ rharu: "\u21C0",
7276
+ rightharpoonup: "\u21C0",
7277
+ lsh: "\u21B0",
7278
+ Lsh: "\u21B0",
7279
+ rsh: "\u21B1",
7280
+ Rsh: "\u21B1",
7281
+ ldsh: "\u21B2",
7282
+ rdsh: "\u21B3",
7283
+ hookleftarrow: "\u21A9",
7284
+ hookrightarrow: "\u21AA",
7285
+ mapstoleft: "\u21A4",
7286
+ mapstoup: "\u21A5",
7287
+ map: "\u21A6",
7288
+ mapsto: "\u21A6",
7289
+ mapstodown: "\u21A7",
7290
+ crarr: "\u21B5",
7291
+ nwarrow: "\u2196",
7292
+ nearrow: "\u2197",
7293
+ searrow: "\u2198",
7294
+ swarrow: "\u2199",
7295
+ nleftarrow: "\u219A",
7296
+ nleftrightarrow: "\u21AE",
7297
+ nrightarrow: "\u219B",
7298
+ nrarr: "\u219B",
7299
+ larrtl: "\u21A2",
7300
+ rarrtl: "\u21A3",
7301
+ leftarrowtail: "\u21A2",
7302
+ rightarrowtail: "\u21A3",
7303
+ twoheadleftarrow: "\u219E",
7304
+ twoheadrightarrow: "\u21A0",
7305
+ Larr: "\u219E",
7306
+ Rarr: "\u21A0",
7307
+ larrhk: "\u21A9",
7308
+ rarrhk: "\u21AA",
7309
+ larrlp: "\u21AB",
7310
+ looparrowleft: "\u21AB",
7311
+ rarrlp: "\u21AC",
7312
+ looparrowright: "\u21AC",
7313
+ harrw: "\u21AD",
7314
+ leftrightsquigarrow: "\u21AD",
7315
+ nrarrw: "\u219D\u0338",
7316
+ rarrw: "\u219D",
7317
+ rightsquigarrow: "\u219D",
7318
+ larrbfs: "\u291F",
7319
+ rarrbfs: "\u2920",
7320
+ nvHarr: "\u2904",
7321
+ nvlArr: "\u2902",
7322
+ nvrArr: "\u2903",
7323
+ larrfs: "\u291D",
7324
+ rarrfs: "\u291E",
7325
+ Map: "\u2905",
7326
+ larrsim: "\u2973",
7327
+ rarrsim: "\u2974",
7328
+ harrcir: "\u2948",
7329
+ Uarrocir: "\u2949",
7330
+ lurdshar: "\u294A",
7331
+ ldrdhar: "\u2967",
7332
+ ldrushar: "\u294B",
7333
+ rdldhar: "\u2969",
7334
+ lrhard: "\u296D",
7335
+ rlhar: "\u21CC",
7336
+ uharr: "\u21BE",
7337
+ uharl: "\u21BF",
7338
+ dharr: "\u21C2",
7339
+ dharl: "\u21C3",
7340
+ Uarr: "\u219F",
7341
+ Darr: "\u21A1",
7342
+ zigrarr: "\u21DD",
7343
+ nwArr: "\u21D6",
7344
+ neArr: "\u21D7",
7345
+ seArr: "\u21D8",
7346
+ swArr: "\u21D9",
7347
+ nharr: "\u21AE",
7348
+ nhArr: "\u21CE",
7349
+ nlarr: "\u219A",
7350
+ nlArr: "\u21CD",
7351
+ nrarr: "\u219B",
7352
+ nrArr: "\u21CF",
7353
+ larrb: "\u21E4",
7354
+ LeftArrowBar: "\u21E4",
7355
+ rarrb: "\u21E5",
7356
+ RightArrowBar: "\u21E5"
7357
+ };
7358
+ SHAPES = {
7359
+ square: "\u25A1",
7360
+ Square: "\u25A1",
7361
+ squ: "\u25A1",
7362
+ squf: "\u25AA",
7363
+ squarf: "\u25AA",
7364
+ blacksquar: "\u25AA",
7365
+ blacksquare: "\u25AA",
7366
+ FilledVerySmallSquare: "\u25AA",
7367
+ blk34: "\u2593",
7368
+ blk12: "\u2592",
7369
+ blk14: "\u2591",
7370
+ block: "\u2588",
7371
+ srect: "\u25AD",
7372
+ rect: "\u25AD",
7373
+ sdot: "\u22C5",
7374
+ sdotb: "\u22A1",
7375
+ dotsquare: "\u22A1",
7376
+ triangle: "\u25B5",
7377
+ tri: "\u25B5",
7378
+ trine: "\u25B5",
7379
+ utri: "\u25B5",
7380
+ triangledown: "\u25BF",
7381
+ dtri: "\u25BF",
7382
+ tridown: "\u25BF",
7383
+ triangleleft: "\u25C3",
7384
+ ltri: "\u25C3",
7385
+ triangleright: "\u25B9",
7386
+ rtri: "\u25B9",
7387
+ blacktriangle: "\u25B4",
7388
+ utrif: "\u25B4",
7389
+ blacktriangledown: "\u25BE",
7390
+ dtrif: "\u25BE",
7391
+ blacktriangleleft: "\u25C2",
7392
+ ltrif: "\u25C2",
7393
+ blacktriangleright: "\u25B8",
7394
+ rtrif: "\u25B8",
7395
+ loz: "\u25CA",
7396
+ lozenge: "\u25CA",
7397
+ blacklozenge: "\u29EB",
7398
+ lozf: "\u29EB",
7399
+ bigcirc: "\u25EF",
7400
+ xcirc: "\u25EF",
7401
+ circ: "\u02C6",
7402
+ Circle: "\u25CB",
7403
+ cir: "\u25CB",
7404
+ o: "\u25CB",
7405
+ bullet: "\u2022",
7406
+ bull: "\u2022",
7407
+ hellip: "\u2026",
7408
+ mldr: "\u2026",
7409
+ nldr: "\u2025",
7410
+ boxh: "\u2500",
7411
+ HorizontalLine: "\u2500",
7412
+ boxv: "\u2502",
7413
+ boxdr: "\u250C",
7414
+ boxdl: "\u2510",
7415
+ boxur: "\u2514",
7416
+ boxul: "\u2518",
7417
+ boxvr: "\u251C",
7418
+ boxvl: "\u2524",
7419
+ boxhd: "\u252C",
7420
+ boxhu: "\u2534",
7421
+ boxvh: "\u253C",
7422
+ boxH: "\u2550",
7423
+ boxV: "\u2551",
7424
+ boxdR: "\u2552",
7425
+ boxDr: "\u2553",
7426
+ boxDR: "\u2554",
7427
+ boxDl: "\u2555",
7428
+ boxdL: "\u2556",
7429
+ boxDL: "\u2557",
7430
+ boxuR: "\u2558",
7431
+ boxUr: "\u2559",
7432
+ boxUR: "\u255A",
7433
+ boxUl: "\u255C",
7434
+ boxuL: "\u255B",
7435
+ boxUL: "\u255D",
7436
+ boxvR: "\u255E",
7437
+ boxVr: "\u255F",
7438
+ boxVR: "\u2560",
7439
+ boxVl: "\u2562",
7440
+ boxvL: "\u2561",
7441
+ boxVL: "\u2563",
7442
+ boxHd: "\u2564",
7443
+ boxhD: "\u2565",
7444
+ boxHD: "\u2566",
7445
+ boxHu: "\u2567",
7446
+ boxhU: "\u2568",
7447
+ boxHU: "\u2569",
7448
+ boxvH: "\u256A",
7449
+ boxVh: "\u256B",
7450
+ boxVH: "\u256C"
7451
+ };
7452
+ PUNCTUATION = {
7453
+ excl: "!",
7454
+ iexcl: "\xA1",
7455
+ brvbar: "\xA6",
7456
+ sect: "\xA7",
7457
+ uml: "\xA8",
7458
+ copy: "\xA9",
7459
+ ordf: "\xAA",
7460
+ laquo: "\xAB",
7461
+ not: "\xAC",
7462
+ shy: "\xAD",
7463
+ reg: "\xAE",
7464
+ macr: "\xAF",
7465
+ deg: "\xB0",
7466
+ plusmn: "\xB1",
7467
+ sup2: "\xB2",
7468
+ sup3: "\xB3",
7469
+ acute: "\xB4",
7470
+ micro: "\xB5",
7471
+ para: "\xB6",
7472
+ middot: "\xB7",
7473
+ cedil: "\xB8",
7474
+ sup1: "\xB9",
7475
+ ordm: "\xBA",
7476
+ raquo: "\xBB",
7477
+ frac14: "\xBC",
7478
+ frac12: "\xBD",
7479
+ frac34: "\xBE",
7480
+ iquest: "\xBF",
7481
+ nbsp: "\xA0",
7482
+ comma: ",",
7483
+ period: ".",
7484
+ colon: ":",
7485
+ semi: ";",
7486
+ vert: "|",
7487
+ Verbar: "\u2016",
7488
+ verbar: "|",
7489
+ dblac: "\u02DD",
7490
+ circ: "\u02C6",
7491
+ caron: "\u02C7",
7492
+ breve: "\u02D8",
7493
+ dot: "\u02D9",
7494
+ ring: "\u02DA",
7495
+ ogon: "\u02DB",
7496
+ tilde: "\u02DC",
7497
+ DiacriticalGrave: "`",
7498
+ DiacriticalAcute: "\xB4",
7499
+ DiacriticalTilde: "\u02DC",
7500
+ DiacriticalDot: "\u02D9",
7501
+ DiacriticalDoubleAcute: "\u02DD",
7502
+ grave: "`",
7503
+ acute: "\xB4"
7504
+ };
7505
+ CURRENCY = {
7506
+ cent: "\xA2",
7507
+ pound: "\xA3",
7508
+ curren: "\xA4",
7509
+ yen: "\xA5",
7510
+ euro: "\u20AC",
7511
+ dollar: "$",
7512
+ euro: "\u20AC",
7513
+ fnof: "\u0192",
7514
+ inr: "\u20B9",
7515
+ af: "\u060B",
7516
+ birr: "\u1265\u122D",
7517
+ peso: "\u20B1",
7518
+ rub: "\u20BD",
7519
+ won: "\u20A9",
7520
+ yuan: "\xA5",
7521
+ cedil: "\xB8"
7522
+ };
7523
+ FRACTIONS = {
7524
+ frac12: "\xBD",
7525
+ half: "\xBD",
7526
+ frac13: "\u2153",
7527
+ frac14: "\xBC",
7528
+ frac15: "\u2155",
7529
+ frac16: "\u2159",
7530
+ frac18: "\u215B",
7531
+ frac23: "\u2154",
7532
+ frac25: "\u2156",
7533
+ frac34: "\xBE",
7534
+ frac35: "\u2157",
7535
+ frac38: "\u215C",
7536
+ frac45: "\u2158",
7537
+ frac56: "\u215A",
7538
+ frac58: "\u215D",
7539
+ frac78: "\u215E",
7540
+ frasl: "\u2044"
7541
+ };
7542
+ MISC_SYMBOLS = {
7543
+ trade: "\u2122",
7544
+ TRADE: "\u2122",
7545
+ telrec: "\u2315",
7546
+ target: "\u2316",
7547
+ ulcorn: "\u231C",
7548
+ ulcorner: "\u231C",
7549
+ urcorn: "\u231D",
7550
+ urcorner: "\u231D",
7551
+ dlcorn: "\u231E",
7552
+ llcorner: "\u231E",
7553
+ drcorn: "\u231F",
7554
+ lrcorner: "\u231F",
7555
+ intercal: "\u22BA",
7556
+ intcal: "\u22BA",
7557
+ oplus: "\u2295",
7558
+ CirclePlus: "\u2295",
7559
+ ominus: "\u2296",
7560
+ CircleMinus: "\u2296",
7561
+ otimes: "\u2297",
7562
+ CircleTimes: "\u2297",
7563
+ osol: "\u2298",
7564
+ odot: "\u2299",
7565
+ CircleDot: "\u2299",
7566
+ oast: "\u229B",
7567
+ circledast: "\u229B",
7568
+ odash: "\u229D",
7569
+ circleddash: "\u229D",
7570
+ ocirc: "\u229A",
7571
+ circledcirc: "\u229A",
7572
+ boxplus: "\u229E",
7573
+ plusb: "\u229E",
7574
+ boxminus: "\u229F",
7575
+ minusb: "\u229F",
7576
+ boxtimes: "\u22A0",
7577
+ timesb: "\u22A0",
7578
+ boxdot: "\u22A1",
7579
+ sdotb: "\u22A1",
7580
+ veebar: "\u22BB",
7581
+ vee: "\u2228",
7582
+ barvee: "\u22BD",
7583
+ and: "\u2227",
7584
+ wedge: "\u2227",
7585
+ Cap: "\u22D2",
7586
+ Cup: "\u22D3",
7587
+ Fork: "\u22D4",
7588
+ pitchfork: "\u22D4",
7589
+ epar: "\u22D5",
7590
+ ltlarr: "\u2976",
7591
+ nvap: "\u224D\u20D2",
7592
+ nvsim: "\u223C\u20D2",
7593
+ nvge: "\u2265\u20D2",
7594
+ nvle: "\u2264\u20D2",
7595
+ nvlt: "<\u20D2",
7596
+ nvgt: ">\u20D2",
7597
+ nvltrie: "\u22B4\u20D2",
7598
+ nvrtrie: "\u22B5\u20D2",
7599
+ Vdash: "\u22A9",
7600
+ dashv: "\u22A3",
7601
+ vDash: "\u22A8",
7602
+ Vdash: "\u22A9",
7603
+ Vvdash: "\u22AA",
7604
+ nvdash: "\u22AC",
7605
+ nvDash: "\u22AD",
7606
+ nVdash: "\u22AE",
7607
+ nVDash: "\u22AF"
7608
+ };
7609
+ ALL_ENTITIES = {
7610
+ ...BASIC_LATIN,
7611
+ ...LATIN_ACCENTS,
7612
+ ...LATIN_EXTENDED,
7613
+ ...GREEK,
7614
+ ...CYRILLIC,
7615
+ ...MATH,
7616
+ ...MATH_ADVANCED,
7617
+ ...ARROWS,
7618
+ ...SHAPES,
7619
+ ...PUNCTUATION,
7620
+ ...CURRENCY,
7621
+ ...FRACTIONS,
7622
+ ...MISC_SYMBOLS
7623
+ };
7624
+ XML = {
7625
+ amp: "&",
7626
+ apos: "'",
7627
+ gt: ">",
7628
+ lt: "<",
7629
+ quot: '"'
7630
+ };
7631
+ COMMON_HTML = {
7632
+ nbsp: "\xA0",
7633
+ copy: "\xA9",
7634
+ reg: "\xAE",
7635
+ trade: "\u2122",
7636
+ mdash: "\u2014",
7637
+ ndash: "\u2013",
7638
+ hellip: "\u2026",
7639
+ laquo: "\xAB",
7640
+ raquo: "\xBB",
7641
+ lsquo: "\u2018",
7642
+ rsquo: "\u2019",
7643
+ ldquo: "\u201C",
7644
+ rdquo: "\u201D",
7645
+ bull: "\u2022",
7646
+ para: "\xB6",
7647
+ sect: "\xA7",
7648
+ deg: "\xB0",
7649
+ frac12: "\xBD",
7650
+ frac14: "\xBC",
7651
+ frac34: "\xBE"
7652
+ };
7653
+ }
7654
+ });
7655
+
7656
+ // ../../node_modules/.store/@nodable-entities-npm-2.1.0-6eb9f06ac0/package/src/EntityDecoder.js
7657
+ function validateEntityName(name) {
7658
+ if (name[0] === "#") {
7659
+ throw new Error(`[EntityReplacer] Invalid character '#' in entity name: "${name}"`);
7660
+ }
7661
+ for (const ch of name) {
7662
+ if (SPECIAL_CHARS.has(ch)) {
7663
+ throw new Error(`[EntityReplacer] Invalid character '${ch}' in entity name: "${name}"`);
7664
+ }
7665
+ }
7666
+ return name;
7667
+ }
7668
+ function mergeEntityMaps(...maps) {
7669
+ const out = /* @__PURE__ */ Object.create(null);
7670
+ for (const map of maps) {
7671
+ if (!map) continue;
7672
+ for (const key of Object.keys(map)) {
7673
+ const raw = map[key];
7674
+ if (typeof raw === "string") {
7675
+ out[key] = raw;
7676
+ } else if (raw && typeof raw === "object" && raw.val !== void 0) {
7677
+ const val = raw.val;
7678
+ if (typeof val === "string") {
7679
+ out[key] = val;
7680
+ }
7681
+ }
7682
+ }
7683
+ }
7684
+ return out;
7685
+ }
7686
+ function parseLimitTiers(raw) {
7687
+ if (!raw || raw === LIMIT_TIER_EXTERNAL) return /* @__PURE__ */ new Set([LIMIT_TIER_EXTERNAL]);
7688
+ if (raw === LIMIT_TIER_ALL) return /* @__PURE__ */ new Set([LIMIT_TIER_ALL]);
7689
+ if (raw === LIMIT_TIER_BASE) return /* @__PURE__ */ new Set([LIMIT_TIER_BASE]);
7690
+ if (Array.isArray(raw)) return new Set(raw);
7691
+ return /* @__PURE__ */ new Set([LIMIT_TIER_EXTERNAL]);
7692
+ }
7693
+ function parseNCRConfig(ncr) {
7694
+ if (!ncr) {
7695
+ return { xmlVersion: 1, onLevel: NCR_LEVEL.allow, nullLevel: NCR_LEVEL.remove };
7696
+ }
7697
+ const xmlVersion = ncr.xmlVersion === 1.1 ? 1.1 : 1;
7698
+ const onLevel = NCR_LEVEL[ncr.onNCR] ?? NCR_LEVEL.allow;
7699
+ const nullLevel = NCR_LEVEL[ncr.nullNCR] ?? NCR_LEVEL.remove;
7700
+ const clampedNull = Math.max(nullLevel, NCR_LEVEL.remove);
7701
+ return { xmlVersion, onLevel, nullLevel: clampedNull };
7702
+ }
7703
+ var SPECIAL_CHARS, LIMIT_TIER_EXTERNAL, LIMIT_TIER_BASE, LIMIT_TIER_ALL, NCR_LEVEL, XML10_ALLOWED_C0, _EntityDecoder, EntityDecoder;
7704
+ var init_EntityDecoder = __esm({
7705
+ "../../node_modules/.store/@nodable-entities-npm-2.1.0-6eb9f06ac0/package/src/EntityDecoder.js"() {
7706
+ init_entities();
7707
+ SPECIAL_CHARS = new Set("!?\\\\/[]$%{}^&*()<>|+");
7708
+ __name(validateEntityName, "validateEntityName");
7709
+ __name(mergeEntityMaps, "mergeEntityMaps");
7710
+ LIMIT_TIER_EXTERNAL = "external";
7711
+ LIMIT_TIER_BASE = "base";
7712
+ LIMIT_TIER_ALL = "all";
7713
+ __name(parseLimitTiers, "parseLimitTiers");
7714
+ NCR_LEVEL = Object.freeze({ allow: 0, leave: 1, remove: 2, throw: 3 });
7715
+ XML10_ALLOWED_C0 = /* @__PURE__ */ new Set([9, 10, 13]);
7716
+ __name(parseNCRConfig, "parseNCRConfig");
7717
+ _EntityDecoder = class _EntityDecoder {
7718
+ /**
7719
+ * @param {object} [options]
7720
+ * @param {object|null} [options.namedEntities] — extra named entities merged into base map
7721
+ * @param {object} [options.limit] — security limits
7722
+ * @param {number} [options.limit.maxTotalExpansions=0] — 0 = unlimited
7723
+ * @param {number} [options.limit.maxExpandedLength=0] — 0 = unlimited
7724
+ * @param {'external'|'base'|'all'|string[]} [options.limit.applyLimitsTo='external']
7725
+ * Which entity tiers count against the security limits:
7726
+ * - 'external' (default) — only input/runtime + persistent external entities
7727
+ * - 'base' — only DEFAULT_XML_ENTITIES + namedEntities
7728
+ * - 'all' — every entity regardless of tier
7729
+ * - string[] — explicit combination, e.g. ['external', 'base']
7730
+ * @param {((resolved: string, original: string) => string)|null} [options.postCheck=null]
7731
+ * @param {string[]} [options.remove=[]] — entity names (e.g. ['nbsp', '#13']) to delete (replace with empty string)
7732
+ * @param {string[]} [options.leave=[]] — entity names to keep as literal (unchanged in output)
7733
+ * @param {object} [options.ncr] — Numeric Character Reference controls
7734
+ * @param {1.0|1.1} [options.ncr.xmlVersion=1.0]
7735
+ * XML version governing which codepoint ranges are restricted:
7736
+ * - 1.0 — C0 controls U+0001–U+001F (except U+0009/000A/000D) are prohibited
7737
+ * - 1.1 — C0 controls are allowed when written as NCRs; C1 (U+007F–U+009F) decoded as-is
7738
+ * @param {'allow'|'leave'|'remove'|'throw'} [options.ncr.onNCR='allow']
7739
+ * Base action for numeric references. Severity order: allow < leave < remove < throw.
7740
+ * For codepoint ranges that carry a minimum level (surrogates → remove, XML 1.0 C0 → remove),
7741
+ * the effective action is max(onNCR, rangeMinimum).
7742
+ * @param {'remove'|'throw'} [options.ncr.nullNCR='remove']
7743
+ * Action for U+0000 (null). 'allow' and 'leave' are clamped to 'remove' since null is never safe.
7744
+ */
7745
+ constructor(options = {}) {
7746
+ this._limit = options.limit || {};
7747
+ this._maxTotalExpansions = this._limit.maxTotalExpansions || 0;
7748
+ this._maxExpandedLength = this._limit.maxExpandedLength || 0;
7749
+ this._postCheck = typeof options.postCheck === "function" ? options.postCheck : (r) => r;
7750
+ this._limitTiers = parseLimitTiers(this._limit.applyLimitsTo ?? LIMIT_TIER_EXTERNAL);
7751
+ this._numericAllowed = options.numericAllowed ?? true;
7752
+ this._baseMap = mergeEntityMaps(XML, options.namedEntities || null);
7753
+ this._externalMap = /* @__PURE__ */ Object.create(null);
7754
+ this._inputMap = /* @__PURE__ */ Object.create(null);
7755
+ this._totalExpansions = 0;
7756
+ this._expandedLength = 0;
7757
+ this._removeSet = new Set(options.remove && Array.isArray(options.remove) ? options.remove : []);
7758
+ this._leaveSet = new Set(options.leave && Array.isArray(options.leave) ? options.leave : []);
7759
+ const ncrCfg = parseNCRConfig(options.ncr);
7760
+ this._ncrXmlVersion = ncrCfg.xmlVersion;
7761
+ this._ncrOnLevel = ncrCfg.onLevel;
7762
+ this._ncrNullLevel = ncrCfg.nullLevel;
7763
+ }
7764
+ // -------------------------------------------------------------------------
7765
+ // Persistent external entity registration
7766
+ // -------------------------------------------------------------------------
7767
+ /**
7768
+ * Replace the full set of persistent external entities.
7769
+ * All keys are validated — throws on invalid characters.
7770
+ * @param {Record<string, string | { regex?: RegExp, val: string }>} map
7771
+ */
7772
+ setExternalEntities(map) {
7773
+ if (map) {
7774
+ for (const key of Object.keys(map)) {
7775
+ validateEntityName(key);
7776
+ }
7777
+ }
7778
+ this._externalMap = mergeEntityMaps(map);
7779
+ }
7780
+ /**
7781
+ * Add a single persistent external entity.
7782
+ * @param {string} key
7783
+ * @param {string} value
7784
+ */
7785
+ addExternalEntity(key, value) {
7786
+ validateEntityName(key);
7787
+ if (typeof value === "string" && value.indexOf("&") === -1) {
7788
+ this._externalMap[key] = value;
7789
+ }
7790
+ }
7791
+ // -------------------------------------------------------------------------
7792
+ // Input / runtime entity registration (per document)
7793
+ // -------------------------------------------------------------------------
7794
+ /**
7795
+ * Inject DOCTYPE entities for the current document.
7796
+ * Also resets per-document expansion counters.
7797
+ * @param {Record<string, string | { regx?: RegExp, regex?: RegExp, val: string }>} map
7798
+ */
7799
+ addInputEntities(map) {
7800
+ this._totalExpansions = 0;
7801
+ this._expandedLength = 0;
7802
+ this._inputMap = mergeEntityMaps(map);
7803
+ }
7804
+ // -------------------------------------------------------------------------
7805
+ // Per-document reset
7806
+ // -------------------------------------------------------------------------
7807
+ /**
7808
+ * Wipe input/runtime entities and reset counters.
7809
+ * Call this before processing each new document.
7810
+ * @returns {this}
7811
+ */
7812
+ reset() {
7813
+ this._inputMap = /* @__PURE__ */ Object.create(null);
7814
+ this._totalExpansions = 0;
7815
+ this._expandedLength = 0;
7816
+ return this;
7817
+ }
7818
+ // -------------------------------------------------------------------------
7819
+ // XML version (can be set after construction, e.g. once parser reads <?xml?>)
7820
+ // -------------------------------------------------------------------------
7821
+ /**
7822
+ * Update the XML version used for NCR classification.
7823
+ * Call this as soon as the document's `<?xml version="...">` declaration is parsed.
7824
+ * @param {1.0|1.1|number} version
7825
+ */
7826
+ setXmlVersion(version2) {
7827
+ this._ncrXmlVersion = version2 === 1.1 ? 1.1 : 1;
7828
+ }
7829
+ // -------------------------------------------------------------------------
7830
+ // Primary API
7831
+ // -------------------------------------------------------------------------
7832
+ /**
7833
+ * Replace all entity references in `str` in a single pass.
7834
+ *
7835
+ * @param {string} str
7836
+ * @returns {string}
7837
+ */
7838
+ decode(str) {
7839
+ if (typeof str !== "string" || str.length === 0) return str;
7840
+ const original = str;
7841
+ const chunks = [];
7842
+ const len = str.length;
7843
+ let last = 0;
7844
+ let i = 0;
7845
+ const limitExpansions = this._maxTotalExpansions > 0;
7846
+ const limitLength = this._maxExpandedLength > 0;
7847
+ const checkLimits = limitExpansions || limitLength;
7848
+ while (i < len) {
7849
+ if (str.charCodeAt(i) !== 38) {
7850
+ i++;
7851
+ continue;
7852
+ }
7853
+ let j = i + 1;
7854
+ while (j < len && str.charCodeAt(j) !== 59 && j - i <= 32) j++;
7855
+ if (j >= len || str.charCodeAt(j) !== 59) {
7856
+ i++;
7857
+ continue;
7858
+ }
7859
+ const token = str.slice(i + 1, j);
7860
+ if (token.length === 0) {
7861
+ i++;
7862
+ continue;
7863
+ }
7864
+ let replacement;
7865
+ let tier2;
7866
+ if (this._removeSet.has(token)) {
7867
+ replacement = "";
7868
+ if (tier2 === void 0) {
7869
+ tier2 = LIMIT_TIER_EXTERNAL;
7870
+ }
7871
+ } else if (this._leaveSet.has(token)) {
7872
+ i++;
7873
+ continue;
7874
+ } else if (token.charCodeAt(0) === 35) {
7875
+ const ncrResult = this._resolveNCR(token);
7876
+ if (ncrResult === void 0) {
7877
+ i++;
7878
+ continue;
7879
+ }
7880
+ replacement = ncrResult;
7881
+ tier2 = LIMIT_TIER_BASE;
7882
+ } else {
7883
+ const resolved = this._resolveName(token);
7884
+ replacement = resolved == null ? void 0 : resolved.value;
7885
+ tier2 = resolved == null ? void 0 : resolved.tier;
7886
+ }
7887
+ if (replacement === void 0) {
7888
+ i++;
7889
+ continue;
7890
+ }
7891
+ if (i > last) chunks.push(str.slice(last, i));
7892
+ chunks.push(replacement);
7893
+ last = j + 1;
7894
+ i = last;
7895
+ if (checkLimits && this._tierCounts(tier2)) {
7896
+ if (limitExpansions) {
7897
+ this._totalExpansions++;
7898
+ if (this._totalExpansions > this._maxTotalExpansions) {
7899
+ throw new Error(
7900
+ `[EntityReplacer] Entity expansion count limit exceeded: ${this._totalExpansions} > ${this._maxTotalExpansions}`
7901
+ );
7902
+ }
7903
+ }
7904
+ if (limitLength) {
7905
+ const delta = replacement.length - (token.length + 2);
7906
+ if (delta > 0) {
7907
+ this._expandedLength += delta;
7908
+ if (this._expandedLength > this._maxExpandedLength) {
7909
+ throw new Error(
7910
+ `[EntityReplacer] Expanded content length limit exceeded: ${this._expandedLength} > ${this._maxExpandedLength}`
7911
+ );
7912
+ }
7913
+ }
7914
+ }
7915
+ }
7916
+ }
7917
+ if (last < len) chunks.push(str.slice(last));
7918
+ const result = chunks.length === 0 ? str : chunks.join("");
7919
+ return this._postCheck(result, original);
7920
+ }
7921
+ // -------------------------------------------------------------------------
7922
+ // Private: limit tier check
7923
+ // -------------------------------------------------------------------------
7924
+ /**
7925
+ * Returns true if a resolved entity of the given tier should count
7926
+ * against the expansion/length limits.
7927
+ * @param {string} tier — LIMIT_TIER_EXTERNAL | LIMIT_TIER_BASE
7928
+ * @returns {boolean}
7929
+ */
7930
+ _tierCounts(tier2) {
7931
+ if (this._limitTiers.has(LIMIT_TIER_ALL)) return true;
7932
+ return this._limitTiers.has(tier2);
7933
+ }
7934
+ // -------------------------------------------------------------------------
7935
+ // Private: entity resolution
7936
+ // -------------------------------------------------------------------------
7937
+ /**
7938
+ * Resolve a named entity token (without & and ;).
7939
+ * Priority: inputMap > externalMap > baseMap
7940
+ * Returns the resolved value tagged with its limit tier.
7941
+ *
7942
+ * @param {string} name
7943
+ * @returns {{ value: string, tier: string }|undefined}
7944
+ */
7945
+ _resolveName(name) {
7946
+ if (name in this._inputMap) return { value: this._inputMap[name], tier: LIMIT_TIER_EXTERNAL };
7947
+ if (name in this._externalMap) return { value: this._externalMap[name], tier: LIMIT_TIER_EXTERNAL };
7948
+ if (name in this._baseMap) return { value: this._baseMap[name], tier: LIMIT_TIER_BASE };
7949
+ return void 0;
7950
+ }
7951
+ /**
7952
+ * Classify a codepoint and return the minimum action level that must be applied.
7953
+ * Returns -1 when no minimum is imposed (normal allow path).
7954
+ *
7955
+ * Ranges checked (in priority order):
7956
+ * 1. U+0000 — null, governed by nullNCR (always ≥ remove)
7957
+ * 2. U+D800–U+DFFF — surrogates, always prohibited (min: remove)
7958
+ * 3. U+0001–U+001F \ {0x09,0x0A,0x0D} — XML 1.0 restricted C0 (min: remove)
7959
+ * (skipped in XML 1.1 — C0 controls are allowed when written as NCRs)
7960
+ *
7961
+ * @param {number} cp — codepoint
7962
+ * @returns {number} — minimum NCR_LEVEL value, or -1 for no restriction
7963
+ */
7964
+ _classifyNCR(cp) {
7965
+ if (cp === 0) return this._ncrNullLevel;
7966
+ if (cp >= 55296 && cp <= 57343) return NCR_LEVEL.remove;
7967
+ if (this._ncrXmlVersion === 1) {
7968
+ if (cp >= 1 && cp <= 31 && !XML10_ALLOWED_C0.has(cp)) return NCR_LEVEL.remove;
7969
+ }
7970
+ return -1;
7971
+ }
7972
+ /**
7973
+ * Execute a resolved NCR action.
7974
+ *
7975
+ * @param {number} action — NCR_LEVEL value
7976
+ * @param {string} token — raw token (e.g. '#38') for error messages
7977
+ * @param {number} cp — codepoint, used only for error messages
7978
+ * @returns {string|undefined}
7979
+ * - decoded character string → 'allow'
7980
+ * - '' → 'remove'
7981
+ * - undefined → 'leave' (caller must skip past '&' only)
7982
+ * - throws Error → 'throw'
7983
+ */
7984
+ _applyNCRAction(action5, token, cp) {
7985
+ switch (action5) {
7986
+ case NCR_LEVEL.allow:
7987
+ return String.fromCodePoint(cp);
7988
+ case NCR_LEVEL.remove:
7989
+ return "";
7990
+ case NCR_LEVEL.leave:
7991
+ return void 0;
7992
+ // signal: keep literal
7993
+ case NCR_LEVEL.throw:
7994
+ throw new Error(
7995
+ `[EntityDecoder] Prohibited numeric character reference &${token}; (U+${cp.toString(16).toUpperCase().padStart(4, "0")})`
7996
+ );
7997
+ default:
7998
+ return String.fromCodePoint(cp);
7999
+ }
8000
+ }
8001
+ /**
8002
+ * Full NCR resolution pipeline for a numeric token.
8003
+ *
8004
+ * Steps:
8005
+ * 1. Parse the codepoint (decimal or hex).
8006
+ * 2. Validate the raw codepoint range (NaN, <0, >0x10FFFF).
8007
+ * 3. If numericAllowed is false and no minimum restriction applies → leave as-is.
8008
+ * 4. Classify the codepoint to find the minimum required action level.
8009
+ * 5. Resolve effective action = max(onNCR, minimum).
8010
+ * 6. Apply and return.
8011
+ *
8012
+ * @param {string} token — e.g. '#38', '#x26', '#X26'
8013
+ * @returns {string|undefined}
8014
+ * - string (incl. '') — replacement ('' = remove)
8015
+ * - undefined — leave original &token; as-is
8016
+ */
8017
+ _resolveNCR(token) {
8018
+ const second = token.charCodeAt(1);
8019
+ let cp;
8020
+ if (second === 120 || second === 88) {
8021
+ cp = parseInt(token.slice(2), 16);
8022
+ } else {
8023
+ cp = parseInt(token.slice(1), 10);
8024
+ }
8025
+ if (Number.isNaN(cp) || cp < 0 || cp > 1114111) return void 0;
8026
+ const minimum = this._classifyNCR(cp);
8027
+ if (!this._numericAllowed && minimum < NCR_LEVEL.remove) return void 0;
8028
+ const effective = minimum === -1 ? this._ncrOnLevel : Math.max(this._ncrOnLevel, minimum);
8029
+ return this._applyNCRAction(effective, token, cp);
8030
+ }
8031
+ };
8032
+ __name(_EntityDecoder, "EntityDecoder");
8033
+ EntityDecoder = _EntityDecoder;
8034
+ }
8035
+ });
8036
+
8037
+ // ../../node_modules/.store/@nodable-entities-npm-2.1.0-6eb9f06ac0/package/src/index.js
8038
+ var init_src = __esm({
8039
+ "../../node_modules/.store/@nodable-entities-npm-2.1.0-6eb9f06ac0/package/src/index.js"() {
8040
+ init_EntityDecoder();
8041
+ init_entities();
8042
+ }
8043
+ });
8044
+
8045
+ // ../../node_modules/.store/fast-xml-parser-npm-5.7.1-94929a6c96/package/src/xmlparser/OptionsBuilder.js
6552
8046
  function validatePropertyName(propertyName, optionName) {
6553
8047
  if (typeof propertyName !== "string") {
6554
8048
  return;
@@ -6565,37 +8059,39 @@ function validatePropertyName(propertyName, optionName) {
6565
8059
  );
6566
8060
  }
6567
8061
  }
6568
- function normalizeProcessEntities(value) {
8062
+ function normalizeProcessEntities(value, htmlEntities) {
6569
8063
  if (typeof value === "boolean") {
6570
8064
  return {
6571
8065
  enabled: value,
6572
8066
  // true or false
6573
8067
  maxEntitySize: 1e4,
6574
- maxExpansionDepth: 10,
6575
- maxTotalExpansions: 1e3,
8068
+ maxExpansionDepth: 1e4,
8069
+ maxTotalExpansions: Infinity,
6576
8070
  maxExpandedLength: 1e5,
6577
- maxEntityCount: 100,
8071
+ maxEntityCount: 1e3,
6578
8072
  allowedTags: null,
6579
- tagFilter: null
8073
+ tagFilter: null,
8074
+ appliesTo: "all"
6580
8075
  };
6581
8076
  }
6582
8077
  if (typeof value === "object" && value !== null) {
6583
8078
  return {
6584
8079
  enabled: value.enabled !== false,
6585
8080
  maxEntitySize: Math.max(1, value.maxEntitySize ?? 1e4),
6586
- maxExpansionDepth: Math.max(1, value.maxExpansionDepth ?? 10),
6587
- maxTotalExpansions: Math.max(1, value.maxTotalExpansions ?? 1e3),
8081
+ maxExpansionDepth: Math.max(1, value.maxExpansionDepth ?? 1e4),
8082
+ maxTotalExpansions: Math.max(1, value.maxTotalExpansions ?? Infinity),
6588
8083
  maxExpandedLength: Math.max(1, value.maxExpandedLength ?? 1e5),
6589
- maxEntityCount: Math.max(1, value.maxEntityCount ?? 100),
8084
+ maxEntityCount: Math.max(1, value.maxEntityCount ?? 1e3),
6590
8085
  allowedTags: value.allowedTags ?? null,
6591
- tagFilter: value.tagFilter ?? null
8086
+ tagFilter: value.tagFilter ?? null,
8087
+ appliesTo: value.appliesTo ?? "all"
6592
8088
  };
6593
8089
  }
6594
8090
  return normalizeProcessEntities(true);
6595
8091
  }
6596
8092
  var defaultOnDangerousProperty, defaultOptions2, buildOptions;
6597
8093
  var init_OptionsBuilder = __esm({
6598
- "../../node_modules/.store/fast-xml-parser-npm-5.5.7-d3593c54f5/package/src/xmlparser/OptionsBuilder.js"() {
8094
+ "../../node_modules/.store/fast-xml-parser-npm-5.7.1-94929a6c96/package/src/xmlparser/OptionsBuilder.js"() {
6599
8095
  init_util2();
6600
8096
  defaultOnDangerousProperty = /* @__PURE__ */ __name((name) => {
6601
8097
  if (DANGEROUS_PROPERTY_NAMES.includes(name)) {
@@ -6638,6 +8134,7 @@ var init_OptionsBuilder = __esm({
6638
8134
  unpairedTags: [],
6639
8135
  processEntities: true,
6640
8136
  htmlEntities: false,
8137
+ entityDecoder: null,
6641
8138
  ignoreDeclaration: false,
6642
8139
  ignorePiTags: false,
6643
8140
  transformTagName: false,
@@ -6672,7 +8169,8 @@ var init_OptionsBuilder = __esm({
6672
8169
  if (built.onDangerousProperty === null) {
6673
8170
  built.onDangerousProperty = defaultOnDangerousProperty;
6674
8171
  }
6675
- built.processEntities = normalizeProcessEntities(built.processEntities);
8172
+ built.processEntities = normalizeProcessEntities(built.processEntities, built.htmlEntities);
8173
+ built.unpairedTagsSet = new Set(built.unpairedTags);
6676
8174
  if (built.stopNodes && Array.isArray(built.stopNodes)) {
6677
8175
  built.stopNodes = built.stopNodes.map((node) => {
6678
8176
  if (typeof node === "string" && node.startsWith("*.")) {
@@ -6686,10 +8184,10 @@ var init_OptionsBuilder = __esm({
6686
8184
  }
6687
8185
  });
6688
8186
 
6689
- // ../../node_modules/.store/fast-xml-parser-npm-5.5.7-d3593c54f5/package/src/xmlparser/xmlNode.js
8187
+ // ../../node_modules/.store/fast-xml-parser-npm-5.7.1-94929a6c96/package/src/xmlparser/xmlNode.js
6690
8188
  var METADATA_SYMBOL, _XmlNode, XmlNode;
6691
8189
  var init_xmlNode = __esm({
6692
- "../../node_modules/.store/fast-xml-parser-npm-5.5.7-d3593c54f5/package/src/xmlparser/xmlNode.js"() {
8190
+ "../../node_modules/.store/fast-xml-parser-npm-5.7.1-94929a6c96/package/src/xmlparser/xmlNode.js"() {
6693
8191
  "use strict";
6694
8192
  if (typeof Symbol !== "function") {
6695
8193
  METADATA_SYMBOL = "@@xmlMetadata";
@@ -6727,14 +8225,14 @@ var init_xmlNode = __esm({
6727
8225
  }
6728
8226
  });
6729
8227
 
6730
- // ../../node_modules/.store/fast-xml-parser-npm-5.5.7-d3593c54f5/package/src/xmlparser/DocTypeReader.js
8228
+ // ../../node_modules/.store/fast-xml-parser-npm-5.7.1-94929a6c96/package/src/xmlparser/DocTypeReader.js
6731
8229
  function hasSeq(data, seq, i) {
6732
8230
  for (let j = 0; j < seq.length; j++) {
6733
8231
  if (seq[j] !== data[i + j + 1]) return false;
6734
8232
  }
6735
8233
  return true;
6736
8234
  }
6737
- function validateEntityName(name) {
8235
+ function validateEntityName2(name) {
6738
8236
  if (isName(name))
6739
8237
  return name;
6740
8238
  else
@@ -6742,7 +8240,7 @@ function validateEntityName(name) {
6742
8240
  }
6743
8241
  var _DocTypeReader, DocTypeReader, skipWhitespace;
6744
8242
  var init_DocTypeReader = __esm({
6745
- "../../node_modules/.store/fast-xml-parser-npm-5.5.7-d3593c54f5/package/src/xmlparser/DocTypeReader.js"() {
8243
+ "../../node_modules/.store/fast-xml-parser-npm-5.7.1-94929a6c96/package/src/xmlparser/DocTypeReader.js"() {
6746
8244
  init_util2();
6747
8245
  _DocTypeReader = class _DocTypeReader {
6748
8246
  constructor(options) {
@@ -6769,11 +8267,7 @@ var init_DocTypeReader = __esm({
6769
8267
  `Entity count (${entityCount + 1}) exceeds maximum allowed (${this.options.maxEntityCount})`
6770
8268
  );
6771
8269
  }
6772
- const escaped = entityName.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
6773
- entities[entityName] = {
6774
- regx: RegExp(`&${escaped};`, "g"),
6775
- val
6776
- };
8270
+ entities[entityName] = val;
6777
8271
  entityCount++;
6778
8272
  }
6779
8273
  } else if (hasBody && hasSeq(xmlData, "!ELEMENT", i)) {
@@ -6823,7 +8317,7 @@ var init_DocTypeReader = __esm({
6823
8317
  i++;
6824
8318
  }
6825
8319
  let entityName = xmlData.substring(startIndex, i);
6826
- validateEntityName(entityName);
8320
+ validateEntityName2(entityName);
6827
8321
  i = skipWhitespace(xmlData, i);
6828
8322
  if (!this.suppressValidationErr) {
6829
8323
  if (xmlData.substring(i, i + 6).toUpperCase() === "SYSTEM") {
@@ -6849,7 +8343,7 @@ var init_DocTypeReader = __esm({
6849
8343
  i++;
6850
8344
  }
6851
8345
  let notationName = xmlData.substring(startIndex, i);
6852
- !this.suppressValidationErr && validateEntityName(notationName);
8346
+ !this.suppressValidationErr && validateEntityName2(notationName);
6853
8347
  i = skipWhitespace(xmlData, i);
6854
8348
  const identifierType = xmlData.substring(i, i + 6).toUpperCase();
6855
8349
  if (!this.suppressValidationErr && identifierType !== "SYSTEM" && identifierType !== "PUBLIC") {
@@ -6931,14 +8425,14 @@ var init_DocTypeReader = __esm({
6931
8425
  i++;
6932
8426
  }
6933
8427
  let elementName = xmlData.substring(startIndex, i);
6934
- validateEntityName(elementName);
8428
+ validateEntityName2(elementName);
6935
8429
  i = skipWhitespace(xmlData, i);
6936
8430
  startIndex = i;
6937
8431
  while (i < xmlData.length && !/\s/.test(xmlData[i])) {
6938
8432
  i++;
6939
8433
  }
6940
8434
  let attributeName = xmlData.substring(startIndex, i);
6941
- if (!validateEntityName(attributeName)) {
8435
+ if (!validateEntityName2(attributeName)) {
6942
8436
  throw new Error(`Invalid attribute name: "${attributeName}"`);
6943
8437
  }
6944
8438
  i = skipWhitespace(xmlData, i);
@@ -6959,7 +8453,7 @@ var init_DocTypeReader = __esm({
6959
8453
  }
6960
8454
  let notation = xmlData.substring(startIndex2, i);
6961
8455
  notation = notation.trim();
6962
- if (!validateEntityName(notation)) {
8456
+ if (!validateEntityName2(notation)) {
6963
8457
  throw new Error(`Invalid notation name: "${notation}"`);
6964
8458
  }
6965
8459
  allowedNotations.push(notation);
@@ -7013,17 +8507,18 @@ var init_DocTypeReader = __esm({
7013
8507
  return index;
7014
8508
  }, "skipWhitespace");
7015
8509
  __name(hasSeq, "hasSeq");
7016
- __name(validateEntityName, "validateEntityName");
8510
+ __name(validateEntityName2, "validateEntityName");
7017
8511
  }
7018
8512
  });
7019
8513
 
7020
- // ../../node_modules/.store/strnum-npm-2.2.1-b3a08c1c56/package/strnum.js
8514
+ // ../../node_modules/.store/strnum-npm-2.2.3-3aa06fd3c4/package/strnum.js
7021
8515
  function toNumber(str, options = {}) {
7022
8516
  options = Object.assign({}, consider, options);
7023
8517
  if (!str || typeof str !== "string") return str;
7024
8518
  let trimmedStr = str.trim();
7025
- if (options.skipLike !== void 0 && options.skipLike.test(trimmedStr)) return str;
7026
- else if (str === "0") return 0;
8519
+ if (trimmedStr.length === 0) return str;
8520
+ else if (options.skipLike !== void 0 && options.skipLike.test(trimmedStr)) return str;
8521
+ else if (trimmedStr === "0") return 0;
7027
8522
  else if (options.hex && hexRegex.test(trimmedStr)) {
7028
8523
  return parse_int(trimmedStr, 16);
7029
8524
  } else if (!isFinite(trimmedStr)) {
@@ -7126,7 +8621,7 @@ function handleInfinity(str, num, options) {
7126
8621
  }
7127
8622
  var hexRegex, numRegex, consider, eNotationRegx;
7128
8623
  var init_strnum = __esm({
7129
- "../../node_modules/.store/strnum-npm-2.2.1-b3a08c1c56/package/strnum.js"() {
8624
+ "../../node_modules/.store/strnum-npm-2.2.3-3aa06fd3c4/package/strnum.js"() {
7130
8625
  hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;
7131
8626
  numRegex = /^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/;
7132
8627
  consider = {
@@ -7148,7 +8643,7 @@ var init_strnum = __esm({
7148
8643
  }
7149
8644
  });
7150
8645
 
7151
- // ../../node_modules/.store/fast-xml-parser-npm-5.5.7-d3593c54f5/package/src/ignoreAttributes.js
8646
+ // ../../node_modules/.store/fast-xml-parser-npm-5.7.1-94929a6c96/package/src/ignoreAttributes.js
7152
8647
  function getIgnoreAttributesFn(ignoreAttributes) {
7153
8648
  if (typeof ignoreAttributes === "function") {
7154
8649
  return ignoreAttributes;
@@ -7168,15 +8663,15 @@ function getIgnoreAttributesFn(ignoreAttributes) {
7168
8663
  return () => false;
7169
8664
  }
7170
8665
  var init_ignoreAttributes = __esm({
7171
- "../../node_modules/.store/fast-xml-parser-npm-5.5.7-d3593c54f5/package/src/ignoreAttributes.js"() {
8666
+ "../../node_modules/.store/fast-xml-parser-npm-5.7.1-94929a6c96/package/src/ignoreAttributes.js"() {
7172
8667
  __name(getIgnoreAttributesFn, "getIgnoreAttributesFn");
7173
8668
  }
7174
8669
  });
7175
8670
 
7176
- // ../../node_modules/.store/path-expression-matcher-npm-1.1.3-ea64bf895d/package/src/Expression.js
8671
+ // ../../node_modules/.store/path-expression-matcher-npm-1.5.0-73d258a112/package/src/Expression.js
7177
8672
  var _Expression, Expression;
7178
8673
  var init_Expression = __esm({
7179
- "../../node_modules/.store/path-expression-matcher-npm-1.1.3-ea64bf895d/package/src/Expression.js"() {
8674
+ "../../node_modules/.store/path-expression-matcher-npm-1.5.0-73d258a112/package/src/Expression.js"() {
7180
8675
  _Expression = class _Expression {
7181
8676
  /**
7182
8677
  * Create a new Expression
@@ -7184,10 +8679,11 @@ var init_Expression = __esm({
7184
8679
  * @param {Object} options - Configuration options
7185
8680
  * @param {string} options.separator - Path separator (default: '.')
7186
8681
  */
7187
- constructor(pattern, options = {}) {
8682
+ constructor(pattern, options = {}, data) {
7188
8683
  this.pattern = pattern;
7189
8684
  this.separator = options.separator || ".";
7190
8685
  this.segments = this._parse(pattern);
8686
+ this.data = data;
7191
8687
  this._hasDeepWildcard = this.segments.some((seg) => seg.type === "deep-wildcard");
7192
8688
  this._hasAttributeCondition = this.segments.some((seg) => seg.attrName !== void 0);
7193
8689
  this._hasPositionSelector = this.segments.some((seg) => seg.position !== void 0);
@@ -7342,31 +8838,315 @@ var init_Expression = __esm({
7342
8838
  }
7343
8839
  });
7344
8840
 
7345
- // ../../node_modules/.store/path-expression-matcher-npm-1.1.3-ea64bf895d/package/src/Matcher.js
7346
- var _Matcher, Matcher;
8841
+ // ../../node_modules/.store/path-expression-matcher-npm-1.5.0-73d258a112/package/src/ExpressionSet.js
8842
+ var _ExpressionSet, ExpressionSet;
8843
+ var init_ExpressionSet = __esm({
8844
+ "../../node_modules/.store/path-expression-matcher-npm-1.5.0-73d258a112/package/src/ExpressionSet.js"() {
8845
+ _ExpressionSet = class _ExpressionSet {
8846
+ constructor() {
8847
+ this._byDepthAndTag = /* @__PURE__ */ new Map();
8848
+ this._wildcardByDepth = /* @__PURE__ */ new Map();
8849
+ this._deepWildcards = [];
8850
+ this._patterns = /* @__PURE__ */ new Set();
8851
+ this._sealed = false;
8852
+ }
8853
+ /**
8854
+ * Add an Expression to the set.
8855
+ * Duplicate patterns (same pattern string) are silently ignored.
8856
+ *
8857
+ * @param {import('./Expression.js').default} expression - A pre-constructed Expression instance
8858
+ * @returns {this} for chaining
8859
+ * @throws {TypeError} if called after seal()
8860
+ *
8861
+ * @example
8862
+ * set.add(new Expression('root.users.user'));
8863
+ * set.add(new Expression('..script'));
8864
+ */
8865
+ add(expression) {
8866
+ if (this._sealed) {
8867
+ throw new TypeError(
8868
+ "ExpressionSet is sealed. Create a new ExpressionSet to add more expressions."
8869
+ );
8870
+ }
8871
+ if (this._patterns.has(expression.pattern)) return this;
8872
+ this._patterns.add(expression.pattern);
8873
+ if (expression.hasDeepWildcard()) {
8874
+ this._deepWildcards.push(expression);
8875
+ return this;
8876
+ }
8877
+ const depth = expression.length;
8878
+ const lastSeg = expression.segments[expression.segments.length - 1];
8879
+ const tag = lastSeg == null ? void 0 : lastSeg.tag;
8880
+ if (!tag || tag === "*") {
8881
+ if (!this._wildcardByDepth.has(depth)) this._wildcardByDepth.set(depth, []);
8882
+ this._wildcardByDepth.get(depth).push(expression);
8883
+ } else {
8884
+ const key = `${depth}:${tag}`;
8885
+ if (!this._byDepthAndTag.has(key)) this._byDepthAndTag.set(key, []);
8886
+ this._byDepthAndTag.get(key).push(expression);
8887
+ }
8888
+ return this;
8889
+ }
8890
+ /**
8891
+ * Add multiple expressions at once.
8892
+ *
8893
+ * @param {import('./Expression.js').default[]} expressions - Array of Expression instances
8894
+ * @returns {this} for chaining
8895
+ *
8896
+ * @example
8897
+ * set.addAll([
8898
+ * new Expression('root.users.user'),
8899
+ * new Expression('root.config.setting'),
8900
+ * ]);
8901
+ */
8902
+ addAll(expressions) {
8903
+ for (const expr of expressions) this.add(expr);
8904
+ return this;
8905
+ }
8906
+ /**
8907
+ * Check whether a pattern string is already present in the set.
8908
+ *
8909
+ * @param {import('./Expression.js').default} expression
8910
+ * @returns {boolean}
8911
+ */
8912
+ has(expression) {
8913
+ return this._patterns.has(expression.pattern);
8914
+ }
8915
+ /**
8916
+ * Number of expressions in the set.
8917
+ * @type {number}
8918
+ */
8919
+ get size() {
8920
+ return this._patterns.size;
8921
+ }
8922
+ /**
8923
+ * Seal the set against further modifications.
8924
+ * Useful to prevent accidental mutations after config is built.
8925
+ * Calling add() or addAll() on a sealed set throws a TypeError.
8926
+ *
8927
+ * @returns {this}
8928
+ */
8929
+ seal() {
8930
+ this._sealed = true;
8931
+ return this;
8932
+ }
8933
+ /**
8934
+ * Whether the set has been sealed.
8935
+ * @type {boolean}
8936
+ */
8937
+ get isSealed() {
8938
+ return this._sealed;
8939
+ }
8940
+ /**
8941
+ * Test whether the matcher's current path matches any expression in the set.
8942
+ *
8943
+ * Evaluation order (cheapest → most expensive):
8944
+ * 1. Exact depth + tag bucket — O(1) lookup, typically 0–2 expressions
8945
+ * 2. Depth-only wildcard bucket — O(1) lookup, rare
8946
+ * 3. Deep-wildcard list — always checked, but usually small
8947
+ *
8948
+ * @param {import('./Matcher.js').default} matcher - Matcher instance (or readOnly view)
8949
+ * @returns {boolean} true if any expression matches the current path
8950
+ *
8951
+ * @example
8952
+ * if (stopNodes.matchesAny(matcher)) {
8953
+ * // handle stop node
8954
+ * }
8955
+ */
8956
+ matchesAny(matcher) {
8957
+ return this.findMatch(matcher) !== null;
8958
+ }
8959
+ /**
8960
+ * Find and return the first Expression that matches the matcher's current path.
8961
+ *
8962
+ * Uses the same evaluation order as matchesAny (cheapest → most expensive):
8963
+ * 1. Exact depth + tag bucket
8964
+ * 2. Depth-only wildcard bucket
8965
+ * 3. Deep-wildcard list
8966
+ *
8967
+ * @param {import('./Matcher.js').default} matcher - Matcher instance (or readOnly view)
8968
+ * @returns {import('./Expression.js').default | null} the first matching Expression, or null
8969
+ *
8970
+ * @example
8971
+ * const expr = stopNodes.findMatch(matcher);
8972
+ * if (expr) {
8973
+ * // access expr.config, expr.pattern, etc.
8974
+ * }
8975
+ */
8976
+ findMatch(matcher) {
8977
+ const depth = matcher.getDepth();
8978
+ const tag = matcher.getCurrentTag();
8979
+ const exactKey = `${depth}:${tag}`;
8980
+ const exactBucket = this._byDepthAndTag.get(exactKey);
8981
+ if (exactBucket) {
8982
+ for (let i = 0; i < exactBucket.length; i++) {
8983
+ if (matcher.matches(exactBucket[i])) return exactBucket[i];
8984
+ }
8985
+ }
8986
+ const wildcardBucket = this._wildcardByDepth.get(depth);
8987
+ if (wildcardBucket) {
8988
+ for (let i = 0; i < wildcardBucket.length; i++) {
8989
+ if (matcher.matches(wildcardBucket[i])) return wildcardBucket[i];
8990
+ }
8991
+ }
8992
+ for (let i = 0; i < this._deepWildcards.length; i++) {
8993
+ if (matcher.matches(this._deepWildcards[i])) return this._deepWildcards[i];
8994
+ }
8995
+ return null;
8996
+ }
8997
+ };
8998
+ __name(_ExpressionSet, "ExpressionSet");
8999
+ ExpressionSet = _ExpressionSet;
9000
+ }
9001
+ });
9002
+
9003
+ // ../../node_modules/.store/path-expression-matcher-npm-1.5.0-73d258a112/package/src/Matcher.js
9004
+ var _MatcherView, MatcherView, _Matcher, Matcher;
7347
9005
  var init_Matcher = __esm({
7348
- "../../node_modules/.store/path-expression-matcher-npm-1.1.3-ea64bf895d/package/src/Matcher.js"() {
9006
+ "../../node_modules/.store/path-expression-matcher-npm-1.5.0-73d258a112/package/src/Matcher.js"() {
9007
+ _MatcherView = class _MatcherView {
9008
+ /**
9009
+ * @param {Matcher} matcher - The parent Matcher instance to read from.
9010
+ */
9011
+ constructor(matcher) {
9012
+ this._matcher = matcher;
9013
+ }
9014
+ /**
9015
+ * Get the path separator used by the parent matcher.
9016
+ * @returns {string}
9017
+ */
9018
+ get separator() {
9019
+ return this._matcher.separator;
9020
+ }
9021
+ /**
9022
+ * Get current tag name.
9023
+ * @returns {string|undefined}
9024
+ */
9025
+ getCurrentTag() {
9026
+ const path = this._matcher.path;
9027
+ return path.length > 0 ? path[path.length - 1].tag : void 0;
9028
+ }
9029
+ /**
9030
+ * Get current namespace.
9031
+ * @returns {string|undefined}
9032
+ */
9033
+ getCurrentNamespace() {
9034
+ const path = this._matcher.path;
9035
+ return path.length > 0 ? path[path.length - 1].namespace : void 0;
9036
+ }
9037
+ /**
9038
+ * Get current node's attribute value.
9039
+ * @param {string} attrName
9040
+ * @returns {*}
9041
+ */
9042
+ getAttrValue(attrName) {
9043
+ var _a3;
9044
+ const path = this._matcher.path;
9045
+ if (path.length === 0) return void 0;
9046
+ return (_a3 = path[path.length - 1].values) == null ? void 0 : _a3[attrName];
9047
+ }
9048
+ /**
9049
+ * Check if current node has an attribute.
9050
+ * @param {string} attrName
9051
+ * @returns {boolean}
9052
+ */
9053
+ hasAttr(attrName) {
9054
+ const path = this._matcher.path;
9055
+ if (path.length === 0) return false;
9056
+ const current = path[path.length - 1];
9057
+ return current.values !== void 0 && attrName in current.values;
9058
+ }
9059
+ /**
9060
+ * Get current node's sibling position (child index in parent).
9061
+ * @returns {number}
9062
+ */
9063
+ getPosition() {
9064
+ const path = this._matcher.path;
9065
+ if (path.length === 0) return -1;
9066
+ return path[path.length - 1].position ?? 0;
9067
+ }
9068
+ /**
9069
+ * Get current node's repeat counter (occurrence count of this tag name).
9070
+ * @returns {number}
9071
+ */
9072
+ getCounter() {
9073
+ const path = this._matcher.path;
9074
+ if (path.length === 0) return -1;
9075
+ return path[path.length - 1].counter ?? 0;
9076
+ }
9077
+ /**
9078
+ * Get current node's sibling index (alias for getPosition).
9079
+ * @returns {number}
9080
+ * @deprecated Use getPosition() or getCounter() instead
9081
+ */
9082
+ getIndex() {
9083
+ return this.getPosition();
9084
+ }
9085
+ /**
9086
+ * Get current path depth.
9087
+ * @returns {number}
9088
+ */
9089
+ getDepth() {
9090
+ return this._matcher.path.length;
9091
+ }
9092
+ /**
9093
+ * Get path as string.
9094
+ * @param {string} [separator] - Optional separator (uses default if not provided)
9095
+ * @param {boolean} [includeNamespace=true]
9096
+ * @returns {string}
9097
+ */
9098
+ toString(separator, includeNamespace = true) {
9099
+ return this._matcher.toString(separator, includeNamespace);
9100
+ }
9101
+ /**
9102
+ * Get path as array of tag names.
9103
+ * @returns {string[]}
9104
+ */
9105
+ toArray() {
9106
+ return this._matcher.path.map((n) => n.tag);
9107
+ }
9108
+ /**
9109
+ * Match current path against an Expression.
9110
+ * @param {Expression} expression
9111
+ * @returns {boolean}
9112
+ */
9113
+ matches(expression) {
9114
+ return this._matcher.matches(expression);
9115
+ }
9116
+ /**
9117
+ * Match any expression in the given set against the current path.
9118
+ * @param {ExpressionSet} exprSet
9119
+ * @returns {boolean}
9120
+ */
9121
+ matchesAny(exprSet) {
9122
+ return exprSet.matchesAny(this._matcher);
9123
+ }
9124
+ };
9125
+ __name(_MatcherView, "MatcherView");
9126
+ MatcherView = _MatcherView;
7349
9127
  _Matcher = class _Matcher {
7350
9128
  /**
7351
- * Create a new Matcher
7352
- * @param {Object} options - Configuration options
7353
- * @param {string} options.separator - Default path separator (default: '.')
9129
+ * Create a new Matcher.
9130
+ * @param {Object} [options={}]
9131
+ * @param {string} [options.separator='.'] - Default path separator
7354
9132
  */
7355
9133
  constructor(options = {}) {
7356
9134
  this.separator = options.separator || ".";
7357
9135
  this.path = [];
7358
9136
  this.siblingStacks = [];
9137
+ this._pathStringCache = null;
9138
+ this._view = new MatcherView(this);
7359
9139
  }
7360
9140
  /**
7361
- * Push a new tag onto the path
7362
- * @param {string} tagName - Name of the tag
7363
- * @param {Object} attrValues - Attribute key-value pairs for current node (optional)
7364
- * @param {string} namespace - Namespace for the tag (optional)
9141
+ * Push a new tag onto the path.
9142
+ * @param {string} tagName
9143
+ * @param {Object|null} [attrValues=null]
9144
+ * @param {string|null} [namespace=null]
7365
9145
  */
7366
9146
  push(tagName, attrValues = null, namespace = null) {
9147
+ this._pathStringCache = null;
7367
9148
  if (this.path.length > 0) {
7368
- const prev = this.path[this.path.length - 1];
7369
- prev.values = void 0;
9149
+ this.path[this.path.length - 1].values = void 0;
7370
9150
  }
7371
9151
  const currentLevel = this.path.length;
7372
9152
  if (!this.siblingStacks[currentLevel]) {
@@ -7394,13 +9174,12 @@ var init_Matcher = __esm({
7394
9174
  this.path.push(node);
7395
9175
  }
7396
9176
  /**
7397
- * Pop the last tag from the path
9177
+ * Pop the last tag from the path.
7398
9178
  * @returns {Object|undefined} The popped node
7399
9179
  */
7400
9180
  pop() {
7401
- if (this.path.length === 0) {
7402
- return void 0;
7403
- }
9181
+ if (this.path.length === 0) return void 0;
9182
+ this._pathStringCache = null;
7404
9183
  const node = this.path.pop();
7405
9184
  if (this.siblingStacks.length > this.path.length + 1) {
7406
9185
  this.siblingStacks.length = this.path.length + 1;
@@ -7408,9 +9187,9 @@ var init_Matcher = __esm({
7408
9187
  return node;
7409
9188
  }
7410
9189
  /**
7411
- * Update current node's attribute values
7412
- * Useful when attributes are parsed after push
7413
- * @param {Object} attrValues - Attribute values
9190
+ * Update current node's attribute values.
9191
+ * Useful when attributes are parsed after push.
9192
+ * @param {Object} attrValues
7414
9193
  */
7415
9194
  updateCurrent(attrValues) {
7416
9195
  if (this.path.length > 0) {
@@ -7421,33 +9200,32 @@ var init_Matcher = __esm({
7421
9200
  }
7422
9201
  }
7423
9202
  /**
7424
- * Get current tag name
9203
+ * Get current tag name.
7425
9204
  * @returns {string|undefined}
7426
9205
  */
7427
9206
  getCurrentTag() {
7428
9207
  return this.path.length > 0 ? this.path[this.path.length - 1].tag : void 0;
7429
9208
  }
7430
9209
  /**
7431
- * Get current namespace
9210
+ * Get current namespace.
7432
9211
  * @returns {string|undefined}
7433
9212
  */
7434
9213
  getCurrentNamespace() {
7435
9214
  return this.path.length > 0 ? this.path[this.path.length - 1].namespace : void 0;
7436
9215
  }
7437
9216
  /**
7438
- * Get current node's attribute value
7439
- * @param {string} attrName - Attribute name
7440
- * @returns {*} Attribute value or undefined
9217
+ * Get current node's attribute value.
9218
+ * @param {string} attrName
9219
+ * @returns {*}
7441
9220
  */
7442
9221
  getAttrValue(attrName) {
7443
9222
  var _a3;
7444
9223
  if (this.path.length === 0) return void 0;
7445
- const current = this.path[this.path.length - 1];
7446
- return (_a3 = current.values) == null ? void 0 : _a3[attrName];
9224
+ return (_a3 = this.path[this.path.length - 1].values) == null ? void 0 : _a3[attrName];
7447
9225
  }
7448
9226
  /**
7449
- * Check if current node has an attribute
7450
- * @param {string} attrName - Attribute name
9227
+ * Check if current node has an attribute.
9228
+ * @param {string} attrName
7451
9229
  * @returns {boolean}
7452
9230
  */
7453
9231
  hasAttr(attrName) {
@@ -7456,7 +9234,7 @@ var init_Matcher = __esm({
7456
9234
  return current.values !== void 0 && attrName in current.values;
7457
9235
  }
7458
9236
  /**
7459
- * Get current node's sibling position (child index in parent)
9237
+ * Get current node's sibling position (child index in parent).
7460
9238
  * @returns {number}
7461
9239
  */
7462
9240
  getPosition() {
@@ -7464,7 +9242,7 @@ var init_Matcher = __esm({
7464
9242
  return this.path[this.path.length - 1].position ?? 0;
7465
9243
  }
7466
9244
  /**
7467
- * Get current node's repeat counter (occurrence count of this tag name)
9245
+ * Get current node's repeat counter (occurrence count of this tag name).
7468
9246
  * @returns {number}
7469
9247
  */
7470
9248
  getCounter() {
@@ -7472,7 +9250,7 @@ var init_Matcher = __esm({
7472
9250
  return this.path[this.path.length - 1].counter ?? 0;
7473
9251
  }
7474
9252
  /**
7475
- * Get current node's sibling index (alias for getPosition for backward compatibility)
9253
+ * Get current node's sibling index (alias for getPosition).
7476
9254
  * @returns {number}
7477
9255
  * @deprecated Use getPosition() or getCounter() instead
7478
9256
  */
@@ -7480,45 +9258,54 @@ var init_Matcher = __esm({
7480
9258
  return this.getPosition();
7481
9259
  }
7482
9260
  /**
7483
- * Get current path depth
9261
+ * Get current path depth.
7484
9262
  * @returns {number}
7485
9263
  */
7486
9264
  getDepth() {
7487
9265
  return this.path.length;
7488
9266
  }
7489
9267
  /**
7490
- * Get path as string
7491
- * @param {string} separator - Optional separator (uses default if not provided)
7492
- * @param {boolean} includeNamespace - Whether to include namespace in output (default: true)
9268
+ * Get path as string.
9269
+ * @param {string} [separator] - Optional separator (uses default if not provided)
9270
+ * @param {boolean} [includeNamespace=true]
7493
9271
  * @returns {string}
7494
9272
  */
7495
9273
  toString(separator, includeNamespace = true) {
7496
9274
  const sep = separator || this.separator;
7497
- return this.path.map((n) => {
7498
- if (includeNamespace && n.namespace) {
7499
- return `${n.namespace}:${n.tag}`;
9275
+ const isDefault = sep === this.separator && includeNamespace === true;
9276
+ if (isDefault) {
9277
+ if (this._pathStringCache !== null) {
9278
+ return this._pathStringCache;
7500
9279
  }
7501
- return n.tag;
7502
- }).join(sep);
9280
+ const result = this.path.map(
9281
+ (n) => n.namespace ? `${n.namespace}:${n.tag}` : n.tag
9282
+ ).join(sep);
9283
+ this._pathStringCache = result;
9284
+ return result;
9285
+ }
9286
+ return this.path.map(
9287
+ (n) => includeNamespace && n.namespace ? `${n.namespace}:${n.tag}` : n.tag
9288
+ ).join(sep);
7503
9289
  }
7504
9290
  /**
7505
- * Get path as array of tag names
9291
+ * Get path as array of tag names.
7506
9292
  * @returns {string[]}
7507
9293
  */
7508
9294
  toArray() {
7509
9295
  return this.path.map((n) => n.tag);
7510
9296
  }
7511
9297
  /**
7512
- * Reset the path to empty
9298
+ * Reset the path to empty.
7513
9299
  */
7514
9300
  reset() {
9301
+ this._pathStringCache = null;
7515
9302
  this.path = [];
7516
9303
  this.siblingStacks = [];
7517
9304
  }
7518
9305
  /**
7519
- * Match current path against an Expression
7520
- * @param {Expression} expression - The expression to match against
7521
- * @returns {boolean} True if current path matches the expression
9306
+ * Match current path against an Expression.
9307
+ * @param {Expression} expression
9308
+ * @returns {boolean}
7522
9309
  */
7523
9310
  matches(expression) {
7524
9311
  const segments = expression.segments;
@@ -7531,7 +9318,6 @@ var init_Matcher = __esm({
7531
9318
  return this._matchSimple(segments);
7532
9319
  }
7533
9320
  /**
7534
- * Match simple path (no deep wildcards)
7535
9321
  * @private
7536
9322
  */
7537
9323
  _matchSimple(segments) {
@@ -7539,17 +9325,13 @@ var init_Matcher = __esm({
7539
9325
  return false;
7540
9326
  }
7541
9327
  for (let i = 0; i < segments.length; i++) {
7542
- const segment = segments[i];
7543
- const node = this.path[i];
7544
- const isCurrentNode = i === this.path.length - 1;
7545
- if (!this._matchSegment(segment, node, isCurrentNode)) {
9328
+ if (!this._matchSegment(segments[i], this.path[i], i === this.path.length - 1)) {
7546
9329
  return false;
7547
9330
  }
7548
9331
  }
7549
9332
  return true;
7550
9333
  }
7551
9334
  /**
7552
- * Match path with deep wildcards
7553
9335
  * @private
7554
9336
  */
7555
9337
  _matchWithDeepWildcard(segments) {
@@ -7565,8 +9347,7 @@ var init_Matcher = __esm({
7565
9347
  const nextSeg = segments[segIdx];
7566
9348
  let found = false;
7567
9349
  for (let i = pathIdx; i >= 0; i--) {
7568
- const isCurrentNode = i === this.path.length - 1;
7569
- if (this._matchSegment(nextSeg, this.path[i], isCurrentNode)) {
9350
+ if (this._matchSegment(nextSeg, this.path[i], i === this.path.length - 1)) {
7570
9351
  pathIdx = i - 1;
7571
9352
  segIdx--;
7572
9353
  found = true;
@@ -7577,8 +9358,7 @@ var init_Matcher = __esm({
7577
9358
  return false;
7578
9359
  }
7579
9360
  } else {
7580
- const isCurrentNode = pathIdx === this.path.length - 1;
7581
- if (!this._matchSegment(segment, this.path[pathIdx], isCurrentNode)) {
9361
+ if (!this._matchSegment(segment, this.path[pathIdx], pathIdx === this.path.length - 1)) {
7582
9362
  return false;
7583
9363
  }
7584
9364
  pathIdx--;
@@ -7588,12 +9368,7 @@ var init_Matcher = __esm({
7588
9368
  return segIdx < 0;
7589
9369
  }
7590
9370
  /**
7591
- * Match a single segment against a node
7592
9371
  * @private
7593
- * @param {Object} segment - Segment from Expression
7594
- * @param {Object} node - Node from path
7595
- * @param {boolean} isCurrentNode - Whether this is the current (last) node
7596
- * @returns {boolean}
7597
9372
  */
7598
9373
  _matchSegment(segment, node, isCurrentNode) {
7599
9374
  if (segment.tag !== "*" && segment.tag !== node.tag) {
@@ -7612,8 +9387,7 @@ var init_Matcher = __esm({
7612
9387
  return false;
7613
9388
  }
7614
9389
  if (segment.attrValue !== void 0) {
7615
- const actualValue = node.values[segment.attrName];
7616
- if (String(actualValue) !== String(segment.attrValue)) {
9390
+ if (String(node.values[segment.attrName]) !== String(segment.attrValue)) {
7617
9391
  return false;
7618
9392
  }
7619
9393
  }
@@ -7629,17 +9403,23 @@ var init_Matcher = __esm({
7629
9403
  return false;
7630
9404
  } else if (segment.position === "even" && counter % 2 !== 0) {
7631
9405
  return false;
7632
- } else if (segment.position === "nth") {
7633
- if (counter !== segment.positionValue) {
7634
- return false;
7635
- }
9406
+ } else if (segment.position === "nth" && counter !== segment.positionValue) {
9407
+ return false;
7636
9408
  }
7637
9409
  }
7638
9410
  return true;
7639
9411
  }
7640
9412
  /**
7641
- * Create a snapshot of current state
7642
- * @returns {Object} State snapshot
9413
+ * Match any expression in the given set against the current path.
9414
+ * @param {ExpressionSet} exprSet
9415
+ * @returns {boolean}
9416
+ */
9417
+ matchesAny(exprSet) {
9418
+ return exprSet.matchesAny(this);
9419
+ }
9420
+ /**
9421
+ * Create a snapshot of current state.
9422
+ * @returns {Object}
7643
9423
  */
7644
9424
  snapshot() {
7645
9425
  return {
@@ -7648,28 +9428,49 @@ var init_Matcher = __esm({
7648
9428
  };
7649
9429
  }
7650
9430
  /**
7651
- * Restore state from snapshot
7652
- * @param {Object} snapshot - State snapshot
9431
+ * Restore state from snapshot.
9432
+ * @param {Object} snapshot
7653
9433
  */
7654
9434
  restore(snapshot2) {
9435
+ this._pathStringCache = null;
7655
9436
  this.path = snapshot2.path.map((node) => ({ ...node }));
7656
9437
  this.siblingStacks = snapshot2.siblingStacks.map((map) => new Map(map));
7657
9438
  }
9439
+ /**
9440
+ * Return the read-only {@link MatcherView} for this matcher.
9441
+ *
9442
+ * The same instance is returned on every call — no allocation occurs.
9443
+ * It always reflects the current parser state and is safe to pass to
9444
+ * user callbacks without risk of accidental mutation.
9445
+ *
9446
+ * @returns {MatcherView}
9447
+ *
9448
+ * @example
9449
+ * const view = matcher.readOnly();
9450
+ * // pass view to callbacks — it stays in sync automatically
9451
+ * view.matches(expr); // ✓
9452
+ * view.getCurrentTag(); // ✓
9453
+ * // view.push(...) // ✗ method does not exist — caught by TypeScript
9454
+ */
9455
+ readOnly() {
9456
+ return this._view;
9457
+ }
7658
9458
  };
7659
9459
  __name(_Matcher, "Matcher");
7660
9460
  Matcher = _Matcher;
7661
9461
  }
7662
9462
  });
7663
9463
 
7664
- // ../../node_modules/.store/path-expression-matcher-npm-1.1.3-ea64bf895d/package/src/index.js
7665
- var init_src = __esm({
7666
- "../../node_modules/.store/path-expression-matcher-npm-1.1.3-ea64bf895d/package/src/index.js"() {
9464
+ // ../../node_modules/.store/path-expression-matcher-npm-1.5.0-73d258a112/package/src/index.js
9465
+ var init_src2 = __esm({
9466
+ "../../node_modules/.store/path-expression-matcher-npm-1.5.0-73d258a112/package/src/index.js"() {
7667
9467
  init_Expression();
7668
9468
  init_Matcher();
9469
+ init_ExpressionSet();
7669
9470
  }
7670
9471
  });
7671
9472
 
7672
- // ../../node_modules/.store/fast-xml-parser-npm-5.5.7-d3593c54f5/package/src/xmlparser/OrderedObjParser.js
9473
+ // ../../node_modules/.store/fast-xml-parser-npm-5.7.1-94929a6c96/package/src/xmlparser/OrderedObjParser.js
7673
9474
  function extractRawAttributes(prefixedAttrs, options) {
7674
9475
  if (!prefixedAttrs) return {};
7675
9476
  const attrs = options.attributesGroupName ? prefixedAttrs[options.attributesGroupName] : prefixedAttrs;
@@ -7696,36 +9497,26 @@ function extractNamespace(rawTagName) {
7696
9497
  }
7697
9498
  return void 0;
7698
9499
  }
7699
- function addExternalEntities(externalEntities) {
7700
- const entKeys = Object.keys(externalEntities);
7701
- for (let i = 0; i < entKeys.length; i++) {
7702
- const ent = entKeys[i];
7703
- const escaped = ent.replace(/[.\-+*:]/g, "\\.");
7704
- this.lastEntities[ent] = {
7705
- regex: new RegExp("&" + escaped + ";", "g"),
7706
- val: externalEntities[ent]
7707
- };
7708
- }
7709
- }
7710
9500
  function parseTextData(val, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {
9501
+ const options = this.options;
7711
9502
  if (val !== void 0) {
7712
- if (this.options.trimValues && !dontTrim) {
9503
+ if (options.trimValues && !dontTrim) {
7713
9504
  val = val.trim();
7714
9505
  }
7715
9506
  if (val.length > 0) {
7716
9507
  if (!escapeEntities) val = this.replaceEntitiesValue(val, tagName, jPath);
7717
- const jPathOrMatcher = this.options.jPath ? jPath.toString() : jPath;
7718
- const newval = this.options.tagValueProcessor(tagName, val, jPathOrMatcher, hasAttributes, isLeafNode);
9508
+ const jPathOrMatcher = options.jPath ? jPath.toString() : jPath;
9509
+ const newval = options.tagValueProcessor(tagName, val, jPathOrMatcher, hasAttributes, isLeafNode);
7719
9510
  if (newval === null || newval === void 0) {
7720
9511
  return val;
7721
9512
  } else if (typeof newval !== typeof val || newval !== val) {
7722
9513
  return newval;
7723
- } else if (this.options.trimValues) {
7724
- return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);
9514
+ } else if (options.trimValues) {
9515
+ return parseValue(val, options.parseTagValue, options.numberParseOptions);
7725
9516
  } else {
7726
9517
  const trimmedVal = val.trim();
7727
9518
  if (trimmedVal === val) {
7728
- return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);
9519
+ return parseValue(val, options.parseTagValue, options.numberParseOptions);
7729
9520
  } else {
7730
9521
  return val;
7731
9522
  }
@@ -7746,69 +9537,62 @@ function resolveNameSpace(tagname) {
7746
9537
  }
7747
9538
  return tagname;
7748
9539
  }
7749
- function buildAttributesMap(attrStr, jPath, tagName) {
7750
- if (this.options.ignoreAttributes !== true && typeof attrStr === "string") {
9540
+ function buildAttributesMap(attrStr, jPath, tagName, force = false) {
9541
+ const options = this.options;
9542
+ if (force === true || options.ignoreAttributes !== true && typeof attrStr === "string") {
7751
9543
  const matches = getAllMatches(attrStr, attrsRegx);
7752
9544
  const len = matches.length;
7753
9545
  const attrs = {};
9546
+ const processedVals = new Array(len);
9547
+ let hasRawAttrs = false;
7754
9548
  const rawAttrsForMatcher = {};
7755
9549
  for (let i = 0; i < len; i++) {
7756
9550
  const attrName = this.resolveNameSpace(matches[i][1]);
7757
9551
  const oldVal = matches[i][4];
7758
9552
  if (attrName.length && oldVal !== void 0) {
7759
- let parsedVal = oldVal;
7760
- if (this.options.trimValues) {
7761
- parsedVal = parsedVal.trim();
7762
- }
7763
- parsedVal = this.replaceEntitiesValue(parsedVal, tagName, jPath);
7764
- rawAttrsForMatcher[attrName] = parsedVal;
9553
+ let val = oldVal;
9554
+ if (options.trimValues) val = val.trim();
9555
+ val = this.replaceEntitiesValue(val, tagName, this.readonlyMatcher);
9556
+ processedVals[i] = val;
9557
+ rawAttrsForMatcher[attrName] = val;
9558
+ hasRawAttrs = true;
7765
9559
  }
7766
9560
  }
7767
- if (Object.keys(rawAttrsForMatcher).length > 0 && typeof jPath === "object" && jPath.updateCurrent) {
9561
+ if (hasRawAttrs && typeof jPath === "object" && jPath.updateCurrent) {
7768
9562
  jPath.updateCurrent(rawAttrsForMatcher);
7769
9563
  }
9564
+ const jPathStr = options.jPath ? jPath.toString() : this.readonlyMatcher;
9565
+ let hasAttrs = false;
7770
9566
  for (let i = 0; i < len; i++) {
7771
9567
  const attrName = this.resolveNameSpace(matches[i][1]);
7772
- const jPathStr = this.options.jPath ? jPath.toString() : jPath;
7773
- if (this.ignoreAttributesFn(attrName, jPathStr)) {
7774
- continue;
7775
- }
7776
- let oldVal = matches[i][4];
7777
- let aName = this.options.attributeNamePrefix + attrName;
9568
+ if (this.ignoreAttributesFn(attrName, jPathStr)) continue;
9569
+ let aName = options.attributeNamePrefix + attrName;
7778
9570
  if (attrName.length) {
7779
- if (this.options.transformAttributeName) {
7780
- aName = this.options.transformAttributeName(aName);
9571
+ if (options.transformAttributeName) {
9572
+ aName = options.transformAttributeName(aName);
7781
9573
  }
7782
- aName = sanitizeName(aName, this.options);
7783
- if (oldVal !== void 0) {
7784
- if (this.options.trimValues) {
7785
- oldVal = oldVal.trim();
7786
- }
7787
- oldVal = this.replaceEntitiesValue(oldVal, tagName, jPath);
7788
- const jPathOrMatcher = this.options.jPath ? jPath.toString() : jPath;
7789
- const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPathOrMatcher);
9574
+ aName = sanitizeName(aName, options);
9575
+ if (matches[i][4] !== void 0) {
9576
+ const oldVal = processedVals[i];
9577
+ const newVal = options.attributeValueProcessor(attrName, oldVal, jPathStr);
7790
9578
  if (newVal === null || newVal === void 0) {
7791
9579
  attrs[aName] = oldVal;
7792
9580
  } else if (typeof newVal !== typeof oldVal || newVal !== oldVal) {
7793
9581
  attrs[aName] = newVal;
7794
9582
  } else {
7795
- attrs[aName] = parseValue(
7796
- oldVal,
7797
- this.options.parseAttributeValue,
7798
- this.options.numberParseOptions
7799
- );
9583
+ attrs[aName] = parseValue(oldVal, options.parseAttributeValue, options.numberParseOptions);
7800
9584
  }
7801
- } else if (this.options.allowBooleanAttributes) {
9585
+ hasAttrs = true;
9586
+ } else if (options.allowBooleanAttributes) {
7802
9587
  attrs[aName] = true;
9588
+ hasAttrs = true;
7803
9589
  }
7804
9590
  }
7805
9591
  }
7806
- if (!Object.keys(attrs).length) {
7807
- return;
7808
- }
7809
- if (this.options.attributesGroupName) {
9592
+ if (!hasAttrs) return;
9593
+ if (options.attributesGroupName) {
7810
9594
  const attrCollection = {};
7811
- attrCollection[this.options.attributesGroupName] = attrs;
9595
+ attrCollection[options.attributesGroupName] = attrs;
7812
9596
  return attrCollection;
7813
9597
  }
7814
9598
  return attrs;
@@ -7844,59 +9628,7 @@ function replaceEntitiesValue(val, tagName, jPath) {
7844
9628
  return val;
7845
9629
  }
7846
9630
  }
7847
- for (const entityName of Object.keys(this.docTypeEntities)) {
7848
- const entity = this.docTypeEntities[entityName];
7849
- const matches = val.match(entity.regx);
7850
- if (matches) {
7851
- this.entityExpansionCount += matches.length;
7852
- if (entityConfig.maxTotalExpansions && this.entityExpansionCount > entityConfig.maxTotalExpansions) {
7853
- throw new Error(
7854
- `Entity expansion limit exceeded: ${this.entityExpansionCount} > ${entityConfig.maxTotalExpansions}`
7855
- );
7856
- }
7857
- const lengthBefore = val.length;
7858
- val = val.replace(entity.regx, entity.val);
7859
- if (entityConfig.maxExpandedLength) {
7860
- this.currentExpandedLength += val.length - lengthBefore;
7861
- if (this.currentExpandedLength > entityConfig.maxExpandedLength) {
7862
- throw new Error(
7863
- `Total expanded content size exceeded: ${this.currentExpandedLength} > ${entityConfig.maxExpandedLength}`
7864
- );
7865
- }
7866
- }
7867
- }
7868
- }
7869
- for (const entityName of Object.keys(this.lastEntities)) {
7870
- const entity = this.lastEntities[entityName];
7871
- const matches = val.match(entity.regex);
7872
- if (matches) {
7873
- this.entityExpansionCount += matches.length;
7874
- if (entityConfig.maxTotalExpansions && this.entityExpansionCount > entityConfig.maxTotalExpansions) {
7875
- throw new Error(
7876
- `Entity expansion limit exceeded: ${this.entityExpansionCount} > ${entityConfig.maxTotalExpansions}`
7877
- );
7878
- }
7879
- }
7880
- val = val.replace(entity.regex, entity.val);
7881
- }
7882
- if (val.indexOf("&") === -1) return val;
7883
- if (this.options.htmlEntities) {
7884
- for (const entityName of Object.keys(this.htmlEntities)) {
7885
- const entity = this.htmlEntities[entityName];
7886
- const matches = val.match(entity.regex);
7887
- if (matches) {
7888
- this.entityExpansionCount += matches.length;
7889
- if (entityConfig.maxTotalExpansions && this.entityExpansionCount > entityConfig.maxTotalExpansions) {
7890
- throw new Error(
7891
- `Entity expansion limit exceeded: ${this.entityExpansionCount} > ${entityConfig.maxTotalExpansions}`
7892
- );
7893
- }
7894
- }
7895
- val = val.replace(entity.regex, entity.val);
7896
- }
7897
- }
7898
- val = val.replace(this.ampEntity.regex, this.ampEntity.val);
7899
- return val;
9631
+ return this.entityDecoder.decode(val);
7900
9632
  }
7901
9633
  function saveTextToParentTag(textData, parentNode, matcher, isLeafNode) {
7902
9634
  if (textData) {
@@ -7915,42 +9647,35 @@ function saveTextToParentTag(textData, parentNode, matcher, isLeafNode) {
7915
9647
  }
7916
9648
  return textData;
7917
9649
  }
7918
- function isItStopNode(stopNodeExpressions, matcher) {
7919
- if (!stopNodeExpressions || stopNodeExpressions.length === 0) return false;
7920
- for (let i = 0; i < stopNodeExpressions.length; i++) {
7921
- if (matcher.matches(stopNodeExpressions[i])) {
7922
- return true;
7923
- }
7924
- }
7925
- return false;
9650
+ function isItStopNode() {
9651
+ if (this.stopNodeExpressionsSet.size === 0) return false;
9652
+ return this.matcher.matchesAny(this.stopNodeExpressionsSet);
7926
9653
  }
7927
9654
  function tagExpWithClosingIndex(xmlData, i, closingChar = ">") {
7928
- let attrBoundary;
7929
- let tagExp = "";
7930
- for (let index = i; index < xmlData.length; index++) {
7931
- let ch = xmlData[index];
9655
+ let attrBoundary = 0;
9656
+ const chars = [];
9657
+ const len = xmlData.length;
9658
+ const closeCode0 = closingChar.charCodeAt(0);
9659
+ const closeCode1 = closingChar.length > 1 ? closingChar.charCodeAt(1) : -1;
9660
+ for (let index = i; index < len; index++) {
9661
+ const code = xmlData.charCodeAt(index);
7932
9662
  if (attrBoundary) {
7933
- if (ch === attrBoundary) attrBoundary = "";
7934
- } else if (ch === '"' || ch === "'") {
7935
- attrBoundary = ch;
7936
- } else if (ch === closingChar[0]) {
7937
- if (closingChar[1]) {
7938
- if (xmlData[index + 1] === closingChar[1]) {
7939
- return {
7940
- data: tagExp,
7941
- index
7942
- };
9663
+ if (code === attrBoundary) attrBoundary = 0;
9664
+ } else if (code === 34 || code === 39) {
9665
+ attrBoundary = code;
9666
+ } else if (code === closeCode0) {
9667
+ if (closeCode1 !== -1) {
9668
+ if (xmlData.charCodeAt(index + 1) === closeCode1) {
9669
+ return { data: String.fromCharCode(...chars), index };
7943
9670
  }
7944
9671
  } else {
7945
- return {
7946
- data: tagExp,
7947
- index
7948
- };
9672
+ return { data: String.fromCharCode(...chars), index };
7949
9673
  }
7950
- } else if (ch === " ") {
7951
- ch = " ";
9674
+ } else if (code === 9) {
9675
+ chars.push(32);
9676
+ continue;
7952
9677
  }
7953
- tagExp += ch;
9678
+ chars.push(code);
7954
9679
  }
7955
9680
  }
7956
9681
  function findClosingIndex(xmlData, str, i, errMsg) {
@@ -7961,6 +9686,11 @@ function findClosingIndex(xmlData, str, i, errMsg) {
7961
9686
  return closingIndex + str.length - 1;
7962
9687
  }
7963
9688
  }
9689
+ function findClosingChar(xmlData, char, i, errMsg) {
9690
+ const closingIndex = xmlData.indexOf(char, i);
9691
+ if (closingIndex === -1) throw new Error(errMsg);
9692
+ return closingIndex;
9693
+ }
7964
9694
  function readTagExp(xmlData, i, removeNSPrefix, closingChar = ">") {
7965
9695
  const result = tagExpWithClosingIndex(xmlData, i + 1, closingChar);
7966
9696
  if (!result) return;
@@ -7992,10 +9722,12 @@ function readTagExp(xmlData, i, removeNSPrefix, closingChar = ">") {
7992
9722
  function readStopNodeData(xmlData, tagName, i) {
7993
9723
  const startIndex = i;
7994
9724
  let openTagCount = 1;
7995
- for (; i < xmlData.length; i++) {
9725
+ const xmllen = xmlData.length;
9726
+ for (; i < xmllen; i++) {
7996
9727
  if (xmlData[i] === "<") {
7997
- if (xmlData[i + 1] === "/") {
7998
- const closeIndex = findClosingIndex(xmlData, ">", i, `${tagName} is not closed`);
9728
+ const c1 = xmlData.charCodeAt(i + 1);
9729
+ if (c1 === 47) {
9730
+ const closeIndex = findClosingChar(xmlData, ">", i, `${tagName} is not closed`);
7999
9731
  let closeTagName = xmlData.substring(i + 2, closeIndex).trim();
8000
9732
  if (closeTagName === tagName) {
8001
9733
  openTagCount--;
@@ -8007,13 +9739,13 @@ function readStopNodeData(xmlData, tagName, i) {
8007
9739
  }
8008
9740
  }
8009
9741
  i = closeIndex;
8010
- } else if (xmlData[i + 1] === "?") {
9742
+ } else if (c1 === 63) {
8011
9743
  const closeIndex = findClosingIndex(xmlData, "?>", i + 1, "StopNode is not closed.");
8012
9744
  i = closeIndex;
8013
- } else if (xmlData.substr(i + 1, 3) === "!--") {
9745
+ } else if (c1 === 33 && xmlData.charCodeAt(i + 2) === 45 && xmlData.charCodeAt(i + 3) === 45) {
8014
9746
  const closeIndex = findClosingIndex(xmlData, "-->", i + 3, "StopNode is not closed.");
8015
9747
  i = closeIndex;
8016
- } else if (xmlData.substr(i + 1, 2) === "![") {
9748
+ } else if (c1 === 33 && xmlData.charCodeAt(i + 2) === 91) {
8017
9749
  const closeIndex = findClosingIndex(xmlData, "]]>", i, "StopNode is not closed.") - 2;
8018
9750
  i = closeIndex;
8019
9751
  } else {
@@ -8043,14 +9775,6 @@ function parseValue(val, shouldParse, options) {
8043
9775
  }
8044
9776
  }
8045
9777
  }
8046
- function fromCodePoint(str, base, prefix2) {
8047
- const codePoint = Number.parseInt(str, base);
8048
- if (codePoint >= 0 && codePoint <= 1114111) {
8049
- return String.fromCodePoint(codePoint);
8050
- } else {
8051
- return prefix2 + str + ";";
8052
- }
8053
- }
8054
9778
  function transformTagName(fn, tagName, tagExp, options) {
8055
9779
  if (fn) {
8056
9780
  const newTagName = fn(tagName);
@@ -8072,13 +9796,15 @@ function sanitizeName(name, options) {
8072
9796
  }
8073
9797
  var _OrderedObjParser, OrderedObjParser, attrsRegx, parseXml;
8074
9798
  var init_OrderedObjParser = __esm({
8075
- "../../node_modules/.store/fast-xml-parser-npm-5.5.7-d3593c54f5/package/src/xmlparser/OrderedObjParser.js"() {
9799
+ "../../node_modules/.store/fast-xml-parser-npm-5.7.1-94929a6c96/package/src/xmlparser/OrderedObjParser.js"() {
8076
9800
  "use strict";
8077
9801
  init_util2();
8078
9802
  init_xmlNode();
8079
9803
  init_DocTypeReader();
8080
9804
  init_strnum();
8081
9805
  init_ignoreAttributes();
9806
+ init_src2();
9807
+ init_src2();
8082
9808
  init_src();
8083
9809
  __name(extractRawAttributes, "extractRawAttributes");
8084
9810
  __name(extractNamespace, "extractNamespace");
@@ -8087,32 +9813,6 @@ var init_OrderedObjParser = __esm({
8087
9813
  this.options = options;
8088
9814
  this.currentNode = null;
8089
9815
  this.tagsNodeStack = [];
8090
- this.docTypeEntities = {};
8091
- this.lastEntities = {
8092
- "apos": { regex: /&(apos|#39|#x27);/g, val: "'" },
8093
- "gt": { regex: /&(gt|#62|#x3E);/g, val: ">" },
8094
- "lt": { regex: /&(lt|#60|#x3C);/g, val: "<" },
8095
- "quot": { regex: /&(quot|#34|#x22);/g, val: '"' }
8096
- };
8097
- this.ampEntity = { regex: /&(amp|#38|#x26);/g, val: "&" };
8098
- this.htmlEntities = {
8099
- "space": { regex: /&(nbsp|#160);/g, val: " " },
8100
- // "lt" : { regex: /&(lt|#60);/g, val: "<" },
8101
- // "gt" : { regex: /&(gt|#62);/g, val: ">" },
8102
- // "amp" : { regex: /&(amp|#38);/g, val: "&" },
8103
- // "quot" : { regex: /&(quot|#34);/g, val: "\"" },
8104
- // "apos" : { regex: /&(apos|#39);/g, val: "'" },
8105
- "cent": { regex: /&(cent|#162);/g, val: "\xA2" },
8106
- "pound": { regex: /&(pound|#163);/g, val: "\xA3" },
8107
- "yen": { regex: /&(yen|#165);/g, val: "\xA5" },
8108
- "euro": { regex: /&(euro|#8364);/g, val: "\u20AC" },
8109
- "copyright": { regex: /&(copy|#169);/g, val: "\xA9" },
8110
- "reg": { regex: /&(reg|#174);/g, val: "\xAE" },
8111
- "inr": { regex: /&(inr|#8377);/g, val: "\u20B9" },
8112
- "num_dec": { regex: /&#([0-9]{1,7});/g, val: /* @__PURE__ */ __name((_, str) => fromCodePoint(str, 10, "&#"), "val") },
8113
- "num_hex": { regex: /&#x([0-9a-fA-F]{1,6});/g, val: /* @__PURE__ */ __name((_, str) => fromCodePoint(str, 16, "&#x"), "val") }
8114
- };
8115
- this.addExternalEntities = addExternalEntities;
8116
9816
  this.parseXml = parseXml;
8117
9817
  this.parseTextData = parseTextData;
8118
9818
  this.resolveNameSpace = resolveNameSpace;
@@ -8125,24 +9825,43 @@ var init_OrderedObjParser = __esm({
8125
9825
  this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes);
8126
9826
  this.entityExpansionCount = 0;
8127
9827
  this.currentExpandedLength = 0;
9828
+ let namedEntities = { ...XML };
9829
+ if (this.options.entityDecoder) {
9830
+ this.entityDecoder = this.options.entityDecoder;
9831
+ } else {
9832
+ if (typeof this.options.htmlEntities === "object") namedEntities = this.options.htmlEntities;
9833
+ else if (this.options.htmlEntities === true) namedEntities = { ...COMMON_HTML, ...CURRENCY };
9834
+ this.entityDecoder = new EntityDecoder({
9835
+ namedEntities,
9836
+ numericAllowed: this.options.htmlEntities,
9837
+ limit: {
9838
+ maxTotalExpansions: this.options.processEntities.maxTotalExpansions,
9839
+ maxExpandedLength: this.options.processEntities.maxExpandedLength,
9840
+ applyLimitsTo: this.options.processEntities.appliesTo
9841
+ }
9842
+ //postCheck: resolved => resolved
9843
+ });
9844
+ }
8128
9845
  this.matcher = new Matcher();
9846
+ this.readonlyMatcher = this.matcher.readOnly();
8129
9847
  this.isCurrentNodeStopNode = false;
8130
- if (this.options.stopNodes && this.options.stopNodes.length > 0) {
8131
- this.stopNodeExpressions = [];
8132
- for (let i = 0; i < this.options.stopNodes.length; i++) {
8133
- const stopNodeExp = this.options.stopNodes[i];
9848
+ this.stopNodeExpressionsSet = new ExpressionSet();
9849
+ const stopNodesOpts = this.options.stopNodes;
9850
+ if (stopNodesOpts && stopNodesOpts.length > 0) {
9851
+ for (let i = 0; i < stopNodesOpts.length; i++) {
9852
+ const stopNodeExp = stopNodesOpts[i];
8134
9853
  if (typeof stopNodeExp === "string") {
8135
- this.stopNodeExpressions.push(new Expression(stopNodeExp));
9854
+ this.stopNodeExpressionsSet.add(new Expression(stopNodeExp));
8136
9855
  } else if (stopNodeExp instanceof Expression) {
8137
- this.stopNodeExpressions.push(stopNodeExp);
9856
+ this.stopNodeExpressionsSet.add(stopNodeExp);
8138
9857
  }
8139
9858
  }
9859
+ this.stopNodeExpressionsSet.seal();
8140
9860
  }
8141
9861
  }
8142
9862
  };
8143
9863
  __name(_OrderedObjParser, "OrderedObjParser");
8144
9864
  OrderedObjParser = _OrderedObjParser;
8145
- __name(addExternalEntities, "addExternalEntities");
8146
9865
  __name(parseTextData, "parseTextData");
8147
9866
  __name(resolveNameSpace, "resolveNameSpace");
8148
9867
  attrsRegx = new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`, "gm");
@@ -8153,30 +9872,34 @@ var init_OrderedObjParser = __esm({
8153
9872
  let currentNode = xmlObj;
8154
9873
  let textData = "";
8155
9874
  this.matcher.reset();
9875
+ this.entityDecoder.reset();
8156
9876
  this.entityExpansionCount = 0;
8157
9877
  this.currentExpandedLength = 0;
8158
- const docTypeReader = new DocTypeReader(this.options.processEntities);
8159
- for (let i = 0; i < xmlData.length; i++) {
9878
+ const options = this.options;
9879
+ const docTypeReader = new DocTypeReader(options.processEntities);
9880
+ const xmlLen = xmlData.length;
9881
+ for (let i = 0; i < xmlLen; i++) {
8160
9882
  const ch = xmlData[i];
8161
9883
  if (ch === "<") {
8162
- if (xmlData[i + 1] === "/") {
9884
+ const c1 = xmlData.charCodeAt(i + 1);
9885
+ if (c1 === 47) {
8163
9886
  const closeIndex = findClosingIndex(xmlData, ">", i, "Closing Tag is not closed.");
8164
9887
  let tagName = xmlData.substring(i + 2, closeIndex).trim();
8165
- if (this.options.removeNSPrefix) {
9888
+ if (options.removeNSPrefix) {
8166
9889
  const colonIndex = tagName.indexOf(":");
8167
9890
  if (colonIndex !== -1) {
8168
9891
  tagName = tagName.substr(colonIndex + 1);
8169
9892
  }
8170
9893
  }
8171
- tagName = transformTagName(this.options.transformTagName, tagName, "", this.options).tagName;
9894
+ tagName = transformTagName(options.transformTagName, tagName, "", options).tagName;
8172
9895
  if (currentNode) {
8173
- textData = this.saveTextToParentTag(textData, currentNode, this.matcher);
9896
+ textData = this.saveTextToParentTag(textData, currentNode, this.readonlyMatcher);
8174
9897
  }
8175
9898
  const lastTagName = this.matcher.getCurrentTag();
8176
- if (tagName && this.options.unpairedTags.indexOf(tagName) !== -1) {
9899
+ if (tagName && options.unpairedTagsSet.has(tagName)) {
8177
9900
  throw new Error(`Unpaired tag can not be used as closing tag: </${tagName}>`);
8178
9901
  }
8179
- if (lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1) {
9902
+ if (lastTagName && options.unpairedTagsSet.has(lastTagName)) {
8180
9903
  this.matcher.pop();
8181
9904
  this.tagsNodeStack.pop();
8182
9905
  }
@@ -8185,48 +9908,53 @@ var init_OrderedObjParser = __esm({
8185
9908
  currentNode = this.tagsNodeStack.pop();
8186
9909
  textData = "";
8187
9910
  i = closeIndex;
8188
- } else if (xmlData[i + 1] === "?") {
9911
+ } else if (c1 === 63) {
8189
9912
  let tagData = readTagExp(xmlData, i, false, "?>");
8190
9913
  if (!tagData) throw new Error("Pi Tag is not closed.");
8191
- textData = this.saveTextToParentTag(textData, currentNode, this.matcher);
8192
- if (this.options.ignoreDeclaration && tagData.tagName === "?xml" || this.options.ignorePiTags) {
9914
+ textData = this.saveTextToParentTag(textData, currentNode, this.readonlyMatcher);
9915
+ const attsMap = this.buildAttributesMap(tagData.tagExp, this.matcher, tagData.tagName, true);
9916
+ if (attsMap) {
9917
+ const ver = attsMap[this.options.attributeNamePrefix + "version"];
9918
+ this.entityDecoder.setXmlVersion(Number(ver) || 1);
9919
+ }
9920
+ if (options.ignoreDeclaration && tagData.tagName === "?xml" || options.ignorePiTags) {
8193
9921
  } else {
8194
9922
  const childNode = new XmlNode(tagData.tagName);
8195
- childNode.add(this.options.textNodeName, "");
8196
- if (tagData.tagName !== tagData.tagExp && tagData.attrExpPresent) {
8197
- childNode[":@"] = this.buildAttributesMap(tagData.tagExp, this.matcher, tagData.tagName);
9923
+ childNode.add(options.textNodeName, "");
9924
+ if (tagData.tagName !== tagData.tagExp && tagData.attrExpPresent && options.ignoreAttributes !== true) {
9925
+ childNode[":@"] = attsMap;
8198
9926
  }
8199
- this.addChild(currentNode, childNode, this.matcher, i);
9927
+ this.addChild(currentNode, childNode, this.readonlyMatcher, i);
8200
9928
  }
8201
9929
  i = tagData.closeIndex + 1;
8202
- } else if (xmlData.substr(i + 1, 3) === "!--") {
9930
+ } else if (c1 === 33 && xmlData.charCodeAt(i + 2) === 45 && xmlData.charCodeAt(i + 3) === 45) {
8203
9931
  const endIndex = findClosingIndex(xmlData, "-->", i + 4, "Comment is not closed.");
8204
- if (this.options.commentPropName) {
9932
+ if (options.commentPropName) {
8205
9933
  const comment = xmlData.substring(i + 4, endIndex - 2);
8206
- textData = this.saveTextToParentTag(textData, currentNode, this.matcher);
8207
- currentNode.add(this.options.commentPropName, [{ [this.options.textNodeName]: comment }]);
9934
+ textData = this.saveTextToParentTag(textData, currentNode, this.readonlyMatcher);
9935
+ currentNode.add(options.commentPropName, [{ [options.textNodeName]: comment }]);
8208
9936
  }
8209
9937
  i = endIndex;
8210
- } else if (xmlData.substr(i + 1, 2) === "!D") {
9938
+ } else if (c1 === 33 && xmlData.charCodeAt(i + 2) === 68) {
8211
9939
  const result = docTypeReader.readDocType(xmlData, i);
8212
- this.docTypeEntities = result.entities;
9940
+ this.entityDecoder.addInputEntities(result.entities);
8213
9941
  i = result.i;
8214
- } else if (xmlData.substr(i + 1, 2) === "![") {
9942
+ } else if (c1 === 33 && xmlData.charCodeAt(i + 2) === 91) {
8215
9943
  const closeIndex = findClosingIndex(xmlData, "]]>", i, "CDATA is not closed.") - 2;
8216
9944
  const tagExp = xmlData.substring(i + 9, closeIndex);
8217
- textData = this.saveTextToParentTag(textData, currentNode, this.matcher);
8218
- let val = this.parseTextData(tagExp, currentNode.tagname, this.matcher, true, false, true, true);
9945
+ textData = this.saveTextToParentTag(textData, currentNode, this.readonlyMatcher);
9946
+ let val = this.parseTextData(tagExp, currentNode.tagname, this.readonlyMatcher, true, false, true, true);
8219
9947
  if (val == void 0) val = "";
8220
- if (this.options.cdataPropName) {
8221
- currentNode.add(this.options.cdataPropName, [{ [this.options.textNodeName]: tagExp }]);
9948
+ if (options.cdataPropName) {
9949
+ currentNode.add(options.cdataPropName, [{ [options.textNodeName]: tagExp }]);
8222
9950
  } else {
8223
- currentNode.add(this.options.textNodeName, val);
9951
+ currentNode.add(options.textNodeName, val);
8224
9952
  }
8225
9953
  i = closeIndex + 2;
8226
9954
  } else {
8227
- let result = readTagExp(xmlData, i, this.options.removeNSPrefix);
9955
+ let result = readTagExp(xmlData, i, options.removeNSPrefix);
8228
9956
  if (!result) {
8229
- const context3 = xmlData.substring(Math.max(0, i - 50), Math.min(xmlData.length, i + 50));
9957
+ const context3 = xmlData.substring(Math.max(0, i - 50), Math.min(xmlLen, i + 50));
8230
9958
  throw new Error(`readTagExp returned undefined at position ${i}. Context: "${context3}"`);
8231
9959
  }
8232
9960
  let tagName = result.tagName;
@@ -8234,17 +9962,17 @@ var init_OrderedObjParser = __esm({
8234
9962
  let tagExp = result.tagExp;
8235
9963
  let attrExpPresent = result.attrExpPresent;
8236
9964
  let closeIndex = result.closeIndex;
8237
- ({ tagName, tagExp } = transformTagName(this.options.transformTagName, tagName, tagExp, this.options));
8238
- if (this.options.strictReservedNames && (tagName === this.options.commentPropName || tagName === this.options.cdataPropName || tagName === this.options.textNodeName || tagName === this.options.attributesGroupName)) {
9965
+ ({ tagName, tagExp } = transformTagName(options.transformTagName, tagName, tagExp, options));
9966
+ if (options.strictReservedNames && (tagName === options.commentPropName || tagName === options.cdataPropName || tagName === options.textNodeName || tagName === options.attributesGroupName)) {
8239
9967
  throw new Error(`Invalid tag name: ${tagName}`);
8240
9968
  }
8241
9969
  if (currentNode && textData) {
8242
9970
  if (currentNode.tagname !== "!xml") {
8243
- textData = this.saveTextToParentTag(textData, currentNode, this.matcher, false);
9971
+ textData = this.saveTextToParentTag(textData, currentNode, this.readonlyMatcher, false);
8244
9972
  }
8245
9973
  }
8246
9974
  const lastTag = currentNode;
8247
- if (lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1) {
9975
+ if (lastTag && options.unpairedTagsSet.has(lastTag.tagname)) {
8248
9976
  currentNode = this.tagsNodeStack.pop();
8249
9977
  this.matcher.pop();
8250
9978
  }
@@ -8269,18 +9997,18 @@ var init_OrderedObjParser = __esm({
8269
9997
  if (tagName !== tagExp && attrExpPresent) {
8270
9998
  prefixedAttrs = this.buildAttributesMap(tagExp, this.matcher, tagName);
8271
9999
  if (prefixedAttrs) {
8272
- rawAttrs = extractRawAttributes(prefixedAttrs, this.options);
10000
+ rawAttrs = extractRawAttributes(prefixedAttrs, options);
8273
10001
  }
8274
10002
  }
8275
10003
  if (tagName !== xmlObj.tagname) {
8276
- this.isCurrentNodeStopNode = this.isItStopNode(this.stopNodeExpressions, this.matcher);
10004
+ this.isCurrentNodeStopNode = this.isItStopNode();
8277
10005
  }
8278
10006
  const startIndex = i;
8279
10007
  if (this.isCurrentNodeStopNode) {
8280
10008
  let tagContent = "";
8281
10009
  if (isSelfClosing) {
8282
10010
  i = result.closeIndex;
8283
- } else if (this.options.unpairedTags.indexOf(tagName) !== -1) {
10011
+ } else if (options.unpairedTagsSet.has(tagName)) {
8284
10012
  i = result.closeIndex;
8285
10013
  } else {
8286
10014
  const result2 = this.readStopNodeData(xmlData, rawTagName, closeIndex + 1);
@@ -8292,40 +10020,40 @@ var init_OrderedObjParser = __esm({
8292
10020
  if (prefixedAttrs) {
8293
10021
  childNode[":@"] = prefixedAttrs;
8294
10022
  }
8295
- childNode.add(this.options.textNodeName, tagContent);
10023
+ childNode.add(options.textNodeName, tagContent);
8296
10024
  this.matcher.pop();
8297
10025
  this.isCurrentNodeStopNode = false;
8298
- this.addChild(currentNode, childNode, this.matcher, startIndex);
10026
+ this.addChild(currentNode, childNode, this.readonlyMatcher, startIndex);
8299
10027
  } else {
8300
10028
  if (isSelfClosing) {
8301
- ({ tagName, tagExp } = transformTagName(this.options.transformTagName, tagName, tagExp, this.options));
10029
+ ({ tagName, tagExp } = transformTagName(options.transformTagName, tagName, tagExp, options));
8302
10030
  const childNode = new XmlNode(tagName);
8303
10031
  if (prefixedAttrs) {
8304
10032
  childNode[":@"] = prefixedAttrs;
8305
10033
  }
8306
- this.addChild(currentNode, childNode, this.matcher, startIndex);
10034
+ this.addChild(currentNode, childNode, this.readonlyMatcher, startIndex);
8307
10035
  this.matcher.pop();
8308
10036
  this.isCurrentNodeStopNode = false;
8309
- } else if (this.options.unpairedTags.indexOf(tagName) !== -1) {
10037
+ } else if (options.unpairedTagsSet.has(tagName)) {
8310
10038
  const childNode = new XmlNode(tagName);
8311
10039
  if (prefixedAttrs) {
8312
10040
  childNode[":@"] = prefixedAttrs;
8313
10041
  }
8314
- this.addChild(currentNode, childNode, this.matcher, startIndex);
10042
+ this.addChild(currentNode, childNode, this.readonlyMatcher, startIndex);
8315
10043
  this.matcher.pop();
8316
10044
  this.isCurrentNodeStopNode = false;
8317
10045
  i = result.closeIndex;
8318
10046
  continue;
8319
10047
  } else {
8320
10048
  const childNode = new XmlNode(tagName);
8321
- if (this.tagsNodeStack.length > this.options.maxNestedTags) {
10049
+ if (this.tagsNodeStack.length > options.maxNestedTags) {
8322
10050
  throw new Error("Maximum nested tags exceeded");
8323
10051
  }
8324
10052
  this.tagsNodeStack.push(currentNode);
8325
10053
  if (prefixedAttrs) {
8326
10054
  childNode[":@"] = prefixedAttrs;
8327
10055
  }
8328
- this.addChild(currentNode, childNode, this.matcher, startIndex);
10056
+ this.addChild(currentNode, childNode, this.readonlyMatcher, startIndex);
8329
10057
  currentNode = childNode;
8330
10058
  }
8331
10059
  textData = "";
@@ -8344,16 +10072,16 @@ var init_OrderedObjParser = __esm({
8344
10072
  __name(isItStopNode, "isItStopNode");
8345
10073
  __name(tagExpWithClosingIndex, "tagExpWithClosingIndex");
8346
10074
  __name(findClosingIndex, "findClosingIndex");
10075
+ __name(findClosingChar, "findClosingChar");
8347
10076
  __name(readTagExp, "readTagExp");
8348
10077
  __name(readStopNodeData, "readStopNodeData");
8349
10078
  __name(parseValue, "parseValue");
8350
- __name(fromCodePoint, "fromCodePoint");
8351
10079
  __name(transformTagName, "transformTagName");
8352
10080
  __name(sanitizeName, "sanitizeName");
8353
10081
  }
8354
10082
  });
8355
10083
 
8356
- // ../../node_modules/.store/fast-xml-parser-npm-5.5.7-d3593c54f5/package/src/xmlparser/node2json.js
10084
+ // ../../node_modules/.store/fast-xml-parser-npm-5.7.1-94929a6c96/package/src/xmlparser/node2json.js
8357
10085
  function stripAttributePrefix(attrs, prefix2) {
8358
10086
  if (!attrs || typeof attrs !== "object") return {};
8359
10087
  if (!prefix2) return attrs;
@@ -8368,10 +10096,10 @@ function stripAttributePrefix(attrs, prefix2) {
8368
10096
  }
8369
10097
  return rawAttrs;
8370
10098
  }
8371
- function prettify(node, options, matcher) {
8372
- return compress(node, options, matcher);
10099
+ function prettify(node, options, matcher, readonlyMatcher) {
10100
+ return compress(node, options, matcher, readonlyMatcher);
8373
10101
  }
8374
- function compress(arr, options, matcher) {
10102
+ function compress(arr, options, matcher, readonlyMatcher) {
8375
10103
  let text;
8376
10104
  const compressedObj = {};
8377
10105
  for (let i = 0; i < arr.length; i++) {
@@ -8390,10 +10118,10 @@ function compress(arr, options, matcher) {
8390
10118
  } else if (property === void 0) {
8391
10119
  continue;
8392
10120
  } else if (tagObj[property]) {
8393
- let val = compress(tagObj[property], options, matcher);
10121
+ let val = compress(tagObj[property], options, matcher, readonlyMatcher);
8394
10122
  const isLeaf = isLeafTag(val, options);
8395
10123
  if (tagObj[":@"]) {
8396
- assignAttributes(val, tagObj[":@"], matcher, options);
10124
+ assignAttributes(val, tagObj[":@"], readonlyMatcher, options);
8397
10125
  } else if (Object.keys(val).length === 1 && val[options.textNodeName] !== void 0 && !options.alwaysCreateTextNode) {
8398
10126
  val = val[options.textNodeName];
8399
10127
  } else if (Object.keys(val).length === 0) {
@@ -8409,7 +10137,7 @@ function compress(arr, options, matcher) {
8409
10137
  }
8410
10138
  compressedObj[property].push(val);
8411
10139
  } else {
8412
- const jPathOrMatcher = options.jPath ? matcher.toString() : matcher;
10140
+ const jPathOrMatcher = options.jPath ? readonlyMatcher.toString() : readonlyMatcher;
8413
10141
  if (options.isArray(property, jPathOrMatcher, isLeaf)) {
8414
10142
  compressedObj[property] = [val];
8415
10143
  } else {
@@ -8433,14 +10161,14 @@ function propName(obj) {
8433
10161
  if (key !== ":@") return key;
8434
10162
  }
8435
10163
  }
8436
- function assignAttributes(obj, attrMap, matcher, options) {
10164
+ function assignAttributes(obj, attrMap, readonlyMatcher, options) {
8437
10165
  if (attrMap) {
8438
10166
  const keys = Object.keys(attrMap);
8439
10167
  const len = keys.length;
8440
10168
  for (let i = 0; i < len; i++) {
8441
10169
  const atrrName = keys[i];
8442
10170
  const rawAttrName = atrrName.startsWith(options.attributeNamePrefix) ? atrrName.substring(options.attributeNamePrefix.length) : atrrName;
8443
- const jPathOrMatcher = options.jPath ? matcher.toString() + "." + rawAttrName : matcher;
10171
+ const jPathOrMatcher = options.jPath ? readonlyMatcher.toString() + "." + rawAttrName : readonlyMatcher;
8444
10172
  if (options.isArray(atrrName, jPathOrMatcher, true, true)) {
8445
10173
  obj[atrrName] = [attrMap[atrrName]];
8446
10174
  } else {
@@ -8462,7 +10190,7 @@ function isLeafTag(obj, options) {
8462
10190
  }
8463
10191
  var METADATA_SYMBOL2;
8464
10192
  var init_node2json = __esm({
8465
- "../../node_modules/.store/fast-xml-parser-npm-5.5.7-d3593c54f5/package/src/xmlparser/node2json.js"() {
10193
+ "../../node_modules/.store/fast-xml-parser-npm-5.7.1-94929a6c96/package/src/xmlparser/node2json.js"() {
8466
10194
  "use strict";
8467
10195
  init_xmlNode();
8468
10196
  METADATA_SYMBOL2 = XmlNode.getMetaDataSymbol();
@@ -8475,10 +10203,10 @@ var init_node2json = __esm({
8475
10203
  }
8476
10204
  });
8477
10205
 
8478
- // ../../node_modules/.store/fast-xml-parser-npm-5.5.7-d3593c54f5/package/src/xmlparser/XMLParser.js
10206
+ // ../../node_modules/.store/fast-xml-parser-npm-5.7.1-94929a6c96/package/src/xmlparser/XMLParser.js
8479
10207
  var _XMLParser, XMLParser;
8480
10208
  var init_XMLParser = __esm({
8481
- "../../node_modules/.store/fast-xml-parser-npm-5.5.7-d3593c54f5/package/src/xmlparser/XMLParser.js"() {
10209
+ "../../node_modules/.store/fast-xml-parser-npm-5.7.1-94929a6c96/package/src/xmlparser/XMLParser.js"() {
8482
10210
  init_OptionsBuilder();
8483
10211
  init_OrderedObjParser();
8484
10212
  init_node2json();
@@ -8508,10 +10236,10 @@ var init_XMLParser = __esm({
8508
10236
  }
8509
10237
  }
8510
10238
  const orderedObjParser = new OrderedObjParser(this.options);
8511
- orderedObjParser.addExternalEntities(this.externalEntities);
10239
+ orderedObjParser.entityDecoder.setExternalEntities(this.externalEntities);
8512
10240
  const orderedResult = orderedObjParser.parseXml(xmlData);
8513
10241
  if (this.options.preserveOrder || orderedResult === void 0) return orderedResult;
8514
- else return prettify(orderedResult, this.options, orderedObjParser.matcher);
10242
+ else return prettify(orderedResult, this.options, orderedObjParser.matcher, orderedObjParser.readonlyMatcher);
8515
10243
  }
8516
10244
  /**
8517
10245
  * Add Entity which is not by default supported by this library
@@ -8548,7 +10276,7 @@ var init_XMLParser = __esm({
8548
10276
  }
8549
10277
  });
8550
10278
 
8551
- // ../../node_modules/.store/fast-xml-builder-npm-1.1.4-abdb1d2cae/package/src/orderedJs2Xml.js
10279
+ // ../../node_modules/.store/fast-xml-builder-npm-1.1.5-960811683a/package/src/orderedJs2Xml.js
8552
10280
  function toXml(jArray, options) {
8553
10281
  let indentation = "";
8554
10282
  if (options.format && options.indentBy.length > 0) {
@@ -8606,12 +10334,16 @@ function arrToStr(arr, options, indentation, matcher, stopNodeExpressions) {
8606
10334
  if (isPreviousElementTag) {
8607
10335
  xmlStr += indentation;
8608
10336
  }
8609
- xmlStr += `<![CDATA[${tagObj[tagName][0][options.textNodeName]}]]>`;
10337
+ const val = tagObj[tagName][0][options.textNodeName];
10338
+ const safeVal = String(val).replace(/\]\]>/g, "]]]]><![CDATA[>");
10339
+ xmlStr += `<![CDATA[${safeVal}]]>`;
8610
10340
  isPreviousElementTag = false;
8611
10341
  matcher.pop();
8612
10342
  continue;
8613
10343
  } else if (tagName === options.commentPropName) {
8614
- xmlStr += indentation + `<!--${tagObj[tagName][0][options.textNodeName]}-->`;
10344
+ const val = tagObj[tagName][0][options.textNodeName];
10345
+ const safeVal = String(val).replace(/--/g, "- -").replace(/-$/, "- ");
10346
+ xmlStr += indentation + `<!--${safeVal}-->`;
8615
10347
  isPreviousElementTag = true;
8616
10348
  matcher.pop();
8617
10349
  continue;
@@ -8765,8 +10497,8 @@ function replaceEntitiesValue2(textValue, options) {
8765
10497
  }
8766
10498
  var EOL2;
8767
10499
  var init_orderedJs2Xml = __esm({
8768
- "../../node_modules/.store/fast-xml-builder-npm-1.1.4-abdb1d2cae/package/src/orderedJs2Xml.js"() {
8769
- init_src();
10500
+ "../../node_modules/.store/fast-xml-builder-npm-1.1.5-960811683a/package/src/orderedJs2Xml.js"() {
10501
+ init_src2();
8770
10502
  EOL2 = "\n";
8771
10503
  __name(toXml, "toXml");
8772
10504
  __name(arrToStr, "arrToStr");
@@ -8780,7 +10512,7 @@ var init_orderedJs2Xml = __esm({
8780
10512
  }
8781
10513
  });
8782
10514
 
8783
- // ../../node_modules/.store/fast-xml-builder-npm-1.1.4-abdb1d2cae/package/src/ignoreAttributes.js
10515
+ // ../../node_modules/.store/fast-xml-builder-npm-1.1.5-960811683a/package/src/ignoreAttributes.js
8784
10516
  function getIgnoreAttributesFn2(ignoreAttributes) {
8785
10517
  if (typeof ignoreAttributes === "function") {
8786
10518
  return ignoreAttributes;
@@ -8800,12 +10532,12 @@ function getIgnoreAttributesFn2(ignoreAttributes) {
8800
10532
  return () => false;
8801
10533
  }
8802
10534
  var init_ignoreAttributes2 = __esm({
8803
- "../../node_modules/.store/fast-xml-builder-npm-1.1.4-abdb1d2cae/package/src/ignoreAttributes.js"() {
10535
+ "../../node_modules/.store/fast-xml-builder-npm-1.1.5-960811683a/package/src/ignoreAttributes.js"() {
8804
10536
  __name(getIgnoreAttributesFn2, "getIgnoreAttributesFn");
8805
10537
  }
8806
10538
  });
8807
10539
 
8808
- // ../../node_modules/.store/fast-xml-builder-npm-1.1.4-abdb1d2cae/package/src/fxb.js
10540
+ // ../../node_modules/.store/fast-xml-builder-npm-1.1.5-960811683a/package/src/fxb.js
8809
10541
  function Builder(options) {
8810
10542
  this.options = Object.assign({}, defaultOptions3, options);
8811
10543
  if (this.options.stopNodes && Array.isArray(this.options.stopNodes)) {
@@ -8879,11 +10611,11 @@ function isAttribute(name) {
8879
10611
  }
8880
10612
  var defaultOptions3;
8881
10613
  var init_fxb = __esm({
8882
- "../../node_modules/.store/fast-xml-builder-npm-1.1.4-abdb1d2cae/package/src/fxb.js"() {
10614
+ "../../node_modules/.store/fast-xml-builder-npm-1.1.5-960811683a/package/src/fxb.js"() {
8883
10615
  "use strict";
8884
10616
  init_orderedJs2Xml();
8885
10617
  init_ignoreAttributes2();
8886
- init_src();
10618
+ init_src2();
8887
10619
  defaultOptions3 = {
8888
10620
  attributeNamePrefix: "@_",
8889
10621
  attributesGroupName: false,
@@ -9202,9 +10934,11 @@ var init_fxb = __esm({
9202
10934
  };
9203
10935
  Builder.prototype.buildTextValNode = function(val, key, attrStr, level, matcher) {
9204
10936
  if (this.options.cdataPropName !== false && key === this.options.cdataPropName) {
9205
- return this.indentate(level) + `<![CDATA[${val}]]>` + this.newLine;
10937
+ const safeVal = String(val).replace(/\]\]>/g, "]]]]><![CDATA[>");
10938
+ return this.indentate(level) + `<![CDATA[${safeVal}]]>` + this.newLine;
9206
10939
  } else if (this.options.commentPropName !== false && key === this.options.commentPropName) {
9207
- return this.indentate(level) + `<!--${val}-->` + this.newLine;
10940
+ const safeVal = String(val).replace(/--/g, "- -").replace(/-$/, "- ");
10941
+ return this.indentate(level) + `<!--${safeVal}-->` + this.newLine;
9208
10942
  } else if (key[0] === "?") {
9209
10943
  return this.indentate(level) + "<" + key + attrStr + "?" + this.tagEndChar;
9210
10944
  } else {
@@ -9231,20 +10965,20 @@ var init_fxb = __esm({
9231
10965
  }
9232
10966
  });
9233
10967
 
9234
- // ../../node_modules/.store/fast-xml-parser-npm-5.5.7-d3593c54f5/package/src/xmlbuilder/json2xml.js
10968
+ // ../../node_modules/.store/fast-xml-parser-npm-5.7.1-94929a6c96/package/src/xmlbuilder/json2xml.js
9235
10969
  var json2xml_default;
9236
10970
  var init_json2xml = __esm({
9237
- "../../node_modules/.store/fast-xml-parser-npm-5.5.7-d3593c54f5/package/src/xmlbuilder/json2xml.js"() {
10971
+ "../../node_modules/.store/fast-xml-parser-npm-5.7.1-94929a6c96/package/src/xmlbuilder/json2xml.js"() {
9238
10972
  init_fxb();
9239
10973
  init_fxb();
9240
10974
  json2xml_default = Builder;
9241
10975
  }
9242
10976
  });
9243
10977
 
9244
- // ../../node_modules/.store/fast-xml-parser-npm-5.5.7-d3593c54f5/package/src/fxp.js
10978
+ // ../../node_modules/.store/fast-xml-parser-npm-5.7.1-94929a6c96/package/src/fxp.js
9245
10979
  var XMLValidator;
9246
10980
  var init_fxp = __esm({
9247
- "../../node_modules/.store/fast-xml-parser-npm-5.5.7-d3593c54f5/package/src/fxp.js"() {
10981
+ "../../node_modules/.store/fast-xml-parser-npm-5.7.1-94929a6c96/package/src/fxp.js"() {
9248
10982
  "use strict";
9249
10983
  init_validator();
9250
10984
  init_XMLParser();
@@ -25415,7 +27149,7 @@ var init_operationsInterfaces = __esm({
25415
27149
  });
25416
27150
 
25417
27151
  // ../../node_modules/.store/@azure-storage-blob-npm-12.31.0-1a3cdded19/package/dist/esm/generated/src/index.js
25418
- var init_src2 = __esm({
27152
+ var init_src3 = __esm({
25419
27153
  "../../node_modules/.store/@azure-storage-blob-npm-12.31.0-1a3cdded19/package/dist/esm/generated/src/index.js"() {
25420
27154
  init_models();
25421
27155
  init_storageClient();
@@ -25427,7 +27161,7 @@ var init_src2 = __esm({
25427
27161
  var _StorageContextClient, StorageContextClient;
25428
27162
  var init_StorageContextClient = __esm({
25429
27163
  "../../node_modules/.store/@azure-storage-blob-npm-12.31.0-1a3cdded19/package/dist/esm/StorageContextClient.js"() {
25430
- init_src2();
27164
+ init_src3();
25431
27165
  _StorageContextClient = class _StorageContextClient extends StorageClient {
25432
27166
  async sendOperationRequest(operationArguments, operationSpec) {
25433
27167
  const operationSpecToSend = { ...operationSpec };