@semaphore-protocol/identity 4.0.0-beta → 4.0.0-beta.10

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.
@@ -1,1029 +0,0 @@
1
- /**
2
- * @module @semaphore-protocol/identity
3
- * @version 4.0.0-beta
4
- * @file A library to create Semaphore identities.
5
- * @copyright Ethereum Foundation 2024
6
- * @license MIT
7
- * @see [Github]{@link https://github.com/semaphore-protocol/semaphore/tree/main/packages/identity}
8
- */
9
- /**
10
- * @module @zk-kit/eddsa-poseidon
11
- * @version 0.4.1
12
- * @file A JavaScript EdDSA library for secure signing and verification using Poseidon the Baby Jubjub elliptic curve.
13
- * @copyright Ethereum Foundation 2023
14
- * @license MIT
15
- * @see [Github]{@link https://github.com/privacy-scaling-explorations/zk-kit/tree/main/packages/eddsa-poseidon}
16
- */
17
- function getDefaultExportFromCjs$1 (x) {
18
- return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
19
- }
20
- var poseidon5$1 = {};
21
- const F$1 = BigInt('21888242871839275222246405745257275088548364400416034343698204186575808495617');
22
- const N_ROUNDS_F$1 = 8;
23
- const N_ROUNDS_P$1 = [56, 57, 56, 60, 60, 63, 64, 63, 60, 66, 60, 65, 70, 60, 64, 68];
24
- const pow5$1 = v => {
25
- let o = v * v;
26
- return v * o * o % F$1;
27
- };
28
- function mix$1(state, M) {
29
- const out = [];
30
- for (let x = 0; x < state.length; x++) {
31
- let o = 0n;
32
- for (let y = 0; y < state.length; y++) {
33
- o = o + M[x][y] * state[y];
34
- }
35
- out.push(o % F$1);
36
- }
37
- return out;
38
- }
39
- function poseidon$1(_inputs, opt) {
40
- const inputs = _inputs.map(i => BigInt(i));
41
- if (inputs.length <= 0) {
42
- throw new Error('poseidon-lite: Not enough inputs');
43
- }
44
- if (inputs.length > N_ROUNDS_P$1.length) {
45
- throw new Error('poseidon-lite: Too many inputs');
46
- }
47
- const t = inputs.length + 1;
48
- const nRoundsF = N_ROUNDS_F$1;
49
- const nRoundsP = N_ROUNDS_P$1[t - 2];
50
- const {
51
- C,
52
- M
53
- } = opt;
54
- if (M.length !== t) {
55
- throw new Error(`poseidon-lite: Incorrect M length, expected ${t} got ${M.length}`);
56
- }
57
- let state = [0n, ...inputs];
58
- for (let x = 0; x < nRoundsF + nRoundsP; x++) {
59
- for (let y = 0; y < state.length; y++) {
60
- state[y] = state[y] + C[x * t + y];
61
- if (x < nRoundsF / 2 || x >= nRoundsF / 2 + nRoundsP) state[y] = pow5$1(state[y]);else if (y === 0) state[y] = pow5$1(state[y]);
62
- }
63
- state = mix$1(state, M);
64
- }
65
- return state[0];
66
- }
67
- var poseidon_1$1 = poseidon$1;
68
- getDefaultExportFromCjs$1(poseidon_1$1);
69
- var unstringify$1 = {};
70
- Object.defineProperty(unstringify$1, "__esModule", {
71
- value: true
72
- });
73
- unstringify$1.default = unstringifyBigInts$1;
74
- function unstringifyBigInts$1(o) {
75
- if (Array.isArray(o)) {
76
- return o.map(unstringifyBigInts$1);
77
- } else if (typeof o == 'object') {
78
- const res = {};
79
- for (const [key, val] of Object.entries(o)) {
80
- res[key] = unstringifyBigInts$1(val);
81
- }
82
- return res;
83
- }
84
- const byteArray = Uint8Array.from(atob(o), c => c.charCodeAt(0));
85
- const hex = [...byteArray].map(x => x.toString(16).padStart(2, '0')).join('');
86
- return BigInt(`0x${hex}`);
87
- }
88
- var _5 = {};
89
- Object.defineProperty(_5, "__esModule", {
90
- value: true
91
- });
92
- _5.default = void 0;
93
- var _default$1 = {
94
- C: ['FEhhRZjgD5jnrn3qRfvYO9loZT74OQzeLoa3Bq1AxlE=', 'CreykTiOXJ5DwNwfWR+4Ps22UCLhtwr0O4p7QMHf98M=', 'K3y7IXiW9SyajAiOZUryHoTN51SjzvWxXE1UZmEtat8=', 'K8aw3b4dcBtlcEKL3Byhvw2ln/O7u5X8K8ccDG5nplw=', 'EjpVoxmAOE89ILLOy8RO1gw4wR99IOknHvq5qQXu/Tw=', 'A3UBzIydyBkwmnafTfCY5YiwGFi8jrfieeKIO+n7jFM=', 'HCEW5H4DqGuxFpWwpfbatrmkYLHrlRqwHCWeyj/UfVE=', 'LBghNIkDLoWpyMuOmmWDm/rtE+V7wPrknb2uv1T1b5M=', 'Luj+09TSxxoEKer9jl2xcY8p4iJ5hf3yrYcDyDW54DE=', 'KMZNj17XqsAEySAp2em/kbqUNtHM6UuTFtERxwoMFxQ=', 'GKAdn/t0euDePoPHB/iyT2gshPFav1cbNCVKA0eGZeA=', 'HCHZK+8ZfnOyNOR3e2DbFOZCpWzucVFdVOGscc3nK9M=', 'CtQEzLyx4ZWJfLYMgJgeu51mpmd9u+2ti2RV/mLYB7E=', 'Cptt6DMGT5O2rbma9sAFlFy2VMt70UyLl6+LYMwfs4c=', 'ExKeP5MK7W1HaQMx/wncUWDvpY3c4sPmGA1FvsOqOm8=', 'DXphTImRUIqxzkiVgTuxyC8Yv3v8nigMzKGAeYOTh/E=', 'BTL37DbjAEGwSGmGh1yROkm93y9a9f6+jDHy9AlP/qU=', 'BrvLjo4YAgEpPnEvSVDxsLvugIydZCY8hNnYrhVcuJI=', 'D1WKTbGjrAf2Hi5r7pR/c1hr9A8hHOtPaHylZ4qdyzM=', 'K+FApgtbXy+O3XioGKlpsgxkPkGbzwtXfCSg0Oes/pg=', 'HEnEuanwn3ua1fdOusxxBRK46Ge6zifLDeoG6JuW9jE=', 'FwwacychsSzefzPkdqOaGqd6gcBuLqxQOEewDVl2Uts=', 'GcJ9DlL2XKNPTjGgaOSTMca/w52SQfnUwwIEFhXPJ/E=', 'LxvcUlT5Igwacx/FJ2lk2rJrOF+kC2sEvtmWDiVDugg=', 'BbQtL7zL9NOdK+kznKvp0Nxtkh6FXNkRVLY50o1KHPA=', 'EiAEBxWkGtWfT0EODAWkLF/TKsUv6dBviBiNcfYeCTU=', 'JflSZSYVW4OUZgn3u5UH3Ukl74cd7pFtkUTrtOzhNDw=', 'AXv+QoQpmud0C20OIElR4xSopdBFJBkUeXipWzR0JEQ=', 'Kl1HZAIcpx14qWdMtnCPFYjSzq81eMQRHPizWe7wic8=', 'F/Atq3RfvjwIEyH+XO+EXnuNBwslFNKbKnt9icwIFdo=', 'GdpiYm23GZtl9K3PV/pKPbqhdkp70VVwjubzeMie8BM=', 'D4jilfou2BtCbJH6aTZqc+33Xzm/GGNM0mbsQDiCngU=', 'H+McVUhUbHlI/k7hvXQS4ygO/30gywmqhfSfJ2YUgBc=', 'EP3BYTvb9n84vd5WGy+R5MxItZ+Y1kNjj9wK+tv+Em4=', 'HyYYwuvpV0UIucUvAADjPr/drRoD/da8pu9/AJMSe+8=', 'Ep/n/D76xqirI9um2IbzlNoR9ZU8+Y4oJpoNuip0XdM=', 'Fa/UzfHk+CDBYx1KuFykujuvz+5yvq3p+uYFIxAkSOM=', 'Hyx0ulw2fjcNco5x4VsmiFGnu4tFUoy3NJVgeayZsBI=', 'ETDhhy128vk2nPWble35zhnwH6icnDaybgne9nhtrTw=', 'E1I9Fz9+a623O2P8HJu9vuJCxhvGhlZJMydTOlwbHco=', 'FNpA0K9CemXxhBta3JZThlM2j3JUy1Zn3a27rXpXTNQ=', 'AJH5ZADkKX6oW7GGwXswToJjjlf9Yx/2MVl24aXdi4Y=', 'MDMpv5AxxVFbmjTUmmS7agJnvHtUoN7KXEUCd6ACzcs=', 'FO1H5VwdocLwXTwaGy5sGFCfyDNuz+nbc3kW4oP6ghs=', 'EWHxCzV3ddgQrVO8xKINWt0rAyUcdH3rBO6UxWXljWs=', 'F6ilCucs5wfyK8Bw65koUcqRTrlMxo6vu4qWpxTrgiE=', 'Gmxh15Xbr2L5klCzfsXfiGRaHBU3kdtjErky3CUOT2I=', 'H4vSq4qoQGZMTu4ZjEaE3EsFdyuyoIadpnIrFfRHoTM=', 'H/y4UqTwAnqXmfExzXS5jM+4y8BjSdj+/MYvEMj7Pi8=', 'A150LsUvGbNtSJxyD0Z/+td81TvC213dskayMCH3nxg=', 'Hfqu5BvflNeDqin8Yrfse1VnOqgY0wX9QtF1oF8uPYY=', 'KCE3hHegLplQBaVjUIhUCUW9Mz8tFFXwOKIZuMR5azo=', 'HbSk0PI4pXCxBhxu7IHALzH/3Up8GedjF08jjQSJdCE=', 'FL94iUV7ILehNns0o6U4IX1pO1JCav9ApLtyiTsXhMo=', 'LO1Swr8pb4fldBDD7JqUg6eW0WT2BJEnEJ/w06nAhGU=', 'Hd6sWAWn9K2k0EQe0QjjFJ1M5lhPSa5b39RtZ2buozQ=', 'Lja05enJe0YjBOjitfnciOHJ8hYboEBnP5ERI/BCrnA=', 'DGhA0csGZtxZ6JsYZSddihZLRHxe1kNHyu5jUCwjjV4=', 'E34uPonnHUYfTJvD6PEhgyYqTR21XFibLK6qwBI49Yw=', 'JQky57CtzyyE7Uv7YKNra4LlWqlHURV7HUV5Swgciq0=', 'FwpykvVjTAbdO/CatcnE7NSwDVzi81+XK0VVOR8WtC0=', 'DWjLvnconnjVy/UdcPG3W6IV30570BSdELLFDypPO4E=', 'DK90VjuQUl9kWm0gNuzRMG+h3GgLSdnOTtJMl0mXMXg=', 'IKfRwKJ/zOeP/jcvTFgwaxZvlFbtRs3rJV45W30w1Co=', 'BiPzImtUcLJ4m4pTBA5ERDOF6Wuc+gvk01AVFYpGhGU=', 'FjIwhojCXnkPV9aKU1AkEkKlYwU0feSlAJzka4zcuR8=', 'LeR5Om+ZzRTj9mQiEfTQt7z6NhWXxUT/y1pWfpB29H8=', 'HU0G0Z6hsJyteQhtUb3hFyWlVPqZVZyi8J87tz1yjGY=', 'BIDnR5pmp82ephyLKJdDiZCDUKvEqvwYzXXjPdEwwUQ=', 'MEMLAzaOvKqRJGlgSQvPkX14aBRj4ufXRL+0QzXawk0=', 'C1ezcyASfUxQ8mkSSw29yysfE1IkGl0SEDKD4InAx0I=', 'LPSJBlDSckDhlfYKT2mO2iSbjdYUsjN2tQF40t9tK48=', 'HiIcVSaJi/0S3oaFGg2XA3UaLyOQCKtfm307aRHGQYQ=', 'KOB0ha19mS7RpY8ynKEq3OTsaT6927KVLlTTOfLuvaU=', 'L0TWT4TeFtxnvV6tUe+x3IOByEUgwShU3V7zoHms1OA=', 'BQp2vDLr0d/ivjMPME7ces5xZ6t7oVFvQCHGLPDU+sI=', 'L1jEXl1lmmfXgTZyQfbDXYy0Y2HZeyiUfSlCHCcFlKk=', 'JejamuDkLoQOBLIwNw54K9tnU0hEMlujb8fl4WDGanQ=', 'L+xzTaIP4yAD6gTxJ/hEck84o2i6EMKVRCUr55YED38=', 'KIpnePOoOYio7Rcn8V6TtMsU9OOju7kd1tH6yv/9Xu8=', 'INzGx1/Yklm+f0BnULPbZ5olqM0nFdJFuRdTkKySLIQ=', 'F/QroQlC3yXLilQXgqGLb9Mc+WXREXjHsErEW03qXdM=', 'Ao7rhdEVqQQCDgxhSO7GYD6c7avGZKvudkqv1FWYa6U=', 'Cx187POnmyrT+imPbOp66V2AwCmezJGOn4ycPTjVnUA=', 'BEAznJdkzsecFu/bg0omJh244/Es4c9yLSPA4R/0zwc=', 'BspkfClyfBlioAIXfaLVBPSwel9+tXx5uI5reru9rVw=', 'LqEgqGT1xAk90ali6PATx7jvd4sE0rpb/DyrKGGbqeM=', 'K7c3VGxK7nwMwrqHwRV+KnfEeev7Xcdq27Oc+Gl2M/0=', 'DjDaZJBiXTPnnNUBdvVo+aLCjC9EmivVGiXRVoaAOpM=', 'DffKcnihNlC5GdhUl7LrsPcQNafCBDDUEx2QOrf1dSE=', 'J8xYn1v1hXlKus5Yn7inSi94TAmQuA/KppRAl/hw4tU=', 'IlXDajjIc13kXO30Uq+oQjMtMwQveOYMQ8dFVCGzJb8=', 'Ez2WAr0zeNafaBwnsFvf/Ji32GzKY9c6YMrtSFeE0Ic=', 'DhVI6UKunT4mhgaZuTcnyBeplIYWyT70rM2YGx3D14o=', 'DyDw5V2TaJ/gnsMS9q9HYnSC5L3goWAqjiyNboTopq4=', 'LlIyhIPLW3/y605FsS5RsmIyybwXtykpVMCp9r+lG7k=', 'ArIWLVM+BZpu2iq7dHEu2zp4YL7qld2KSr/JV2YIBPQ=', 'GeCSdxXRzG04lCmUf7Nzfa1zOXTGsuE+Wz1DJRlRbHQ=', 'DTqABFfXd4VjYwO4uU8X3P/LRgSIcqyfdO9/J+5XNwU=', 'LJdNGVJVehqsX3uuSZZhbaYZtz9EHE5QTcj+nPtVnjI=', 'B2a/7u3izPNwjhtP8wcUwiwdQ0zb6PVVFLq8LdXZe+8=', 'I9rI6lQIL8Ex4XOuVeRjDNTKfIcbKgpHnB505/GR5iw=', 'F9X7bCyzcBDj41irLVdTdocO0zGGuOrkmtO0fjQKjX8=', 'F13Kx22KgSYTm1g644hTKQJG5D54P6aQPsgAfxeMACM=', 'DE/Qj+3l0iGtt6v1SYmMkeW+foW/H9KmEb8YLMLnFlU=', 'J3k0uQnnLTo0dbsex2arejitWbEoMD/FAC8Cplvf5yk=', 'Dog0mZjf5wPxsYRST5w5TWAEzKz5y5UolujP2wsHi2g=', 'HxsgeLYLD84Hgk4qK8jK6O5nNRSwBwqLRXEMx4y7mUI=', 'LrFVlWbFNt28MW9kgtUfo0BVdldwD1uKhG6BKg7TNNE=', 'HE29wzXPZ2Q1Ugi0ydJD00VB1iPGad7Cw7oGa76vZ3M=', 'I3SmstpvjKuOXP6NgF3Tot/KHot+ul3IV0Ah/RJB47Q=', 'Gd00JTPMxgOplzjj+1pWm5TvcbPkn5D7h09hYXMwcvQ=', 'IX1m22x/s+/6UIgAWH0us8bQPYOFEy8vzOfzXycFzM8=', 'CBX7hZH+AQOM06OziyNvnvynfGGNO/xsKn+okpbH5k8=', 'K7lDtAwr1FamwXhTscqI6w/zb1l0sv+aX1CT6b9joW8=', 'EaUVP85llRPufLmXSubLpYHjtM0UVwxXCf7D2NP8guk=', 'G3K/0HY12FAbLv+HhaJJW650x2U8+Q5tXJ8URCaDbfQ=', 'FJAsBwDuyJeuF4uoyvhQ15Px2HUSvqDs6jnPax/uIz0=', 'CcE4xuCmFqSf+Q1DprBD87dFt4hlhW3EwaReL9hMs/Q=', 'BbWKPc5XsoGicdaYlQUtiHRYpxV4PoMX4CSmGjXsELw=', 'K+jSlSXAz91eazEl473jv1WOVfvoZ/AkRXqWdlR00Dc=', 'Bh1y948bqdxrTX93hCJdaoG9/Bta1sJDafnAVgUj2a0=', 'C/GK78rP+r30ES7drcphRXOLSAOzYUW7lRbbUBoGkuk=', 'LnPdEF+osuyTHYzfKexnnjqYAakwcafV6jBlklXwO8Y=', 'D4RA72Z8mugTN7pdjJJ6U0fecpaGCyEcrR7L+101mO8=', 'AE0wOy3qYnsnMb6D+TrDTn0U0XihOABVjKc5Y5XrEY8=', 'I0VBrXIECnDaKZajUmkjDJRpnu8xOk1IBQgAjLw9N8E=', 'DRI/HnLSa5K92P1z0UKGwxKtTCOstGsuCMFXEEQJ4XQ=', 'L7Ngd28N551wmO56pBI8Be5rBai+Rgp3TzoEjhOFRbs=', 'A2hcB5Q04WcnbFfTzHlwO339xBwVbqHot/mbaValUyY=', 'Jgrw4P/8yXcsFjGxeTRFZrR6qto2geuQNMb3XDcFwcc=', 'KGK0E3T4m2lSdLM7dz8lVJFuK/+f9nJUX8L0lWP2J2c=', 'AqmRL+FwMQInGJ6h5pHQNi8Ys4tACw7/GSyllRPrqNU=', 'COUTreaUoNisHz6/GpZEDTLHE9UFjhIk4HA0jCgfSm8=', 'FApKQx4u55QA7XRll42EdzITxigmT/gPIax6a2c9Cas=', 'KWr00BnLXffZWbKdVJw/BxICtOuotT3F7pee0UM3eSc=', 'AYMuKEp/TIFhSIK2k5/A8YVXO9ICPj5QV2VHC7gSs0k=', 'GoTVame/3T2WWr3NMpqnjU/pNDRJby0QOGH9GdZtcmA=', 'BAy4KEd3OSfSrv3AdIkDep0fdjHsp1yfsN2gy5294UM=', 'AQ3PCEzCnLfK7PJqpjO85O0rAZ8oh87nsaePidP6vi8=', 'B+3CKgkR6iFEJe9UK3dtsjsP5YF4ENQMcsqYqr2a+oM=', 'LupKsIrsd18hSEeeo2+7lpNtpYuki9HS06zUgXOqq+c=', 'HkDA6CV/5KYQBc3PrRSM9/R9G1z936oIJzhpVRgkXxk=', 'I6J4CVg70epR9DbeVEPhCPadRM31HcHwPiGUi0mAuHY=', 'LkZSsETb/kDmO2sjL81fPzmr+9IFHuaK3HVAgNSSUKk=', 'Eeer227Lr8Ln2M3v6ce5xQR160dds8LK9/fWf0hXdfI=', 'GZ1SNQzDDoxzgh+AIJbw5UehNVGye/a4mTlvY6xc+Oc=', 'D1ddbuZ8vs2YNFYk4DKjfIWafL7zCz/dyUnNCXhIQQE=', 'HEtvmiritBjmJlrLqclrBhhNBwKOX7eE80da53cv8Fc=', 'Lctc+Ilt458ijhV8DFWT9GJvubwiUgY4PbIDYKvwySU=', 'E0CrufThExhr3CbL30vMpQtTGhB/hjylRFdePPhw+OE=', 'I2jmkrcnh8uIcOqIjnFOAG9Z0rRGDPt0xIqMxzsdGls=', 'H6ua3ZuqSk9W8jFld1xvLZIqdjKpT5Y3S33IUnVvVLY=', 'DH97gjANPGzj+JV7oeSt1UxMAV4g2XZdIgVxwWq4aA8=', 'FdY+hr6s2Txgg2iOXZyPPGlHkp+fH5mrV4pMOpIu/wM=', 'C+hDrl+bB+UlcheK99ro7QXTaxLAYHhikpNV6nQCPZ4=', 'EzJ0nFI2lMtpNeCWOgfoGwWWfOHZUMC3MQWOySp6DJo=', 'JUOUCIEOB0wL3UWYuYFf7okruVylECns8Am/+lubloI=', 'BX6NGd2ZmpGNopsJQLODup/RXbCw9kmW3/Z/61X5p0I=', 'HgFON+mxF887SHDZmfK1XTU00Ka+mOnjV/pD8B5wop0=', 'Gk7STm4DrrzWvbEAUz3JZll6/hXIUbS4Y/boiQhMZHk=', 'JTQgAHCD8aqGOtR2CQXBA57UERyfBT8ncQRS+DzjapA=', 'InahRBlxcJr/5tKpkyAAHsRexyFVxXXd7srA4ydZqwY=', 'KJV90SGOp5n9NBHrGTJYU633rorhKB91MwL+fTHfp7A=', 'L9klcmq3lMiL11eWqj5/HmaS8pFM+AImfd8B43kCoAg=', 'HPilycdqhLFHyCONklPNVbR8DEPYKWbEY2ooZ0cF/Zo=', 'A3PLvDBuG6uecHc2hxXmIwtLLi5KHbnGdLjDWaQekQg=', 'BgKD0v5/I9/1E9kRCz3GJEi8SPUxzgweq1kgvyMpCkA=', 'DatGXW2RB0DzPvbMDq3HG/gRm9/Vo1J9yLv636pAJjw=', 'DLp7y8giSyqOSroXl3IwpobNZCHcDKU0bzRGtiQ5xMM=', 'HkNl2weQycT0RbBlPEZv8h25bDi0B2uovWi8tN6mkR0=', 'G7LbohmamrO8hu9fnef2xcoT1g6rQs7WjemPxkOACo0=', 'CtPBhwxtbvQO661SEjzRopE9nWLoC/usroEuCCAh+co=', 'AbCYyR57DLtcNFiAd8Dd+VMA3fYUk1YwwM46JickUwg=', 'Gf1cDqwU+udZi9TO6jseKZiwwWhJO21yrkG1duVbnD8=', 'DUdJ15zBY/FxEKQEpG/kJ8ZDTz/me357TM+mq5W9fhg=', 'Hrv+gRSkG7gJ4LMzmSQSMuuUCthyjIpRbUCtpEDb/c8=', 'JwTlthM9l2TW0/F9SdgzIj45N/gOufrqu/upuvS0wbg=', 'IWXhyAJzBbGuDjI1cWNeXVQNE9cQw/mjkLaRPxTQNeM=', 'LjSX5NNf2llsBq+mO8Og8uVdTuukrOtg5lCBrWOqi4o=', 'Ax2kNF7s1ttsD3sHx4Fdet0f4FRtc49NeatcV6qEHt8=', 'CJ7OVOR6pckI5D5fCHN8FDaWcIkAasqxyc0Z6sSiCHY=', 'L1PBXire0zxH9VoHBIPmzH84Ifv4qkBnfQVS7Z0Q2Ec=', 'FCqjT0suitDfeiGz45wAyLCqKFcJSAHqr9cr7+0Hf5M=', 'F66k2kx7zw11iLAU64tAl53Scl7aTmrOMxmCRnx/8r8=', 'DpcMGdGXSNjEZRBNjwIgA2P5pBeG8C8YJ3QrINwNFyc=', 'BLytnlU3lWQvWbr3FKa9tDL8RaCgt38aujqYI0dt+bk=', 'JCwL+82qdvcV29S6glxx/P7WccGxkB+khMh/gQMV0M4=', 'JdsTQ8JBBAcQI/tu002ZCQeDEeHv6FrwoRsZEU+p55A=', 'L/5NnEIKWenNx8Masr81GHyhR8uJijlC3rNnd4YDaoA=', 'EluwOvPizxi75vW1kOs7+NDRumO+aWSD6Y8oO8fNB6M=', 'CBa+QnRbfbtM7/5bjiTqYP2LcZ3rpQA3rHt1lIdFxrw=', 'ERFg+az27DYNG2pxIxOg28viPmRCAFVHHS7kxd7bNdQ=', 'E3eXjhsfaokl+o57eUG9+PtZq5VCNCQZKD2CA0Nck5E=', 'De/B2IghZu88zeU6TyNvuoPThGIZN87lfkIaUT0NM5c=', 'L4+lx4xwbjpdSgPyp6OVMEbX6Uy4in7zUOZ7W6Dw3r8=', 'GiqVfsCnI9phwhNLqwvxe+sA5tzYRpDCMNy55Y2pSCc=', 'HN+HEJlfXgNBK0p/aZUy+f0B8OoWeo38Hd834oBa3e8=', 'Jv0xRxgow2rjbCe3SAVLDAxP5SObMBaZ43Ze6+zBiUY=', 'B3XZlswsRFbzA6LB+QB2R+Eakh2f6j97kmFDuZ0voL4=', 'AW+5M3cIymOM39qRvQ2uprlyJO97IGJnKt3RvRi7iQA=', 'LDkvvn0/3kL8pPlHi7Q5MxJYJVNW8YSvb3bxGQVBF9c=', 'GHoqO/eaafo+UInvnx/Vb9tHxV7s53qiKKo94bSGvLE=', 'AnGoY6KAoyZB/6M1ELLt0njJhjA1lTLz5Qaydf1dIM4=', 'FVdFnJx0yUqgDlr2mh4xEvtpU3zol+wMcYlY2WUW8qs=', 'Ko4myo1kfZpjiFFuqdz/iQg9U55YFowqUMba4w8QnyE=', 'Ict1IZTPQ/O1GULrAEDrqd4rz7HCo/rpeSS3EPJoMs0=', 'LCba+Za+JHrNbdSsrWDTi1pHHmMiGI0CwTfny0hDd+w=', 'AkAXbuDnmC7r6Spo0+OjjCaCGswPXQWM+ME3vKLSbxs=', 'JjbglzyGXBvZdN142qqNCoTNr2vhrUfs8qDRjxFzGPI=', 'GehPTyWnmUlgQWYdxdl1toH24GdEzuibe+XZ/eF0SsA=', 'Dr+JBko68kfKHzb281cBiOJx4LMmxPsmZk6J4UVMoRA=', 'Jcfpe0db4A6LVZo4xFI2T0ycUx/suKxpj3/XPOIucew=', 'BETJnlkjU+WuyqMCrdkBwU2MVScKFgr+1EKe9VmK108=', 'E424iHgwVl8mk9Dg8C5OeeFEln8LpTsDUZq6dktcmUo=', 'JNQPRiEU/p7gKq/PdLT8ok4a42XcdcO1K7E8u7LyHt0=', 'IeZdbY7kN2C8pA5zC130xM86inMtsUj0spUbTGHWjow=', 'JI3XlmnsCdvwNQoV1sdcapvarO/KFNUTAJePE9GrbRw=', 'K4I4wVSPnL4p/TXPkee0jw69p+Y57faf6NWrp5JNU2I=', 'JDn9I5JX84GBx7489RPxv3I166lPa4lCqUy93s9vYvc=', 'IAlYI1KBphuixL4KoygqGMdLbSYvXefC4z0rs+iT3+w=', 'Dh7KXfiO5fYM+n4f5b77txn62CEfqbLQL8wjMZDBfxI=', 'JrU0J/mz6ix2nZxmD8YIgaFpwScy0AG3FY7ksbhCyiQ=', 'IPOz9Kyv6fivPgZmGzqPd4+igSUiudcKZ0As/42ysbQ=', 'IR5dKznWJSCnpifs6MrLrJ+XUG3vTsKGkoumwn1GOxc=', 'C7dD7jSAISnFVnMa7Z0wLc0IUxPOVy9iQtE4MuU2tLQ=', 'I8smYbSI7nHkx1P/I65L0l2KRAlPZrZTKXfiIUDrpcs=', 'A6NaoxI5Ec20U1uu0zWfX2pSBbnJPvMdNTI6R4B7i8k=', 'J4A4SKCu2WqT+pQ7ZjXkUCF+E39K3nSmLXkXMicUtpc=', 'DLN4OcLJp/95iEy+x19B6b5eR8dtYVOCMb2BYpltb2c=', 'HwAm0L8fjh3VQjzC/sH7XNqh7NxMPLIY287vd8ANL5M=', 'AqfXu5cLim7S7mb6u7qVa22jsQD1tfuSju9C+XCCc8k=', 'DP1/QhXkNMjaF+wyWLC8YFrRqy6QqklDUeTuQLvEkfo=', 'GAsRtyBiKhVoSdxvf25/VxZZvmloIjDF7ZrDOXAKfN4=', 'BOlqllvOPToKJKSkV8lRWCyHE0nOfu4aq/5XipTGUBE=', 'FZMfeCtF9/tlbyzb0fdwXDU6I/4dMKWkahUi7RYN860=', 'LiluV8l6Uwms0m/r9VrJY6VETBxfcDrYig17l7ndOLE=', 'JhV7zreOhGu7Ji+aHgbUJxveWlvOjwQZlS+X/9E+rKg=', 'IZTriYR9aw8Yl/Z18ZwMVrYbEySO/zyjbjT7nRx57kM=', 'I1C/NUd2VomRUa193pbqeFfhVQFEcAjatrPSfI/6J08=', 'GkhvCuWRys2vCcWKScTReVQFQ1NAgZ4APwRp0RC3dSs=', 'G1bc92+yPMSoNNRVpAZeEzVxQCt98wnVm8MQXUKowwE=', 'GnSdeWSvC3ICkT7yBMZT8rS/tlzqt7aFIzq1nOO7aSU=', 'GK5ZAHP5aWlq92L/pOjw67+X+Mx4fjfN3R8yG+O+rbs=', 'IcR7J12C3eZGDV52mplCEUSxxanaWSlK3py7MXED8kk=', 'BHPdvVLnN+UnNk6OtjIHl1w41f1swysnIQKwgs0VGPs=', 'CxL6yVttOogdiSZXyEJOZFrE5rAFFfkC1ZRXQwKybgI=', 'CK52FqJgz2ZX+Pc6woRYjSxfB/9CXYN6p83O9j4+IQM=', 'A52vaHYoC4Doc78qMv0oNKg8aXV7rdWKiI74Gekmzig=', 'Jeex10cKPHXxPwtWVGyOCfLY7+/wbvdm+ceDyoadEw0=', 'Ho/TY0w/92QYTQNDX5hYSxG1sVrrnHUmLaPx6iwqnno=', 'JB3MUaw3gIpBXdHjwoHwWv8ReJ3Ayv3XejVITgmT+aQ=', 'H/wxU8Vu+XVZMs6ivgVzdJva/hxPoHgaS4tAeM6ddUc=', 'F2MNYtmj5RDIik1Dw2D5K8D6ALZgMa3sKb2VQ/06F+4=', 'KYBADt0ddOPWnbVFjSzNX6vbI27BaoKkMBoKtZ6kpuk=', 'MDT7JDZhI+xtyvytNXJtv7FhlMA23NZI+mlDm/zQDNQ=', 'Gqfo9Bicqd/z2yq3ZIvgojkplc5GBB4EaA3KitcjLfA=', 'H6GV+DSmnmI3L2DrSX2hZ2RurhQVPYA7OdxdEfXXgAs=', 'DyPxx01fv2GVrVpq7l5WmTxUd+hFP1uToNe6/TMwNtM=', 'AWVW+sk0inNatQqgiclxUbPKrwogo0+52TcFBaFRVyk=', 'I9kreTZIEQ/Fru8GM/DHfKyw27yhh5uKb25d9EXl9ws=', 'LkwQ7F5l4vI5u8Q8EwMd8mhqtA/XmjBLBdYRuCPyO3M=', 'EkGLv9d7Y61eFoZK2cMv+/xaPdm3jsK3kyn+XgqNKVM=', 'HkqKrOFavB1bdqnoSEMdLAanj3K2vrsSk+bFjlGFaW0=', 'Dz6WEH3s29aHLCDqCaz5LN8Xo+4dEzFIgJLZYXbet1U=', 'ASw3gCB/OVzCHesKvZUWge6jJJjdumzol6j58MI1cGc=', 'E+qxtOZyuhscG7kBdpMB8eVlnQPqEMYd4kd/8KwiFCE=', 'INxmSrsgt0VsBmKc43oeyxonpOiyTjG0i5xGNaowMj4=', 'LGseLP6njiw2eF52qM+xsFfpRx8k9bORF1w97LAeAA8=', 'GIySYlX1t689qWNVcpwqhnCrTCxwQASBsqyQN0Dgxas=', 'L5kTII4J49bp5vumOE/QdquJ8mYpduPjDghwuzDrVPI=', 'KzOAPZCIlwbnFPcgtWKNJvtgtUWh8+nOSaaukSsCQIY=', 'JsyrwQ6wQyfLXMPd4quzbwlwhsl+c4wTPJ9XB350iwk=', 'GxauDXxUQIy3X9kx8kZ1HysMPcINeegqJTG3bCK01d8=', 'EdC7RhvYryhE9J8PhAyU75UYslETRHQtH1Q4/j1BWuQ=', 'IzAxhHtHa+rQEY09szjokTPsQg1nPlBK1kclnfZVVx4=', 'H4TpeJW+5DjrPJLcmxhGya0pwWQ4ewautu0YQe2MTco=', 'J39/m1QvDCu19FvtBU8JYkU2AQw8+UUtInMZMyf4AdY=', 'HvyckGnlBouqwT0uZkVkG30n6A/CMHcWFTXERoLuV6k=', 'DW7Ed3YeLvusTxSzvz1SV6meZMPyX+EE+vmIsg/l/0Q=', 'Dg59fFUBmZt9Fhc7WbfK4fIDvvIa6/ACUYgUOcz5MBM=', 'IXvvL08SxtzJHCBYojORy3feU8puRNzcbqPTb+oybqY=', 'BXgMiK3wFTG1D4F+P+RER9KbNaqKOJxx6M8SJqzvaLo=', 'GHM4h6ays7TJDY5JkBluI0ReR9fqWTnr+4mj7j1ntL0=', 'ILrOY6z8rgscnyvuJLjp2oW6WX03sJBXIMTxXbIxsHo=', 'Fm6llTdaZ4asUn7p7O1z7Wv1UIdqvK86yStCyAiwDY8=', 'MEJiqe/0BArPQ+Mi1vUmdq4vhT7C56gNsAxIjPkXx04=', 'ImuscFAWbl9tt4zQsS028wW26MmgVRFK13Ceb1ckW2s=', 'JrL1OcVzgp9qypG6qVRQW8XD604d8dY4WCcX+98jiMw=', 'BqD79M1S6Tul5MbEr2XbAu6WKX+K0gDy8c/yUudptVE=', 'LLnCQRLTU0Gs6siDYPtSiSTli27KwyG5+ynmqjNo/yM=', 'IOiKTWB1Jt0H/gijVSpEZpEp64f8wLE6rI/or9kwFSE=', 'FURkmivXPjunLzlt+R3WVAHdj69R3jJfuu251TatlPw=', 'GYAHdFeZVxLETafhdxMljj+Os1S/2A7Z6vPsuvaWAQU=', 'JdHSL/E+dwXTwIX5f8Tk9pFLgv+qXSCR7GTaxCN2Xvc=', 'L+yZDvVW7+EDWkZP9VgedAZ0Rc1Uq8r2uMA5n+DSTPw=', 'G9lWNQbZVE7z5IMOE1RQEsV5N5wtzBMwQWxK5JvE7GE=', 'AK/80XumADxW36hVcfwpc3siWoDUgOfdft7AHxTyMBA=', 'I2cNuu+WaIHwf5GaLYgxKMeyPPdnpHeysuB2K8DbwYs=', 'H5OlMpFzlMfiL9F6vupjicZv164t2fAvhg9tlpR/Dt0=', 'LeQun1N7fWGwITdxwOdPVVUSvge2pQk0c04sW+tAvjc=', 'JcVX9FuZeBzTfTuyKTFmKmf3izd4LIhbRWu5bVXohAQ=', 'IHTItwlwXJiIU4p/ijxK/2R3Mb0W+OJU+nTqnyvnZiw=', 'Jzg1WVYpgTiUnkQhcdak5LdO8gZXQNt8/DoLYP1XOss=', 'E9Nq0KTr64GWl3hkllnGXLfQxBzFGYcf23Gp6moMqlY=', 'CKLBi6QTgTSMGs+/lhdxaAa0YqFpG8LjQ7ebgIXjdrA=', 'BZCS/Dla7ShYB7v1V62aEEH1nAeYIrEIhFeIL+57YSw=', 'FhkkFRtaWtLYysEZUiqZGpBvFehTHccFZ/ayg3HMJOM=', 'HGjKj3qhdlkHVAXvY0G45popi5pNcvO7hUswnkuoehs=', 'J/XQO8ocggf3I5pLLPc65VmhWqN+e93fOqsF7sXOVZI=', 'Dsv/SEaWKpddNH6pqPxGX7RoYVV2IvLCVkp+Y5gzwWk=', 'J3xN4jY9i1tFbPxaf/jkb/LsjapZhV9a1kvAUh86xWc=', 'GxGGLFKs01G3pGR5P0+7V/7Jn4MrYyJvldF1yNL8CLI=', 'BqcZxYTHT/vdchjrVly0yL2GyS49+zxz4VJyAapRI04=', 'Iw5K3uy3mYd/fOmljINrmdUzWEoZXB13oxOr4cfRJr0=', 'ELEJuGSAnEdnoTPM5sutbIhigXO46lHozKhYMMp95SI=', 'DiEReXDc+9SxUmslNjbzd1ONO0+q61qLJL9iANFMxZE=', 'Jmc0mXhAE2L2sXk57rDmT/VWB+vbNccHHbRrs+e6R3g=', 'BQAPpf2lBeApoTv+MEwmew2GxywDm6v20/8C7iRr4C4=', 'Jk2eCUrtX0GmAkIiCjSihAiQh7JDapv86BdMyb6MLiA=', 'CAdvnEdD3mEw/2Is9AHt0skvJL/hFPPF5ySJF0YxXEc=', 'EyNwq927Cx3VfypSDCUza9fO3pS5W79cIVHW2I5kG2Q=', 'CP8RFreiJ7/f1EZaZ4kIgrYVyMTBfyjY0klY7fYC3cs=', 'K8sLDbi54+ArfpwclGD92cbNmFYjMuZI2KPgq5RZdSA=', 'EupozmiBvsrX+KaxF7A6uXb3q9WX+QOwvyMNINIalDo=', 'J0OcmKdmiAZ6CXsZtv3X141fiOJ04Nj+peprdAb92n8=', 'AvQNCtBfVlLjHvlECtcevIQZ45NJOTfwXwBJnQKpnjY=', 'L78EKEMn7k9oDwa9OQ4wnQ0TrMdLnFsUtjBZuMx6v/U=', 'G+aG1T4qitV6gosGUUJc/Gl4xwJ+2/JH9rZyPCHfhuc=', 'JoO0JehaUI+WhS8UtCIPz+n3rYsXv+/A40jEfKeLtX8=', 'FtrOmy6AEuMdscfr5nLYa75hoao+FpPg7d/A3gqd2VE=', 'J6Mh+MfTyQIuli9/7y48hItFOdu3WqE58wQw/lRbzts=', 'BszXIQ3uHWsOIreeEtGQgtgHi3iNcQB7leendO2GplE=', 'CkHdQiIWU3Ur7zUPbXSpF7bLsf12o6EhZvTQvpeOQCY=', 'IgoCiB5NR6yU2VDN+DhidNF4LifL0NhFl43uyRKY8WU=', 'DiFVpUX+Xzy7Y5dgZYnqwZzZJjkznGsBcpikrTQItLk=', 'Dw8ZxikeUVRqJnxgzHdOX7nQiLrFMHgtiR7Br0uEcHM=', 'DpJbzRxt20o6HGfsje771AxTwNM+eu7xtGeVrtWUPJ0=', 'KtAAsXSKu4Es1uVBEoa5/z7wpb09JZo25F7wW561vus=', 'CmWqIy0y7W6N5j0c3/68Lz+mFkZcJ6r5fozT3P9khlI=', 'AmPYRwq0scYddNjoliQvTyYdyxZ6OgaSOJPXyyyT1qE=', 'KQHZRq3clLBA/VgATZpfjNGSZUDHqGEs7BxYy2DCs6U=', 'GInPqCCfSVLfkCLbncWDtXF6BpbaQc7mSTfQzWMh5pM=', 'I2Bk1xy2xkyEdHrCX8+NiBUC5fA7/4dWG4WhFrHzmso=', 'L/ehdP/Owphi4E9dvcc+vzZhVwAzV2KQwMH2zYztJ64=', 'GeckoddCyrEDRV8AQO33RaJpanEITJPjInFUUN1Nb1s=', 'A+7TiStvDmxdoQWcXzeTmFg1qig1AKgSmQSpTIfxYb8=', 'COK4Jzv6MMGshQMG2R5Gip6NBQkq7ky8gMaHJIRjujA=', 'B63Mp22DN3KIOaG2rDs+1Cr7h9cq+Y9S9Bby7FiyjOw=', 'Fx7zeJa64rECCgpYOb1ReEzhG7QjfVSMFxFp0y+hm0A=', 'IP/fy4b00AUGTtvClpGMMy0y++/xcp3lBWomq7w6Nfo=', 'COzXpvFzXu2GuqCU5gj0iPONuzmPz+1LmUODoMqORkc=', 'HD9dhuWSH96YkBifHYxhh1QohgDmkovBgqxNXkyfDMs=', 'KcYRhO2dRg8zdVihr2Oap+PAl15AFO2OvK1KJdUeq/M=', 'De/UWyiVhygiituy29rval6bGmSQKnNPQCuM77irO1Y=', 'CnTqItigkzYGBhAXmsHYL/+pSS33be7U6mDgEzsIEag=', 'A6N78S2vFADSl6xKwTuiTBfcJi2xbIUj3u5ODM3ppoA=', 'Ef4XkNWrv1k1/yIxjk9//mmWatovkTa1T4MOrLCmU2g=', 'AYFlhC9AY3XyNGaGkVr7FL8f4FZMiFjuO94Kuj3l9o8=', 'Jh2yXnz/Wp+3LydrH5JgtmcwD7fTYbUP1cDotplbBfk=', 'KjrDMUsrZueW++Nt93jF5GlyMgzEPsgHBIgmtnBLp8Q=', 'I8qkuA7PqZ6dP+orvB2782nRv8iTfQPQdAYcMP2M12s=', 'J9smAIXiJImN8UXyP2NfIGbY5OEk5YHoxiYZKbHf4Qc=', 'J09sX9NKeE1rkV7wXUJO5sC6u/Np55qxOLgWe1YY7H8=', 'LDop4TqE0moJEckona8apM9YQKraBwHVfiPfx5babaE=', 'HqIQ8gAaM00+gB9OUycNQtp6rzF6VTtCgqp46qIoLm0=', 'JU2+tSiEtpnBun+g1ugNYQkDsYo+UJw2NRzMOwJJRuM=', 'BZ54HWWJbr4OS6JtwvKZB/R7ze2kososcT2FBeox/V0=', 'C1sc7GPULV5hXcJpuIWiTO8wPseMly3RfNuz6RXMT/s=', 'KnwBXpw7LFfKi30m05obzIXW/6y32fvWbSqPHWTtDJI=', 'Kbc2uRHXGnnPY9im94bxG9Wr7iQWHcVnp8hR6uHkO1E=', 'KFdFqQp/49Ca9agIcEvGnG8XAeVzkS31zB4mXVlsQUE=', 'LZAbgZXDyWyMNuuZ/sATTsK4MEroEL0w2lVOMICCZxU=', 'GQXTUYNV6rp4WbWR7XuMnCU5gPBFDb31TXp3groFg5I=', 'I+gTAm/AuABk0ZtcVCiUL99+/qgL+o7ECVJyv9t7TJ8=', 'I8ChmiUsh+axwcIbGnmAAgDD+/8+MwDn5VaAcd6e+4E=', 'EcSuYHuuSSQTv2LNqiwoaO0f7G3AYxsGfKYPqxJbnio=', 'LNBV67fuRoY2XepFDwRv9iQF+uGxr8n7AXB8+B2g47k=', 'BTyf7y4CH6miD62iL96hUFtYoxWbu0czfb95GyFbFFI=', 'CjW9dOh8urqr6JrRMZ0snoY7TGMcIZOMmlOVv5eHKp8=', 'HBFQVlOc4gzVoE0aXEPisA++g7JZAb429d3EZm/Dg/4=', 'JClUBH5Xcv073tWQ7IvrTFQvLiZMjD4oTNxHNQXFGpA=', 'Diq9MVtHwNyThJwM3yZ+gRy9vbIApufCtn7ffLAXQhQ=', 'KCs3AgwIkNdRw/12lQ2AaGaOHf6uYh3VUtLeiH2i6nU=', 'KJM4UiZrUtnqa1u5I9nZTy5aW+XHeOdeB5QsI0tkO9k=', 'CZq2dlUFuhGY7xQOd7eVTU++eaBWznK6zjnASMANo88=', 'KvIR2OCsLY/af4SbjyKaIlxhhrVXYsensq4tHdhcV8s=', 'DNBw8jQBSigJq5DHHB2mHpipYyL+3Zm2qq4coQTz+s8=', 'Jnk+KryNPDDGBib7qhWPJjWH1r0Vgz1EixFiZLkwJWo=', 'IlvjbtDuheH4Ra2oTldIpWaZFSET/2G1BWtti95gwZ0=', 'AhdPSe2wLVFU0r7KLckrnMWVOD2h/ejwnkte4+paBl4=', 'D2SJHCyLAg5Gw1lMt1jwvdzb0JvQMIgW+0FzSoaYcsM=', 'GSqEyi+Z02mR4tKx3v85idHBVsI54Q6fVhQOGFRXYGc=', 'Kd/Ne2PwWr8nU6jDQda3pgxiQ7BMmhuLMyC7oEpNR4c=', 'HuJ61rm1qGdzOvxhorPnalK6PkvV5let6R/AOIGduls=', 'CrR3PxUMP4rTvJU49DzsOVp+NzGulz/v62I6CSF+ZMc=', 'E8NSoC9ZUYYgLLC5n6WMVUKrZ/m206Cv0QPe7/bYD0E=', 'KpfPLBDEv7/SmfZ8UqFp+SwFt9rFakHE3U/ofIJGzhQ=', 'AL7LtHBCvX+Mn2u0IhYtGu0ImihIL3/RarBqEyhf5wI=', 'AI5E2iHXOGkbiBdX7zftKcW9n3pEUPz1MpCpLMLKIXY=', 'KyBai21LcGPZMfO7XTRkBThD/n++S4PBeIP4ZSeIKhg=', 'LZ4yp8kFVv4QjSVawB513zOPzWOyv4TBkoDUJymIY/w=', 'KaMiqEwlvS3fbi5CACKNlavWNJoCJmrB27pSBzjOypc=', 'BnjJv8by3wEvT+VeM7torBTO0d8NAhUnkgidBG2CjEM=', 'D6/zpedCV5T+IKfg62FbixdgOUt/IwQoajrkAJEk2yM=', 'H49bYRr5/rnOqGwIQFgSBVPkBBA67iE/WkHR0CVBwNM=', 'Fgh12EeWAvlvQKzC0ELuUsFYi2op3kKEllptxskw6gc=', 'Fth6UYOjFqHXCvyVHv4s1mfHcyj8/aRYy/X+MEX0bZ4='],
95
- M: [['EkZm+AVh7VkW8vBwsb0kjG1T9E0nPZVqDIe5F2kqTRg=', 'EZJPAv0ZsJJVqqHPRuoFGOPXv+70dCFglJEBHbC9CwI=', 'JH+n8CIwShmU/1BUVsIgHvm3FzaUmNP/zkRmAe2d+EU=', 'A/17Ge8shh8i93/4EPVOJ3vJTrdsAtedmGvj3N8FHD8=', 'GL1BI5w+cVeaZ3RD7P+9VVqB7u6mk1Kmi2fIVjwMKgY=', 'LXjDpdKN6f81vwoldjUZblcwyn9ASTJ3B4zXXai069w='], ['ClFKXCJ/TOyV36Ap6N0STDSJWqRrsnwJEfN4DVAVVAo=', 'GS4W0X2VayV7haZS7v3y7glYnqxb6AkVd1cj0ssdoG0=', 'KYzgweMRO7k1xwWOd3K1M7GqnbDAkmvciRflYFyjrBA=', 'CUy06DYhr9Jx5BvHFyfwFY69YSI5rJ1pixf+S+Bbf8g=', 'A9iAOVvpPCfWSa9f0ULnazORjLiEHVooFzvVz30yh5E=', 'KO6ua1hmrWjkQ7uvkWgNt9fiswN+OP72G0LLzP/OyoE='], ['J4u0mntORK6kbrD4gstpKAGm5g/dW1wjxjzWXMzk/go=', 'Bj7ewb7YMfUGr422SNb96hRTRYh+i9z/EJA1odm2dNc=', 'G67xy1UJtSakIGH7U2V/mbMjJQDoVRksvoyUDgaMR18=', 'EyRWSse9+eIhZOmFjX+o42ixZerqPa9Otn7lnA3y5dQ=', 'AFdhuMauyxqMpOpN/CyDdgZKSoAEzu2iEKVSQFYt3BM=', 'EMnigxWdWMtMsuNf3oOjuh/cKAAu2ZY9KpnxhheKFI0='], ['DDmen2eqQHB6ID/u+wuVi72tzsXKNJAdJT0CaiQZ9qI=', 'CD8N8/GgNR0DMOw/9gLKjMNTt/bnYscQcYTNe0I0SfY=', 'Gmdk1ZQ/xKcgtMChn9uMcRmEMHKHpYubX59dWCEssmM=', 'ARpjom/qv4f6Zr3mbMJakiyWOC12xqf/SPFTe+rtaDo=', 'CMp7ZGV8NUjzK+9bY60kKIpBwLJRCZrSf5Q0MH4+ZNQ=', 'AZmCcEcek2GVVEawzbi+qRXsBnXxzWSN3LBDA1B6RIk='], ['HWs9X26jacJvgl0jYpM+qjHqNewKd8H72eAcoVI+RDI=', 'EZ7xiLs90NMjBpdsGZQehmS+aH56aWkton2iFabwbUA=', 'LZ4KtcBok9/f0DSBOBuoa25ikt9WCdcfLGSy2aefgJ4=', 'JfFmMb93Bg9+o0CHwCW/E1eEMZ7wjNouMUGe4KUp5lg=', 'FEx6EdpafF2rrj8z+9A8rYbRi8WUx5pJfsuYlO21VPE=', 'D5cRYmJ3I/P+rayyiwwQTLj3TeUIdS+o18DbKvE96O4='], ['JL5RAJVDYgbdCr0LDLuVyIOrMEqlJZixppMG7JgaaI0=', 'IRYQ4q1KN3Qm+t9waLDBpsKZoWTBwaYD6u2USHDQubk=', 'FaZ9mBBBsfbwnz+evv2GTnedOvCBV3hqwHdQXlDsefw=', 'BJMn+nnSjBKiyCQGlH938Gd1sCh0aLMTaHdwHb58lZg=', 'IwlA3MUjJlj/nClpej/UFtFw6MmY8aqF3qDELXn5Uao=', 'GxIcBJzRFZ4okAfgydqZlcxLq0wm+4iOw5cqii5laWQ=']]
96
- };
97
- _5.default = _default$1;
98
- Object.defineProperty(poseidon5$1, "__esModule", {
99
- value: true
100
- });
101
- var poseidon5_2 = poseidon5$1.poseidon5 = poseidon5;
102
- var _poseidon$1 = _interopRequireDefault$1(poseidon_1$1);
103
- var _unstringify$1 = _interopRequireDefault$1(unstringify$1);
104
- var _$1 = _interopRequireDefault$1(_5);
105
- function _interopRequireDefault$1(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
106
- const c$1 = (0, _unstringify$1.default)(_$1.default);
107
- function poseidon5(inputs) {
108
- return (0, _poseidon$1.default)(inputs, c$1);
109
- }
110
- function isZero(a) {
111
- return !a;
112
- }
113
- function isOdd(a) {
114
- return (a & BigInt(1)) === BigInt(1);
115
- }
116
- function shiftRight(a, n) {
117
- return a >> n;
118
- }
119
- function mul(a, b) {
120
- return a * b;
121
- }
122
- function bits(n) {
123
- var res = [];
124
- var E = n;
125
- while (E) {
126
- if (E & BigInt(1)) {
127
- res.push(1);
128
- }
129
- else {
130
- res.push(0);
131
- }
132
- E >>= BigInt(1);
133
- }
134
- return res;
135
- }
136
- var Field = /** @class */ (function () {
137
- function Field(order) {
138
- this.one = BigInt(1);
139
- this.zero = BigInt(0);
140
- this._order = order;
141
- this._half = order >> this.one;
142
- this._negone = this._order - this.one;
143
- }
144
- Field.prototype.e = function (res) {
145
- return res >= this._order ? res % this._order : res;
146
- };
147
- Field.prototype.mul = function (a, b) {
148
- return (a * b) % this._order;
149
- };
150
- Field.prototype.sub = function (a, b) {
151
- return a >= b ? a - b : this._order - b + a;
152
- };
153
- Field.prototype.add = function (a, b) {
154
- var res = a + b;
155
- return res >= this._order ? res - this._order : res;
156
- };
157
- Field.prototype.inv = function (a) {
158
- var _a, _b;
159
- var t = this.zero;
160
- var r = this._order;
161
- var newt = this.one;
162
- var newr = a % this._order;
163
- while (newr) {
164
- var q = r / newr;
165
- _a = [newt, t - q * newt], t = _a[0], newt = _a[1];
166
- _b = [newr, r - q * newr], r = _b[0], newr = _b[1];
167
- }
168
- if (t < this.zero) {
169
- t += this._order;
170
- }
171
- return t;
172
- };
173
- Field.prototype.div = function (a, b) {
174
- return this.mul(a, this.inv(b));
175
- };
176
- Field.prototype.eq = function (a, b) {
177
- return a === b;
178
- };
179
- Field.prototype.square = function (a) {
180
- return (a * a) % this._order;
181
- };
182
- Field.prototype.lt = function (a, b) {
183
- var aa = a > this._half ? a - this._order : a;
184
- var bb = b > this._half ? b - this._order : b;
185
- return aa < bb;
186
- };
187
- Field.prototype.geq = function (a, b) {
188
- var aa = a > this._half ? a - this._order : a;
189
- var bb = b > this._half ? b - this._order : b;
190
- return aa >= bb;
191
- };
192
- Field.prototype.neg = function (a) {
193
- return a ? this._order - a : a;
194
- };
195
- Field.prototype.isZero = function (a) {
196
- return a === this.zero;
197
- };
198
- Field.prototype.pow = function (base, e) {
199
- if (isZero(e)) {
200
- return this.one;
201
- }
202
- var n = bits(e);
203
- if (n.length === 0) {
204
- return this.one;
205
- }
206
- var res = base;
207
- for (var i = n.length - 2; i >= 0; i -= 1) {
208
- res = this.square(res);
209
- if (n[i]) {
210
- res = this.mul(res, base);
211
- }
212
- }
213
- return res;
214
- };
215
- return Field;
216
- }());
217
- function pruneBuffer(buff) {
218
- buff[0] &= 0xf8;
219
- buff[31] &= 0x7f;
220
- buff[31] |= 0x40;
221
- return buff;
222
- }
223
- function isStringifiedBigint(s) {
224
- try {
225
- BigInt(s);
226
- return true;
227
- }
228
- catch (e) {
229
- return false;
230
- }
231
- }
232
- function isHexadecimal(s) {
233
- return /^(0x|0X)[0-9a-fA-F]+$/.test(s);
234
- }
235
- function isBigNumberish(value) {
236
- return (typeof value === "number" ||
237
- typeof value === "bigint" ||
238
- (typeof value === "string" && isStringifiedBigint(value)) ||
239
- (typeof value === "string" && isHexadecimal(value)) ||
240
- Buffer.isBuffer(value));
241
- }
242
- function isPoint(point) {
243
- return Array.isArray(point) && point.length === 2 && isStringifiedBigint(point[0]) && isStringifiedBigint(point[1]);
244
- }
245
- function isSignature(signature) {
246
- return (typeof signature === "object" &&
247
- Object.prototype.hasOwnProperty.call(signature, "R8") &&
248
- Object.prototype.hasOwnProperty.call(signature, "S") &&
249
- isPoint(signature.R8) &&
250
- isStringifiedBigint(signature.S));
251
- }
252
- function int2hex(n) {
253
- var hex = n.toString(16);
254
- if (hex.length % 2 !== 0) {
255
- hex = "0".concat(hex);
256
- }
257
- return hex;
258
- }
259
- function bigNumberish2Buff(value) {
260
- if (typeof value === "number" ||
261
- typeof value === "bigint" ||
262
- (typeof value === "string" && isStringifiedBigint(value))) {
263
- var hex = int2hex(BigInt(value));
264
- return Buffer.from(hex, "hex");
265
- }
266
- return value;
267
- }
268
- function buff2int(buffer) {
269
- return BigInt("0x".concat(buffer.toString("hex")));
270
- }
271
- function bigNumberish2BigNumber(value) {
272
- if (typeof value === "number" ||
273
- typeof value === "bigint" ||
274
- (typeof value === "string" && isStringifiedBigint(value)) ||
275
- (typeof value === "string" && isHexadecimal(value))) {
276
- return BigInt(value);
277
- }
278
- return buff2int(value);
279
- }
280
- function leBuff2int(buffer) {
281
- return BigInt("0x".concat(buffer.reverse().toString("hex")));
282
- }
283
- function leInt2Buff(n) {
284
- var hex = int2hex(n);
285
- var buffer = Buffer.alloc(32, 0);
286
- Buffer.from(hex, "hex").reverse().copy(buffer);
287
- return buffer;
288
- }
289
- function checkPrivateKey(privateKey) {
290
- if (isBigNumberish(privateKey)) {
291
- return bigNumberish2Buff(privateKey);
292
- }
293
- if (typeof privateKey !== "string") {
294
- throw TypeError("Invalid private key type. Supported types: number, bigint, buffer, string.");
295
- }
296
- return Buffer.from(privateKey);
297
- }
298
- function checkMessage(message) {
299
- if (isBigNumberish(message)) {
300
- return bigNumberish2BigNumber(message);
301
- }
302
- if (typeof message !== "string") {
303
- throw TypeError("Invalid message type. Supported types: number, bigint, buffer, string.");
304
- }
305
- return buff2int(Buffer.from(message));
306
- }
307
- var r = BigInt("21888242871839275222246405745257275088548364400416034343698204186575808495617");
308
- var Fr = new Field(r);
309
- var Base8 = [
310
- Fr.e(BigInt("5299619240641551281634865583518297030282874472190772894086521144482721001553")),
311
- Fr.e(BigInt("16950150798460657717958625567821834550301663161624707787222815936182638968203"))
312
- ];
313
- var a = Fr.e(BigInt("168700"));
314
- var d = Fr.e(BigInt("168696"));
315
- var order = BigInt("21888242871839275222246405745257275088614511777268538073601725287587578984328");
316
- var subOrder = shiftRight(order, BigInt(3));
317
- /**
318
- * Performs point addition on the Baby Jubjub elliptic curve,
319
- * calculating a third point from two given points.
320
- * Let P1 = (x1, y1) and P2 = (x2, y2) be two arbitrary points of the curve.
321
- * Then P1 + P2 = (x3, y3) is calculated in the following way:
322
- * x3 = (x1*y2 + y1*x2)/(1 + d*x1*x2*y1*y2)
323
- * y3 = (y1*y2 - a*x1*x2)/(1 - d*x1*x2*y1*y2)
324
- * @param p1 - First point on the curve.
325
- * @param p2 - Second point on the curve.
326
- * @returns Resultant third point on the curve.
327
- */
328
- function addPoint(p1, p2) {
329
- var beta = Fr.mul(p1[0], p2[1]);
330
- var gamma = Fr.mul(p1[1], p2[0]);
331
- var delta = Fr.mul(Fr.sub(p1[1], Fr.mul(a, p1[0])), Fr.add(p2[0], p2[1]));
332
- var tau = Fr.mul(beta, gamma);
333
- var dtau = Fr.mul(d, tau);
334
- var p3x = Fr.div(Fr.add(beta, gamma), Fr.add(Fr.one, dtau));
335
- var p3y = Fr.div(Fr.add(delta, Fr.sub(Fr.mul(a, beta), gamma)), Fr.sub(Fr.one, dtau));
336
- return [p3x, p3y];
337
- }
338
- /**
339
- * Performs a scalar multiplication by starting from the 'base' point and 'adding'
340
- * it to itself 'e' times.
341
- * @param base - The base point used as a starting point.
342
- * @param e - A secret number representing the private key.
343
- * @returns The resulting point representing the public key.
344
- */
345
- function mulPointEscalar(base, e) {
346
- var res = [Fr.e(BigInt(0)), Fr.e(BigInt(1))];
347
- var rem = e;
348
- var exp = base;
349
- while (!isZero(rem)) {
350
- if (isOdd(rem)) {
351
- res = addPoint(res, exp);
352
- }
353
- exp = addPoint(exp, exp);
354
- rem = shiftRight(rem, BigInt(1));
355
- }
356
- return res;
357
- }
358
- function inCurve(p) {
359
- var x1 = BigInt(p[0]);
360
- var y1 = BigInt(p[1]);
361
- var x2 = Fr.square(x1);
362
- var y2 = Fr.square(y1);
363
- return Fr.eq(Fr.add(Fr.mul(a, x2), y2), Fr.add(Fr.one, Fr.mul(Fr.mul(x2, y2), d)));
364
- }
365
- class Blake$2 {
366
- _lengthCarry (arr) {
367
- for (let j = 0; j < arr.length; ++j) {
368
- if (arr[j] < 0x0100000000) break
369
- arr[j] -= 0x0100000000;
370
- arr[j + 1] += 1;
371
- }
372
- }
373
- update (data) {
374
- const block = this._block;
375
- let offset = 0;
376
- while (this._blockOffset + data.length - offset >= block.length) {
377
- for (let i = this._blockOffset; i < block.length;) block[i++] = data[offset++];
378
- this._length[0] += block.length * 8;
379
- this._lengthCarry(this._length);
380
- this._compress();
381
- this._blockOffset = 0;
382
- }
383
- while (offset < data.length) block[this._blockOffset++] = data[offset++];
384
- }
385
- }
386
- Blake$2.sigma = [
387
- [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
388
- [14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3],
389
- [11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4],
390
- [7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8],
391
- [9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13],
392
- [2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9],
393
- [12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11],
394
- [13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10],
395
- [6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5],
396
- [10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0],
397
- [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
398
- [14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3],
399
- [11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4],
400
- [7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8],
401
- [9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13],
402
- [2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9]
403
- ];
404
- Blake$2.u256 = [
405
- 0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344,
406
- 0xa4093822, 0x299f31d0, 0x082efa98, 0xec4e6c89,
407
- 0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c,
408
- 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917
409
- ];
410
- Blake$2.u512 = [
411
- 0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344,
412
- 0xa4093822, 0x299f31d0, 0x082efa98, 0xec4e6c89,
413
- 0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c,
414
- 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917,
415
- 0x9216d5d9, 0x8979fb1b, 0xd1310ba6, 0x98dfb5ac,
416
- 0x2ffd72db, 0xd01adfb7, 0xb8e1afed, 0x6a267e96,
417
- 0xba7c9045, 0xf12c7f99, 0x24a19947, 0xb3916cf7,
418
- 0x0801f2e2, 0x858efc16, 0x636920d8, 0x71574e69
419
- ];
420
- Blake$2.padding = Buffer.from([
421
- 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
422
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
423
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
424
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
425
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
426
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
427
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
428
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
429
- ]);
430
- var blake = Blake$2;
431
- getDefaultExportFromCjs$1(blake);
432
- const Blake$1 = blake;
433
- const zo$3 = Buffer.from([0x01]);
434
- const oo$3 = Buffer.from([0x81]);
435
- const rot$1 = (x, n) => ((x << (32 - n)) | (x >>> n)) >>> 0;
436
- function g$1 (v, m, i, a, b, c, d, e) {
437
- const sigma = Blake$1.sigma;
438
- const u256 = Blake$1.u256;
439
- v[a] = (v[a] + ((m[sigma[i][e]] ^ u256[sigma[i][e + 1]]) >>> 0) + v[b]) >>> 0;
440
- v[d] = rot$1(v[d] ^ v[a], 16);
441
- v[c] = (v[c] + v[d]) >>> 0;
442
- v[b] = rot$1(v[b] ^ v[c], 12);
443
- v[a] = (v[a] + ((m[sigma[i][e + 1]] ^ u256[sigma[i][e]]) >>> 0) + v[b]) >>> 0;
444
- v[d] = rot$1(v[d] ^ v[a], 8);
445
- v[c] = (v[c] + v[d]) >>> 0;
446
- v[b] = rot$1(v[b] ^ v[c], 7);
447
- }
448
- var blake256 = class Blake256 extends Blake$1 {
449
- constructor () {
450
- super();
451
- this._h = [
452
- 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,
453
- 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19
454
- ];
455
- this._s = [0, 0, 0, 0];
456
- this._block = Buffer.alloc(64);
457
- this._blockOffset = 0;
458
- this._length = [0, 0];
459
- this._nullt = false;
460
- this._zo = zo$3;
461
- this._oo = oo$3;
462
- }
463
- _compress () {
464
- const u256 = Blake$1.u256;
465
- const v = new Array(16);
466
- const m = new Array(16);
467
- let i;
468
- for (i = 0; i < 16; ++i) m[i] = this._block.readUInt32BE(i * 4);
469
- for (i = 0; i < 8; ++i) v[i] = this._h[i] >>> 0;
470
- for (i = 8; i < 12; ++i) v[i] = (this._s[i - 8] ^ u256[i - 8]) >>> 0;
471
- for (i = 12; i < 16; ++i) v[i] = u256[i - 8];
472
- if (!this._nullt) {
473
- v[12] = (v[12] ^ this._length[0]) >>> 0;
474
- v[13] = (v[13] ^ this._length[0]) >>> 0;
475
- v[14] = (v[14] ^ this._length[1]) >>> 0;
476
- v[15] = (v[15] ^ this._length[1]) >>> 0;
477
- }
478
- for (i = 0; i < 14; ++i) {
479
- g$1(v, m, i, 0, 4, 8, 12, 0);
480
- g$1(v, m, i, 1, 5, 9, 13, 2);
481
- g$1(v, m, i, 2, 6, 10, 14, 4);
482
- g$1(v, m, i, 3, 7, 11, 15, 6);
483
- g$1(v, m, i, 0, 5, 10, 15, 8);
484
- g$1(v, m, i, 1, 6, 11, 12, 10);
485
- g$1(v, m, i, 2, 7, 8, 13, 12);
486
- g$1(v, m, i, 3, 4, 9, 14, 14);
487
- }
488
- for (i = 0; i < 16; ++i) this._h[i % 8] = (this._h[i % 8] ^ v[i]) >>> 0;
489
- for (i = 0; i < 8; ++i) this._h[i] = (this._h[i] ^ this._s[i % 4]) >>> 0;
490
- }
491
- _padding () {
492
- let lo = this._length[0] + this._blockOffset * 8;
493
- let hi = this._length[1];
494
- if (lo >= 0x0100000000) {
495
- lo -= 0x0100000000;
496
- hi += 1;
497
- }
498
- const msglen = Buffer.alloc(8);
499
- msglen.writeUInt32BE(hi, 0);
500
- msglen.writeUInt32BE(lo, 4);
501
- if (this._blockOffset === 55) {
502
- this._length[0] -= 8;
503
- this.update(this._oo);
504
- } else {
505
- if (this._blockOffset < 55) {
506
- if (this._blockOffset === 0) this._nullt = true;
507
- this._length[0] -= (55 - this._blockOffset) * 8;
508
- this.update(Blake$1.padding.slice(0, 55 - this._blockOffset));
509
- } else {
510
- this._length[0] -= (64 - this._blockOffset) * 8;
511
- this.update(Blake$1.padding.slice(0, 64 - this._blockOffset));
512
- this._length[0] -= 55 * 8;
513
- this.update(Blake$1.padding.slice(1, 1 + 55));
514
- this._nullt = true;
515
- }
516
- this.update(this._zo);
517
- this._length[0] -= 8;
518
- }
519
- this._length[0] -= 64;
520
- this.update(msglen);
521
- }
522
- digest () {
523
- this._padding();
524
- const buffer = Buffer.alloc(32);
525
- for (let i = 0; i < 8; ++i) buffer.writeUInt32BE(this._h[i], i * 4);
526
- return buffer
527
- }
528
- };
529
- getDefaultExportFromCjs$1(blake256);
530
- const Blake256 = blake256;
531
- const zo$2 = Buffer.from([0x00]);
532
- const oo$2 = Buffer.from([0x80]);
533
- var blake224 = class Blake224 extends Blake256 {
534
- constructor () {
535
- super();
536
- this._h = [
537
- 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,
538
- 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4
539
- ];
540
- this._zo = zo$2;
541
- this._oo = oo$2;
542
- }
543
- digest () {
544
- this._padding();
545
- const buffer = Buffer.alloc(28);
546
- for (let i = 0; i < 7; ++i) buffer.writeUInt32BE(this._h[i], i * 4);
547
- return buffer
548
- }
549
- };
550
- getDefaultExportFromCjs$1(blake224);
551
- const Blake = blake;
552
- const zo$1 = Buffer.from([0x01]);
553
- const oo$1 = Buffer.from([0x81]);
554
- function rot (v, i, j, n) {
555
- let hi = v[i * 2] ^ v[j * 2];
556
- let lo = v[i * 2 + 1] ^ v[j * 2 + 1];
557
- if (n >= 32) {
558
- lo = lo ^ hi;
559
- hi = lo ^ hi;
560
- lo = lo ^ hi;
561
- n -= 32;
562
- }
563
- if (n === 0) {
564
- v[i * 2] = hi >>> 0;
565
- v[i * 2 + 1] = lo >>> 0;
566
- } else {
567
- v[i * 2] = ((hi >>> n) | (lo << (32 - n))) >>> 0;
568
- v[i * 2 + 1] = ((lo >>> n) | (hi << (32 - n))) >>> 0;
569
- }
570
- }
571
- function g (v, m, i, a, b, c, d, e) {
572
- const sigma = Blake.sigma;
573
- const u512 = Blake.u512;
574
- let lo;
575
- lo = v[a * 2 + 1] + ((m[sigma[i][e] * 2 + 1] ^ u512[sigma[i][e + 1] * 2 + 1]) >>> 0) + v[b * 2 + 1];
576
- v[a * 2] = (v[a * 2] + ((m[sigma[i][e] * 2] ^ u512[sigma[i][e + 1] * 2]) >>> 0) + v[b * 2] + ~~(lo / 0x0100000000)) >>> 0;
577
- v[a * 2 + 1] = lo >>> 0;
578
- rot(v, d, a, 32);
579
- lo = v[c * 2 + 1] + v[d * 2 + 1];
580
- v[c * 2] = (v[c * 2] + v[d * 2] + ~~(lo / 0x0100000000)) >>> 0;
581
- v[c * 2 + 1] = lo >>> 0;
582
- rot(v, b, c, 25);
583
- lo = v[a * 2 + 1] + ((m[sigma[i][e + 1] * 2 + 1] ^ u512[sigma[i][e] * 2 + 1]) >>> 0) + v[b * 2 + 1];
584
- v[a * 2] = (v[a * 2] + ((m[sigma[i][e + 1] * 2] ^ u512[sigma[i][e] * 2]) >>> 0) + v[b * 2] + ~~(lo / 0x0100000000)) >>> 0;
585
- v[a * 2 + 1] = lo >>> 0;
586
- rot(v, d, a, 16);
587
- lo = v[c * 2 + 1] + v[d * 2 + 1];
588
- v[c * 2] = (v[c * 2] + v[d * 2] + ~~(lo / 0x0100000000)) >>> 0;
589
- v[c * 2 + 1] = lo >>> 0;
590
- rot(v, b, c, 11);
591
- }
592
- var blake512 = class Blake512 extends Blake {
593
- constructor () {
594
- super();
595
- this._h = [
596
- 0x6a09e667, 0xf3bcc908, 0xbb67ae85, 0x84caa73b,
597
- 0x3c6ef372, 0xfe94f82b, 0xa54ff53a, 0x5f1d36f1,
598
- 0x510e527f, 0xade682d1, 0x9b05688c, 0x2b3e6c1f,
599
- 0x1f83d9ab, 0xfb41bd6b, 0x5be0cd19, 0x137e2179
600
- ];
601
- this._s = [0, 0, 0, 0, 0, 0, 0, 0];
602
- this._block = Buffer.alloc(128);
603
- this._blockOffset = 0;
604
- this._length = [0, 0, 0, 0];
605
- this._nullt = false;
606
- this._zo = zo$1;
607
- this._oo = oo$1;
608
- }
609
- _compress () {
610
- const u512 = Blake.u512;
611
- const v = new Array(32);
612
- const m = new Array(32);
613
- let i;
614
- for (i = 0; i < 32; ++i) m[i] = this._block.readUInt32BE(i * 4);
615
- for (i = 0; i < 16; ++i) v[i] = this._h[i] >>> 0;
616
- for (i = 16; i < 24; ++i) v[i] = (this._s[i - 16] ^ u512[i - 16]) >>> 0;
617
- for (i = 24; i < 32; ++i) v[i] = u512[i - 16];
618
- if (!this._nullt) {
619
- v[24] = (v[24] ^ this._length[1]) >>> 0;
620
- v[25] = (v[25] ^ this._length[0]) >>> 0;
621
- v[26] = (v[26] ^ this._length[1]) >>> 0;
622
- v[27] = (v[27] ^ this._length[0]) >>> 0;
623
- v[28] = (v[28] ^ this._length[3]) >>> 0;
624
- v[29] = (v[29] ^ this._length[2]) >>> 0;
625
- v[30] = (v[30] ^ this._length[3]) >>> 0;
626
- v[31] = (v[31] ^ this._length[2]) >>> 0;
627
- }
628
- for (i = 0; i < 16; ++i) {
629
- g(v, m, i, 0, 4, 8, 12, 0);
630
- g(v, m, i, 1, 5, 9, 13, 2);
631
- g(v, m, i, 2, 6, 10, 14, 4);
632
- g(v, m, i, 3, 7, 11, 15, 6);
633
- g(v, m, i, 0, 5, 10, 15, 8);
634
- g(v, m, i, 1, 6, 11, 12, 10);
635
- g(v, m, i, 2, 7, 8, 13, 12);
636
- g(v, m, i, 3, 4, 9, 14, 14);
637
- }
638
- for (i = 0; i < 16; ++i) {
639
- this._h[(i % 8) * 2] = (this._h[(i % 8) * 2] ^ v[i * 2]) >>> 0;
640
- this._h[(i % 8) * 2 + 1] = (this._h[(i % 8) * 2 + 1] ^ v[i * 2 + 1]) >>> 0;
641
- }
642
- for (i = 0; i < 8; ++i) {
643
- this._h[i * 2] = (this._h[i * 2] ^ this._s[(i % 4) * 2]) >>> 0;
644
- this._h[i * 2 + 1] = (this._h[i * 2 + 1] ^ this._s[(i % 4) * 2 + 1]) >>> 0;
645
- }
646
- }
647
- _padding () {
648
- const len = this._length.slice();
649
- len[0] += this._blockOffset * 8;
650
- this._lengthCarry(len);
651
- const msglen = Buffer.alloc(16);
652
- for (let i = 0; i < 4; ++i) msglen.writeUInt32BE(len[3 - i], i * 4);
653
- if (this._blockOffset === 111) {
654
- this._length[0] -= 8;
655
- this.update(this._oo);
656
- } else {
657
- if (this._blockOffset < 111) {
658
- if (this._blockOffset === 0) this._nullt = true;
659
- this._length[0] -= (111 - this._blockOffset) * 8;
660
- this.update(Blake.padding.slice(0, 111 - this._blockOffset));
661
- } else {
662
- this._length[0] -= (128 - this._blockOffset) * 8;
663
- this.update(Blake.padding.slice(0, 128 - this._blockOffset));
664
- this._length[0] -= 111 * 8;
665
- this.update(Blake.padding.slice(1, 1 + 111));
666
- this._nullt = true;
667
- }
668
- this.update(this._zo);
669
- this._length[0] -= 8;
670
- }
671
- this._length[0] -= 128;
672
- this.update(msglen);
673
- }
674
- digest () {
675
- this._padding();
676
- const buffer = Buffer.alloc(64);
677
- for (let i = 0; i < 16; ++i) buffer.writeUInt32BE(this._h[i], i * 4);
678
- return buffer
679
- }
680
- };
681
- getDefaultExportFromCjs$1(blake512);
682
- const Blake512 = blake512;
683
- const zo = Buffer.from([0x00]);
684
- const oo = Buffer.from([0x80]);
685
- var blake384 = class Blake384 extends Blake512 {
686
- constructor () {
687
- super();
688
- this._h = [
689
- 0xcbbb9d5d, 0xc1059ed8, 0x629a292a, 0x367cd507,
690
- 0x9159015a, 0x3070dd17, 0x152fecd8, 0xf70e5939,
691
- 0x67332667, 0xffc00b31, 0x8eb44a87, 0x68581511,
692
- 0xdb0c2e0d, 0x64f98fa7, 0x47b5481d, 0xbefa4fa4
693
- ];
694
- this._zo = zo;
695
- this._oo = oo;
696
- }
697
- digest () {
698
- this._padding();
699
- const buffer = Buffer.alloc(48);
700
- for (let i = 0; i < 12; ++i) buffer.writeUInt32BE(this._h[i], i * 4);
701
- return buffer
702
- }
703
- };
704
- getDefaultExportFromCjs$1(blake384);
705
- var lib = {
706
- Blake224: blake224,
707
- Blake256: blake256,
708
- Blake384: blake384,
709
- Blake512: blake512
710
- };
711
- getDefaultExportFromCjs$1(lib);
712
- function hash(message) {
713
- var engine = new lib.Blake512();
714
- engine.update(message);
715
- return engine.digest();
716
- }
717
- /**
718
- * Hashes the 32-byte private key using Blake1, prunes the lower 32 bytes
719
- * of the buffer and converts it to a little-endian integer.
720
- * This function is used to obtain the secret scalar to be used as
721
- * the input of the private key in the circuits, since the circuit only
722
- * performs a fixed-base scalar multiplication.
723
- * For more info about these steps: {@link https://datatracker.ietf.org/doc/html/rfc8032#section-5.1.5}.
724
- * @param privateKey - The private key used for generating the public key.
725
- * @returns The secret scalar to be used to calculate public key.
726
- */
727
- function deriveSecretScalar(privateKey) {
728
- privateKey = checkPrivateKey(privateKey);
729
- var hash$1 = hash(privateKey);
730
- hash$1 = hash$1.slice(0, 32);
731
- hash$1 = pruneBuffer(hash$1);
732
- return shiftRight(leBuff2int(hash$1), BigInt(3)).toString();
733
- }
734
- /**
735
- * Derives a public key from a given private key using the
736
- * {@link https://eips.ethereum.org/EIPS/eip-2494|Baby Jubjub} elliptic curve.
737
- * This function utilizes the Baby Jubjub elliptic curve for cryptographic operations.
738
- * The private key should be securely stored and managed, and it should never be exposed
739
- * or transmitted in an unsecured manner.
740
- * @param privateKey - The private key used for generating the public key.
741
- * @returns The derived public key.
742
- */
743
- function derivePublicKey(privateKey) {
744
- var s = deriveSecretScalar(privateKey);
745
- var publicKey = mulPointEscalar(Base8, BigInt(s));
746
- return [publicKey[0].toString(), publicKey[1].toString()];
747
- }
748
- /**
749
- * Signs a message using the provided private key, employing Poseidon hashing and
750
- * EdDSA with the Baby Jubjub elliptic curve.
751
- * @param privateKey - The private key used to sign the message.
752
- * @param message - The message to be signed.
753
- * @returns The signature object, containing properties relevant to EdDSA signatures, such as 'R8' and 'S' values.
754
- */
755
- function signMessage(privateKey, message) {
756
- privateKey = checkPrivateKey(privateKey);
757
- message = checkMessage(message);
758
- var hash$1 = hash(privateKey);
759
- var sBuff = pruneBuffer(hash$1.slice(0, 32));
760
- var s = leBuff2int(sBuff);
761
- var A = mulPointEscalar(Base8, shiftRight(s, BigInt(3)));
762
- var msgBuff = leInt2Buff(message);
763
- var rBuff = hash(Buffer.concat([hash$1.slice(32, 64), msgBuff]));
764
- var Fr = new Field(subOrder);
765
- var r = Fr.e(leBuff2int(rBuff));
766
- var R8 = mulPointEscalar(Base8, r);
767
- var hm = poseidon5_2([R8[0], R8[1], A[0], A[1], message]);
768
- var S = Fr.add(r, Fr.mul(hm, s));
769
- return {
770
- R8: [R8[0].toString(), R8[1].toString()],
771
- S: S.toString()
772
- };
773
- }
774
- /**
775
- * Verifies an EdDSA signature using the Baby Jubjub elliptic curve and Poseidon hash function.
776
- * @param message - The original message that was be signed.
777
- * @param signature - The EdDSA signature to be verified.
778
- * @param publicKey - The public key associated with the private key used to sign the message.
779
- * @returns Returns true if the signature is valid and corresponds to the message and public key, false otherwise.
780
- */
781
- function verifySignature(message, signature, publicKey) {
782
- if (!isPoint(publicKey) ||
783
- !isSignature(signature) ||
784
- !inCurve(signature.R8) ||
785
- !inCurve(publicKey) ||
786
- BigInt(signature.S) >= subOrder) {
787
- return false;
788
- }
789
- message = checkMessage(message);
790
- var _signature = {
791
- R8: [BigInt(signature.R8[0]), BigInt(signature.R8[1])],
792
- S: BigInt(signature.S)
793
- };
794
- var _publicKey = [BigInt(publicKey[0]), BigInt(publicKey[1])];
795
- var hm = poseidon5_2([signature.R8[0], signature.R8[1], publicKey[0], publicKey[1], message]);
796
- var pLeft = mulPointEscalar(Base8, BigInt(signature.S));
797
- var pRight = mulPointEscalar(_publicKey, mul(hm, BigInt(8)));
798
- pRight = addPoint(_signature.R8, pRight);
799
- return Fr.eq(BigInt(pLeft[0]), pRight[0]) && Fr.eq(pLeft[1], pRight[1]);
800
- }
801
-
802
- function getDefaultExportFromCjs (x) {
803
- return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
804
- }
805
-
806
- var poseidon2$1 = {};
807
-
808
- const F = BigInt('21888242871839275222246405745257275088548364400416034343698204186575808495617');
809
- const N_ROUNDS_F = 8;
810
- const N_ROUNDS_P = [56, 57, 56, 60, 60, 63, 64, 63, 60, 66, 60, 65, 70, 60, 64, 68];
811
- const pow5 = v => {
812
- let o = v * v;
813
- return v * o * o % F;
814
- };
815
- function mix(state, M) {
816
- const out = [];
817
- for (let x = 0; x < state.length; x++) {
818
- let o = 0n;
819
- for (let y = 0; y < state.length; y++) {
820
- o = o + M[x][y] * state[y];
821
- }
822
- out.push(o % F);
823
- }
824
- return out;
825
- }
826
- function poseidon(_inputs, opt) {
827
- const inputs = _inputs.map(i => BigInt(i));
828
- if (inputs.length <= 0) {
829
- throw new Error('poseidon-lite: Not enough inputs');
830
- }
831
- if (inputs.length > N_ROUNDS_P.length) {
832
- throw new Error('poseidon-lite: Too many inputs');
833
- }
834
- const t = inputs.length + 1;
835
- const nRoundsF = N_ROUNDS_F;
836
- const nRoundsP = N_ROUNDS_P[t - 2];
837
- const {
838
- C,
839
- M
840
- } = opt;
841
- if (M.length !== t) {
842
- throw new Error(`poseidon-lite: Incorrect M length, expected ${t} got ${M.length}`);
843
- }
844
- let state = [0n, ...inputs];
845
- for (let x = 0; x < nRoundsF + nRoundsP; x++) {
846
- for (let y = 0; y < state.length; y++) {
847
- state[y] = state[y] + C[x * t + y];
848
- if (x < nRoundsF / 2 || x >= nRoundsF / 2 + nRoundsP) state[y] = pow5(state[y]);else if (y === 0) state[y] = pow5(state[y]);
849
- }
850
- state = mix(state, M);
851
- }
852
- return state[0];
853
- }
854
- var poseidon_1 = poseidon;
855
- getDefaultExportFromCjs(poseidon_1);
856
-
857
- var unstringify = {};
858
-
859
- Object.defineProperty(unstringify, "__esModule", {
860
- value: true
861
- });
862
- unstringify.default = unstringifyBigInts;
863
- function unstringifyBigInts(o) {
864
- if (Array.isArray(o)) {
865
- return o.map(unstringifyBigInts);
866
- } else if (typeof o == 'object') {
867
- const res = {};
868
- for (const [key, val] of Object.entries(o)) {
869
- res[key] = unstringifyBigInts(val);
870
- }
871
- return res;
872
- }
873
- const byteArray = Uint8Array.from(atob(o), c => c.charCodeAt(0));
874
- const hex = [...byteArray].map(x => x.toString(16).padStart(2, '0')).join('');
875
- return BigInt(`0x${hex}`);
876
- }
877
-
878
- var _2 = {};
879
-
880
- Object.defineProperty(_2, "__esModule", {
881
- value: true
882
- });
883
- _2.default = void 0;
884
- var _default = {
885
- C: ['DumlkrqalRjQWYbWVvQMIRTEmTwRuymTjSHUcwTNjm4=', 'APFEUjXyFIxZhlhxafwbzYh7CNTQCGjfVpb/9AlW6GQ=', 'CN/zSH6KyZ4fKaBY0PqAuTDHKHMLerNs6HnziQ7Pc/U=', 'Lye+aQ/a7kbDzij3UysTyFbDU0LIS9puIJZjEPrcAdA=', 'KyrhrPaLe40kFr6/PU9iNLdj/gS4BD7ki4MnvryhbPI=', 'AxnQYgcr737MperAb5fU1VlSwXWrawPq5ktEx9vxHPo=', 'KIE9yuuuqoKKN234evSmO8i3vyetScYpjvezh78oUm0=', 'JydnOyzLyQPxgb844cHUDSAzhlIAw1K8FQkord35y3g=', 'I07EXKJ3J8LnSr0rKhSUzW771D40BYfWuPueMeZcxjI=', 'FbUlNAMa4Y9/hiyyz3z3YKsQqBUKM3sczZn/boeX1Cg=', 'Dcj61tnks19e2aPRhrec444Oio0bWLEy1wHU7s9o0fY=', 'G82V/8IR+8pgD3BfrT+1Z+pOs3j2Lh/sl4BVGKR+TZw=', 'EFILCrchyt/p7/gbAW/DTcdto2wleJN4F8uXjQad5Vk=', 'H21IFJuOf32bJX2O1fu69CkySYB1/tCs6IqeuB9WJ/Y=', 'HZZV9lIwkBTSngDvNaIIm//43ByBbw3JyjS9tUYMhwU=', 'BN9aVv+VvK+wUfexzUOpm6cx/2fkcDIFj+PUGFaXzH0=', 'BnLZlfj/9kAVGz0pDO2vFIaQoQqMhCSn9uwoK25L6Cg=', 'CZlStBSIRFSyEgDX/6/dXwyancwG8nCOn8HYIJtcdbk=', 'BSy6IlXf0Ax8SDFDuo1GlEjkNYaptM2Rg/0OhDprn6Y=', 'C4ut7mkK246wvXRxK3mZr4LeVXByUa13Fgd8uTxGTdw=', 'EZsVkPEzB69aHuZRAgwHx0nBXWBoOoBQuWPQqOSyvdE=', 'AxULfNbV0XslKdNr4PZ7gyxKz8iE707lzhW+C/tKjQk=', 'LMYYLF4UVG488ZUfFzkSNVN077g9gImKvmnLMXyepWU=', 'AFAyVR5jeMRQz+EppASzdkIYyt7awU4rktLNcxEb8Pk=', 'IzI34yibqjS7FH6XLry5UWRpw5n8wGn7iPnaLMKCdrU=', 'Bcj09OvUpuPJgNMWdL++YyMDfyGzSuWk6AwtTCTWAoA=', 'CnsdsTBC05a6BdgYoxnyUlK8817zru2R7h8JslkPxls=', 'KnO3H5shDPWxQpZXLJ0y2/FW4rCG/0fcXfVCNlpATsA=', 'GsmwQXq8yaGTUQfp/8kdw+wY8sTb5/Ipdqdgu1xQxGA=', 'EsAzmuCDdII/q7B2cH70eSafPk1ssQQ0kBXuBG3JP8A=', 'C3R1sQKhZa1/WxjbTh5wT1KQCqMlO6rGgkZoLlbpoo4=', 'A3woSeGRyj7bHF5J9ui4kXyEPjeTZvLqMqs6qI1/hEg=', 'BaaBH4VW8BTpJnRmHiF+m9UgbFyToH3BRf2xdqcWNG8=', 'KaeV59mAKJRulHt11U6fBEB26Hp7KIO0e2de9fOL1m4=', 'IEOaDISzIutFo4V6/Bj1gm6Mc4LIoVhcUHvhmZgf0i8=', 'Lguo2U2ez0qU7CBQxzcf8btQ8neZqEttSipvKgmCyIc=', 'FD/RFc4I+yfKOOt8zoIrRReCLNIQkEjS5tDdzKF9ccg=', 'DGTL7LHHNLhXlo273PgTzfhhFlkyPby/yEMjYjvpyvE=', 'AoowWEfGg/ZG/KklwWP/WudPNI1iwrZw8UJs75QD2lM=', 'Lk71EP8Lb9pfqUCrTEOA8mpry2TYlCe4JNZ1W1254ww=', 'AIHJW8QzhOZj15JwyVbOO4kltPbQM7B4uWOE9QV5QA4=', 'LtXwyRy9l0kYfi+t5ofgXuJJGzScA5oLuoqfQCOguzg=', 'MFCZkfiNo1BLvzdO1ari8DRIoix2I0yMmQ8B8zpzUgY=', 'HD8g/VVAmlMiG3xNSaNWufChEZ+yBntBp1KQlEJOxq0=', 'ELTn86td8AMElRRFm24Y7sRrsiE+jhMeFwiHtH3cuWw=', 'KhmCl5w/9/Q93VQ9iRwqvd2A+ATAd9d1A5qjUC5Dre8=', 'HHTuZPFeHbb+3b6tVtbVXbpDHrw5bJr5XK0PExW9XJE=', 'B1M+yFC6f5jquTA8rOAbS55PLouCcIz6nC/kWgrhRqA=', 'IVdrQ45QBEmhUeTurxexVChcaPQtQsGAihGr83ZMB1A=', 'LxfAVZuP55YIrVyhk9YvELzoOEyBXwkGdD1pMINtSp4=', 'LUd+OGLQdwinnoqulGFwvJd1pCATGEdK5mWwsbficw4=', 'Fi9SQ5ZwZMOQ4JVXeYTyka+6ImbDj1q82Jvg9bJ0fqs=', 'K0yyM+3pukgmTs0siuUNGteoWWqH8p+Kd3enAJI5MxE=', 'LI+8st2Fc9wduvj0YihUd22y7s5thcTPQlTnw14DsHo=', 'HW80dyXkgWry/0U/DNVrGZ4bYen2Aemt5eiNuHCUnak=', 'IEsMOX9OvnHrwtiz31uRPfnmrAK2jTEyTNSa9cRWVSk=', 'DEy53DxP2BdPEUmzxjw8L57LgnzX3CVTT/j7dbx5xQI=', 'F0rWGhRIyJmiVBZHT0kwMB5cSUdSeeBjmmFt3EW8e1Q=', 'GpYXe89NjYn3Wd9OwvPN4uqqKMF3zA+hOpgW1Jo40u8=', 'Bm0EskMx1xzQ74BUvGDE/wUgLBJqIzwagkKs42C4owo=', 'KkxPxuwLDPUhlXgoccbdOzgcxl9y4CrVJwN6Yqob2AQ=', 'E6stE2zPN9RH6fLhSnztyV5yf4RG9tnX5Vr8ASGf1kk=', 'ESFVL8omBhYZ0k2EPcgnacGwT87Cb1UZTC4+hprMapo=', 'AO9lMyKxPWyIm8gXFcN9d6bNJn1ZXEqJCaVUbHyXz/E=', 'DiVIPkWmZSCLJh2Lp0BR5kAMd21lJZXZhFrKNdijl9M=', 'KfU23LnddoIkUmRlnhXYjjlaw9Td6S2MRkSNuXnuuok=', 'KlbvnyxT/rrf2jNXXb29iFoSTieAu+oXDkVrqs4Ppb4=', 'HINhx461z13s+3otF7XECfKuKZmkZ2Lo7kFiQKjLmvE=', 'FRr/XziyCg/ARzCJqvAga4Po5op2RQe/09CrS+dDGcU=', 'BMYYfkHtiB3BsjnIj3+dQ6n1L8jIts3R525HYVtR8QA=', 'E7N72A9NJ/sQ2EMx9vttU0uBxh7RV3ZEnoAbfdycKWc=', 'AaXFNic8LZ31eL+9MsF7eizjZkwqUgMskyHOscToqOQ=', 'KrNWGDTKc4Na0F9desuVC0qaLGZrlybagyI5Blt8OwI=', 'HU2OwpHnINsgD+bWhsDWE6yvavTpXTv2n37VFqWXtkY=', 'BBKU0sxITSKPV4T+eRn9K7klNRJAoEtxFRTJyAtlrx0=', 'FUrJjgFwjGEcT6cVmR8ASJj1eTnRJuOSBClx3ZDoH8Y=', 'CzOdisyn1Pg+7dhAk671EFCzaEyI+LCwRSRWO8bqTaQ=', 'CVXknmYQyUJUpPhM+6s0RZjw5x6v9Kfdge2VtQg5yC4=', 'BnRqYVbrpUQmueIiBvFavKmm9B5vU1xvNSVAHqBlRiY=', 'Dxj1oOzRQjxJbzggxUnCeDjleQ4r0KGWrJF8f/Mgd/s=', 'BPbuyhdR9zCKxZ7/W+smHku1Y1g+3nvJKnOCI9b3bhM=', 'K1aXM2TExPXBo+xNo83OA4gR6xFvs+RbwXaNJvwLN1g=', 'Ejdp3UnVsFTc12uJgEsby44TkrOFcWpdg/62XUN/Ke8=', 'IUe0JPxIyAqI7lK5EWmqzqmJ9kRkcRUJlCV7L7AcY+k=', 'D9wfWFSLhXAabFUF6jMqKWR+bzStQkPC6lStiXzr5U0=', 'Ejc6glH+oATfaKvPD3eG1Lzv8oxdu+DDlE9oXMCgsfI=', 'IeT06l81+FutfqUv90LJ6KZCdWtq9EID3YofNcGpADU=', 'FiQ5FtadLKPftHIiJNTEYrVzZkkvRekNioGTTxvDsUc=', 'HvvkbdeleLT2b5rbyItDeKvCFWbhoEU8oTpBWcrASsI=', 'B+pehTfPXdCIhgIOI6fzh9Ro1VJb5m+FO2csyWqIlpo=', 'BajE+ZaLiqO3tHijD5pbY2UPGadefOEcqf4WwLdsALw=', 'IPBXcSzCFlT7/lm9NF6NrD94GMcBuceILZ1Xtyoy6D8=', 'BKEu3tqd/WiWcvjGf+4xY23NjojQHUkBm9kLM+sz22k=', 'J+iNjBXzfc7kTx5UJaUd7L0TbOUJGmdn5J7JVEzNEBo=', 'L+7Re4QoXtm4pcjF6VpB9m4JZhmncDIjF2xB7kM95NE=', 'HtfMdu30XHxAQkFCD3Kc85TllCkRMSoNaXK4vVOv8rg=', 'FXQumbm/oyMVf/jFhvVmDqxng0dhRM3K3yh0vkVGaxo=', 'GqwoU4f2XoLIlfxoh930BXcQdFTG7AMXKE8DPyfQx4U=', 'JYUcPIRdR5D53a29tgVzV4MuLnpJd19x7HWpZVTWfHc=', 'FaWCFWXMLsLOeEV9sZft81O367osVSM3DdzMPZ8Uamc=', 'JBHVekgTuZgO+n4xodtZZtz2TzYEQndQLxVIXyjHFyc=', 'AC5vjWUgzUcT4zW4wLbS5kfpqY4S9M0lWIKLXvbLTJs=', 'L/e8j0OAzemX2gC2FrD80a+PDpHi/h7XOYg0YJ4DFdI=', 'ALmDG5SFJVle4CckRxvNGC6VIfa3u2jx6Tvk/rsNPL4=', 'Ci9TdouOv2qGkTsOV8BOARykCGSKR0OofXetvwycNRI=', 'ACSBVhQv0Dc6R5+R/yOelg9Zn/fpS+abfyopAwXhGY0=', 'Fx1WILh7+xMoz4wCqz8MmjlxlqpqVCwjUOtRKisrzak=', 'FwpPVVNvfclwCHx8ENb612DJUhct1U3ZnRBF5Ow0qAg=', 'KaujP3mf5mwu8xNK6gQzbsw344wc0hG6SC7KF+Lb+uE=', 'HpvBeaT911j90bsZRQiNR+cNEUoD9qDotbplA2nmSXM=', 'HdJpeZtmD61Y9/SJLfsLWv6q2GmpxLRPnJ4cQ72vjwk=', 'Is28i3ARetFAEYHQLhVFnnzNQm/oacfJXR3Syw8krzg=', 'DvBC5FR3HFM6n1elXFA/zv0xUPUu2Up81bqTucfazv0=', 'EWCeBq1sj+Lyh/MDYDfohRMY6LCKA1mgOzBP/KYugoQ=', 'EWbZ5VRhbbqedT7qQnwXt/7NWMB23+QnCLCPW3g6qa8=', 'LeUpiUMahZWTQTAmNUQT2xd/v0zSrAtW+FWoiDV+5GY=', 'MAbrT/x6hYGabaSS86isHfUa7lsXuOiddL8Bz19x6a0=', 'KvQfu2G6ioD9z2//nj9vQimT/o8KRjn5YjRMgiUUUIY=', 'EZ5oTeR2FV/lprQajryF24cYqyeInoXngbIUus5IJ8M=', 'GDW3huLokl4Yi+pZrjY1N7USSMI4KPBHz/eEuXs/2AA=', 'KCAaNMWU36NNeUmWxkM6INFSusKnkFySbEDihasy7rY=', 'CD79eifRdRCU6A/vr3iwAIZMgutXEYdySnYfiMIsxOc=', 'C2+Io1dxmVJhWOYc7qJ76BHBbfd3TdhRngeVZPYf0Ts=', 'Dsho5tFeUdlkT2bh1kcalFiVEcoA0p4QFDkObuQlT1s=', 'KvM+P4ZncScawMmz7S4RQuzT50uTnNQNANk3q4TJhZE=', 'C1ICEfkEtefQm12WHGrOdzRWjFR91oWLNkzl5HlR8Xg=', 'Cy1yLQkZoarY21jxAGKpLqDFasQnDoIsyiKGIBiKHUA=', 'H3kNTX+M8JTZgM6zfCRT6Ve1SpmRyji74AYdHtblYtQ=', 'AXHrld+/fR6uqXzThfeAFQiFwWI1oqao2pLOsB5QQjM=', 'DC0OO1/VdUkym/aIXaZrm3kLQN79LIZQdiMFOBsWiHM=', 'EWL7KGicJxVOWoIotOcrN3y8r6WJ4oPDXTgDBUQHoY0=', 'LxRZtl3uRBtkrThqkegxDygsWpKonhmSFiPvgklxG8A=', 'Hm/zIWtojD2ZbXQ2fVzUwbxInUZ1TrcSwkP3DRtTz7s=', 'AcqL5zgyuNBoFIfSfRV4AtdBpvNs3CoFdogfkyZHiHU=', 'H3c1cG/+n8WG+XbVvfIj3GgChggLEM6gC5td4xX5ZQ4=', 'JSK2D06jMHZAoMLc4EH7qSGsEKPV8JbvR0XKg4KF8Bk=', 'I/C+4AGxAp1SVQdd3JV/gzQYytT1K2w/jOFsI1VyV1s=', 'K8Gui43buB/KrC1EVV7VaF0UJjPp35BfZtlAEJMILVk=', 'D5QGuCllZKNzBFB7jbo+0WI3EnOgex/JgBH81q1yIF8=', 'I2Co6wzH3vpntymY3pBxThfnWxdKUu5KyxJsjNmV8Kg=', 'FYcaXN3q2XaATIA8uu8lXrSBWl6W34sAbcu8J2f4iUg=', 'GTpWdmmY7p4KhlLdLzsdoDYvT1T3I3lUT5V8ze77Qg8=', 'KjlKQ5NPhpgvm+Vv9PqxcDsuY8itM0g05DCYBed3rg8=', 'GFmVTP64aV8+i2NdyzRRkoks0RIjRDuntBZuiHbA0UI=', 'BOEYF2MFDlgBNETby5nxkCsRvCXZC73KQI04GfT+0ys=', 'D9slPe6Dhp1AwzXqZN6MW7EOuC2wi16LH15VUr/QXyM=', 'BYy+ippQJ72qTvtiOt6tYnXwhobxwImEqdfFuum08cA=', 'E4Ltzplx4YZJfq2xrrH1KyO0uDvvAjqw0VIotMzspZo=', 'A0ZJkPBFxu4IGcpR/RGwvn9huOuZ8Ut34eZjRgHZ6LU=', 'I/e/yHINwpb/8ztB+Y/4PG/KtGBdsutaqlvBN663Clg=', 'ClmhWOPuwhF+bpTn8OnezxjD/9XhUxqSGWNhWLuvYvI=', 'BuxUyAOBwFK1i/I7MS/9POLE66BlQgr49MI+0Adf0Hs=', 'EYhy3IMuDrVHa1ZkjoZ+yLCTQPenvLG0li8P+e0fnQE=', 'E9afoSfYNBZa1cfLp61Z7VLgsPDkLX/qleGQa1IJIbE=', 'FpoXf2PqaBJwscaHenPSG94UOUL7cdxV/YpJ8Z8Qx3s=', 'BO9RWRxurZfvQvKHrc5A2Tq+sDK5IvZv+36aWnRQVE0=', 'JW4XWh3AeTkOzXynA/suOxnsYYBdTwPO1fRe5t0Paew=', 'MBAtKGNqvV/l8q9BL/YAT3XMNg0yBd0toAKBPT4s7rI=', 'EJmOQt/NO78cBxS8c+sb9ARDo/qZvvSjH9Mb4YL8x5I=', 'GT7djp/PPXYl+n0ktZih2J8zYur01YLv7K12+HnjaGA=', 'GBaK/TTy2RXQNozoC3szR9HHpWHOYRQl8mZNeqUfC10=', 'KTg8AevTtqsMAXZW6+ZYtqMo7He8M2JuKeLpWzPqYRE=', 'EGRtLyYD3jmh9K5ed3GmSnAttuhvt2q2AL9XP5AQxxE=', 'C+teB9GycUX1dfE5WlW/Ey+QwltA2ns4ZNAkLcsRF/s=', 'FtaFJSB4wTPcDT7K1itciDD5W7LlS1mr3/vwGNlvozY=', 'Cmq9HYM5OPM8dBVOBAS0tApVW7vsId36/Wct1iBH8Bo=', 'GmefXTbre1yOoSpMLe3I/rEt/+7EUDFycKbxmzTPGGA=', 'CYD7IzvUVsI5dNUODr/eRyakI+raTo9v+8dZLj8bk9Y=', 'FhtCIy5huEy/GBCvk6OPwM7OPVYoySggA+ustcMSxys=', 'CtoQqQx/BSCVD31Hpg1eakk/CXh/FWTl0JID20feGgs=', 'GnMNNyMQuoIyA0WimsQjjtPweoorThIbtQ3bmvQH9FE=', 'LIEg8mjvBU+BcGTDad2n6pCDd/6rpcTf+9oQ71joxVY=', 'HHyIJPdYdT+lfAB4nGhCF7kw6VMTvLc+bnuGSaSWj3A=', 'LNntMfX4aRyOOeQHenT6oPQArYtJHrP3tHsn+j/Rz3c=', 'I/9PnUaBNFfPYNkvV2GDmaXgIqwyHKVQhUriORiiLuo=', 'CZRaXRR6T2bO7OZAXd3Z0K9aLFEDUpQH3/HqWPGAQm0=', 'GI2cUoAl1MK2dmDGt3G5D3x9puqinT8mim3SI+xvxjA=', 'MFDjeZZZa3+B9oMRQx2HNNun2SbTYzWV4MDY3fTw9H8=', 'Fa8RaTloMKkWAMqBAsNcQmzq5UYeP5XYnYKVGNMK/Xg=', 'HabQmIVDLqmgbZ83+HPZhdrpM+NRRmspBChNozINisw=', 'J5bqkNJpryn1+KzzOSESTk5PrT2+ZYlF5UbuQR3aqcs=', 'IC190doPa0sDJcizMHdC8B4VYS7I6TBKfLAxngHTLWA=', 'CW1nkNBbt1kVapUromPWcqLX+ceI9Mgxop2s5MD4vl8=', 'BU76H2Ww/OKDgIllJ12He0ONojzlsT4ZY3mMsUR9JaQ=', 'GxYvg9kX6T7bMwjCmALeudiqaQETsuFIZMz24Y5BZfE=', 'IeUkHhJWTdb9nxzdKg3jnu3+/BRmzFaOxc63RaBQbtw=', 'HPtWYujPWskiaoDuF7Nqvstzq1+H4WGSe0NJ4Q5L3wg=', 'DyEXfjAqdxu65tjR7LNztiyZrzRiIKwBKcU/Zm6yQQA=', 'FnFSI3RgaZKv+w3X9xsSvsQjau3mKQVGvO9+H1FcIyA=', 'D6PsW5SIJZwutM8kUBv62b4uyeQsXMjM1BnSppLK2HA=', 'GTwOBOC9KYNXyyZsFQYIDtNu3OhcZIzAhejFexq1S7o=', 'ECrfjvdHNaJ+kSgwbcvDyZ9vcpHNQGV4zhTqKtq6aPg=', 'D+CveFjkmFnipU1vGtlFsTFqokv73SOuQKbQy3DD6rE=', 'IW9nF7vH3tsIU2oiIIQ/Ti2l8dqp69796KXqc0R5jSI=', 'HaVcyQDw0h9KPmlDkZGKGzwjsqx3PGs++I4uQigyUWE='],
886
- M: [['EJt/QRug5MmytwyvXDansZS+fBGtJDeL/ttoWSuoEYs=', 'Fu1B4Tu5wMZq4RlCT928vJMU3J/b3upV1sZFQ9xJA+A=', 'K5C7oA/KBYn2F+fcv+guDfcGq2QM6yR7eRqTt042c20='], ['KWnyfu0xpIC5w2x2Q3nbyizI/dFBXD3e1ilAvN4L13E=', 'LiQZ+ewC7DlMmHHIMpY9wbiddDyMe5ZAKbIxFoex/iM=', 'EBBx8AMjebaXMVh2aQ8FPRSNThCfX7BlyKrMVaD4m/o='], ['FDAh7GhqPzMNX55lRjgGXObNeeKMWzdTMmJE7mWhsac=', 'F2zAKWla0CWCpw7/CKb9mdBX4S5Y59e2sWzfq8juKRE=', 'GaP8ClZwK/QXun/uOAJZP6ZERwMHBD93cyec1x0l1eA=']]
887
- };
888
- _2.default = _default;
889
-
890
- Object.defineProperty(poseidon2$1, "__esModule", {
891
- value: true
892
- });
893
- var poseidon2_2 = poseidon2$1.poseidon2 = poseidon2;
894
- var _poseidon = _interopRequireDefault(poseidon_1);
895
- var _unstringify = _interopRequireDefault(unstringify);
896
- var _ = _interopRequireDefault(_2);
897
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
898
- const c = (0, _unstringify.default)(_.default);
899
- function poseidon2(inputs) {
900
- return (0, _poseidon.default)(inputs, c);
901
- }
902
-
903
- function bytesToBigint(bytes) {
904
- var hex = "0x";
905
- for (var i = 0; i < bytes.length; i += 1) {
906
- hex += bytes[i].toString(16).padStart(2, "0");
907
- }
908
- return BigInt(hex);
909
- }
910
-
911
- /* istanbul ignore file */
912
- function randomNumber() {
913
- var bytes = crypto.getRandomValues(new Uint8Array(32));
914
- return bytesToBigint(bytes);
915
- }
916
-
917
- /**
918
- * The Semaphore identity is essentially an {@link https://www.rfc-editor.org/rfc/rfc8032 | EdDSA}
919
- * public/private key pair. The {@link https://github.com/privacy-scaling-explorations/zk-kit/tree/main/packages/eddsa-poseidon | EdDSA implementation}
920
- * in this library uses {@link https://eips.ethereum.org/EIPS/eip-2494 | Baby Jubjub} for public key generation
921
- * and {@link https://www.poseidon-hash.info | Poseidon} for signatures.
922
- * In addition, the commitment, i.e. the hash of the public key, is used to represent
923
- * Semaphore identities in groups, adding an additional layer of privacy and security.
924
- */
925
- var Identity = /** @class */ (function () {
926
- /**
927
- * Initializes the class attributes based on a given private key.
928
- * If the private key is not passed as a parameter, a random key is generated.
929
- * The constructor calculates the secret scalar and public key from the private key,
930
- * and computes a commitment of the public key using a hash function (Poseidon).
931
- *
932
- * @example
933
- * // Generates an identity.
934
- * const { privateKey, publicKey, commitment } = new Identity("private-key")
935
- * @example
936
- * // Generates an identity with a random private key.
937
- * const { privateKey, publicKey, commitment } = new Identity()
938
- *
939
- * @param privateKey The private key used to derive the public key.
940
- */
941
- function Identity(privateKey) {
942
- if (privateKey === void 0) { privateKey = randomNumber().toString(); }
943
- this._privateKey = privateKey;
944
- this._secretScalar = deriveSecretScalar(privateKey);
945
- this._publicKey = derivePublicKey(privateKey);
946
- this._commitment = poseidon2_2(this._publicKey).toString();
947
- }
948
- Object.defineProperty(Identity.prototype, "privateKey", {
949
- /**
950
- * Returns the private key.
951
- * @returns The private key as a {@link https://zkkit.pse.dev/types/_zk_kit_utils.BigNumberish.html | BigNumberish}.
952
- */
953
- get: function () {
954
- return this._privateKey;
955
- },
956
- enumerable: false,
957
- configurable: true
958
- });
959
- Object.defineProperty(Identity.prototype, "secretScalar", {
960
- /**
961
- * Returns the secret scalar.
962
- * @returns The secret scalar as a string.
963
- */
964
- get: function () {
965
- return this._secretScalar;
966
- },
967
- enumerable: false,
968
- configurable: true
969
- });
970
- Object.defineProperty(Identity.prototype, "publicKey", {
971
- /**
972
- * Returns the public key as a Baby Jubjub {@link https://zkkit.pse.dev/types/_zk_kit_baby_jubjub.Point.html | Point}.
973
- * @returns The public key as a point.
974
- */
975
- get: function () {
976
- return this._publicKey;
977
- },
978
- enumerable: false,
979
- configurable: true
980
- });
981
- Object.defineProperty(Identity.prototype, "commitment", {
982
- /**
983
- * Returns the commitment hash of the public key.
984
- * @returns The commitment as a string.
985
- */
986
- get: function () {
987
- return this._commitment;
988
- },
989
- enumerable: false,
990
- configurable: true
991
- });
992
- /**
993
- * Generates a signature for a given message using the private key.
994
- * This method demonstrates how to sign a message and could be used
995
- * for authentication or data integrity.
996
- *
997
- * @example
998
- * const identity = new Identity()
999
- * const signature = identity.signMessage("message")
1000
- *
1001
- * @param message The message to be signed.
1002
- * @returns A {@link https://zkkit.pse.dev/types/_zk_kit_eddsa_poseidon.Signature.html | Signature} object containing the signature components.
1003
- */
1004
- Identity.prototype.signMessage = function (message) {
1005
- return signMessage(this.privateKey, message);
1006
- };
1007
- /**
1008
- * Verifies a signature against a given message and public key.
1009
- * This static method allows for the verification of signatures without needing
1010
- * an instance of the Identity class. It's useful for cases where you only have
1011
- * the public key, the message and a signature, and need to verify if they match.
1012
- *
1013
- * @example
1014
- * const identity = new Identity()
1015
- * const signature = identity.signMessage("message")
1016
- * Identity.verifySignature("message", signature, identity.publicKey)
1017
- *
1018
- * @param message The message that was signed.
1019
- * @param signature The signature to verify.
1020
- * @param publicKey The public key to use for verification.
1021
- * @returns A boolean indicating whether the signature is valid.
1022
- */
1023
- Identity.verifySignature = function (message, signature, publicKey) {
1024
- return verifySignature(message, signature, publicKey);
1025
- };
1026
- return Identity;
1027
- }());
1028
-
1029
- export { Identity };