asn-blocklist 1.20260703.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +302 -0
  3. package/dist/consumer.ef.b64 +1 -0
  4. package/dist/consumer.gr.b64 +1 -0
  5. package/dist/consumer.txt +16379 -0
  6. package/dist/hosting.ef.b64 +1 -0
  7. package/dist/hosting.gr.b64 +1 -0
  8. package/dist/hosting.txt +7648 -0
  9. package/lib/access/ef.cjs +181 -0
  10. package/lib/access/ef.d.cts +8 -0
  11. package/lib/access/ef.d.ts +8 -0
  12. package/lib/access/ef.js +151 -0
  13. package/lib/access/gr.cjs +149 -0
  14. package/lib/access/gr.d.cts +8 -0
  15. package/lib/access/gr.d.ts +8 -0
  16. package/lib/access/gr.js +119 -0
  17. package/lib/access-ef-Cyg9fXiX.d.cts +3 -0
  18. package/lib/access-ef-Cyg9fXiX.d.ts +3 -0
  19. package/lib/access-gr-K1sbUYPZ.d.cts +3 -0
  20. package/lib/access-gr-K1sbUYPZ.d.ts +3 -0
  21. package/lib/data/access-ef.cjs +99 -0
  22. package/lib/data/access-ef.d.cts +2 -0
  23. package/lib/data/access-ef.d.ts +2 -0
  24. package/lib/data/access-ef.js +68 -0
  25. package/lib/data/access-gr.cjs +99 -0
  26. package/lib/data/access-gr.d.cts +2 -0
  27. package/lib/data/access-gr.d.ts +2 -0
  28. package/lib/data/access-gr.js +68 -0
  29. package/lib/data/hosting-ef.cjs +99 -0
  30. package/lib/data/hosting-ef.d.cts +2 -0
  31. package/lib/data/hosting-ef.d.ts +2 -0
  32. package/lib/data/hosting-ef.js +68 -0
  33. package/lib/data/hosting-gr.cjs +99 -0
  34. package/lib/data/hosting-gr.d.cts +2 -0
  35. package/lib/data/hosting-gr.d.ts +2 -0
  36. package/lib/data/hosting-gr.js +68 -0
  37. package/lib/hosting/ef.cjs +181 -0
  38. package/lib/hosting/ef.d.cts +8 -0
  39. package/lib/hosting/ef.d.ts +8 -0
  40. package/lib/hosting/ef.js +151 -0
  41. package/lib/hosting/gr.cjs +149 -0
  42. package/lib/hosting/gr.d.cts +8 -0
  43. package/lib/hosting/gr.d.ts +8 -0
  44. package/lib/hosting/gr.js +119 -0
  45. package/lib/hosting-ef-BYHAv_eT.d.cts +3 -0
  46. package/lib/hosting-ef-BYHAv_eT.d.ts +3 -0
  47. package/lib/hosting-gr-ISZyiWi7.d.cts +3 -0
  48. package/lib/hosting-gr-ISZyiWi7.d.ts +3 -0
  49. package/lib/index.cjs +335 -0
  50. package/lib/index.d.cts +12 -0
  51. package/lib/index.d.ts +12 -0
  52. package/lib/index.js +295 -0
  53. package/lib/metadata-CbVhAyw9.d.cts +59 -0
  54. package/lib/metadata-CbVhAyw9.d.ts +59 -0
  55. package/lib/runtime.cjs +239 -0
  56. package/lib/runtime.d.cts +17 -0
  57. package/lib/runtime.d.ts +17 -0
  58. package/lib/runtime.js +208 -0
  59. package/lib/types-BeWCbJlo.d.cts +27 -0
  60. package/lib/types-BeWCbJlo.d.ts +27 -0
  61. package/package.json +109 -0
@@ -0,0 +1,151 @@
1
+ // src/generated/hosting-ef.ts
2
+ var HOSTING_EF_B64 = "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d08+Cih0QkwpCnCmWrRt8Rj9ZKgOQjGnir6BwiGlQy3d8xEJGzoj/odIXgOHC3vlZYRTqIb0xtjnh4rp5edlEM8BYfnXQDOnbyla7gyoS9Phwr75I63S4ddI7c71uTPETnn518Aii4RcCd9vTvAfCSOt9yU/Y40C6FCHYAdfJpbOdXJDX2nRZQ3moTcQwmiICrg3QVNXRVMrAUHcsl8BmGEgIu/Y6mVs4ND4cUtKWmV6H1GiMV8TZwzN7ZXnmBHrGuAz3sI/wuXUsayhmNjfB1iZQAhMKZdYgdIb189XHOgshQbxpJyGzpG5rX5ICHobTnSyyA6ZmO7DbXxFnwFpoMv5A5N/ok7D+xvOvfssOdH31tDMkQ4Q4kqky6/HTXmx19W+JkwKmXNCIkvB/u9DjVDxgTOKrAKLxT3/fvs6LsngKNRgAAfrd19Vvdh5O9/PfqK3C0yljLkKWrv7tvvYRgD963ffdu0AG69p23evp3v7v37t99XtrdtNuzf39e3u87Sm97rfe/fu73fve6f39373vv3727/719997fttrvb31rrs/bd27ts7VE1WhIu7b+Xtvcsvbbdya+7Xre8/32672+72/fffbs7v7L2+9299bsl13vPu1tZp6tvd7Xvu5le0G672tXt97vXm/u+uufdXu79u49h7rXdrp09bbtY2fbcvftp013u63YZ7v/TbaqrubXb7d7btM6q1t/dqpqmr1W7fW99bu/r7vuvV11bfV9b11263Nqc5NvZDve71nDtV6Hm+zrs77Xe9e+9tttffduPb33fb1267592vdvu7vO9fb9vXb3Xnt2uW7q+2drvzaOk6gHWbXW6Vyu6dG3973+777WL8691tur7vt7t+7bbur2+3rdttbN6dY069Zn23ft9u99d9e29O27Xntuu2p72dVrpca71bun25uyurLbde9Ld9ve2027t5avtd3rtt47v3vVZu7vN2tOvW+uz223y+tq1uyHdrnr+7be7z1uu3vbX32+9Rrfq5vetRb3evze/27t7r23vvfbbvfru+9++vt33re511166Lu7Vztbq1u+3nI7urz1bqezW9XN65u91tvu11q27tNnevb3dXvLpqbdtut7bd777cvbtXdre++97z27btabqt7223m7W7TXJO6e7bVtprVvu9be877ev3117t6p7227b37m3dde72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";
3
+
4
+ // src/runtime/base64.ts
5
+ function toUint8Array(data) {
6
+ if (data instanceof Uint8Array) {
7
+ return data;
8
+ }
9
+ if (typeof Buffer !== "undefined") {
10
+ return new Uint8Array(Buffer.from(data, "base64"));
11
+ }
12
+ const decoded = atob(data);
13
+ const bytes = new Uint8Array(decoded.length);
14
+ for (let i = 0; i < decoded.length; i++) {
15
+ bytes[i] = decoded.charCodeAt(i);
16
+ }
17
+ return bytes;
18
+ }
19
+ function bitAt(bytes, bitPosition) {
20
+ return bytes[bitPosition >> 3] >> 7 - (bitPosition & 7) & 1;
21
+ }
22
+
23
+ // src/runtime/header.ts
24
+ function dataView(bytes) {
25
+ return new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
26
+ }
27
+ function readCommonHeader(bytes) {
28
+ if (bytes.byteLength < 14) {
29
+ throw new Error("ASN dataset is too short to contain a valid header");
30
+ }
31
+ const view = dataView(bytes);
32
+ return {
33
+ offset: view.getUint32(0, true),
34
+ count: view.getUint32(4, true),
35
+ range: view.getUint32(8, true),
36
+ k: view.getUint8(12),
37
+ l: view.getUint8(13)
38
+ };
39
+ }
40
+ function metadataFromHeader(header, kind, encoding) {
41
+ return {
42
+ kind,
43
+ encoding,
44
+ offset: header.offset,
45
+ count: header.count,
46
+ range: header.range,
47
+ minASN: header.offset,
48
+ maxASN: header.offset + header.range - 1
49
+ };
50
+ }
51
+
52
+ // src/runtime/normalize.ts
53
+ function normalizeASN(input) {
54
+ if (typeof input === "number") {
55
+ return Number.isSafeInteger(input) && input > 0 ? input : null;
56
+ }
57
+ const value = String(input).trim();
58
+ const match = /^(?:AS)?(\d+)$/i.exec(value);
59
+ if (!match) return null;
60
+ const asn = Number(match[1]);
61
+ return Number.isSafeInteger(asn) && asn > 0 ? asn : null;
62
+ }
63
+
64
+ // src/runtime/ef.ts
65
+ function readEFSubHeader(bytes) {
66
+ if (bytes.byteLength < 28) {
67
+ throw new Error("ASN EF dataset is too short to contain a valid sub-header");
68
+ }
69
+ const view = dataView(bytes);
70
+ return {
71
+ lowOffset: view.getUint32(14, true),
72
+ highOffset: view.getUint32(18, true),
73
+ selectOffset: view.getUint32(22, true),
74
+ selectStep: view.getUint16(26, true)
75
+ };
76
+ }
77
+ function createEFSet(data, options = {}) {
78
+ const bytes = toUint8Array(data);
79
+ const header = readCommonHeader(bytes);
80
+ if (header.l === 0) {
81
+ throw new Error("ASN dataset is not Elias-Fano encoded");
82
+ }
83
+ const view = dataView(bytes);
84
+ const sub = readEFSubHeader(bytes);
85
+ const lowMask = (1 << header.l) - 1;
86
+ const kind = options.kind ?? "hosting";
87
+ const metadata = metadataFromHeader(header, kind, "ef");
88
+ function selectZero(n) {
89
+ if (n === 0) return 0;
90
+ const sampleIndex = Math.floor((n - 1) / sub.selectStep);
91
+ let position = view.getUint32(sub.selectOffset + sampleIndex * 4, true);
92
+ const target = n - sampleIndex * sub.selectStep;
93
+ let count = 0;
94
+ while (count < target) {
95
+ if (bitAt(bytes, sub.highOffset * 8 + position) === 0) {
96
+ count++;
97
+ }
98
+ position++;
99
+ }
100
+ return position;
101
+ }
102
+ function readLow(index) {
103
+ let value = 0;
104
+ const bitPosition = sub.lowOffset * 8 + index * header.l;
105
+ for (let i = 0; i < header.l; i++) {
106
+ value = value << 1 | bitAt(bytes, bitPosition + i);
107
+ }
108
+ return value;
109
+ }
110
+ return {
111
+ kind,
112
+ encoding: "ef",
113
+ metadata,
114
+ has(input) {
115
+ const asn = normalizeASN(input);
116
+ if (asn === null) return false;
117
+ if (asn < header.offset || asn > header.offset + header.range - 1) return false;
118
+ const relative = asn - header.offset;
119
+ const high = relative >> header.l;
120
+ const low = relative & lowMask;
121
+ let start;
122
+ let end;
123
+ if (high === 0) {
124
+ start = 0;
125
+ end = selectZero(1) - 1;
126
+ } else {
127
+ const previousZero = selectZero(high);
128
+ const nextZero = selectZero(high + 1);
129
+ start = previousZero - high;
130
+ end = nextZero - (high + 1);
131
+ }
132
+ for (let i = start; i < end; i++) {
133
+ if (readLow(i) === low) return true;
134
+ }
135
+ return false;
136
+ }
137
+ };
138
+ }
139
+
140
+ // src/entries/hosting-ef.ts
141
+ var hosting = createEFSet(HOSTING_EF_B64, { kind: "hosting" });
142
+ var HOSTING_EF_SET = hosting;
143
+ function isHostingASN(asn) {
144
+ return hosting.has(asn);
145
+ }
146
+ export {
147
+ HOSTING_EF_B64,
148
+ HOSTING_EF_SET,
149
+ hosting,
150
+ isHostingASN
151
+ };
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/entries/hosting-gr.ts
21
+ var hosting_gr_exports = {};
22
+ __export(hosting_gr_exports, {
23
+ HOSTING_GR_B64: () => HOSTING_GR_B64,
24
+ HOSTING_GR_SET: () => HOSTING_GR_SET,
25
+ hosting: () => hosting,
26
+ isHostingASN: () => isHostingASN
27
+ });
28
+ module.exports = __toCommonJS(hosting_gr_exports);
29
+
30
+ // src/generated/hosting-gr.ts
31
+ var HOSTING_GR_B64 = "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qpA3oWOG6i/gQlohE5EHKMjzhYrURmkY5BHYJ5TCrY4zhLg4DlpJ1jG6ggYTju1cQaynMoyMQcA5QuGK64lcoT4CIhE4Il7ZklIYxCXvmbOtlqyFFQKEJBLGsoz7BDJjGpfSta6KMoxFXCIXVgIk0EkqCnLqWdrIVrWYh4ospVIJxIE4SoQtEKFhwphEQmGtkkJ4xKSUyESsEN5cDSEyQDFWMso2hJFmKFSTKJskiJLCG/4ECGkYShCQ4RBG142iV3DMqUjMUZ3BWQLWFuCMU8gnGeUI4ZSUiNPEMIyrU1CIn4SCE4+BwpQjaNQZGJSQOgsr1ExjM1wRkwmpGK0vZGpSFINIIUpHERqQ0og5CC2tcXLCu7Ocg1DsKTBQnAwsEMSFu+r9GYYwtSL1bDEhOt0CcxQwmmCJ6xEgIiWQLVkKwrjFc9Ivhji0DEb/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vIzyh6tSSBHgIjzG/yc1Mo6FmGUhRoTsHD9d0CUsESFA5KokM0qsNGEdxWUlYryMpmwJ/MnCKDhCasaX/UJ4iFIcNQiBMgxRy/EvDCsR0UGVWKyfyRcFYb3ISrJsVzRfvdENFTCpspQjKsYhCYIv4Vhm4uGGBkPN2D8fROgMebEYh6ZHBgTJ+IZP/XymLu09fwHnW0WNzhQqwdwVJrhun5w9LDz4g7ofPFx8oe4/XLy1RSJH+BtwQ4BGh6/VYEr5T4W0lClTD4g4YhyVTPx+QT+cZ4J6wvHDrGF79/cVKb8Xu+8b/7GTh1HCShFyBqCNPA+36A5c6urnv3Ktk1fluQKqb8aBBOQ54zlHg/0bdKiv3pEHnEv4V5SCERQbAqu/k8mIVihTBhKFnyaYPZ+PxKhj8HngOHOTb8npsiOJeRWKyKBOlAhLKJRf3/zMNNg/2un0tMcsQbiV4PmXZQNdQVJG3FsjZLXiT5ZD6LDMg9AQq+nV////////////////////////////////////////////yLbEhg1BpJBzUcSE/4v//////2h//////////OgbTyhSj9f6ufiQGqJ3LhGMvs2dxZ3OP/6sBkNIb/ogM0Q1MkCpqHkPHgj0260h5LfF0dB4BsWLp+Y5WHpFz8Y/y/3FRvH+s6YtV3+8VqzO/76aa+oOD/4FCjz9UAqvTJQZItBbPx43BsRAv/cVUEDGDtk+NkSoraTez1xigRX4PNTZBilbleL0T/DA6YZojy3laoO05KPET5dn8zP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////18NFiwq5fDDQO3w8I+gxIhJpnLazgTb46p5A8JRhUzmkYTCQTjPIRUNkFHokyzYJRqRopK1kMcORWcR4NcLITEWcczdED3myVh2qvpCIbTqUQ9TYl8vk6Nh7hslvsnRhQGh5Umjcg8vjHolagsp0igjMlNyxjmITpFQqUOtp2hDhnUUpaEEMg6dY73nEoIkyKIZa8BIhW+otYmlyueQw0WDKdfIIXfFKlLqwqCeegwWU1Q1oL0WCObylUEpsZiR6RRwhO0w8K07T1DsU+iwLFiUt51LplfPzFE8ocplIcm1shCDgZQisV8cmLjS90BwiJcbpHmMRdgtIYu9yFtaSFMjsdHtEYLS0i5AtgmEeOGRPK4IX1KPgN3UhNmwDLhbPPrwy7UoDUcXpl6RhpzWjeZUhWOu3liLgOhNkwtKuSFe9j1WzkrgNEWyBOkZl81Yx02lbuNGjQVDAkKcSiNDnFTmHKe6AORqj58M5tD+BUGxqSojCl5hQ4yjtOINgXzhgTUlI0CJKr5xsNgiX2ChV7ipD3UsgmrSKASQznIWo4bz+EpghxLFV6OLAPKhmKAkUAhYCnSnEGQ8xSOEmATeZKjlKTlhDELOVSxBjutgvVOim+lxGPnihpQRSD49RNSoLFaAx3xjD2ywmOkIzsFPwQxIFWVTW1hI0QhKElKOGgJQ5qGGEbW7MQkKg4VE5bRB8wziGZJqFvmIm7iblJAonjKODSaKFEvapssxPpohuslJhvKoeHz9YavqYcpqhFsUzsIMwQrCFx6BG6Z4c20Im4xIkNGUasQa4kF+MTf8D5RLkCUKdcFh0ZBB0SqIoRcUsWRFq4/wdUoiDrNQ5BLeg4mqjEJrBSowGaJN5oBbK1IjSHxLrUcqG3xpqTb4sDWyY4YahiPCLRYJUMCRLuWxAZzqFVlI1NYRsEtbRwBXIdJiBrMaRJyDI4Mi1/Kw4VzyULWhMJ2MKF1MrkZiuItJiRJXEs51YSLQY51DKYYxGhWYh0RyiOJQhqUQJlGVa5UXGMJ1rS1Rp8KFiO0dhB6UzQVRWyNmWwgaSOOU8Q7XwKaqQ7IhmWYhTLRpK25y0vW2c1wSzyvgLEGQzYCkcXIVLFaaTin5ZEpnOFQilM4RFhNGN5hCCs+IIxLHEKYQZBrlW0Yr3kZF/////////////////////////////8PkW0xHT8Zv///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0mhCom8d6VpqbiEgSxhDCxCArDSEQlimNGGcJQ5LzDGwIpQjamMgSxiHERIUQokaXQGQbzBUcYzn1iClM9T0w8FakcEpAiwiQExczDFEcQitdUI4hO6BrEOBBXKlXHgVSjaGtZypOosC5WablUjSeMYxvXQxD3BO4rBtQkRBihsZEUx3lRo7JZShpxDg1twO3cw7cLDnFIIlRQ4bzrrNGYUIbBDG48AilSKuEJhyRMISxNZcUJocdzz5PRiWH8Z0wBCV2ERBMSgd8wQhXJmtPKcKwqcqs2pBzphHMpJzuOl56UugP4AniWFjNataXRaBEoepSxBHErFsaYvw7CoaKRHnYpp7xzvDQN3GospynYdgiqeIWCkO3YGN1Pkq46VhrYoVboA9giFpaOkg16nQ9ZQk10CIGBJCkRhINZlhVoSFa0ZJotpRMcmRhFisXUt8DkFOJhwjGHCdCY0kRHpw+PDEx+IRlTcsSjYj00yOZ5S+JEqboqXRyDPb1LgOgyPkMhCBskhKzBhIIa4qYxwhGcoSGTTSxFrBiewSRGIowjhuhGERhME3moHgS5CSuoGFiY0WjCutEgRGGKKAql1V3nCNAWUzSmfMGu0US5SisaJuwOQzWW+OI4zfhUMR08ZWBokyiJJFu+bATnsuTiYUfp0CC0dUVt/JDqzXLN+Nch/sFoC4YjzKLNGMTiYFmSIxHjQbEIzK2kqqLjeEaEoRFX4ndBb5ik+h3j2wP//rT/im4VZv/9v//////6ceMTuP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0FUiAM5TFGdkYUCqpvCKpCUWVlSMgeZ5hM+yTDgGo5ohukEJmKIo3hdYgUkYVLgTmJBZidK0yAmOpgxDqFRLArIga1VJVtcJVoSJimnUEYxkFFyTYEBccQwm6pStKkJdqQ0jVSM6tv/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Rku/E2UbF+DMZBPhIhnOXD28UeQklXxWptIeqLESegrNDhtbiJAPy/IOL0r1iH+ANrWeou7qC75Kf2T7oJ+aB4+VPvKYvbt86fHcn5lFi+UtdvZGZuExqrDdIaxf//7fEYvEGA5ThY7DdgJTk5Pi3rsXFfKHr6eDV5vfgh05/Fu5f8U9whE6SYIw7v+njOv9g8PfoiMEmYO8k6kM8Xg1UhKr+x7iQsshFOPIEc0Qp+bqH3fZUX82G0z4MOWZyD9JT6AobnOcSownVKkIemuPDleY/C3qO6tyEq+xU7uQ1mJAtqmwBrQMLSNWQ0gd0cMlpVaiQmI8iSrhw7U1SpF+t/qw/wnND39116XeSPPJalQ=";
32
+
33
+ // src/runtime/base64.ts
34
+ function toUint8Array(data) {
35
+ if (data instanceof Uint8Array) {
36
+ return data;
37
+ }
38
+ if (typeof Buffer !== "undefined") {
39
+ return new Uint8Array(Buffer.from(data, "base64"));
40
+ }
41
+ const decoded = atob(data);
42
+ const bytes = new Uint8Array(decoded.length);
43
+ for (let i = 0; i < decoded.length; i++) {
44
+ bytes[i] = decoded.charCodeAt(i);
45
+ }
46
+ return bytes;
47
+ }
48
+ function bitAt(bytes, bitPosition) {
49
+ return bytes[bitPosition >> 3] >> 7 - (bitPosition & 7) & 1;
50
+ }
51
+
52
+ // src/runtime/header.ts
53
+ function dataView(bytes) {
54
+ return new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
55
+ }
56
+ function readCommonHeader(bytes) {
57
+ if (bytes.byteLength < 14) {
58
+ throw new Error("ASN dataset is too short to contain a valid header");
59
+ }
60
+ const view = dataView(bytes);
61
+ return {
62
+ offset: view.getUint32(0, true),
63
+ count: view.getUint32(4, true),
64
+ range: view.getUint32(8, true),
65
+ k: view.getUint8(12),
66
+ l: view.getUint8(13)
67
+ };
68
+ }
69
+ function metadataFromHeader(header, kind, encoding) {
70
+ return {
71
+ kind,
72
+ encoding,
73
+ offset: header.offset,
74
+ count: header.count,
75
+ range: header.range,
76
+ minASN: header.offset,
77
+ maxASN: header.offset + header.range - 1
78
+ };
79
+ }
80
+
81
+ // src/runtime/normalize.ts
82
+ function normalizeASN(input) {
83
+ if (typeof input === "number") {
84
+ return Number.isSafeInteger(input) && input > 0 ? input : null;
85
+ }
86
+ const value = String(input).trim();
87
+ const match = /^(?:AS)?(\d+)$/i.exec(value);
88
+ if (!match) return null;
89
+ const asn = Number(match[1]);
90
+ return Number.isSafeInteger(asn) && asn > 0 ? asn : null;
91
+ }
92
+
93
+ // src/runtime/gr.ts
94
+ function createGRSet(data, options = {}) {
95
+ const bytes = toUint8Array(data);
96
+ const header = readCommonHeader(bytes);
97
+ if (header.k === 0) {
98
+ throw new Error("ASN dataset is not Golomb-Rice encoded");
99
+ }
100
+ const bucket = new Uint16Array(Math.ceil(header.range / 16));
101
+ if (header.count > 0) {
102
+ bucket[0] |= 1;
103
+ }
104
+ let bitPosition = 14 * 8;
105
+ let relative = 0;
106
+ for (let i = 1; i < header.count; i++) {
107
+ let q = 0;
108
+ while (bitAt(bytes, bitPosition) === 1) {
109
+ q++;
110
+ bitPosition++;
111
+ }
112
+ bitPosition++;
113
+ let r = 0;
114
+ for (let j = 0; j < header.k; j++) {
115
+ r = r << 1 | bitAt(bytes, bitPosition);
116
+ bitPosition++;
117
+ }
118
+ relative += q << header.k | r;
119
+ bucket[relative >> 4] |= 1 << (relative & 15);
120
+ }
121
+ const kind = options.kind ?? "hosting";
122
+ const metadata = metadataFromHeader(header, kind, "gr");
123
+ return {
124
+ kind,
125
+ encoding: "gr",
126
+ metadata,
127
+ has(input) {
128
+ const asn = normalizeASN(input);
129
+ if (asn === null) return false;
130
+ const position = asn - header.offset;
131
+ if (position < 0 || position >= header.range) return false;
132
+ return (bucket[position >> 4] >> (position & 15) & 1) === 1;
133
+ }
134
+ };
135
+ }
136
+
137
+ // src/entries/hosting-gr.ts
138
+ var hosting = createGRSet(HOSTING_GR_B64, { kind: "hosting" });
139
+ var HOSTING_GR_SET = hosting;
140
+ function isHostingASN(asn) {
141
+ return hosting.has(asn);
142
+ }
143
+ // Annotate the CommonJS export names for ESM import in node:
144
+ 0 && (module.exports = {
145
+ HOSTING_GR_B64,
146
+ HOSTING_GR_SET,
147
+ hosting,
148
+ isHostingASN
149
+ });
@@ -0,0 +1,8 @@
1
+ import { A as ASNSet, a as ASNInput } from '../types-BeWCbJlo.cjs';
2
+ export { H as HOSTING_GR_B64 } from '../hosting-gr-ISZyiWi7.cjs';
3
+
4
+ declare const hosting: ASNSet;
5
+ declare const HOSTING_GR_SET: ASNSet;
6
+ declare function isHostingASN(asn: ASNInput): boolean;
7
+
8
+ export { HOSTING_GR_SET, hosting, isHostingASN };
@@ -0,0 +1,8 @@
1
+ import { A as ASNSet, a as ASNInput } from '../types-BeWCbJlo.js';
2
+ export { H as HOSTING_GR_B64 } from '../hosting-gr-ISZyiWi7.js';
3
+
4
+ declare const hosting: ASNSet;
5
+ declare const HOSTING_GR_SET: ASNSet;
6
+ declare function isHostingASN(asn: ASNInput): boolean;
7
+
8
+ export { HOSTING_GR_SET, hosting, isHostingASN };
@@ -0,0 +1,119 @@
1
+ // src/generated/hosting-gr.ts
2
+ var HOSTING_GR_B64 = "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qpA3oWOG6i/gQlohE5EHKMjzhYrURmkY5BHYJ5TCrY4zhLg4DlpJ1jG6ggYTju1cQaynMoyMQcA5QuGK64lcoT4CIhE4Il7ZklIYxCXvmbOtlqyFFQKEJBLGsoz7BDJjGpfSta6KMoxFXCIXVgIk0EkqCnLqWdrIVrWYh4ospVIJxIE4SoQtEKFhwphEQmGtkkJ4xKSUyESsEN5cDSEyQDFWMso2hJFmKFSTKJskiJLCG/4ECGkYShCQ4RBG142iV3DMqUjMUZ3BWQLWFuCMU8gnGeUI4ZSUiNPEMIyrU1CIn4SCE4+BwpQjaNQZGJSQOgsr1ExjM1wRkwmpGK0vZGpSFINIIUpHERqQ0og5CC2tcXLCu7Ocg1DsKTBQnAwsEMSFu+r9GYYwtSL1bDEhOt0CcxQwmmCJ6xEgIiWQLVkKwrjFc9Ivhji0DEb/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vIzyh6tSSBHgIjzG/yc1Mo6FmGUhRoTsHD9d0CUsESFA5KokM0qsNGEdxWUlYryMpmwJ/MnCKDhCasaX/UJ4iFIcNQiBMgxRy/EvDCsR0UGVWKyfyRcFYb3ISrJsVzRfvdENFTCpspQjKsYhCYIv4Vhm4uGGBkPN2D8fROgMebEYh6ZHBgTJ+IZP/XymLu09fwHnW0WNzhQqwdwVJrhun5w9LDz4g7ofPFx8oe4/XLy1RSJH+BtwQ4BGh6/VYEr5T4W0lClTD4g4YhyVTPx+QT+cZ4J6wvHDrGF79/cVKb8Xu+8b/7GTh1HCShFyBqCNPA+36A5c6urnv3Ktk1fluQKqb8aBBOQ54zlHg/0bdKiv3pEHnEv4V5SCERQbAqu/k8mIVihTBhKFnyaYPZ+PxKhj8HngOHOTb8npsiOJeRWKyKBOlAhLKJRf3/zMNNg/2un0tMcsQbiV4PmXZQNdQVJG3FsjZLXiT5ZD6LDMg9AQq+nV////////////////////////////////////////////yLbEhg1BpJBzUcSE/4v//////2h//////////OgbTyhSj9f6ufiQGqJ3LhGMvs2dxZ3OP/6sBkNIb/ogM0Q1MkCpqHkPHgj0260h5LfF0dB4BsWLp+Y5WHpFz8Y/y/3FRvH+s6YtV3+8VqzO/76aa+oOD/4FCjz9UAqvTJQZItBbPx43BsRAv/cVUEDGDtk+NkSoraTez1xigRX4PNTZBilbleL0T/DA6YZojy3laoO05KPET5dn8zP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////18NFiwq5fDDQO3w8I+gxIhJpnLazgTb46p5A8JRhUzmkYTCQTjPIRUNkFHokyzYJRqRopK1kMcORWcR4NcLITEWcczdED3myVh2qvpCIbTqUQ9TYl8vk6Nh7hslvsnRhQGh5Umjcg8vjHolagsp0igjMlNyxjmITpFQqUOtp2hDhnUUpaEEMg6dY73nEoIkyKIZa8BIhW+otYmlyueQw0WDKdfIIXfFKlLqwqCeegwWU1Q1oL0WCObylUEpsZiR6RRwhO0w8K07T1DsU+iwLFiUt51LplfPzFE8ocplIcm1shCDgZQisV8cmLjS90BwiJcbpHmMRdgtIYu9yFtaSFMjsdHtEYLS0i5AtgmEeOGRPK4IX1KPgN3UhNmwDLhbPPrwy7UoDUcXpl6RhpzWjeZUhWOu3liLgOhNkwtKuSFe9j1WzkrgNEWyBOkZl81Yx02lbuNGjQVDAkKcSiNDnFTmHKe6AORqj58M5tD+BUGxqSojCl5hQ4yjtOINgXzhgTUlI0CJKr5xsNgiX2ChV7ipD3UsgmrSKASQznIWo4bz+EpghxLFV6OLAPKhmKAkUAhYCnSnEGQ8xSOEmATeZKjlKTlhDELOVSxBjutgvVOim+lxGPnihpQRSD49RNSoLFaAx3xjD2ywmOkIzsFPwQxIFWVTW1hI0QhKElKOGgJQ5qGGEbW7MQkKg4VE5bRB8wziGZJqFvmIm7iblJAonjKODSaKFEvapssxPpohuslJhvKoeHz9YavqYcpqhFsUzsIMwQrCFx6BG6Z4c20Im4xIkNGUasQa4kF+MTf8D5RLkCUKdcFh0ZBB0SqIoRcUsWRFq4/wdUoiDrNQ5BLeg4mqjEJrBSowGaJN5oBbK1IjSHxLrUcqG3xpqTb4sDWyY4YahiPCLRYJUMCRLuWxAZzqFVlI1NYRsEtbRwBXIdJiBrMaRJyDI4Mi1/Kw4VzyULWhMJ2MKF1MrkZiuItJiRJXEs51YSLQY51DKYYxGhWYh0RyiOJQhqUQJlGVa5UXGMJ1rS1Rp8KFiO0dhB6UzQVRWyNmWwgaSOOU8Q7XwKaqQ7IhmWYhTLRpK25y0vW2c1wSzyvgLEGQzYCkcXIVLFaaTin5ZEpnOFQilM4RFhNGN5hCCs+IIxLHEKYQZBrlW0Yr3kZF/////////////////////////////8PkW0xHT8Zv///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0mhCom8d6VpqbiEgSxhDCxCArDSEQlimNGGcJQ5LzDGwIpQjamMgSxiHERIUQokaXQGQbzBUcYzn1iClM9T0w8FakcEpAiwiQExczDFEcQitdUI4hO6BrEOBBXKlXHgVSjaGtZypOosC5WablUjSeMYxvXQxD3BO4rBtQkRBihsZEUx3lRo7JZShpxDg1twO3cw7cLDnFIIlRQ4bzrrNGYUIbBDG48AilSKuEJhyRMISxNZcUJocdzz5PRiWH8Z0wBCV2ERBMSgd8wQhXJmtPKcKwqcqs2pBzphHMpJzuOl56UugP4AniWFjNataXRaBEoepSxBHErFsaYvw7CoaKRHnYpp7xzvDQN3GospynYdgiqeIWCkO3YGN1Pkq46VhrYoVboA9giFpaOkg16nQ9ZQk10CIGBJCkRhINZlhVoSFa0ZJotpRMcmRhFisXUt8DkFOJhwjGHCdCY0kRHpw+PDEx+IRlTcsSjYj00yOZ5S+JEqboqXRyDPb1LgOgyPkMhCBskhKzBhIIa4qYxwhGcoSGTTSxFrBiewSRGIowjhuhGERhME3moHgS5CSuoGFiY0WjCutEgRGGKKAql1V3nCNAWUzSmfMGu0US5SisaJuwOQzWW+OI4zfhUMR08ZWBokyiJJFu+bATnsuTiYUfp0CC0dUVt/JDqzXLN+Nch/sFoC4YjzKLNGMTiYFmSIxHjQbEIzK2kqqLjeEaEoRFX4ndBb5ik+h3j2wP//rT/im4VZv/9v//////6ceMTuP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0FUiAM5TFGdkYUCqpvCKpCUWVlSMgeZ5hM+yTDgGo5ohukEJmKIo3hdYgUkYVLgTmJBZidK0yAmOpgxDqFRLArIga1VJVtcJVoSJimnUEYxkFFyTYEBccQwm6pStKkJdqQ0jVSM6tv/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Rku/E2UbF+DMZBPhIhnOXD28UeQklXxWptIeqLESegrNDhtbiJAPy/IOL0r1iH+ANrWeou7qC75Kf2T7oJ+aB4+VPvKYvbt86fHcn5lFi+UtdvZGZuExqrDdIaxf//7fEYvEGA5ThY7DdgJTk5Pi3rsXFfKHr6eDV5vfgh05/Fu5f8U9whE6SYIw7v+njOv9g8PfoiMEmYO8k6kM8Xg1UhKr+x7iQsshFOPIEc0Qp+bqH3fZUX82G0z4MOWZyD9JT6AobnOcSownVKkIemuPDleY/C3qO6tyEq+xU7uQ1mJAtqmwBrQMLSNWQ0gd0cMlpVaiQmI8iSrhw7U1SpF+t/qw/wnND39116XeSPPJalQ=";
3
+
4
+ // src/runtime/base64.ts
5
+ function toUint8Array(data) {
6
+ if (data instanceof Uint8Array) {
7
+ return data;
8
+ }
9
+ if (typeof Buffer !== "undefined") {
10
+ return new Uint8Array(Buffer.from(data, "base64"));
11
+ }
12
+ const decoded = atob(data);
13
+ const bytes = new Uint8Array(decoded.length);
14
+ for (let i = 0; i < decoded.length; i++) {
15
+ bytes[i] = decoded.charCodeAt(i);
16
+ }
17
+ return bytes;
18
+ }
19
+ function bitAt(bytes, bitPosition) {
20
+ return bytes[bitPosition >> 3] >> 7 - (bitPosition & 7) & 1;
21
+ }
22
+
23
+ // src/runtime/header.ts
24
+ function dataView(bytes) {
25
+ return new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
26
+ }
27
+ function readCommonHeader(bytes) {
28
+ if (bytes.byteLength < 14) {
29
+ throw new Error("ASN dataset is too short to contain a valid header");
30
+ }
31
+ const view = dataView(bytes);
32
+ return {
33
+ offset: view.getUint32(0, true),
34
+ count: view.getUint32(4, true),
35
+ range: view.getUint32(8, true),
36
+ k: view.getUint8(12),
37
+ l: view.getUint8(13)
38
+ };
39
+ }
40
+ function metadataFromHeader(header, kind, encoding) {
41
+ return {
42
+ kind,
43
+ encoding,
44
+ offset: header.offset,
45
+ count: header.count,
46
+ range: header.range,
47
+ minASN: header.offset,
48
+ maxASN: header.offset + header.range - 1
49
+ };
50
+ }
51
+
52
+ // src/runtime/normalize.ts
53
+ function normalizeASN(input) {
54
+ if (typeof input === "number") {
55
+ return Number.isSafeInteger(input) && input > 0 ? input : null;
56
+ }
57
+ const value = String(input).trim();
58
+ const match = /^(?:AS)?(\d+)$/i.exec(value);
59
+ if (!match) return null;
60
+ const asn = Number(match[1]);
61
+ return Number.isSafeInteger(asn) && asn > 0 ? asn : null;
62
+ }
63
+
64
+ // src/runtime/gr.ts
65
+ function createGRSet(data, options = {}) {
66
+ const bytes = toUint8Array(data);
67
+ const header = readCommonHeader(bytes);
68
+ if (header.k === 0) {
69
+ throw new Error("ASN dataset is not Golomb-Rice encoded");
70
+ }
71
+ const bucket = new Uint16Array(Math.ceil(header.range / 16));
72
+ if (header.count > 0) {
73
+ bucket[0] |= 1;
74
+ }
75
+ let bitPosition = 14 * 8;
76
+ let relative = 0;
77
+ for (let i = 1; i < header.count; i++) {
78
+ let q = 0;
79
+ while (bitAt(bytes, bitPosition) === 1) {
80
+ q++;
81
+ bitPosition++;
82
+ }
83
+ bitPosition++;
84
+ let r = 0;
85
+ for (let j = 0; j < header.k; j++) {
86
+ r = r << 1 | bitAt(bytes, bitPosition);
87
+ bitPosition++;
88
+ }
89
+ relative += q << header.k | r;
90
+ bucket[relative >> 4] |= 1 << (relative & 15);
91
+ }
92
+ const kind = options.kind ?? "hosting";
93
+ const metadata = metadataFromHeader(header, kind, "gr");
94
+ return {
95
+ kind,
96
+ encoding: "gr",
97
+ metadata,
98
+ has(input) {
99
+ const asn = normalizeASN(input);
100
+ if (asn === null) return false;
101
+ const position = asn - header.offset;
102
+ if (position < 0 || position >= header.range) return false;
103
+ return (bucket[position >> 4] >> (position & 15) & 1) === 1;
104
+ }
105
+ };
106
+ }
107
+
108
+ // src/entries/hosting-gr.ts
109
+ var hosting = createGRSet(HOSTING_GR_B64, { kind: "hosting" });
110
+ var HOSTING_GR_SET = hosting;
111
+ function isHostingASN(asn) {
112
+ return hosting.has(asn);
113
+ }
114
+ export {
115
+ HOSTING_GR_B64,
116
+ HOSTING_GR_SET,
117
+ hosting,
118
+ isHostingASN
119
+ };
@@ -0,0 +1,3 @@
1
+ declare const HOSTING_EF_B64 = "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d08+Cih0QkwpCnCmWrRt8Rj9ZKgOQjGnir6BwiGlQy3d8xEJGzoj/odIXgOHC3vlZYRTqIb0xtjnh4rp5edlEM8BYfnXQDOnbyla7gyoS9Phwr75I63S4ddI7c71uTPETnn518Aii4RcCd9vTvAfCSOt9yU/Y40C6FCHYAdfJpbOdXJDX2nRZQ3moTcQwmiICrg3QVNXRVMrAUHcsl8BmGEgIu/Y6mVs4ND4cUtKWmV6H1GiMV8TZwzN7ZXnmBHrGuAz3sI/wuXUsayhmNjfB1iZQAhMKZdYgdIb189XHOgshQbxpJyGzpG5rX5ICHobTnSyyA6ZmO7DbXxFnwFpoMv5A5N/ok7D+xvOvfssOdH31tDMkQ4Q4kqky6/HTXmx19W+JkwKmXNCIkvB/u9DjVDxgTOKrAKLxT3/fvs6LsngKNRgAAfrd19Vvdh5O9/PfqK3C0yljLkKWrv7tvvYRgD963ffdu0AG69p23evp3v7v37t99XtrdtNuzf39e3u87Sm97rfe/fu73fve6f39373vv3727/719997fttrvb31rrs/bd27ts7VE1WhIu7b+Xtvcsvbbdya+7Xre8/32672+72/fffbs7v7L2+9299bsl13vPu1tZp6tvd7Xvu5le0G672tXt97vXm/u+uufdXu79u49h7rXdrp09bbtY2fbcvftp013u63YZ7v/TbaqrubXb7d7btM6q1t/dqpqmr1W7fW99bu/r7vuvV11bfV9b11263Nqc5NvZDve71nDtV6Hm+zrs77Xe9e+9tttffduPb33fb1267592vdvu7vO9fb9vXb3Xnt2uW7q+2drvzaOk6gHWbXW6Vyu6dG3973+777WL8691tur7vt7t+7bbur2+3rdttbN6dY069Zn23ft9u99d9e29O27Xntuu2p72dVrpca71bun25uyurLbde9Ld9ve2027t5avtd3rtt47v3vVZu7vN2tOvW+uz223y+tq1uyHdrnr+7be7z1uu3vbX32+9Rrfq5vetRb3evze/27t7r23vvfbbvfru+9++vt33re511166Lu7Vztbq1u+3nI7urz1bqezW9XN65u91tvu11q27tNnevb3dXvLpqbdtut7bd777cvbtXdre++97z27btabqt7223m7W7TXJO6e7bVtprVvu9be877ev3117t6p7227b37m3dde72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";
2
+
3
+ export { HOSTING_EF_B64 as H };
@@ -0,0 +1,3 @@
1
+ declare const HOSTING_EF_B64 = "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d08+Cih0QkwpCnCmWrRt8Rj9ZKgOQjGnir6BwiGlQy3d8xEJGzoj/odIXgOHC3vlZYRTqIb0xtjnh4rp5edlEM8BYfnXQDOnbyla7gyoS9Phwr75I63S4ddI7c71uTPETnn518Aii4RcCd9vTvAfCSOt9yU/Y40C6FCHYAdfJpbOdXJDX2nRZQ3moTcQwmiICrg3QVNXRVMrAUHcsl8BmGEgIu/Y6mVs4ND4cUtKWmV6H1GiMV8TZwzN7ZXnmBHrGuAz3sI/wuXUsayhmNjfB1iZQAhMKZdYgdIb189XHOgshQbxpJyGzpG5rX5ICHobTnSyyA6ZmO7DbXxFnwFpoMv5A5N/ok7D+xvOvfssOdH31tDMkQ4Q4kqky6/HTXmx19W+JkwKmXNCIkvB/u9DjVDxgTOKrAKLxT3/fvs6LsngKNRgAAfrd19Vvdh5O9/PfqK3C0yljLkKWrv7tvvYRgD963ffdu0AG69p23evp3v7v37t99XtrdtNuzf39e3u87Sm97rfe/fu73fve6f39373vv3727/719997fttrvb31rrs/bd27ts7VE1WhIu7b+Xtvcsvbbdya+7Xre8/32672+72/fffbs7v7L2+9299bsl13vPu1tZp6tvd7Xvu5le0G672tXt97vXm/u+uufdXu79u49h7rXdrp09bbtY2fbcvftp013u63YZ7v/TbaqrubXb7d7btM6q1t/dqpqmr1W7fW99bu/r7vuvV11bfV9b11263Nqc5NvZDve71nDtV6Hm+zrs77Xe9e+9tttffduPb33fb1267592vdvu7vO9fb9vXb3Xnt2uW7q+2drvzaOk6gHWbXW6Vyu6dG3973+777WL8691tur7vt7t+7bbur2+3rdttbN6dY069Zn23ft9u99d9e29O27Xntuu2p72dVrpca71bun25uyurLbde9Ld9ve2027t5avtd3rtt47v3vVZu7vN2tOvW+uz223y+tq1uyHdrnr+7be7z1uu3vbX32+9Rrfq5vetRb3evze/27t7r23vvfbbvfru+9++vt33re511166Lu7Vztbq1u+3nI7urz1bqezW9XN65u91tvu11q27tNnevb3dXvLpqbdtut7bd777cvbtXdre++97z27btabqt7223m7W7TXJO6e7bVtprVvu9be877ev3117t6p7227b37m3dde72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";
2
+
3
+ export { HOSTING_EF_B64 as H };