@interfold/sdk 0.2.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.
@@ -0,0 +1,1932 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/crypto/index.ts
31
+ var crypto_exports = {};
32
+ __export(crypto_exports, {
33
+ ThresholdBfvParamsPresetNames: () => ThresholdBfvParamsPresetNames,
34
+ computePublicKeyCommitment: () => computePublicKeyCommitment,
35
+ encryptNumber: () => encryptNumber,
36
+ encryptNumberAndGenInputs: () => encryptNumberAndGenInputs,
37
+ encryptNumberAndGenProof: () => encryptNumberAndGenProof,
38
+ encryptVector: () => encryptVector,
39
+ encryptVectorAndGenInputs: () => encryptVectorAndGenInputs,
40
+ encryptVectorAndGenProof: () => encryptVectorAndGenProof,
41
+ generateProof: () => generateProof,
42
+ generatePublicKey: () => generatePublicKey,
43
+ getThresholdBfvParamsSet: () => getThresholdBfvParamsSet
44
+ });
45
+ module.exports = __toCommonJS(crypto_exports);
46
+
47
+ // src/crypto/encrypt.ts
48
+ var import_init = __toESM(require("@interfold/wasm/init"), 1);
49
+ var import_wasm = require("@interfold/wasm");
50
+
51
+ // src/crypto/user-data-encryption.ts
52
+ var import_bb = require("@aztec/bb.js");
53
+
54
+ // ../../circuits/bin/threshold/target/user_data_encryption_ct0.json
55
+ var user_data_encryption_ct0_default = { noir_version: "1.0.0-beta.16+2d46fca7203545cbbfb31a0d0328de6c10a8db95", hash: "16512996555824037860", abi: { parameters: [{ name: "pk0is", type: { kind: "array", length: 2, type: { kind: "struct", path: "lib::math::polynomial::Polynomial", fields: [{ name: "coefficients", type: { kind: "array", length: 512, type: { kind: "field" } } }] } }, visibility: "private" }, { name: "ct0is", type: { kind: "array", length: 2, type: { kind: "struct", path: "lib::math::polynomial::Polynomial", fields: [{ name: "coefficients", type: { kind: "array", length: 512, type: { kind: "field" } } }] } }, visibility: "private" }, { name: "u", type: { kind: "struct", path: "lib::math::polynomial::Polynomial", fields: [{ name: "coefficients", type: { kind: "array", length: 512, type: { kind: "field" } } }] }, visibility: "private" }, { name: "e0", type: { kind: "struct", path: "lib::math::polynomial::Polynomial", fields: [{ name: "coefficients", type: { kind: "array", length: 512, type: { kind: "field" } } }] }, visibility: "private" }, { name: "e0is", type: { kind: "array", length: 2, type: { kind: "struct", path: "lib::math::polynomial::Polynomial", fields: [{ name: "coefficients", type: { kind: "array", length: 512, type: { kind: "field" } } }] } }, visibility: "private" }, { name: "e0_quotients", type: { kind: "array", length: 2, type: { kind: "struct", path: "lib::math::polynomial::Polynomial", fields: [{ name: "coefficients", type: { kind: "array", length: 512, type: { kind: "field" } } }] } }, visibility: "private" }, { name: "k1", type: { kind: "struct", path: "lib::math::polynomial::Polynomial", fields: [{ name: "coefficients", type: { kind: "array", length: 512, type: { kind: "field" } } }] }, visibility: "private" }, { name: "r1is", type: { kind: "array", length: 2, type: { kind: "struct", path: "lib::math::polynomial::Polynomial", fields: [{ name: "coefficients", type: { kind: "array", length: 1023, type: { kind: "field" } } }] } }, visibility: "private" }, { name: "r2is", type: { kind: "array", length: 2, type: { kind: "struct", path: "lib::math::polynomial::Polynomial", fields: [{ name: "coefficients", type: { kind: "array", length: 511, type: { kind: "field" } } }] } }, visibility: "private" }], return_type: { abi_type: { kind: "tuple", fields: [{ kind: "field" }, { kind: "field" }, { kind: "field" }, { kind: "field" }] }, visibility: "public" }, error_types: { "12469291177396340830": { error_kind: "string", string: "call to assert_max_bit_size" }, "15579388420377730771": { error_kind: "string", string: "ct0 encryption check failed" } } }, bytecode: "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b9vDcJ7/e+fVswDg2dNwnj2Nd0/f2/62vQzn2ct49ywIePY2nGdv493T97a/bR/DefYx3j0N4NnXcJ59jXdP39v+tv0M59nPePcsBHj2N5xnf+Pd0/e2v+0Aw3kOMN49AwDPgYbzHGi8e/re9rcdZDjPQca7Z2HAc7DhPAcb756+t/1thxjOc4jx7hkIeA41nOdQ493T97a/7TDDeQ4z3j2LAJ7DDec53Hj39L3tbzvCcJ4jjHfPooDnSMN5jjTePX1v+9uOMpznKOPdsxjgOdpwnqONd0/f2/62YwznOcZ49ywOeI41nOdY493T97a/7TjDeY4z3j1LAJ7jDec53nj39L3tbzvBcJ4TjHfPkoDnRMN5TjTePX1v+9tOMpznJOPdsxTgOdlwnpONd0/f2/62UwznOcV49ywNeE41nOdU493T97a/7TTDeU4z3j3LAJ7TDec53Xj39L3tbzvDcJ4zjHfPsoDnTMN5zjTePX1v+9vOMpznLOPdsxzgOdtwnrONd0/f2/62cwznOcd49ywPeM41nOdc493T97a/7TzDec4z3j0rAJ7zDec533j39L3tb7vAcJ4LjHfPioDnQsN5LjTePX1v+9suMpznIuPdsxLgudhwnouNd0/f2/62SwznucR496wMeC41nOdS493T97a/7TLDeS4z3j2rAJ7LDee53Hj39L3tb7vCcJ4rjHfPqoDnSsN5rjTePX1v+9uuMpznKuPdsxrgudpwnquNd0/f2/62awznucZ496wOeK41nOda493T97a/7TrDea4z3j1rAJ7rDee53nj39L3tb7vBcJ4bjHfPmoDnRsN5bjTePX1v+9tuMpznJuPdsxbgudlwnpuNd0/f2/62WwznucV496wNeG41nOdW493T97a/7TbDeW4z3j3rAJ7bDee53Xj39L3tb7vDcJ47jHfPuoDnTsN57jTePX1v+9vuMpznLuPdsx7gudtwnruNd0/f2/62ewznucd496wPeO41nOde493T97a/7T7Dee4z3j0bAJ77Dee533j39L3tb3vAcJ4HjHfPhoDnQcN5HjTePX1v+9seMpznIePdsxHgedhwnoeNd0/f2/62RwznecR492wMeB41nOdR493T97a/7THDeR4z3j2bAJ7HDed53Hj39L3tb3vCcJ4njHfPpoDnScN5njTePX1v+9ueMpznKePd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BUD/Akv9C4H+hUD/Qkv9i4D+RUD/Ikv9i4H+xUD/Ykv9S4D+JUD/Ekv9S4H+pUD/Ukv9y4D+ZUD/Mkv9y4H+5UD/ckv9K4D+FUD/Ckv9K4H+lUD/Skv9q4D+VUD/Kkv9q4H+1UD/akv9a4D+NUD/Gkv9a4H+tUD/Wkv964D+dUD/Okv964H+9UD/ekv9G4D+DUD/Bkv9G4H+jUD/Rkv9m4D+TUD/Jkv9m4H+zUD/Zkv9W4D+LUD/Fkv9W4H+rUD/Vkv924D+bUD/Nkv924H+7UD/dkv9O4D+HUD/Dkv9O4H+nUD/Tkv9u4D+XUD/Lkv9u4H+3UD/bkv9e4D+PUD/Hkv9e4H+vUD/Xkv9+4D+fUD/Pkv9+4H+/UD/fkv9B4D+A0D/AUv9B4H+g0D/QUv9h4D+Q0D/IUv9h4H+w0D/YUv9R4D+I0D/EUv9R4H+o0D/UUv9x4D+Y0D/MUv9x4H+40D/cUv9J4D+E0D/CUv9J4H+k0D/SUv9p4D+U0D/KUv9p4H+00D/aUv9Z4D+M0D/GUv9Z4H+s0D/WUv954D+c0D/OUv954H+80D/eUv9F4D+C0D/BUv9F4H+i0D/RUv9l4D+S0D/JUv9l4H+y0D/ZUv9V4D+K0D/FUv9V4H+q0D/VUv914D+a0D/NUv914H+60D/dUv9N4D+G0D/DUv9N4H+m0D/TUv9t4D+W0D/LUv9t4H+20D/bUv9d4D+O0D/HUv9d4H+u0D/XUv994D+e0D/PUv994H++0D/fUv9D4D+B0D/A0v9D4H+h0D/Q0v9j4D+R0D/I0v9j4H+x0D/Y0v9T4D+J0D/E0v9T4H+p0D/U0v9z4D+Z0D/M0v9z4H+50D/c0v9L4D+F0D/C0v9L4H+l0D/S0v9r4D+V0D/K0v9r4H+10D/a0v9b4D+N0D/G0v9b4H+t0D/W0v974D+d0D/O0v974H+90D/e0v9H4D+D0D/B0v9H4H+j0D/R0v9n4D+T0D/J0v9n4H+z0D/Z0v9X4D+L0D/F0v9X4H+r0D/V0v934D+b0D/N0v934H+70D/d0v9P4D+H0D/D0v9P4H+n0D/T0v9v4D+X0D/L0v9v4H+30D/b0v9f4D+P0D/H0v9f4H+v0D/X0v9/4D+f0D/P0v9/4Vz3/9fBPf9/0Wx0x8E6A8C9Aex1B8U6A8K9Ae11B8M6A8G9Aez1B8c6A8O9Ae31B8C6A8B9Iew1B8S6A8J9Ie01B8K6A8F9Iey1B8a6A8N9Ie21B8G6A8D9Iex1B8W6A8L9Ie11B8O6A8H9Iez1B8e6A8P9Ie31B8B6I8A9Eew1B8R6I8I9Ee01B8J6I8E9Eey1B8Z6I8M9Ee21B8F6I8C9Eex1B8V6I8K9Ee11B8N6I8G9Eez1B8d6I8O9Ee31B8D6I8B9Mew1B8T6I8J9Me01B8L6I8F9Mey1B8b6I8N9Me21B8H6I8D9Mex1B8X6I8L9Me11B8P6I8H9Mez1B8f6I8P9Me31J8A6E8A9Cew1J8Q6E8I9Ce01J8I6E8E9Cey1O8A/Q7Q71jqTwz0Jwb6E1vqTwL0JwH6k1jqTwr0JwX6k1rqTwb0JwP6k1nqTw70Jwf6k1vqTwH0pwD6U1jqTwn0pwT6U1rqTwX0pwL6U1nqTw30pwb6U1vqTwP0pwH601jqTwv0pwX601rqTwf0pwP601nqTw/0pwf601vqzwD0ZwD6M1jqzwj0ZwT6M1rqzwT0ZwL6M1nqzwz0Zwb6M1vqzwL0ZwH6s1jqzwr0ZwX6s1rqzwb0ZwP6s1nqzw70Zwf6s1vqzwH05wD6c1jqzwn05wT6c1rqzwX05wL6c1nqzw305wb6c1vqzwP05wH681jqzwv05wX681rqzwf05wP681nqzw/05wf681vqLwD0FwD6C1jqLwj0FwT6C1rqN0C/AfqNpf5CQH8hoL+Qpf4AoD8A6A+w1F8Y6C8M9Be21B8I9AcC/YGW+osA/UWA/iKW+osC/UWB/qKW+osB/cWA/mKW+osD/cWB/uKW+ksA/SWA/hKW+ksC/SWB/pKW+ksB/aWA/lKW+ksD/aWB/tKW+ssA/WWA/jKW+ssC/WWB/rKW+ssB/eWA/nKW+ssD/eWB/vKW+isA/RWA/gqW+isC/RWB/oqW+isB/ZWA/kqW+isD/ZWB/sqW+qsA/VWA/iqW+qsC/VWB/qqW+qsB/dWA/mqW+qsD/dWB/uqW+msA/TWA/hqW+msC/TWB/pqW+msB/bWA/lqW+msD/bWB/tqW+usA/XWA/jqW+usC/XWB/rqW+usB/fWA/nqW+usD/fWB/vqW+hsA/Q2A/gaW+hsC/Q2B/oaW+hsB/Y2A/kaW+hsD/Y2B/saW+psA/U2A/iaW+psC/U2B/qaW+psB/c2A/maW+psD/c2B/uaW+lsA/S2A/haW+lsC/S2B/paW+lsB/a2A/laW+lsD/a2B/taW+tsA/W2A/jaW+tsC/W2B/raW+tsB/e2A/naW+tsD/e2B/vaW+jsA/R2A/g6W+jsC/R2B/o6W+jsB/Z2A/k6W+jsD/Z2B/s6W+rsA/V2A/i6W+rsC/V2B/q6W+rsB/d2A/m6W+rsD/d2B/u6W+nsA/T2A/h6W+nsC/T2B/p6W+nsB/b2A/l6W+nsD/b2B/t6W+vsA/X2A/j6W+vsC/X2B/r6W+vsB/f2A/n6W+vsD/f2B/v6W+gcA/QOA/gGW+gcC/QOB/oGW+gcB/YOA/kGW+gcD/YOB/sGW+ocA/UOA/iGW+ocC/UOB/qGW+ocB/cOA/mGW+ocD/cOB/uGW+kcA/SOA/hGW+kcC/SOB/pGW+kcB/aOA/lGW+kcD/aOB/tGW+scA/WOA/jGW+scC/WOB/rGW+scB/eOA/nGW+scD/eOB/vGW+icA/ROA/gmW+icC/ROB/omW+icB/ZOA/kmW+icD/ZOB/smW+qcA/VOA/imW+qcC/VOB/qmW+qcB/dOA/mmW+qcD/dOB/umW+mcA/TOA/hmW+mcC/TOB/pmW+mcB/bOA/lmW+mcD/bOB/tmW+ucA/XOA/jmW+ucC/XOB/rmW+ucB/fOA/nmW+ucD/fOB/vmW+hcA/QuA/gWW+hcC/QuB/oWW+hcB/YuA/kWW+hcD/YuB/sWW+pcA/UuA/iWW+pcC/UuB/qWW+pcB/cuA/mWW+pcD/cuB/uWW+lcA/SuA/hWW+lcC/SuB/pWW+lcB/auA/lWW+lcD/auB/tWW+tcA/WuA/jWW+tcC/WuB/rWW+tcB/euA/nWW+tcD/euB/vWW+jcA/RuA/g2W+jcC/RuB/o2W+jcB/ZuA/k2W+jcD/ZuB/s2W+rcA/VuA/i2W+rcC/VuB/q2W+rcB/duA/m2W+rcD/duB/u2W+ncA/TuA/h2W+ncC/TuB/p2W+ncB/buA/l2W+ncD/buB/t2W+vcA/XuA/j2W+vcC/XuB/r2W+vcB/fuA/n2W+vcD/fuB/v2W+g8A/QeA/gOW+g8C/QeB/oOW+g8B/YeA/kOW+g8D/YeB/sOW+o8A/UeA/iOW+o8C/UeB/qOW+o8B/ceA/mOW+o8D/ceB/uOW+k8A/SeA/hOW+k8C/SeB/pOW+k8B/aeA/lOW+k8D/aeB/tOW+s8A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aRQY0ggYRlvmDGkVGNIKGMZY5gzpFBjSCRjGWuYM6RUY0gsYxlnmDBkUGDIIGMZb5gwZFRgyChgmWOYMmRQYMgkYJlrmDJkVGDILGCZZ5gxZFBiyCBgmW+YMWRUYsgoYpljmDNkUGLIJGKZa5gzZFRiyCximWeYMORQYcggYplvmDDkVGHIKGGZY5gy5FBhyCRhmWuYMuRUYcgsYZlnmDHkUGPIIGGZb5gx5FRjyChjmWOYM+RQY8gkY5lrmDPkVGPILGOZZ5gwFFBgKCBjmW+YMBRUYCgoYFljmDIUUGAoJGBZa5gyFFRgKCxgWWeYMRRQYiggYFlvmDEUVGIoKGJZY5gzFFBiKCRiWWuYMxRUYigsYllnmDCUUGEoIGJZb5gwlFRhKChhWWOYMpRQYSgkYVlrmDKUVGEoLGFZZ5gxlFBjKCBhWW+YMZRUYygoY1ljmDOUUGMoJGNZa5gzlFRjKCxjWWeYMFRQYKggY1lvmDBUVGCoKGDZY5gyVFBgqCRg2WuYMlRUYKgsYNlnmDFUUGKoIGDZb5gxVFRiqChi2WOYM1RQYqgkYtlrmDNUVGKoLGLZZ5gw1FBhqCBi2W+YMNRUYagoYdljmDLUUGGoJGHZa5gy1FRhqCxh2WeYMdRQY6ggYdlvmDHUVGOoKGPZY5gz1FBjqCRj2WuYM9RUY6gsY9lnmDA0UGBoIGPZb5gwNFRgaChgOWOYMjRQYGgkYDlrmDI0VGBoLGA5Z5gxNFBiaCBgOW+YMTRUYmgoYjljmDM0UGJoJGI5a5gzNFRiaCxiOWeYMLRQYWggYjlvmDC0VGFoKGE5Y5gytFBhaCRhOWuYMrRUYWgsYTlnmDG0UGNoIGE5b5gxtFRjaChjOWOYM7RQY2gkYzlrmDO0VGNoLGM5Z5gwdFBg6CBjOW+YMHRUYOgoYLljmDJ0UGDoJGC5a5gydFRg6CxguWeYMXRQYuggYLlvmDF0VGLoKGK5Y5gzdFBi6CRiuWuYM3RUYugsYrlnmDD0UGHoIGK5b5gw9FRh6ChhuWOYMvRQYegkYblrmDL0VGHoLGG5Z5gx9FBj6CBhuW+YMfRUY+goY7ljmDP0UGPoJGO5a5gz9FRj6CxjuWeYMAxQYBggY7lvmDAMVGAYKGB5Y5gyDFBgGCRgeWuYMgxUYBgsYHlnmDEMUGIYIGB5b5gxDFRiGChieWOYM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", debug_symbols: "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Ok86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOr90fun80vml80vnl84vnV86v3R+6fzS+aXzS+eXzi+dXzq/dH7p/NL5pfNL55fOL51fOr90fun80vml80vnl84vnV86v3R+6fzS+aXzS+eXzi+dXzq/dH7p/NL5pfNL55fOL51fOr90fun80vml80vnl84vnV86v3R+6fzS+aXzS+eXzi+dXzq/dH7p/NL5pfNL55fOL51fOr90fun80vml80vnl84vnV86v3R+6fzS+aXzS+eXzi+dXzq/dH7p/NL5pfNL55fOL51fOr90fun80vml86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfN9nevzOtfnda7P61yf17k+r3N9Xuf6vM71eZ3r8zrX53Wuz+tcn9e5Pq9zfV7n+rzO9Xmd6/M61+d1rs/rXJ/gjsMdhzsOdxzuONxxuONwx+GOwx2HO8Qd4g5xh7hD3CHuEHeIO8Qd4o7kjuSO5I7kjuSO5I7kjuSO5I7kjuKO4o7ijuKO4o7ijuKO4o7ijuKOyx2XOy53XO643HG543LH5Y7LHZc7mjuaO5o7mjuaO5o7mjuaO5o7mjuGO4Y7hjuGO4Y7hjuGO4Y7hjuGO5Y7ljuWO5Y7ljuWO5Y7ljuWO+gcDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMJDyc8nPBwwsMlHi7xcImHSzxc4uESD5d4uMTDJR4u8XCJh0s8XOLhEg+XeLjEwyUeLvFwiYdLPFzi4RIPl3i4xMMlHi7xcImHSzxc4uESD5d4uMTDJR4u8XCJh0s8XOLhEg+XeLjEwyUeLvFwiYdLPFzi4RIPl3i4xMMlHi7xcImHSzxc4uESD5d4uMTDJR4u8XCJh0s8XOLhEg+XeLjEwyUeLvFwiYdLPFzi4RIPl3i4xMMlHi7xcImHSzxc4uESD5d4uMTDJR4u8XCJh0s8XOLhEg+XeLjEwyUeLvFwiYdLPFzi4RIPl3i4xMPlHx7u6I9HzaO//O84949H+330h4f746N/eLjvo8NHxaPko8Wjy0ebR8NH9z36a+c/PvrXzr+PDh8Vj5KPFo8uH20eDR/ljsMdhzsOdxzuONxxuONwx+GOwx2HO8Qd4g5xh7hD3CHuEHeIO8Qd4o7kjuSO5I7kjuSO5I7kjuSO5I7kjuKO4o7ijuKO4o7ijuKO4o7ijuKOyx2XOy53XO643HG543LH5Y7LHZc7mjuaO5o7mjuaO5o7mjuaO5o7mjuGO4Y7hjuGO4Y7hjuGO4Y7hjuGO5Y7ljuWO5Y7ljuWO+g86DzoPOj80Pmh80Pnh84PnR86P3R+6PzQ+aHzQ+eHzg+dHzo/dH7o/ND5ofND54fOD50fOj90fuj80Pmh80Pnh84PnR86P3R+6PzQ+aHzQ+eHzg+dHzo/dH7o/ND5ofND54fOD50fOj90fuj80Pmh80Pnh84PnR86P3R+6PzQ+aHzQ+eHzg+dHzo/dH7o/ND5ofND54fOD50fOj90fuj80Pmh80Pnh84PnR86P3R+6PzQ+aHzQ+eHzg+dHzo/dH7o/ND5ofND54fOD50fOj90fuj80Pmh80Pnh85F56Jz0bnoXHQuOhedi85F56Jz0bnoXHQuOhedi85F56Jz0bnoXHQuOhedi85F56Jz0bnoXHQuOhedi85F56Jz0bnoXHQuOhedi85F56Jz0bnoXHQuOhedi85F56Jz0bnoXHQuOhedi85F56Jz0bnoXHQuOhedi85F56Jz0bnoXHQuOhedi85F56Jz0bnoXHQuOhedi85F56Jz0bnoXHQuOhedi85F56Jz0bnoXHQuOhedi85F56Jz0bnoPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOk86TzpPOm86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86LzovOi86PzS+aXzS+eXzi+dXzq/dH7p/NL5pfNL55fOL51fOr90fun80vml80vnl84vnV86v3R+6fzS+aXzS+eXzi+dXzq/dH7p/NL5pfNL55fOL51fOr90fun80vml80vnl84vnV86v3R+6fzS+aXzS+eXzi+dXzq/dH7p/NL5pfNL55fOL51fOr90fun80vml80vnl84vnV86v3R+6fzS+aXzS+eXzi+dXzq/dH7p/NL5pfNL55fOL51fOr90fun80vml80vnl84vnV86v3R+6fzS+aXzS+eXzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOm86bzpvOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86HzofOh86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl86XzpfOl873dV6f13l9Xuf1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u3i4i4e7eLiLh7t4uIuHu394OJ0/HhWP/vK/Q/XHo+bR8NF9j/7a+Y+P/rXz76PDR8Wj5KPFo8tHm0fDR/c9+mvnPz76186/jw4fFY+443LH5Y7LHZc7Lnc0dzR3NHc0dzR3NHc0dzR3NHc0dwx3DHcMdwx3DHcMdwx3DHcMdwx3LHcsdyx3LHcsdyx3LHcsdyx37LvjDw/3x0f/8HDfR4ePikfJR4tHl482j4aPvjv+8HA/PhrBo8NHxaPko8Wjy0ebR8NHueNwx+GOwx2HOw53HO443HG443DH4Q5xh7hD3CHuEHeIO8Qd4g5xh7gjuSO5I7kjuYPOD50fOj90fuj80Pmh80Pnh84PnR86P3R+6PzQ+aHzQ+eHzg+dHzo/dH7o/ND5ofND54fOD50fOj90fuj80Pmh80Pnh84PnR86P3R+6PzQ+aHzQ+eHzg+dHzo/dH7o/ND5ofND54fOD50fOj90fuj80Pmh80PnonPRuehcdC46F52LzkXnonPRuehcdC46F52LzkXnonPRuehcdC46F52LzkXnonPRuehcdC46F52LzkXnonPRuehcdC46F52LzkXnonPRuehcdC46F52LzkXnonPRuehcdC46F52LzkXnonPRuehcdC46F52LzkXnonPRuehcdC46F52LzkXnonPRuehcdC46F52LzkXnonPRuehcdC46F52LzkXnonPRuehcdC46F52LzkXnonPRuehcdJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50nnSedJ50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50XnR+6fzS+aXzS+eXzi+dXzq/dH7p/NL5pfNL55fOL51fOr90fun80vml80vnl84vnV86v3R+6fzS+aXzS+eXzi+dXzq/dH7p/NL5pfNL55fOL51fOr90fun80vml80vnl84vnV86v3R+6fzS+aXzS+eXzi+dXzq/dH7p/NL5pfNL55fOL51fOr90fun80vml80vnl84vnV86v3R+6fzS+aXzS+eXzi+dXzq/dH7p/NL5pfNL55fOL51fOr90fun80vml80vnl84vnV86v3R+6fzS+aXzS+dN503nTedN503nTedN503nTedN503nTedN503nTedN503nTedN503nTedN503nTedN503nTedN503nTedN503nTedN503nTedN503nTedN503nTedN503nTedN503nTedN503nTedN503nTedN503nTedN503nTedN503nTedN503nTedN503nTedN503nTedN503nTedN503nTedN503nTedN503nTedN503nTedN503nTedN503nTedN503nTedN503nTedN50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnQ+dD50PnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vnS+dL50vn+zrvz+u8P6/z/rzO+/M678/rvD+v8/68zvvzOu/P67w/r/P+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wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s83OLhFg+3eLjFwy0ebvFwi4dbPNzi4RYPt3i4xcMtHm7xcIuHWzzc4uEWD7d4uMXDLR5u8XCLh1s8XHwAcX99GH54/Avkh+lfUH54/QvaD8e/YHn4kv/rw/DD418gP0z/gvLD61/Qfjj+Bb7t+Lbj245vO77t+Lbj245vO77t+Lbj2+Tb5Nvk2+Tb5Nvk2+Tb5Nvk2+Tb0relb0vflr4tfVv6tvRt6dvSt6VvK99Wvq18W/m28m3l28q3lW8r31a+7fq269uub7u+7fq269uub7u+7fq269vat7Vva9/Wvq19W/u29m3t29q3tW8b3za+bXzb+LbxbePbxreNbxvfNr5tfdv6tvVt69vWt61vW9+2vm19m7ckvCXhLQlvSXhLwlsS3pLwloS3JLwl4S0Jb0l4S8JbEt6S8JaEtyS8JeEtCW9JeEvCWxLekvCWhLckvCXhLQlvSXhLwlsS3pLwloS3JLwl4S0Jb0l4S8JbEt6S8JaEtyS8JeEtCW9JeEvCWxLekvCWhLckvCXhLQlvSXhLwlsS3pLwloS3JLwl4S0Jb0l4S8JbEt6S8JaEtyS8JeEtCW9JeEvCWxLekvCWhLckvCXhLQlvSXhLwlsS3pLwloS3JLwl4S0Jb0l4S8JbEt6S8JaEtyS8JeEtCW9JeEvCWxLekvCWhLckvCXhLQlvSXhLjrfkeEuOt+R4S4635HhLjrfkeEuOt+R4S4635HhLjrfkeEuOt+R4S4635HhLjrfkeEuOt+R4S4635HhLjrfkeEuOt+R4S4635HhLjrfkeEuOt+R4S4635HhL/sB/GT8eth/+5X9b5o+Hy8O/bsn3F/x1S97D418gP0z/gvLD61/Qfjj+BcvDv27J9xf8dUvew+NfID9M/4LyQ99Wvq18W/m269uub7u+7fq269uub7u+7fq269uub2vf1r6tfVv7tvZt7dvat7Vva9/Wvm182/i28W3j28a3jW8b3za+bXzb+Lb1bevb1retb1vftr5tfdv6tvVty21/4MEfv+APPfgeHv8C+WH6F5QfXv+C9sPxL+C2Pxjh9xdE+OHxL5Afpn9B+eH1L2g/HP8C33Z82/Ftx7cd33Z82/Ftx7cd33Z82/Ft8m3ybfJt8m3ybfJt3hJ5S+QtkbdE3hJ5S+QtkbdE3hJ5S+QtkbdE3hJ5S+QtkbdE3hJ5S+QtkbdE3hJ5S+QtkbdE3hJ5S+QtkbdE3hJ5S+QtkbdE3hJ5S+QtkbdE3hJ5S+QtkbdE3hJ5S+QtkbdE3hJ5S+QtkbdE3hJ5S+QtkbdE3hJ5S+QtkbdE3hJ5S+QtkbdE3hJ5S+QtkbckvSXpLUlvSXpL0luS3pL0lqS3JL0l6S1Jb0l6S9Jbkt6S9JaktyS9JektSW9JekvSW5LekvSWpLckvSXpLUlvSXpL0luS3pL0lqS3JL0l6S1Jb0l6S9Jbkt6S9JaktyS9JektSW9JekvSW5LekvSWpLckvSXpLUlvSXpL0luS3pL0lqS3JL0l6S1Jb0l6S9Jbkt6S9JaktyS9JektSW9JekvSW5LekvSWpLckvSXpLUlvSXpL0luS3pL0lqS3JL0l6S1Jb0l6S9Jbkt6S9JaktyS9JektSW9JekvSW5LekvSWpLckvSXpLUlvSXpLyltS3pLylpS3pLwl5S0pb0l5S8pbUt6S8paUt6S8JeUtKW9JeUvKW1LekvKWlLekvCXlLSlvSXlLyltS3pLylpS3pLwl5S0pb0l5S8pbUt6S8paUt6S8JeUtKW9JeUvKW1LekvKWlLekvCXlLSlvSXlLyltS3pLylpS3pLwl5S0pb0l5S8pbUt6S8paUt6S8JeUtKW9JeUvKW1LekvKWlLekvCXlLSlvSXlLyltS3pLylpS3pLwl5S0pb0l5S8pbUt6S8paUt6S8JeUtKW9JeUvKW1LekvKWlLekvCXlLSlvSXlLyltS3pLylpS35HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut6S9Je0taW9Je0vaW9LekvaWtLekvSXtLWlvSXtL2lvS3pL2lrS3pL0l7S1pb0l7S9pb0t6S9pa0t6S9Je0taW9Je0vaW9LekvaWtLekvSXtLWlvSXtL2lvS3pL2lrS3pL0l7S1pb0l7S9pb0t6S9pa0t6S9Je0taW9Je0vaW9LekvaWtLekvSXtLWlvSXtL2lvS3pL2lrS3pL0l7S1pb0l7S9pb0t6S9pa0t6S9Je0taW9Je0vaW9LekvaWtLekvSXtLWlvSXtL2lvS3pL2lrS3pL0l7S1pb0l7S9pb0t6S9pa0t6S9Je0taW9Je0vGWzLekvGWjLdkvCXjLRlvyXhLxlsy3pLxloy3ZLwl4y0Zb8l4S8ZbMt6S8ZaMt2S8JeMtGW/JeEvGWzLekvGWjLdkvCXjLRlvyXhLxlsy3pLxloy3ZLwl4y0Zb8l4S8ZbMt6S8ZaMt2S8JeMtGW/JeEvGWzLekvGWjLdkvCXjLRlvyXhLxlsy3pLxloy3ZLwl4y0Zb8l4S8ZbMt6S8ZaMt2S8JeMtGW/JeEvGWzLekvGWjLdkvCXjLRlvyXhLxlsy3pLxloy3ZLwl4y0Zb8l4S8ZbMt6S8ZaMt2S8JeMtGW/JeEvGWzLekvGWjLdkvSXrLVlvyXpL1luy3pL1lqy3ZL0l6y1Zb8l6S9Zbst6S9Zast2S9JestWW/JekvWW7LekvWWrLdkvSXrLVlvyXpL1luy3pL1lqy3ZL0l6y1Zb8l6S9Zbst6S9Zast2S9JestWW/JekvWW7LekvWWrLdkvSXrLVlvyXpL1luy3pL1lqy3ZL0l6y1Zb8l6S9Zbst6S9Zast2S9JestWW/JekvWW7LekvWWrLdkvSXrLVlvyXpL1luy3pL1lqy3ZL0l6y1Zb8l6S9Zbst6S9Zast2S9JestWW/JekvWW7LekvWWrLdkvSXrLVlvybIl8WFL4sOWxIctiQ9bEh+2JD5sSXzYkviwJfFhS+LDlsSHLYkPWxIftiQ+bEl82JL4sCXxYUviw5bEhy2JT/i249uObzu+7fi249uObzu+7fi249uOb5Nvk2+Tb5Nvk2+Tb5Nvk2+Tb5NvS9+Wvi19W/q29G3p29K3pW9L35a+rXxb+bbybeXbyreVbyvfVr6tfFv5tuvbrm+7vu36tuvbrm+7vu36tuvbrm9r39a+rX1b+7b2be3b2re1b2vf1r5tfNv4tvFt49vGt41vG982vm182/i29W3r29a3rW9b37a+bX3b+rb1bd6S8JaEtyS8JeEtCW9JeEvCWxLekvCWhLckvCXhLQlvSXhLwlsS3pLwloS3JLwl4S0Jb0l4S8JbEt6S8JaEtyS8JeEtCW9JeEvCWxLekvCWhLckvCXhLQlvSXhLwlsS3pLwloS3JLwl4S0Jb0l4S8JbEt6S8JaEtyS8JeEtCW9JeEvCWxLekvCWhLckvCXhLQlvSXhLwlsS3pLwloS3JLwl4S0Jb0l4S8JbEt6S8JaEtyS8JeEtCW9JeEvCWxLekvCWhLckvCXhLQlvSXhLwlsS3pLwloS3JLwl4S0Jb0l4S8JbEt6S8JaEtyS8JeEtOd6S4y053pLjLTnekuMtOd6S4y053pLjLTnekuMtOd6S4y053pLjLTnekuMtOd6S4y053pLjLTnekuMtOd6S4y053pLjLTnekuMtOd6S4y053pLjLTnekuMtsXsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9ewew2717B7DbvXsHsNu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9dj93rsXo/d67F7PXavx+712L0eu9fDfzH8Xx+GH57v/9Hfw383/F8fpn9B+eH1L2g/HP+C5SH/t6MP/x3xf314/Avkh+lfUH54/QvaD8e/YN9D/svi//ow/PD4F8gP07+g/PD6F7Qfjn8Bt/FfG//Xh+GHx79Afpj+BeWH17+g/XD8C3zb8W3Htx3fdnzb8W3Htx3fdnzb8W3Ht8m3ybfJt8m3ybfJt8m3ybfJt8m3pW9L35a+LX1b+rb0benb0relb0vfVr6tfFv5tvJt5dvKt5VvK99Wvq182/Vt17dd33Z92/Vt17dd33Z92/Vt17e1b2vf1r6tfVv7tvZt7dvat7Vva9/mLZG3RN4SeUvkLZG3RN4SeUvkLZG3RN4SeUvkLZG3RN4SeUvkLZG3RN4SeUvSW5LekvSWpLckvSXpLUlvSXpL0luS3pL0lqS3JL0l6S1Jb0l6S9Jbkt6S9JaktyS9JektSW9JekvSW5LekvSWpLckvSXpLUlvSXpL0luS3pL0lqS3JL0l6S1Jb0l6S9Jbkt6S9JaktyS9JektSW9JekvSW5LekvSWpLckvSXpLUlvSXpL0luS3pL0lqS3JL0l6S1Jb0l6S9Jbkt6S9JaktyS9JektSW9JekvSW5LekvSWpLckvSXpLUlvSXpL0luS3pL0lqS3JL0l6S1Jb0l6S9Jbkt6S9JaktyS9JektSW9JekvSW5LekvSWpLekvCXlLSlvSXlLyltS3pLylpS3pLwl5S0pb0l5S8pbUt6S8paUt6S8JeUtKW9JeUvKW1LekvKWlLekvCXlLSlvSXlLyltS3pLylpS3pLwl5S0pb0l5S8pbUt6S8paUt6S8JeUtKW9JeUvKW1LekvKWlLekvCXlLSlvSXlLyltS3pLylpS3pLwl5S0pb0l5S8pbUt6S8paUt6S8JeUtKW9JeUvKW1LekvKWlLekvCXlLSlvSXlLyltS3pLylpS3pLwl5S0pb0l5S8pbUt6S8paUt6S8JeUtKW9JeUvKW1LekvKWlLekvCXlLSlvSXlLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S6635HpLrrfkekuut+R6S9pb0t6S9pa0t6S9Je0taW9Je0vaW9LekvaWtLekvSXtLWlvSXtL2lvS3pL2lrS3pL0l7S1pb0l7S9pb0t6S9pa0t6S9Je0taW9Je0vaW9LekvaWtLekvSXtLWlvSXtL2lvS3pL2lrS3pL0l7S1pb0l7S9pb0t6S9pa0t6S9Je0taW9Je0vaW9LekvaWtLekvSXtLWlvSXtL2lvS3pL2lrS3pL0l7S1pb0l7S9pb0t6S9pa0t6S9Je0taW9Je0vaW9LekvaWtLekvSXtLWlvSXtL2lvS3pL2lrS3pL0l7S1pb0l7S9pb0t6S9pa0t2S8JeMtGW/JeEvGWzLekvGWjLdkvCXjLRlvyXhLxlsy3pLxloy3ZLwl4y0Zb8l4S8ZbMt6S8ZaMt2S8JeMtGW/JeEvGWzLekvGWjLdkvCXjLRlvyXhLxlsy3pLxloy3ZLwl4y0Zb8l4S8ZbMt6S8ZaMt2S8JeMtGW/JeEvGWzLekvGWjLdkvCXjLRlvyXhLxlsy3pLxloy3ZLwl4y0Zb8l4S8ZbMt6S8ZaMt2S8JeMtGW/JeEvGWzLekvGWjLdkvCXjLRlvyXhLxlsy3pLxloy3ZLwl4y0Zb8l4S8ZbMt6S8ZaMt2S8JeMtGW/JeEvWW7LekvWWrLdkvSXrLVlvyXpL1luy3pL1lqy3ZL0l6y1Zb8l6S9Zbst6S9Zast2S9JestWW/JekvWW7LekvWWrLdkvSXrLVlvyXpL1luy3pL1lqy3ZL0l6y1Zb8l6S9Zbst6S9Zast2S9JestWW/JekvWW7LekvWWrLdkvSXrLVlvyXpL1luy3pL1lqy3ZL0l6y1Zb8l6S9Zbst6S9Zast2S9JestWW/JekvWW7LekvWWrLdkvSXrLVlvyXpL1luy3pL1lqy3ZL0l6y1Zb8l6S9Zbst6S9Zast2S9JestWW/JekvWW7LekvWWLFuiD1uiD1uiD1uiD1uiD1uiD1uiD1uiD1uiD1uiD1uiD1uiD1uiD1uiD1uiD1uiD1uiD1uiD1uiD1uiT/i249uObzu+7fi249uObzu+7fi249uOb5Nvk2+Tb5Nvk2+Tb5Nvk2+Tb5NvS9+Wvi19W/q29G3p29K3pW9L35a+rXxb+bbybeXbyreVbyvfVr6tfFv5tuvbrm+7vu36tuvbrm+7vu36tuvbrm9r39a+rX1b+7b2be3b2re1b2vf1r5tfNv4tvFt49vGt41vG982vm182/i29W3r29a3rW9b37a+bX3b+rb1bd6S8JaEtyS8JeEtCW9JeEvCWxLekvCWhLckvCXhLQlvSXhLwlsS3pLwloS3JLwl4S0Jb0l4S8JbEt6S8JaEtyS8JeEtCW9JeEvCWxLekvCWhLckvCXhLQlvSXhLwlsS3pLwloS3JLwl4S0Jb0l4S8JbEt6S8JaEtyS8JeEtCW9JeEvCWxLekvCWhLckvCXhLQlvSXhLwlsS3pLwloS3JLwl4S0Jb0l4S8JbEt6S8JaEtyS8JeEtCW9JeEvCWxLekvCWhLckvCXhLQlvSXhLwlsS3pLwloS3JLwl4S0Jb0l4S8JbEt6S8JaEtyS8JeEtOd6S4y053pLjLTnekuMtOd6S4y053pLjLTnekuMtOd6S4y053pLjLTnekuMtOd6S4y053pLjLTnekuMtOd6S4y053pLjLTnekuMtOd6S4y053pLjLTnekuMtOd6S4y053pLjLTnekuMtOd6S4y053pLjLTnekuMtOd6S4y053pLjLTnekuMtOd6S4y053pLjLTnekuMtOd6S4y053pLjLTnekuMtOd6S4y053pLjLTnekuMtOd6S4y053pLjLTnekuMtOd6S4y2xe5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq+ye5Xdq+xeZfcqu1fZvcruVXavsnuV3avsXmX3KrtX2b3K7lV2r7J7ld2r7F5l9yq7V9m9yu5Vdq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavafeadq9p95p2r2n3mnavaff6/2/qblY1bZLzCp+Lxh68GZHxkz4XIyRZNg2NWrQlgzF97ura+6u91iyKeuEmJxdFseC5dK+X7vXSvV6610v3euleL93rpXu9dK+X7vXSvV6610v3euleL93rpXu9dK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvRfdadK9F91p0r0X3WnSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSvTffadK9N99p0r0332nSv/dW93vN9Juff1+79Pouz+cFwLj94P+cvS/74wS9Lfp/BD5Lz8oPibH4wnMsP3s/5y5I/fvDLkt8nb3u87fG2x9seb3u87fG29/O2r+71+wdf3evvM/hBcl5+UJzND4Zz+cHP27661z9+cA5n8IPkvPygOJsfDOfyA94WvC14W/C24G3B24K3BW8L3ha8LXhb8rbkbcnbkrclb0velrwteVvytuRtl7dd3nZ52+Vtl7dd3nZ52+Vtl7dd3la8rXhb8bbibcXbircVbyveVryteFvztuZtzduatzVva97WvK15W/O25m3D24a3YcnFkoslF0sullwsuVhyseRiycWSiyUXSy6WXCy5WHKx5GLJxZKLJRdLLpZcLLlYcrHkYsnFkoslF0sKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSx6WPCx5WPKw5GHJw5KHJQ9LHpY8LHlY8rDkYcnDkoclD0seljwseVjysORhycOShyUPSx6WPCx5WPKw5GHJw5KHJQ9LHpY8LHlY8rDkYcnDkoclD0seljwseVjysORhycOShyUPSx6WPCx5WPKw5GHJw5KHJQ9LHpY8LHlY8rDkYcnDkoclD0seljwseVjysORhycOShyUPSx6WPCx5WPKw5GHJw5KHJQ9LHpY8LHlY8rDkYcnDkoclD0seljwseVjysORhycOShyUPSx6WPCx5WPJ+LJnPjyXz+bFkPj+WzOfHkvn8WDKfH0vm82PJfH4smc+PJfP5sWQ+P5bM58eS+fxYMp8fS+bzY8l8fiyZz48l8/mxZD4/lszn8LbgbcHbgrcFbwveFrwteFvwtuBtwduStyVvS96WvC15W/K25G3J25K3JW+7vO3ytsvbLm+7vO3ytsvbLm+7vO3ytuJtxduKtxVvK95WvK14W/G24m3F25q3NW9r3ta8rXlb87bmbc3bmrc1bxveNrxteNvwtuFtw9uGtw1vG942vG152/K25W3L25a3LW9b3ra8bXnb8rbH2x5ve7zt8bbH2x5ve7zt8bbH27DkYMnBkoMlB0sOlhwsOVhysORgycGSgyUHSw6WHCw5WHKw5GDJwZKDJQdLDpYcLDlYcrDkYMnBkoMlB0sOlhwsOVhysORgycGSgyUHSw6WHCw5WHKw5GDJwZKDJQdLDpYcLDlYcrDkYMnBkoMlB0sOlhwsOVhysORgycGSgyUHSw6WHCw5WHKw5GDJwZKDJQdLDpYcLDlYcrDkYMnBkoMlB0sOlhwsOVhysORgycGSgyUHSw6WHCw5WHKw5GDJwZKDJQdLDpYcLDlYcrDkYMnBkoMlB0sCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSS+heh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXoXofudeheh+516F6H7nXpXpfudelel+516V6X7nXpXpfudelel+516V6X7nXpXpfudelel+516V6X7nXpXpfudelel+516V6X7nXpXpfudelel+516V6X7nXpXpfudelel+516V6X7nXpXpfudelel+516V6X7nXpXpfudelel+516V6X7nXpXpfudelel+516V6X7nXpXpfudelel+516V6X7nXpXpfudelel+516V6X7nXpXpfudelel+516V6X7nXpXpfudelel+516V6X7nXpXpfudelel+516V6X7nXpXpfudelel+516V6X7nXpXpfudelel+516V6X7nXpXpfudelel+516V6X7nXpXpfudelel+516V6X7nXpXpfudelel+516V6X7nXpXpfudelel+516V6X7nXpXpfudelel+516V6X7nXpXpfudelel+516V6X7nXpXpfudelel+516V6X7nXpXpfudelel+516V6X7nXpXpfudelel+516V6X7nXpXpfudelel+516V6X7nXpXpfudelel+516V6X7nXpXpfudelel+516V6X7nXpXpfudelel+516V6X7nXpXv9+8jYsoXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V7XbrXpXtdutele12616V73a/uteL7HM7lfD/nL0t+n4czOJPzchYna8FasBasJWvJWrKWrCVryVqylqwla8naZe2ydlm7rF3WLmuXtcvaZe2yVqwVa8VasVasFWvFWrFWrBVrzVqz1qw1a81as9asNWvNWrM2rA1rw9qwNqwNa8PasDasDWvL2rK2rC1ry9qytqwta8vasvZYe6w91h5rj7XH2mPtsfZYez9rX93r7/NwBmdyXs7ibM7hXE7WDmuHtcPaYe2wdljDksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLCksKSwpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksaSxpLGksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZKHJQ9LHpY8LHlY8rDkYcnDkoclD0seljwseVjysORhycOShyUPSx6WPCx5WPKw5GHJw5KHJQ9LHpY8LHlY8rDkYcnDkoclD0seljwseVjysORhycOShyUPSx6WPCx5WPKw5GHJw5KHJQ9LHpY8LHlY8rDkYcnDkoclD0seljwseVjysORhycOShyUPSx6WPCx5WPKw5GHJw5KHJQ9LHpY8LHlY8rDkYcnDkoclD0seljwseVjysORhycOShyUPSx6WPCx5WPKw5GHJw5KHJQ9LHpa8H0ve58eS9/mx5H1+LHmfH0ve58eS9/mx5H1+LHmfH0ve58eS9/mwdlg7rB3WDmuHtcPaYe2wdlg7rAVrwVqwFqwFa8FasBasBWvBWrKWrCVryVqylqwla8laspasXdYua5e1y9pl7bJ2WbusXdYua8VasVasFWvFWrFWrBVrxVqx1qw1a81as9asNWvNWrPWrDVrw9qwNqwNa8PasDasDWvD2rC2rC1ry9qytqwta8vasrasLWuPtcfaY+2x9lh7rD3WHmuPNSw5WHKw5GDJwZKDJQdLDpYcLDlYcrDkYMnBkoMlB0sOlhwsOVhysORgycGSgyUHSw6WHCw5WHKw5GDJwZKDJQdLDpYcLDlYcrDkYMnBkoMlB0sOlhwsOVhysORgycGSgyUHSw6WHCw5WHKw5GDJwZKDJQdLDpYcLDlYcrDkYMnBkoMlB0sOlhwsOVhysORgycGSgyUHSw6WHCw5WHKw5GDJwZKDJQdLDpYcLDlYcrDkYMnBkoMlB0sOlhwsOVhysORgycGSgyUHSw6WHCw5WHKw5GDJwZLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksCSwJLAksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSxJLEksSSiyUXSy6WXCy5WHKx5GLJxZKLJRdLLpZcLLlYcrHkYsnFErrXR/f66F4f3euje310r4/u9dG9PrrXR/f66F4f3euje310r4/u9dG9PrrXR/f66F4f3euje310r4/u9dG9vq/udc73eTiDMzkvZ3E253Au5/s5i7VirVgr1oq1Yq1YK9aKtWKtWWvWmrVmrVlr1pq1Zq1Za9aGtWFtWBvWhrVhbVgb1oa1YW1ZW9aWtWVtWVvWlrVlbVlb1h5rj7XH2mPtsfZYe6w91h5r72ftq3v9fR7O4EzOy1mczTmcy8naYe2wdlg7rB3WDmuHtcPaYe2wFqwFa8FasBasBWvBWrAWrAVryVqylqwla8laspasJWvJWrKGJYUlhSWFJYUlhSWFJYUlhSWFJYUlhSWFJYUlhSWFJYUlhSWFJYUlhSWFJYUlhSWFJYUlhSWFJYUlhSWFJYUlhSWFJYUlhSWFJYUlhSWFJYUlhSWFJYUlhSWFJYUlhSWFJYUlhSWFJYUlhSWFJYUlhSWFJYUlhSWNJY0ljSWNJY0ljSWNJY0ljSWNJY0ljSWNJY0ljSWNJY0ljSWNJY0ljSWNJY0ljSWNJY0ljSWNJY0ljSWNJY0ljSWNJY0ljSWNJY0ljSWNJY0ljSWNJY0ljSWNJY0ljSWNJY0ljSWNJY0ljSWNJY0ljSWNJY0ljSWNJY0ljSWNJY0ljSWNJY0ljSVf3evs1/llyR/n39fefJ/BmZyXszibcziX8/2cvyz5fbK2rC1ry9qytqwta8vasvZYe6w91h5rj7XH2mPtsfZYez9rX93r7/NwBmdyXs7ibM7hXE7WDmuHtcPaYe2wdlg7rB3WDmuHtWAtWAvWgrVgLVgL1oK1YC1YS9aStWQtWUvWkrVkLVlL1pK1y9pl7bJ2WbusXdYua5e1y9plrVgr1oq1Yq1YK9aKtWKtWCvWmrVmrVlr1pq1Zq1Za9aatWZtWMOSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLBksGSwZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFkq/u9Xzu9310/33vxPm+U/fVXbpb9+he3Y/7lyo/99Gt3aPdo92j3aPdo92j3aPd0G5oN7Qb2g3thnZDu6Hd0G5oN7Wb2k3tpnZTu/m1u9936/61e+v7Xt2P+5c5P/fRHbpT99Vdulu3dq92r3ZLu6Xd0m5pt7Rb2i3tlnZ/KXS+/x/6K5n9ff9y6Of+tbv5fYfu1H11l+7WPbpX9+P+JdLPrd3R7mh3tDvaHe2Odke7o93V7mp3tbvaXe2udle7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1cqrlVcrr1ZerbxaebXyauXVyquVVyuvVl6tvFp5tfJq5dXKq5VXK69WXq28Wnm18mrl1cqrlVcrr1ZerbxaebXyauXVyquVVyuvVl6tvFp5tfJq5dXKq5VXK69WXq28Wnm18mrl1cqrlVcrr1ZerbxaebXyauXVk1dPXj159eTVk1dPXj159eTVk1dPXj159eTVk1dPXj159eTVk1dPXj159eTVk1dPXj159eTVk1dPXj159eTVk1dffXt8ztf9y6uf++gO3an76i7drXt0r27tXu1e7V7tXu1e7V7tXu1e7V7tXu2Wdku7pd3Sbmm3tFvaLe2Wdku7rd3Wbmu3tdvabe22dlu7rd3W7mh3tDvaHe2Odke7o93R7mh3tLvaXe2udle7q93V7mp3tbvaXe0+7T7tPu0+7T7tPu0+7T7tPu2+n93z1bf/3Ed36E7dV3fpbt2je3Vr92j3aPdo92j3aPdo92j3aPdo92g3tBvaDe2GdkO7od3Qbmg3tBvaTe2mdlO7qd3Ubmo3tZvaTe2mdq92r3avdq92r3avdq92r3avdq92S7ul3dJuabe0W9ot7ZZ2S7ul3dZua7e129pt7bZ2W7ut3dZua3e0O9od7Y52R7uj3dHuaHe0O9pd7a52V7ur3dXuane1u9pd7a52n3afdp92n3afdp92n3afdp925dWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15FXIq5BXIa9CXoW8CnkV8irkVcirkFchr0JehbwKeRXyKuRVyKuQVyGvQl6FvAp5FfIq5FXIq5BXIa9CXoW8CnkV8irkVcirkFchr0JehbwKeRXyKuRVyKuQVyGvQl6FvAp5FfIq5FXIq5BXIa9CXoW8CnkV8irkVcirkFchr0JehbwKeRXyKuRVyKuQVyGvQl6FvAp5FfIq5FXIq5BXIa9CXoW8CnkV8irkVcirkFchr0JehbwKeRXyKuRVyKuQVyGvQl6FvAp5FfIq5FXIq5BXIa9CXqW8SnmV8irlVcqrlFcpr1JepbxKeZXyKuVVyquUVymvUl6lvEp5lfIq5VXKq5RXKa9SXqW8SnmV8irlVcqrlFcpr1JepbxKeZXyKuVVyquUVymvUl6lvEp5lfIq5VXKq5RXKa9SXqW8SnmV8irlVcqrlFcpr1JepbxKeZXyKuVVyquUVymvUl6lvEp5lfIq5VXKq5RXKa9SXqW8SnmV8irlVcqrlFcpr1JepbxKeZXyKuVVyquUVymvUl6lvEp5lfIq5VXKq5RXKa9SXqW8SnmV8irl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXW/vbpf97dXf9xHd+hO3Vd36W7do3t1a7e0W9ot7ZZ2S7ul3dJuabe0W9pt7bZ2W7ut3dZua7e129pt7bZ2R7uj3dHuaHe0O9od7Y52R7uj3dXuane1u9pd7a52V7ur3dXuavdp92n3afdp92n3afdp92n3afexW5+P7qM7dKfuq7t0t+7Rvbq1e7R7tHu0e7R7tHu0e7R7tHu0e7Qb2g3thnZDu6Hd0G5oN7Qb2g3tpnZTu6nd1G5qN7Wb2k3tpnblVcmrklclr0pelbwqeVXyquRVyauSVyWvSl6VvCp5VfKq5FXJq5JXJa9KXpW8KnlV8qrkVcmrklclr0pelbwqeVXyquRVyauSVyWvSl6VvCp5VfKq5FXJq5JXJa9KXpW8KnlV8qrkVcmrklclr0pelbwqeVXyquRVyauSVyWvSl61vGp51fKq5VXLq5ZXLa9aXrW8annV8qrlVcurllctr1petbxqedXyquVVy6uWVy2vWl61vGp51fKq5VXLq5ZXLa9aXrW8annV8qrlVcurllctr1petbxqedXyquVVy6uWVy2vWl61vGp51fKq5VXLq5ZXLa9aXrW8annV8qrlVcurllctr1petbxqedXyquVVy6uWVy2vWl61vGp51fKq5VXLq5ZXLa9aXrW8annV8qrlVcurllctr1petbxqedXyquVVy6uWVy2vWl61vGp51fKq5dXIq5FXI69GXo28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8qrkVcmrklclr0pelbwqeVXyquRVyauSVyWvSl6VvCp5VfKq5FXJq5JXJa9KXpW8KnlV8qrkVcmrklclr0pelbwqeVXyquRVyauSVyWvSl6VvCp5VfKq5FXJq5JXJa9KXpW8KnlV8qrkVcurllctr1petbxqedXyquVVy6uWVy2vWl61vGp51fKq5VXLq5ZXLa9aXrW8annV8qrlVcurllctr1petbxqedXyquVVy6uWVy2vWl61vGp51fKq5VXLq5ZXLa9aXrW8annV8qrlVcurllctr1petbxqedXyquVVy6uWVy2vWl61vGp51fKq5VXLq5ZXLa9aXrW8annV8qrlVcurllctr1petbxqedXyquVVy6uWVy2vWl61vGp51fKq5VXLq5ZXLa9aXrW8annV8qrlVcurllctr1pejbwaeTXyauTVyKuRVyOvRl6NvBp5NfJq5NXIq5FXI69GXo28Gnk18mrk1cirkVcjr0ZejbwaeTXyauTVyKuRVyOvRl6NvBp5NfJq5NXIq5FXI69GXo28Gnk18mrk1cirkVcjr0ZejbwaeTXyauTVyKuRVyOvRl6NvBp5NfJq5NXIq5FXI69GXo28Gnk18mrk1cirkVcjr0ZejbwaeTXyauTVyKuRVyOvRl6NvBp5NfJq5NXIq5FXI69GXo28Gnk18mrk1cirkVcjr0ZejbwaeTXyauTVyquVVyuvVl6tvFp5tfJq5dXKq5VXK69WXq28Wnm18mrl1cqrlVcrr1ZerbxaebXyauXVyquVVyuvVl6tvFp5tfJq5dXKq5VXK69WXq28Wnm18mrl1cqrlVcrr1ZerbxaebXyauXVyquVVyuvVl6tvFp5tfJq5dXKq5VXK69WXq28Wnm18mrl1cqrlVcrr1ZerbxaebXyauXVyquVVyuvVl6tvFp5tfJq5dXKq5VXK69WXq28Wnm18mrl1cqrlVcrr1ZerbxaebXyauXVyquVVyuvVl49efXk1ZNXT149efXk1ZNXT149efXk1ZNXT149efXk1ZNXT149efXk1ZNXT149efXk1ZNXT149efXk1ZNXT149efXk1ZNXT149efXk1ZNXT149efXk1ZNXT149efXk1ZNXT149efXk1ZNXT149eaW+PdS3h/r2UN8e6ttDfXuobw/17aG+PdS3h/r2UN8e6ttDfXuobw/17aG+PdS3h/r2UN8e6tvju28/n+/76A7dqfvqLt2te3Sv7se92l3trnZXu6vd1e5qd7W72l3tPu0+7T7tPu0+7T7tPu0+7T7tvp/d/O7bf99Hd+hO3Vd36W7do3t1a/do92j3aPdo92j3aPdo92j3aPdoN7Qb2g3thnZDu6Hd0G5oN7Qb2k3tpnZTu6nd1G5qN7Wb2k3tpnavdq92r3avdq92r3avdq92r3avdku7pd3Sbmm3tFvaLe2Wdku7pd3Wbmu3tdvabe22dlu7rd3Wbmt3tDvaHe2Odke7o93R7mh3tDvaXe2udle7q93V7mp3tbvaXe2udp92n3afdp92n3afdp92n3afduXVkVdHXh15deTVkVdHXh15deTVkVdHXh15deTVkVdHXh15deTVkVdHXh15deTVkVdHXh15deTVkVdHXh15deTVkVdHXh15deTVkVdHXh15deTVkVdHXh15deTVkVdHXh15deTVkVdHXh15deTVkVdHXh15deTVkVdHXh15deTVkVdHXh15deTVkVdHXh15deTVkVdHXh15deTVkVdHXh15deTVkVdHXh15deTVkVdHXh15deTVkVdHXh15deTVkVdHXh15deTVkVdHXh15deTVkVdHXh15deTVkVdHXh15deRVyKuQVyGvQl6FvAp5FfIq5FXIq5BXIa9CXoW8CnkV8irkVcirkFchr0JehbwKeRXyKuRVyKuQVyGvQl6FvAp5FfIq5FXIq5BXIa9CXoW8CnkV8irkVcirkFchr0JehbwKeRXyKuRVyKuQVyGvQl6FvAp5FfIq5FXIq5BXIa9CXoW8CnkV8irkVcirkFchr0JehbwKeRXyKuRVyKuQVyGvQl6FvAp5FfIq5FXIq5BXIa9CXoW8CnkV8irkVcirkFchr0JehbwKeRXyKuRVyKuQVyGvQl6lvEp5lfIq5VXKq5RXKa9SXqW8SnmV8irlVcqrlFcpr1JepbxKeZXyKuVVyquUVymvUl6lvEp5lfIq5VXKq5RXKa9SXqW8SnmV8irlVcqrlFcpr1JepbxKeZXyKuVVyquUVymvUl6lvEp5lfIq5VXKq5RXKa9SXqW8SnmV8irlVcqrlFcpr1JepbxKeZXyKuVVyquUVymvUl6lvEp5lfIq5VXKq5RXKa9SXqW8SnmV8irlVcqrlFcpr1JepbxKeZXyKuVVyquUVymvUl6lvEp5lfIq5dWVV1deXXl15dWVV1deXXl15dWVV1deXXl15dWVV1deXXl15dWVV1deXXl15dWVV1deXXl15dWVV1deXXl15dWVV1deXXl15dWVV1deXXl15dWVV1deXXl15dWVV1deXXl15dWVV1deXXl15dWVV1deXXl15dWVV1deXXl15dWVV1deXXl15dWVV1deXXl15dWVV1deXXl15dWVV1deXXl15dWVV1deXXl15dWVV1deXXn13bef/Lq/vfrjPrpDd+q+ukt36x7dq1u7T7tPu0+7T7tPu0+7T7tPu0+7j93vvv33fXSH7tR9dZfu1j26V7d2j3aPdo92j3aPdo92j3aPdo92j3ZDu6Hd0G5oN7Qb2g3thnZDu6Hd1G5qN7Wb2k3tpnZTu6nd1G5q92r3avdq92r3avdq92r3avdq92q3tFvaLe2Wdku7pd3Sbmm3tFvabe22dlu7rd3Wbmu3tdvabe22dke7o93R7mh3tDvaHe2Odke78qrkVcmrklclr0pelbwqeVXyquRVyauSVyWvSl6VvCp5VfKq5FXJq5JXJa9aXrW8annV8qrlVcurllctr1petbxqedXyquVVy6uWVy2vWl61vGp51fKq5VXLq5ZXLa9aXrW8annV8qrlVcurllctr1petbxqedXyquVVy6uWVy2vWl61vGp51fKq5VXLq5ZXLa9aXrW8annV8qrlVcurllctr1petbxqedXyquVVy6uWVy2vWl61vGp51fKq5VXLq5ZXLa9aXrW8annV8qrlVcurllctr1petbxqedXyquVVy6uWVy2vWl61vGp51fKq5VXLq5ZXLa9aXrW8annV8mrk1cirkVcjr0ZejbwaeTXyauTVyKuRVyOvRl6NvBp5NfJq5NXIq5FXI69GXo28Gnk18mrk1cirkVcjr0ZejbwaeTXyauTVyKuRVyOvRl6NvBp5NfJq5NXIq5FXI69GXo28Gnk18mrk1cirkVcjr0ZejbwaeTXyauTVyKuRVyOvRl6NvBp5NfJq5NXIq5FXI69GXo28Gnk18mrk1cirkVcjr0ZejbwaeTXyauTVyKuRVyOvRl6NvBp5NfJq5NXIq5FXI69GXo28Gnk18mrk1cirkVcjr1ZerbxaebXyauXVyquVVyuvVl6tvFp5tfJq5dXKq5VXK69WXq28Wnm18mrl1cqrlVcrr1ZerbxaebXyauXVyquVVyuvVl6tvFp5tfJq5dXKq5VXK69WXq28Wnm18mrl1cqrlVcrr1ZerbxaebXyauXVyquVVyuvVl6tvFp5tfJq5dXKq5VXK69WXq28Wnm18mrl1cqrlVcrr1ZerbxaebXyauXVyquVVyuvVl6tvFp5tfJq5dXKq5VXK69WXq28Wnm18mrl1cqrlVcrr1ZerbxaebXy6smrJ6+evHry6smrJ6+evHry6smrJ6+evHry6smrJ6+evHry6smrJ6+evHry6smrJ6+evHry6smrJ6+evHry6smrJ6+evHry6smrJ6+evHry6smrJ6+evHry6smrJ6+evHry6smrJ6+evHry6smrJ6+evHry6smrJ6+evHry6smrJ6+evHry6smrJ6+evHry6smrJ6+evHry6smrJ6+evHry6smrJ6+evHry6smrJ6+evHry6smrJ6+evHry6smrJ6+evHry6smrP/r2+rq/vfrj/rUb5/sO3b92437fV3fpbt2je3W/3/f97tt/30d36E7dV3fpbt2je3Vr92j3aPdo92j3aPdo92j3aPdo92g3tBvaDe2GdkO7od3Qbmg3tBvaTe2mdlO7qd3Ubmo3tZvaTe2mdq92r3avdq92r3avdq92r3avdq92S7ul3dJuabe0W9ot7ZZ2S7ul3dZua7e129pt7bZ2W7ut3dZua3e0O9od7Y52R7uj3dHuaHe0O9pd7a52V7ur3dXuane1u9pd7a52n3afdp92n3afdp92n3afdp925dWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15NWRV0deHXl15FXIq5BXIa9CXoW8CnkV8irkVcirkFchr0JehbwKeRXyKuRVyKuQVyGvQl6FvAp5FfIq5FXIq5BXIa9CXoW8CnkV8irkVcirkFchr0JehbwKeRXyKuRVyKuQVyGvQl6FvAp5FfIq5FXIq5BXIa9CXoW8CnkV8irkVcirkFchr0JehbwKeRXyKuRVyKuQVyGvQl6FvAp5FfIq5FXIq5BXIa9CXoW8CnkV8irkVcirkFchr0JehbwKeRXyKuRVyKuQVyGvQl6FvAp5FfIq5FXIq5BXIa9CXqW8SnmV8irlVcqrlFcpr1JepbxKeZXyKuVVyquUVymvUl6lvEp5lfIq5VXKq5RXKa9SXqW8SnmV8irlVcqrlFcpr1JepbxKeZXyKuVVyquUVymvUl6lvEp5lfIq5VXKq5RXKa9SXqW8SnmV8irlVcqrlFcpr1JepbxKeZXyKuVVyquUVymvUl6lvEp5lfIq5VXKq5RXKa9SXqW8SnmV8irlVcqrlFcpr1JepbxKeZXyKuVVyquUVymvUl6lvEp5lfIq5VXKq5RXKa9SXqW8SnmV8irl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXl1ZVXV15deXXlVcmrklclr4rvO9/i+863+L7zLb7vfIvvO9/i+863+L7zLb7vfIvvO9/i+863jnaPdo92j3aPdo92j3ZDu6Hd0G5oN7Qb2g3thnZDu6Hd1G5qN7Wb2k3tpnZTu6nd1G5q92r3avdq92r3avdq92r3avdq92q3tFvaLe2Wdku7pd3Sbmm3tFvabe22dlu7rd3Wbmu3tdvabe22dke7o93R7mh3tDvaHe2Odke7o93V7mp3tbvaXe2udle7q93V7mr3afdp92n3afdp92n3afdp92mX79Hf5nv0t/ke/W2+R39bXrW8annV8qrlVcurllctr1petbxqedXyquVVy6uWVy2vWl61vGp51fKq5VXLq5ZXLa9aXrW8annV8qrlVcurllctr1petbxqedXyquVVy6uWVy2vWl61vGp51fKq5VXLq5ZXLa9aXrW8annV8qrl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vLry6sqrK6+uvLry6sqrK6+uvLry6sqrK6+uvLry6sqrK6+uvLry6sqrK6+uvLry6sqrK6+uvCp5VfKq5FXJq5JXJa9KXpW8KnlV8qrkVcmrklclr0pelbwqeVXyquRVyauSVyWvSl6VvCp5VfKq5FXJq5JXJa9KXpW8KnlV8qrkVcmrklclr0pelbwqeVXyquRVyauSVyWvSl6VvCp5VfKq5FXJq5JXJa9KXpW8KnlV8qrkVcmrklclr0pelbwqeVXyquRVyauSVyWvSl6VvCp5VfKq5FXJq5JXJa9KXpW8KnlV8qrkVcmrklclr0pelbwqeVXyquRVyauSVyWvSl6VvCp5VfKq5FXJq5ZXLa9aXrW8annV8qrlVcurllctr1petbxqedXyquVVy6uWVy2vWl61vGp51fKq5VXLq5ZXLa9aXrW8annV8qrlVcurllctr1petbxqedXyquVVy6uWVy2vWl61vGp51fKq5VXLq5ZXLa9aXrW8annV8qrlVcurllctr1petbxqedXyquVVy6uWVy2vWl61vGp51fKq5VXLq5ZXLa9aXrW8annV8qrlVcurllctr1petbxqedXyquVVy6uWVy2vWl61vGp51fKq5VXLq5ZXLa9aXrW8Gnk18mrk1cirkVcjr0ZejbwaeTXyauTVyKuRVyOvRl6NvBp5NfJq5NXIq5FXI69GXo28Gnk18mrk1cirkVcjr0ZejbwaeTXyauTVyKuRVyOvRl6NvBp5NfJq5NXIq5FXI69GXo28Gnk18mrk1cirkVcjr0ZejbwaeTXyauTVyKuRVyOvRl6NvBp5NfJq5NXIq5FXI69GXo28Gnk18mrk1cirkVcjr0ZejbwaeTXyauTVyKuRVyOvRl6NvBp5NfJq5NXIq5FXI69GXo28Gnk18mrk1cirlVcrr1ZerbxaebXyauXVyquVVyuvVl6tvFp5tfJq5dXKq5VXK69WXq28Wnm18mrl1cqrlVcrr1ZerbxaebXyauXVyquVVyuvVl6tvFp5tfJq5dXKq5VXK69WXq28Wnm18mrl1cqrlVcrr1ZerbxaebXyauXVyquVVyuvVl6tvFp5tfJq5dXKq5VXK69WXq28Wnm18mrl1cqrlVcrr1ZerbxaebXyauXVyquVVyuvVl6tvFp5tfJq5dXKq5VXK69WXq28Wnm18mrl1cqrlVcrr1Zerbx68urJqyevnrx68urJqyevnrx68urJqyevnrx68urJqyevnrx68urJqyevnrx68urJqyevnrx68urJqyevnrx68urJqyevnrx68urJqyevnrx68urJqyevnrx68urJqyevnrx68urJqyevnrx68urJqyevnrx68urJqyevnrx68urJqyevnrx68urJqyevnrx68urJqyevnrx68urJqyevnrx68urJqyevnrx68urJqyevnrx68urJqyevnrx68urJqyevnrx68urJqyevnrx68urJqyevnrx68urJqyevHl71B6/6g1f9wav+4FV/8Ko/eNUfvOoPXvUHr/rz0e7R7tHu0e7R7tHu0e7R7tHu0e7Rbmg3tBvaDe2GdkO7od3Qbmg3tJvaTe2mdlO7fN+5P3zfuT9837k/fN+5P3zfuT9837k/fN+5P3zfuT9837k/fN+5P1e7V7tXu1e7V7tXu6Xd0m5pt7Rb2i3tlnZLu6Xd0m5rt7Xb2m3ttnZbu63d1m5rt7U72h3tjnZHu6Pd0e5od7Q72h3trnZXu6vd1e5qd7W72l3trnZXu0+7T7tPu0+7T7tPu0+7T7tPu3yPvg/fo+/D9+j78D36PnyPvg/fo+/D9+j78D36PnyPvg/fo+/z0e7R7tHu0e7R7tHu0e7R7tHu0e7Rbmg3tBvaDe2GdkO7od3Qbmg3tJvaTe2mdlO78urIqyOvjrw68urIqyOvjrw68urIqyOvjrw68urIqyOvjrw68urIqyOvjrw68urIqyOvjrw68urIqyOvjrw68urIqyOvjrw68urIqyOvjrw68urIqyOvjrw68urIqyOvjrw68urIqyOvjrw68urIqyOvjrw68urIqyOvjrw68urIqyOvjrw68urIqyOvjrw68urIq5BXIa9CXoW8CnkV8irkVcirkFchr0JehbwKeRXyKuRVyKuQVyGvQl6FvAp5FfIq5FXIq5BXIa9CXoW8CnkV8irkVcirkFchr0JehbwKeRXyKuRVyKuQVyGvQl6FvAp5FfIq5FXIq5BXIa9CXoW8CnkV8irkVcirkFchr0JehbwKeRXyKuRVyKuQVyGvQl6FvAp5FfIq5FXIq5BXIa9CXoW8CnkV8irkVcirkFchr0JehbwKeRXyKuRVyKuQVyGvQl6FvAp5FfIq5FXIq5BXIa9CXoW8SnmV8irlVcqrlFcpr1JepbxKeZXyKuVVyquUVymvUl6lvEp5lfIq5VXKq5RXKa9SXqW8SnmV8irlVcqrlFcpr1JepbxKeZXyKuVVyquUVymvUl6lvEp5lfIq5VXKq5RXKa9SXqW8SnmV8irlVcqrlFcpr1JepbxKeZXyKuVVyquUVymvUl6lvEp5lfIq5VXKq5RXKa9SXqW8SnmV8irlVcqrlFcpr1JepbxKeZXyKuVVyquUVymvUl6lvEp5lfIq5VXKq5RXKa9SXqW8SnmV8irlVcqrK6+uvLry6sqrK6+uvLry6sqrK6+uvLry6sqrK6+uvLry6sqrK6+uvLry6sqrK6+uvLry6sqrK6+uvLry6sqrK6+uvLry6sqrK6+uvLry6sqrK6+uvLry6sqrK6+uvLry6sqrK6+uvLry6sqrK6+uvLry6sqrK6+uvLry6sqrK6+uvLry6sqrK6+uvLry6sqrK6+uvLry6sqrK6+uvLry6sqrK6+uvLry6sqrK6+uvLry6sqrK6+uvLry6sqrK6+uvLry6sqrK6+uvLry6sqrK6+uvLry6sqrK6+uvLry6sqrklclr0pelbwqeVXyquRVyauSVyWvSl6VvCp5VfKq5FXJq5JXJa9KXpW8KnlV8qrkVcmrklclr0pelbwqeVXyquRVyauSVyWvSl6VvCp5VfKq5FXJq5JXJa9KXhXfd+7i+85dfN+5i+87d/F95y6+79zF9527+L5zF9937uL7zl2l3dJuabe0W9ot7ZZ2W7ut3dZua7e129pt7bZ2W7ut3dHuaHe0O9od7Y52R7uj3dHuaHe1u9pd7a52V7ur3dXuane1u9p92n3afdp92n3afdp92n3afdrle/TdfI++m+/Rd/M9+m6+R9/N9+i7+R59N9+j7+Z79N18j777o92j3aPdo92j3aPdo92j3aPdo92j3dBuaDe0G9oN7YZ2Q7uh3dBuaDe1m9pN7aZ2U7up3dRuaje1m9q92r3avdqVVy2vWl61vGp51fKq5VXLq5ZXLa9aXrW8annV8qrlVcurllctr1petbxqedXyquVVy6uWVy2vWl61vGp51fKq5VXLq5ZXLa9aXrW8annV8qrlVcurllctr1petbxqedXyquVVy6uWVy2vWl61vGp51fKq5VXLq5ZXI69GXo28Gnk18mrk1cirkVcjr0ZejbwaeTXyauTVyKuRVyOvRl6NvBp5NfJq5NXIq5FXI69GXo28Gnk18mrk1cirkVcjr0ZejbwaeTXyauTVyKuRVyOvRl6NvBp5NfJq5NXIq5FXI69GXo28Gnk18mrk1cirkVcjr0ZejbwaeTXyauTVyKuRVyOvRl6NvBp5NfJq5NXIq5FXI69GXo28Gnk18mrk1cirkVcjr0ZejbwaeTXyauTVyKuRVyOvRl6NvBp5NfJq5NXIq5FXI69GXo28Gnm18mrl1cqrlVcrr1ZerbxaebXyauXVyquVVyuvVl6tvFp5tfJq5dXKq5VXK69WXq28Wnm18mrl1cqrlVcrr1ZerbxaebXyauXVyquVVyuvVl6tvFp5tfJq5dXKq5VXK69WXq28Wnm18mrl1cqrlVcrr1ZerbxaebXyauXVyquVVyuvVl6tvFp5tfJq5dXKq5VXK69WXq28Wnm18mrl1cqrlVcrr1ZerbxaebXyauXVyquVVyuvVl6tvFp5tfJq5dXKq5VXK69WXq28Wnm18mrl1cqrlVdPXj159eTVk1dPXj159eTVk1dPXj159eTVk1dPXj159eTVk1dPXj159eTVk1dPXj159eTVk1dPXj159eTVk1dPXj159eTVk1dPXj159eTVk1dPXj159eTVk1dPXj159eTVk1dPXj159eTVk1dPXj159eTVk1dPXj159eTVk1dPXj159eTVk1dPXj159eTVk1dPXj159eTVk1dPXj159eTVk1dPXj159eTVk1dPXj159eTVk1dPXj159eTVk1dPXj159eTVk1dPXj159eTVk1dPXj159eTVk1dPXj159eTVw6v54NV88Go+eDUfvJoPXs0Hr+aDV/PBq/ng1Xw+2j3aPdo92j3aPdo92j3aPdo92j3aDe2GdkO7od3Qbmg3tBvaDe2GdlO7qd3Ubmo3tZvaTe2mdlO7qd2r3avdq92r3avdq92r3avdq92r3dJuabe0++1Vfd+/duN83792v77VOx++7zwfvu88H77vPB++7zwfvu88H77vPB++7zwfvu88H77vPJ/Wbmu3tdvabe2Odke7o93R7mh3tDvaHe2Odke7q93V7mp3tbvaXe2udle7q93V7tPu0+7T7tPu0+7T7tPu0+7TLt93nsP3nefwfec5fN95Dt+jn8P36OfwPfo5fI9+Dt+jn8P36Od8tHu0e7R7tHu0e7R7tHu0e7R7tHu0G9oN7YZ2Q7uh3dBuaDe0G9oN7aZ2U7up3dRuaje1m9pN7aZ2U7tXu1e7V7tXu1e7V7tXu1e7V7tXu6Xd0m5pt7Rb2pVXR14deXXk1ZFXR14deXXk1ZFXR14deXXk1ZFXR14deXXk1ZFXR14deXXk1ZFXR14deXXk1ZFXR14deXXk1ZFXR14deXXk1ZFXR14deXXk1ZFXR14deXXk1ZFXR14deXXk1ZFXIa9CXoW8CnkV8irkVcirkFchr0JehbwKeRXyKuRVyKuQVyGvQl6FvAp5FfIq5FXIq5BXIa9CXoW8CnkV8irkVcirkFchr0JehbwKeRXyKuRVyKuQVyGvQl6FvAp5FfIq5FXIq5BXIa9CXoW8CnkV8irkVcirkFchr0JehbwKeRXyKuRVyKuQVyGvQl6FvAp5FfIq5FXIq5BXIa9CXoW8CnkV8irkVcirkFchr0JehbwKeRXyKuRVyKuQVyGvQl6FvAp5FfIq5FXIq5BXIa9CXoW8CnmV8irlVcqrlFcpr1JepbxKeZXyKuVVyquUVymvUl6lvEp5lfIq5VXKq5RXKa9SXqW8SnmV8irlVcqrlFcpr1JepbxKeZXyKuVVyquUVymvUl6lvEp5lfIq5VXKq5RXKa9SXqW8SnmV8irlVcqrlFcpr1JepbxKeZXyKuVVyquUVymvUl6lvEp5lfIq5VXKq5RXKa9SXqW8SnmV8irlVcqrlFcpr1JepbxKeZXyKuVVyquUVymvUl6lvEp5lfIq5VXKq5RXKa9SXqW8SnmV8irlVcqrlFdXXl15deXVlVdXXl15deXVlVdXXl15deXVlVdXXl15deXVlVdXXl15deXVlVdXXl15deXVlVdXXl15deXVlVdXXl15deXVlVdXXl15deXVlVdXXl15deXVlVdXXl15deXVlVdXXl15deXVlVdXXl15deXVlVdXXl15deXVlVdXXl15deXVlVdXXl15deXVlVdXXl15deXVlVdXXl15deXVlVdXXl15deXVlVdXXl15deXVlVdXXl15deXVlVdXXl15deXVlVdXXl15deXVlVdXXl15deXVlVdXXl15deXVlVclr0pelbwqeVXyquRVyauSVyWvSl6VvCp5VfKq5FXJq5JXJa9KXpW8KnlV8qrkVcmrklclr0pelbwqeVXyquRVyauSVyWvSl6VvCp5VfKq5FXJq5JXJa9KXpW8KnlV8qrkVcmrklclr0pelbwqeVXyquRVyauSVyWvSl6VvCp5VfKq5FXJq5JXJa+++/bo7/trd7/v0f1rNz9/+2//8H//6a9/+qd//vO//p9/+O///+9//F//+W//8h9/+su//fHH//h///77b/75r3/685//9L//8d//+pd/+df/+Z9//dd//PNf/uXr7/72P/72Xw==", file_map: { "18": { source: 'pub mod bn254;\nuse crate::{runtime::is_unconstrained, static_assert};\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n /// Asserts that `self` can be represented in `bit_size` bits.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^{bit_size}`.\n // docs:start:assert_max_bit_size\n pub fn assert_max_bit_size<let BIT_SIZE: u32>(self) {\n // docs:end:assert_max_bit_size\n static_assert(\n BIT_SIZE < modulus_num_bits() as u32,\n "BIT_SIZE must be less than modulus_num_bits",\n );\n __assert_max_bit_size(self, BIT_SIZE);\n }\n\n /// Decomposes `self` into its little endian bit decomposition as a `[u1; N]` array.\n /// This slice will be zero padded should not all bits be necessary to represent `self`.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// The bit decomposition returned is canonical and is guaranteed to not overflow the modulus.\n // docs:start:to_le_bits\n pub fn to_le_bits<let N: u32>(self: Self) -> [u1; N] {\n // docs:end:to_le_bits\n let bits = __to_le_bits(self);\n\n if !is_unconstrained() {\n // Ensure that the byte decomposition does not overflow the modulus\n let p = modulus_le_bits();\n assert(bits.len() <= p.len());\n let mut ok = bits.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bits[N - 1 - i] != p[N - 1 - i]) {\n assert(p[N - 1 - i] == 1);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bits\n }\n\n /// Decomposes `self` into its big endian bit decomposition as a `[u1; N]` array.\n /// This array will be zero padded should not all bits be necessary to represent `self`.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// The bit decomposition returned is canonical and is guaranteed to not overflow the modulus.\n // docs:start:to_be_bits\n pub fn to_be_bits<let N: u32>(self: Self) -> [u1; N] {\n // docs:end:to_be_bits\n let bits = __to_be_bits(self);\n\n if !is_unconstrained() {\n // Ensure that the decomposition does not overflow the modulus\n let p = modulus_be_bits();\n assert(bits.len() <= p.len());\n let mut ok = bits.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bits[i] != p[i]) {\n assert(p[i] == 1);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bits\n }\n\n /// Decomposes `self` into its little endian byte decomposition as a `[u8;N]` array\n /// This array will be zero padded should not all bytes be necessary to represent `self`.\n ///\n /// # Failures\n /// The length N of the array must be big enough to contain all the bytes of the \'self\',\n /// and no more than the number of bytes required to represent the field modulus\n ///\n /// # Safety\n /// The result is ensured to be the canonical decomposition of the field element\n // docs:start:to_le_bytes\n pub fn to_le_bytes<let N: u32>(self: Self) -> [u8; N] {\n // docs:end:to_le_bytes\n static_assert(\n N <= modulus_le_bytes().len(),\n "N must be less than or equal to modulus_le_bytes().len()",\n );\n // Compute the byte decomposition\n let bytes = self.to_le_radix(256);\n\n if !is_unconstrained() {\n // Ensure that the byte decomposition does not overflow the modulus\n let p = modulus_le_bytes();\n assert(bytes.len() <= p.len());\n let mut ok = bytes.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bytes[N - 1 - i] != p[N - 1 - i]) {\n assert(bytes[N - 1 - i] < p[N - 1 - i]);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bytes\n }\n\n /// Decomposes `self` into its big endian byte decomposition as a `[u8;N]` array of length required to represent the field modulus\n /// This array will be zero padded should not all bytes be necessary to represent `self`.\n ///\n /// # Failures\n /// The length N of the array must be big enough to contain all the bytes of the \'self\',\n /// and no more than the number of bytes required to represent the field modulus\n ///\n /// # Safety\n /// The result is ensured to be the canonical decomposition of the field element\n // docs:start:to_be_bytes\n pub fn to_be_bytes<let N: u32>(self: Self) -> [u8; N] {\n // docs:end:to_be_bytes\n static_assert(\n N <= modulus_le_bytes().len(),\n "N must be less than or equal to modulus_le_bytes().len()",\n );\n // Compute the byte decomposition\n let bytes = self.to_be_radix(256);\n\n if !is_unconstrained() {\n // Ensure that the byte decomposition does not overflow the modulus\n let p = modulus_be_bytes();\n assert(bytes.len() <= p.len());\n let mut ok = bytes.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bytes[i] != p[i]) {\n assert(bytes[i] < p[i]);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bytes\n }\n\n fn to_le_radix<let N: u32>(self: Self, radix: u32) -> [u8; N] {\n // Brillig does not need an immediate radix\n if !crate::runtime::is_unconstrained() {\n static_assert(1 < radix, "radix must be greater than 1");\n static_assert(radix <= 256, "radix must be less than or equal to 256");\n static_assert(radix & (radix - 1) == 0, "radix must be a power of 2");\n }\n __to_le_radix(self, radix)\n }\n\n fn to_be_radix<let N: u32>(self: Self, radix: u32) -> [u8; N] {\n // Brillig does not need an immediate radix\n if !crate::runtime::is_unconstrained() {\n static_assert(1 < radix, "radix must be greater than 1");\n static_assert(radix <= 256, "radix must be less than or equal to 256");\n static_assert(radix & (radix - 1) == 0, "radix must be a power of 2");\n }\n __to_be_radix(self, radix)\n }\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b: [u1; 32] = exponent.to_le_bits();\n\n for i in 1..33 {\n r *= r;\n r = (b[32 - i] as Field) * (r * self) + (1 - b[32 - i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x `elem` {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n\n pub fn lt(self, another: Field) -> bool {\n if crate::compat::is_bn254() {\n bn254_lt(self, another)\n } else {\n lt_fallback(self, another)\n }\n }\n\n /// Convert a little endian byte array to a field element.\n /// If the provided byte array overflows the field modulus then the Field will silently wrap around.\n pub fn from_le_bytes<let N: u32>(bytes: [u8; N]) -> Field {\n static_assert(\n N <= modulus_le_bytes().len(),\n "N must be less than or equal to modulus_le_bytes().len()",\n );\n let mut v = 1;\n let mut result = 0;\n\n for i in 0..N {\n result += (bytes[i] as Field) * v;\n v = v * 256;\n }\n result\n }\n\n /// Convert a big endian byte array to a field element.\n /// If the provided byte array overflows the field modulus then the Field will silently wrap around.\n pub fn from_be_bytes<let N: u32>(bytes: [u8; N]) -> Field {\n let mut v = 1;\n let mut result = 0;\n\n for i in 0..N {\n result += (bytes[N - 1 - i] as Field) * v;\n v = v * 256;\n }\n result\n }\n}\n\n#[builtin(apply_range_constraint)]\nfn __assert_max_bit_size(value: Field, bit_size: u32) {}\n\n// `_radix` must be less than 256\n#[builtin(to_le_radix)]\nfn __to_le_radix<let N: u32>(value: Field, radix: u32) -> [u8; N] {}\n\n// `_radix` must be less than 256\n#[builtin(to_be_radix)]\nfn __to_be_radix<let N: u32>(value: Field, radix: u32) -> [u8; N] {}\n\n/// Decomposes `self` into its little endian bit decomposition as a `[u1; N]` array.\n/// This slice will be zero padded should not all bits be necessary to represent `self`.\n///\n/// # Failures\n/// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n/// be able to represent the original `Field`.\n///\n/// # Safety\n/// Values of `N` equal to or greater than the number of bits necessary to represent the `Field` modulus\n/// (e.g. 254 for the BN254 field) allow for multiple bit decompositions. This is due to how the `Field` will\n/// wrap around due to overflow when verifying the decomposition.\n#[builtin(to_le_bits)]\nfn __to_le_bits<let N: u32>(value: Field) -> [u1; N] {}\n\n/// Decomposes `self` into its big endian bit decomposition as a `[u1; N]` array.\n/// This array will be zero padded should not all bits be necessary to represent `self`.\n///\n/// # Failures\n/// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n/// be able to represent the original `Field`.\n///\n/// # Safety\n/// Values of `N` equal to or greater than the number of bits necessary to represent the `Field` modulus\n/// (e.g. 254 for the BN254 field) allow for multiple bit decompositions. This is due to how the `Field` will\n/// wrap around due to overflow when verifying the decomposition.\n#[builtin(to_be_bits)]\nfn __to_be_bits<let N: u32>(value: Field) -> [u1; N] {}\n\n#[builtin(modulus_num_bits)]\npub comptime fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub comptime fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub comptime fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub comptime fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub comptime fn modulus_le_bytes() -> [u8] {}\n\n/// An unconstrained only built in to efficiently compare fields.\n#[builtin(field_less_than)]\nunconstrained fn __field_less_than(x: Field, y: Field) -> bool {}\n\npub(crate) unconstrained fn field_less_than(x: Field, y: Field) -> bool {\n __field_less_than(x, y)\n}\n\n// Convert a 32 byte array to a field element by modding\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n if is_unconstrained() {\n // Safety: unconstrained context\n unsafe {\n field_less_than(x, y)\n }\n } else {\n let x_bytes: [u8; 32] = x.to_le_bytes();\n let y_bytes: [u8; 32] = y.to_le_bytes();\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..32 {\n if (!done) {\n let x_byte = x_bytes[32 - 1 - i] as u8;\n let y_byte = y_bytes[32 - 1 - i] as u8;\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n }\n}\n\nmod tests {\n use crate::{panic::panic, runtime, static_assert};\n use super::{\n field_less_than, modulus_be_bits, modulus_be_bytes, modulus_le_bits, modulus_le_bytes,\n };\n\n #[test]\n // docs:start:to_be_bits_example\n fn test_to_be_bits() {\n let field = 2;\n let bits: [u1; 8] = field.to_be_bits();\n assert_eq(bits, [0, 0, 0, 0, 0, 0, 1, 0]);\n }\n // docs:end:to_be_bits_example\n\n #[test]\n // docs:start:to_le_bits_example\n fn test_to_le_bits() {\n let field = 2;\n let bits: [u1; 8] = field.to_le_bits();\n assert_eq(bits, [0, 1, 0, 0, 0, 0, 0, 0]);\n }\n // docs:end:to_le_bits_example\n\n #[test]\n // docs:start:to_be_bytes_example\n fn test_to_be_bytes() {\n let field = 2;\n let bytes: [u8; 8] = field.to_be_bytes();\n assert_eq(bytes, [0, 0, 0, 0, 0, 0, 0, 2]);\n assert_eq(Field::from_be_bytes::<8>(bytes), field);\n }\n // docs:end:to_be_bytes_example\n\n #[test]\n // docs:start:to_le_bytes_example\n fn test_to_le_bytes() {\n let field = 2;\n let bytes: [u8; 8] = field.to_le_bytes();\n assert_eq(bytes, [2, 0, 0, 0, 0, 0, 0, 0]);\n assert_eq(Field::from_le_bytes::<8>(bytes), field);\n }\n // docs:end:to_le_bytes_example\n\n #[test]\n // docs:start:to_be_radix_example\n fn test_to_be_radix() {\n // 259, in base 256, big endian, is [1, 3].\n // i.e. 3 * 256^0 + 1 * 256^1\n let field = 259;\n\n // The radix (in this example, 256) must be a power of 2.\n // The length of the returned byte array can be specified to be\n // >= the amount of space needed.\n let bytes: [u8; 8] = field.to_be_radix(256);\n assert_eq(bytes, [0, 0, 0, 0, 0, 0, 1, 3]);\n assert_eq(Field::from_be_bytes::<8>(bytes), field);\n }\n // docs:end:to_be_radix_example\n\n #[test]\n // docs:start:to_le_radix_example\n fn test_to_le_radix() {\n // 259, in base 256, little endian, is [3, 1].\n // i.e. 3 * 256^0 + 1 * 256^1\n let field = 259;\n\n // The radix (in this example, 256) must be a power of 2.\n // The length of the returned byte array can be specified to be\n // >= the amount of space needed.\n let bytes: [u8; 8] = field.to_le_radix(256);\n assert_eq(bytes, [3, 1, 0, 0, 0, 0, 0, 0]);\n assert_eq(Field::from_le_bytes::<8>(bytes), field);\n }\n // docs:end:to_le_radix_example\n\n #[test(should_fail_with = "radix must be greater than 1")]\n fn test_to_le_radix_1() {\n // this test should only fail in constrained mode\n if !runtime::is_unconstrained() {\n let field = 2;\n let _: [u8; 8] = field.to_le_radix(1);\n } else {\n panic(f"radix must be greater than 1");\n }\n }\n\n // Updated test to account for Brillig restriction that radix must be greater than 2\n #[test(should_fail_with = "radix must be greater than 1")]\n fn test_to_le_radix_brillig_1() {\n // this test should only fail in constrained mode\n if !runtime::is_unconstrained() {\n let field = 1;\n let _: [u8; 8] = field.to_le_radix(1);\n } else {\n panic(f"radix must be greater than 1");\n }\n }\n\n #[test(should_fail_with = "radix must be a power of 2")]\n fn test_to_le_radix_3() {\n // this test should only fail in constrained mode\n if !runtime::is_unconstrained() {\n let field = 2;\n let _: [u8; 8] = field.to_le_radix(3);\n } else {\n panic(f"radix must be a power of 2");\n }\n }\n\n #[test]\n fn test_to_le_radix_brillig_3() {\n // this test should only fail in constrained mode\n if runtime::is_unconstrained() {\n let field = 1;\n let out: [u8; 8] = field.to_le_radix(3);\n let mut expected = [0; 8];\n expected[0] = 1;\n assert(out == expected, "unexpected result");\n }\n }\n\n #[test(should_fail_with = "radix must be less than or equal to 256")]\n fn test_to_le_radix_512() {\n // this test should only fail in constrained mode\n if !runtime::is_unconstrained() {\n let field = 2;\n let _: [u8; 8] = field.to_le_radix(512);\n } else {\n panic(f"radix must be less than or equal to 256")\n }\n }\n\n #[test(should_fail_with = "Field failed to decompose into specified 16 limbs")]\n unconstrained fn not_enough_limbs_brillig() {\n let _: [u8; 16] = 0x100000000000000000000000000000000.to_le_bytes();\n }\n\n #[test(should_fail_with = "Field failed to decompose into specified 16 limbs")]\n fn not_enough_limbs() {\n let _: [u8; 16] = 0x100000000000000000000000000000000.to_le_bytes();\n }\n\n #[test]\n unconstrained fn test_field_less_than() {\n assert(field_less_than(0, 1));\n assert(field_less_than(0, 0x100));\n assert(field_less_than(0x100, 0 - 1));\n assert(!field_less_than(0 - 1, 0));\n }\n\n #[test]\n unconstrained fn test_large_field_values_unconstrained() {\n let large_field = 0xffffffffffffffff;\n\n let bits: [u1; 64] = large_field.to_le_bits();\n assert_eq(bits[0], 1);\n\n let bytes: [u8; 8] = large_field.to_le_bytes();\n assert_eq(Field::from_le_bytes::<8>(bytes), large_field);\n\n let radix_bytes: [u8; 8] = large_field.to_le_radix(256);\n assert_eq(Field::from_le_bytes::<8>(radix_bytes), large_field);\n }\n\n #[test]\n fn test_large_field_values() {\n let large_val = 0xffffffffffffffff;\n\n let bits: [u1; 64] = large_val.to_le_bits();\n assert_eq(bits[0], 1);\n\n let bytes: [u8; 8] = large_val.to_le_bytes();\n assert_eq(Field::from_le_bytes::<8>(bytes), large_val);\n\n let radix_bytes: [u8; 8] = large_val.to_le_radix(256);\n assert_eq(Field::from_le_bytes::<8>(radix_bytes), large_val);\n }\n\n #[test]\n fn test_decomposition_edge_cases() {\n let zero_bits: [u1; 8] = 0.to_le_bits();\n assert_eq(zero_bits, [0; 8]);\n\n let zero_bytes: [u8; 8] = 0.to_le_bytes();\n assert_eq(zero_bytes, [0; 8]);\n\n let one_bits: [u1; 8] = 1.to_le_bits();\n let expected: [u1; 8] = [1, 0, 0, 0, 0, 0, 0, 0];\n assert_eq(one_bits, expected);\n\n let pow2_bits: [u1; 8] = 4.to_le_bits();\n let expected: [u1; 8] = [0, 0, 1, 0, 0, 0, 0, 0];\n assert_eq(pow2_bits, expected);\n }\n\n #[test]\n fn test_pow_32() {\n assert_eq(2.pow_32(3), 8);\n assert_eq(3.pow_32(2), 9);\n assert_eq(5.pow_32(0), 1);\n assert_eq(7.pow_32(1), 7);\n\n assert_eq(2.pow_32(10), 1024);\n\n assert_eq(0.pow_32(5), 0);\n assert_eq(0.pow_32(0), 1);\n\n assert_eq(1.pow_32(100), 1);\n }\n\n #[test]\n fn test_sgn0() {\n assert_eq(0.sgn0(), 0);\n assert_eq(2.sgn0(), 0);\n assert_eq(4.sgn0(), 0);\n assert_eq(100.sgn0(), 0);\n\n assert_eq(1.sgn0(), 1);\n assert_eq(3.sgn0(), 1);\n assert_eq(5.sgn0(), 1);\n assert_eq(101.sgn0(), 1);\n }\n\n #[test(should_fail_with = "Field failed to decompose into specified 8 limbs")]\n fn test_bit_decomposition_overflow() {\n // 8 bits can\'t represent large field values\n let large_val = 0x1000000000000000;\n let _: [u1; 8] = large_val.to_le_bits();\n }\n\n #[test(should_fail_with = "Field failed to decompose into specified 4 limbs")]\n fn test_byte_decomposition_overflow() {\n // 4 bytes can\'t represent large field values\n let large_val = 0x1000000000000000;\n let _: [u8; 4] = large_val.to_le_bytes();\n }\n\n #[test]\n fn test_to_from_be_bytes_bn254_edge_cases() {\n if crate::compat::is_bn254() {\n // checking that decrementing this byte produces the expected 32 BE bytes for (modulus - 1)\n let mut p_minus_1_bytes: [u8; 32] = modulus_be_bytes().as_array();\n assert(p_minus_1_bytes[32 - 1] > 0);\n p_minus_1_bytes[32 - 1] -= 1;\n\n let p_minus_1 = Field::from_be_bytes::<32>(p_minus_1_bytes);\n assert_eq(p_minus_1 + 1, 0);\n\n // checking that converting (modulus - 1) from and then to 32 BE bytes produces the same bytes\n let p_minus_1_converted_bytes: [u8; 32] = p_minus_1.to_be_bytes();\n assert_eq(p_minus_1_converted_bytes, p_minus_1_bytes);\n\n // checking that incrementing this byte produces 32 BE bytes for (modulus + 1)\n let mut p_plus_1_bytes: [u8; 32] = modulus_be_bytes().as_array();\n assert(p_plus_1_bytes[32 - 1] < 255);\n p_plus_1_bytes[32 - 1] += 1;\n\n let p_plus_1 = Field::from_be_bytes::<32>(p_plus_1_bytes);\n assert_eq(p_plus_1, 1);\n\n // checking that converting p_plus_1 to 32 BE bytes produces the same\n // byte set to 1 as p_plus_1_bytes and otherwise zeroes\n let mut p_plus_1_converted_bytes: [u8; 32] = p_plus_1.to_be_bytes();\n assert_eq(p_plus_1_converted_bytes[32 - 1], 1);\n p_plus_1_converted_bytes[32 - 1] = 0;\n assert_eq(p_plus_1_converted_bytes, [0; 32]);\n\n // checking that Field::from_be_bytes::<32> on the Field modulus produces 0\n assert_eq(modulus_be_bytes().len(), 32);\n let p = Field::from_be_bytes::<32>(modulus_be_bytes().as_array());\n assert_eq(p, 0);\n\n // checking that converting 0 to 32 BE bytes produces 32 zeroes\n let p_bytes: [u8; 32] = 0.to_be_bytes();\n assert_eq(p_bytes, [0; 32]);\n }\n }\n\n #[test]\n fn test_to_from_le_bytes_bn254_edge_cases() {\n if crate::compat::is_bn254() {\n // checking that decrementing this byte produces the expected 32 LE bytes for (modulus - 1)\n let mut p_minus_1_bytes: [u8; 32] = modulus_le_bytes().as_array();\n assert(p_minus_1_bytes[0] > 0);\n p_minus_1_bytes[0] -= 1;\n\n let p_minus_1 = Field::from_le_bytes::<32>(p_minus_1_bytes);\n assert_eq(p_minus_1 + 1, 0);\n\n // checking that converting (modulus - 1) from and then to 32 BE bytes produces the same bytes\n let p_minus_1_converted_bytes: [u8; 32] = p_minus_1.to_le_bytes();\n assert_eq(p_minus_1_converted_bytes, p_minus_1_bytes);\n\n // checking that incrementing this byte produces 32 LE bytes for (modulus + 1)\n let mut p_plus_1_bytes: [u8; 32] = modulus_le_bytes().as_array();\n assert(p_plus_1_bytes[0] < 255);\n p_plus_1_bytes[0] += 1;\n\n let p_plus_1 = Field::from_le_bytes::<32>(p_plus_1_bytes);\n assert_eq(p_plus_1, 1);\n\n // checking that converting p_plus_1 to 32 LE bytes produces the same\n // byte set to 1 as p_plus_1_bytes and otherwise zeroes\n let mut p_plus_1_converted_bytes: [u8; 32] = p_plus_1.to_le_bytes();\n assert_eq(p_plus_1_converted_bytes[0], 1);\n p_plus_1_converted_bytes[0] = 0;\n assert_eq(p_plus_1_converted_bytes, [0; 32]);\n\n // checking that Field::from_le_bytes::<32> on the Field modulus produces 0\n assert_eq(modulus_le_bytes().len(), 32);\n let p = Field::from_le_bytes::<32>(modulus_le_bytes().as_array());\n assert_eq(p, 0);\n\n // checking that converting 0 to 32 LE bytes produces 32 zeroes\n let p_bytes: [u8; 32] = 0.to_le_bytes();\n assert_eq(p_bytes, [0; 32]);\n }\n }\n\n /// Convert a little endian bit array to a field element.\n /// If the provided bit array overflows the field modulus then the Field will silently wrap around.\n fn from_le_bits<let N: u32>(bits: [u1; N]) -> Field {\n static_assert(\n N <= modulus_le_bits().len(),\n "N must be less than or equal to modulus_le_bits().len()",\n );\n let mut v = 1;\n let mut result = 0;\n\n for i in 0..N {\n result += (bits[i] as Field) * v;\n v = v * 2;\n }\n result\n }\n\n /// Convert a big endian bit array to a field element.\n /// If the provided bit array overflows the field modulus then the Field will silently wrap around.\n fn from_be_bits<let N: u32>(bits: [u1; N]) -> Field {\n let mut v = 1;\n let mut result = 0;\n\n for i in 0..N {\n result += (bits[N - 1 - i] as Field) * v;\n v = v * 2;\n }\n result\n }\n\n #[test]\n fn test_to_from_be_bits_bn254_edge_cases() {\n if crate::compat::is_bn254() {\n // checking that decrementing this bit produces the expected 254 BE bits for (modulus - 1)\n let mut p_minus_1_bits: [u1; 254] = modulus_be_bits().as_array();\n assert(p_minus_1_bits[254 - 1] > 0);\n p_minus_1_bits[254 - 1] -= 1;\n\n let p_minus_1 = from_be_bits::<254>(p_minus_1_bits);\n assert_eq(p_minus_1 + 1, 0);\n\n // checking that converting (modulus - 1) from and then to 254 BE bits produces the same bits\n let p_minus_1_converted_bits: [u1; 254] = p_minus_1.to_be_bits();\n assert_eq(p_minus_1_converted_bits, p_minus_1_bits);\n\n // checking that incrementing this bit produces 254 BE bits for (modulus + 4)\n let mut p_plus_4_bits: [u1; 254] = modulus_be_bits().as_array();\n assert(p_plus_4_bits[254 - 3] < 1);\n p_plus_4_bits[254 - 3] += 1;\n\n let p_plus_4 = from_be_bits::<254>(p_plus_4_bits);\n assert_eq(p_plus_4, 4);\n\n // checking that converting p_plus_4 to 254 BE bits produces the same\n // bit set to 1 as p_plus_4_bits and otherwise zeroes\n let mut p_plus_4_converted_bits: [u1; 254] = p_plus_4.to_be_bits();\n assert_eq(p_plus_4_converted_bits[254 - 3], 1);\n p_plus_4_converted_bits[254 - 3] = 0;\n assert_eq(p_plus_4_converted_bits, [0; 254]);\n\n // checking that Field::from_be_bits::<254> on the Field modulus produces 0\n assert_eq(modulus_be_bits().len(), 254);\n let p = from_be_bits::<254>(modulus_be_bits().as_array());\n assert_eq(p, 0);\n\n // checking that converting 0 to 254 BE bytes produces 254 zeroes\n let p_bits: [u1; 254] = 0.to_be_bits();\n assert_eq(p_bits, [0; 254]);\n }\n }\n\n #[test]\n fn test_to_from_le_bits_bn254_edge_cases() {\n if crate::compat::is_bn254() {\n // checking that decrementing this bit produces the expected 254 LE bits for (modulus - 1)\n let mut p_minus_1_bits: [u1; 254] = modulus_le_bits().as_array();\n assert(p_minus_1_bits[0] > 0);\n p_minus_1_bits[0] -= 1;\n\n let p_minus_1 = from_le_bits::<254>(p_minus_1_bits);\n assert_eq(p_minus_1 + 1, 0);\n\n // checking that converting (modulus - 1) from and then to 254 BE bits produces the same bits\n let p_minus_1_converted_bits: [u1; 254] = p_minus_1.to_le_bits();\n assert_eq(p_minus_1_converted_bits, p_minus_1_bits);\n\n // checking that incrementing this bit produces 254 LE bits for (modulus + 4)\n let mut p_plus_4_bits: [u1; 254] = modulus_le_bits().as_array();\n assert(p_plus_4_bits[2] < 1);\n p_plus_4_bits[2] += 1;\n\n let p_plus_4 = from_le_bits::<254>(p_plus_4_bits);\n assert_eq(p_plus_4, 4);\n\n // checking that converting p_plus_4 to 254 LE bits produces the same\n // bit set to 1 as p_plus_4_bits and otherwise zeroes\n let mut p_plus_4_converted_bits: [u1; 254] = p_plus_4.to_le_bits();\n assert_eq(p_plus_4_converted_bits[2], 1);\n p_plus_4_converted_bits[2] = 0;\n assert_eq(p_plus_4_converted_bits, [0; 254]);\n\n // checking that Field::from_le_bits::<254> on the Field modulus produces 0\n assert_eq(modulus_le_bits().len(), 254);\n let p = from_le_bits::<254>(modulus_le_bits().as_array());\n assert_eq(p, 0);\n\n // checking that converting 0 to 254 LE bytes produces 254 zeroes\n let p_bits: [u1; 254] = 0.to_le_bits();\n assert_eq(p_bits, [0; 254]);\n }\n }\n}\n', path: "std/field/mod.nr" }, "19": { source: `// Exposed only for usage in \`std::meta\`
56
+ pub(crate) mod poseidon2;
57
+
58
+ use crate::default::Default;
59
+ use crate::embedded_curve_ops::{
60
+ EmbeddedCurvePoint, EmbeddedCurveScalar, multi_scalar_mul, multi_scalar_mul_array_return,
61
+ };
62
+ use crate::meta::derive_via;
63
+
64
+ #[foreign(sha256_compression)]
65
+ // docs:start:sha256_compression
66
+ pub fn sha256_compression(input: [u32; 16], state: [u32; 8]) -> [u32; 8] {}
67
+ // docs:end:sha256_compression
68
+
69
+ #[foreign(keccakf1600)]
70
+ // docs:start:keccakf1600
71
+ pub fn keccakf1600(input: [u64; 25]) -> [u64; 25] {}
72
+ // docs:end:keccakf1600
73
+
74
+ pub mod keccak {
75
+ #[deprecated("This function has been moved to std::hash::keccakf1600")]
76
+ pub fn keccakf1600(input: [u64; 25]) -> [u64; 25] {
77
+ super::keccakf1600(input)
78
+ }
79
+ }
80
+
81
+ #[foreign(blake2s)]
82
+ // docs:start:blake2s
83
+ pub fn blake2s<let N: u32>(input: [u8; N]) -> [u8; 32]
84
+ // docs:end:blake2s
85
+ {}
86
+
87
+ // docs:start:blake3
88
+ pub fn blake3<let N: u32>(input: [u8; N]) -> [u8; 32]
89
+ // docs:end:blake3
90
+ {
91
+ if crate::runtime::is_unconstrained() {
92
+ // Temporary measure while Barretenberg is main proving system.
93
+ // Please open an issue if you're working on another proving system and running into problems due to this.
94
+ crate::static_assert(
95
+ N <= 1024,
96
+ "Barretenberg cannot prove blake3 hashes with inputs larger than 1024 bytes",
97
+ );
98
+ }
99
+ __blake3(input)
100
+ }
101
+
102
+ #[foreign(blake3)]
103
+ fn __blake3<let N: u32>(input: [u8; N]) -> [u8; 32] {}
104
+
105
+ // docs:start:pedersen_commitment
106
+ pub fn pedersen_commitment<let N: u32>(input: [Field; N]) -> EmbeddedCurvePoint {
107
+ // docs:end:pedersen_commitment
108
+ pedersen_commitment_with_separator(input, 0)
109
+ }
110
+
111
+ #[inline_always]
112
+ pub fn pedersen_commitment_with_separator<let N: u32>(
113
+ input: [Field; N],
114
+ separator: u32,
115
+ ) -> EmbeddedCurvePoint {
116
+ let mut points = [EmbeddedCurveScalar { lo: 0, hi: 0 }; N];
117
+ for i in 0..N {
118
+ // we use the unsafe version because the multi_scalar_mul will constrain the scalars.
119
+ points[i] = from_field_unsafe(input[i]);
120
+ }
121
+ let generators = derive_generators("DEFAULT_DOMAIN_SEPARATOR".as_bytes(), separator);
122
+ multi_scalar_mul(generators, points)
123
+ }
124
+
125
+ // docs:start:pedersen_hash
126
+ pub fn pedersen_hash<let N: u32>(input: [Field; N]) -> Field
127
+ // docs:end:pedersen_hash
128
+ {
129
+ pedersen_hash_with_separator(input, 0)
130
+ }
131
+
132
+ #[no_predicates]
133
+ pub fn pedersen_hash_with_separator<let N: u32>(input: [Field; N], separator: u32) -> Field {
134
+ let mut scalars: [EmbeddedCurveScalar; N + 1] = [EmbeddedCurveScalar { lo: 0, hi: 0 }; N + 1];
135
+ let mut generators: [EmbeddedCurvePoint; N + 1] =
136
+ [EmbeddedCurvePoint::point_at_infinity(); N + 1];
137
+ let domain_generators: [EmbeddedCurvePoint; N] =
138
+ derive_generators("DEFAULT_DOMAIN_SEPARATOR".as_bytes(), separator);
139
+
140
+ for i in 0..N {
141
+ scalars[i] = from_field_unsafe(input[i]);
142
+ generators[i] = domain_generators[i];
143
+ }
144
+ scalars[N] = EmbeddedCurveScalar { lo: N as Field, hi: 0 as Field };
145
+
146
+ let length_generator: [EmbeddedCurvePoint; 1] =
147
+ derive_generators("pedersen_hash_length".as_bytes(), 0);
148
+ generators[N] = length_generator[0];
149
+ multi_scalar_mul_array_return(generators, scalars, true)[0].x
150
+ }
151
+
152
+ #[field(bn254)]
153
+ #[inline_always]
154
+ pub fn derive_generators<let N: u32, let M: u32>(
155
+ domain_separator_bytes: [u8; M],
156
+ starting_index: u32,
157
+ ) -> [EmbeddedCurvePoint; N] {
158
+ crate::assert_constant(domain_separator_bytes);
159
+ // TODO(https://github.com/noir-lang/noir/issues/5672): Add back assert_constant on starting_index
160
+ __derive_generators(domain_separator_bytes, starting_index)
161
+ }
162
+
163
+ #[builtin(derive_pedersen_generators)]
164
+ #[field(bn254)]
165
+ fn __derive_generators<let N: u32, let M: u32>(
166
+ domain_separator_bytes: [u8; M],
167
+ starting_index: u32,
168
+ ) -> [EmbeddedCurvePoint; N] {}
169
+
170
+ #[field(bn254)]
171
+ // Decompose the input 'bn254 scalar' into two 128 bits limbs.
172
+ // It is called 'unsafe' because it does not assert the limbs are 128 bits
173
+ // Assuming the limbs are 128 bits:
174
+ // Assert the decomposition does not overflow the field size.
175
+ fn from_field_unsafe(scalar: Field) -> EmbeddedCurveScalar {
176
+ // Safety: xlo and xhi decomposition is checked below
177
+ let (xlo, xhi) = unsafe { crate::field::bn254::decompose_hint(scalar) };
178
+ // Check that the decomposition is correct
179
+ assert_eq(scalar, xlo + crate::field::bn254::TWO_POW_128 * xhi);
180
+ // Check that the decomposition does not overflow the field size
181
+ let (a, b) = if xhi == crate::field::bn254::PHI {
182
+ (xlo, crate::field::bn254::PLO)
183
+ } else {
184
+ (xhi, crate::field::bn254::PHI)
185
+ };
186
+ crate::field::bn254::assert_lt(a, b);
187
+
188
+ EmbeddedCurveScalar { lo: xlo, hi: xhi }
189
+ }
190
+
191
+ pub fn poseidon2_permutation<let N: u32>(input: [Field; N], state_len: u32) -> [Field; N] {
192
+ assert_eq(input.len(), state_len);
193
+ poseidon2_permutation_internal(input)
194
+ }
195
+
196
+ #[foreign(poseidon2_permutation)]
197
+ fn poseidon2_permutation_internal<let N: u32>(input: [Field; N]) -> [Field; N] {}
198
+
199
+ // Generic hashing support.
200
+ // Partially ported and impacted by rust.
201
+
202
+ // Hash trait shall be implemented per type.
203
+ #[derive_via(derive_hash)]
204
+ pub trait Hash {
205
+ fn hash<H>(self, state: &mut H)
206
+ where
207
+ H: Hasher;
208
+ }
209
+
210
+ // docs:start:derive_hash
211
+ comptime fn derive_hash(s: TypeDefinition) -> Quoted {
212
+ let name = quote { $crate::hash::Hash };
213
+ let signature = quote { fn hash<H>(_self: Self, _state: &mut H) where H: $crate::hash::Hasher };
214
+ let for_each_field = |name| quote { _self.$name.hash(_state); };
215
+ crate::meta::make_trait_impl(
216
+ s,
217
+ name,
218
+ signature,
219
+ for_each_field,
220
+ quote {},
221
+ |fields| fields,
222
+ )
223
+ }
224
+ // docs:end:derive_hash
225
+
226
+ // Hasher trait shall be implemented by algorithms to provide hash-agnostic means.
227
+ // TODO: consider making the types generic here ([u8], [Field], etc.)
228
+ pub trait Hasher {
229
+ fn finish(self) -> Field;
230
+
231
+ fn write(&mut self, input: Field);
232
+ }
233
+
234
+ // BuildHasher is a factory trait, responsible for production of specific Hasher.
235
+ pub trait BuildHasher {
236
+ type H: Hasher;
237
+
238
+ fn build_hasher(self) -> H;
239
+ }
240
+
241
+ pub struct BuildHasherDefault<H>;
242
+
243
+ impl<H> BuildHasher for BuildHasherDefault<H>
244
+ where
245
+ H: Hasher + Default,
246
+ {
247
+ type H = H;
248
+
249
+ fn build_hasher(_self: Self) -> H {
250
+ H::default()
251
+ }
252
+ }
253
+
254
+ impl<H> Default for BuildHasherDefault<H>
255
+ where
256
+ H: Hasher + Default,
257
+ {
258
+ fn default() -> Self {
259
+ BuildHasherDefault {}
260
+ }
261
+ }
262
+
263
+ impl Hash for Field {
264
+ fn hash<H>(self, state: &mut H)
265
+ where
266
+ H: Hasher,
267
+ {
268
+ H::write(state, self);
269
+ }
270
+ }
271
+
272
+ impl Hash for u1 {
273
+ fn hash<H>(self, state: &mut H)
274
+ where
275
+ H: Hasher,
276
+ {
277
+ H::write(state, self as Field);
278
+ }
279
+ }
280
+
281
+ impl Hash for u8 {
282
+ fn hash<H>(self, state: &mut H)
283
+ where
284
+ H: Hasher,
285
+ {
286
+ H::write(state, self as Field);
287
+ }
288
+ }
289
+
290
+ impl Hash for u16 {
291
+ fn hash<H>(self, state: &mut H)
292
+ where
293
+ H: Hasher,
294
+ {
295
+ H::write(state, self as Field);
296
+ }
297
+ }
298
+
299
+ impl Hash for u32 {
300
+ fn hash<H>(self, state: &mut H)
301
+ where
302
+ H: Hasher,
303
+ {
304
+ H::write(state, self as Field);
305
+ }
306
+ }
307
+
308
+ impl Hash for u64 {
309
+ fn hash<H>(self, state: &mut H)
310
+ where
311
+ H: Hasher,
312
+ {
313
+ H::write(state, self as Field);
314
+ }
315
+ }
316
+
317
+ impl Hash for u128 {
318
+ fn hash<H>(self, state: &mut H)
319
+ where
320
+ H: Hasher,
321
+ {
322
+ H::write(state, self as Field);
323
+ }
324
+ }
325
+
326
+ impl Hash for i8 {
327
+ fn hash<H>(self, state: &mut H)
328
+ where
329
+ H: Hasher,
330
+ {
331
+ H::write(state, self as u8 as Field);
332
+ }
333
+ }
334
+
335
+ impl Hash for i16 {
336
+ fn hash<H>(self, state: &mut H)
337
+ where
338
+ H: Hasher,
339
+ {
340
+ H::write(state, self as u16 as Field);
341
+ }
342
+ }
343
+
344
+ impl Hash for i32 {
345
+ fn hash<H>(self, state: &mut H)
346
+ where
347
+ H: Hasher,
348
+ {
349
+ H::write(state, self as u32 as Field);
350
+ }
351
+ }
352
+
353
+ impl Hash for i64 {
354
+ fn hash<H>(self, state: &mut H)
355
+ where
356
+ H: Hasher,
357
+ {
358
+ H::write(state, self as u64 as Field);
359
+ }
360
+ }
361
+
362
+ impl Hash for bool {
363
+ fn hash<H>(self, state: &mut H)
364
+ where
365
+ H: Hasher,
366
+ {
367
+ H::write(state, self as Field);
368
+ }
369
+ }
370
+
371
+ impl Hash for () {
372
+ fn hash<H>(_self: Self, _state: &mut H)
373
+ where
374
+ H: Hasher,
375
+ {}
376
+ }
377
+
378
+ impl<T, let N: u32> Hash for [T; N]
379
+ where
380
+ T: Hash,
381
+ {
382
+ fn hash<H>(self, state: &mut H)
383
+ where
384
+ H: Hasher,
385
+ {
386
+ for elem in self {
387
+ elem.hash(state);
388
+ }
389
+ }
390
+ }
391
+
392
+ impl<T> Hash for [T]
393
+ where
394
+ T: Hash,
395
+ {
396
+ fn hash<H>(self, state: &mut H)
397
+ where
398
+ H: Hasher,
399
+ {
400
+ self.len().hash(state);
401
+ for elem in self {
402
+ elem.hash(state);
403
+ }
404
+ }
405
+ }
406
+
407
+ impl<A, B> Hash for (A, B)
408
+ where
409
+ A: Hash,
410
+ B: Hash,
411
+ {
412
+ fn hash<H>(self, state: &mut H)
413
+ where
414
+ H: Hasher,
415
+ {
416
+ self.0.hash(state);
417
+ self.1.hash(state);
418
+ }
419
+ }
420
+
421
+ impl<A, B, C> Hash for (A, B, C)
422
+ where
423
+ A: Hash,
424
+ B: Hash,
425
+ C: Hash,
426
+ {
427
+ fn hash<H>(self, state: &mut H)
428
+ where
429
+ H: Hasher,
430
+ {
431
+ self.0.hash(state);
432
+ self.1.hash(state);
433
+ self.2.hash(state);
434
+ }
435
+ }
436
+
437
+ impl<A, B, C, D> Hash for (A, B, C, D)
438
+ where
439
+ A: Hash,
440
+ B: Hash,
441
+ C: Hash,
442
+ D: Hash,
443
+ {
444
+ fn hash<H>(self, state: &mut H)
445
+ where
446
+ H: Hasher,
447
+ {
448
+ self.0.hash(state);
449
+ self.1.hash(state);
450
+ self.2.hash(state);
451
+ self.3.hash(state);
452
+ }
453
+ }
454
+
455
+ impl<A, B, C, D, E> Hash for (A, B, C, D, E)
456
+ where
457
+ A: Hash,
458
+ B: Hash,
459
+ C: Hash,
460
+ D: Hash,
461
+ E: Hash,
462
+ {
463
+ fn hash<H>(self, state: &mut H)
464
+ where
465
+ H: Hasher,
466
+ {
467
+ self.0.hash(state);
468
+ self.1.hash(state);
469
+ self.2.hash(state);
470
+ self.3.hash(state);
471
+ self.4.hash(state);
472
+ }
473
+ }
474
+
475
+ // Some test vectors for Pedersen hash and Pedersen Commitment.
476
+ // They have been generated using the same functions so the tests are for now useless
477
+ // but they will be useful when we switch to Noir implementation.
478
+ #[test]
479
+ fn assert_pedersen() {
480
+ assert_eq(
481
+ pedersen_hash_with_separator([1], 1),
482
+ 0x1b3f4b1a83092a13d8d1a59f7acb62aba15e7002f4440f2275edb99ebbc2305f,
483
+ );
484
+ assert_eq(
485
+ pedersen_commitment_with_separator([1], 1),
486
+ EmbeddedCurvePoint {
487
+ x: 0x054aa86a73cb8a34525e5bbed6e43ba1198e860f5f3950268f71df4591bde402,
488
+ y: 0x209dcfbf2cfb57f9f6046f44d71ac6faf87254afc7407c04eb621a6287cac126,
489
+ is_infinite: false,
490
+ },
491
+ );
492
+
493
+ assert_eq(
494
+ pedersen_hash_with_separator([1, 2], 2),
495
+ 0x26691c129448e9ace0c66d11f0a16d9014a9e8498ee78f4d69f0083168188255,
496
+ );
497
+ assert_eq(
498
+ pedersen_commitment_with_separator([1, 2], 2),
499
+ EmbeddedCurvePoint {
500
+ x: 0x2e2b3b191e49541fe468ec6877721d445dcaffe41728df0a0eafeb15e87b0753,
501
+ y: 0x2ff4482400ad3a6228be17a2af33e2bcdf41be04795f9782bd96efe7e24f8778,
502
+ is_infinite: false,
503
+ },
504
+ );
505
+ assert_eq(
506
+ pedersen_hash_with_separator([1, 2, 3], 3),
507
+ 0x0bc694b7a1f8d10d2d8987d07433f26bd616a2d351bc79a3c540d85b6206dbe4,
508
+ );
509
+ assert_eq(
510
+ pedersen_commitment_with_separator([1, 2, 3], 3),
511
+ EmbeddedCurvePoint {
512
+ x: 0x1fee4e8cf8d2f527caa2684236b07c4b1bad7342c01b0f75e9a877a71827dc85,
513
+ y: 0x2f9fedb9a090697ab69bf04c8bc15f7385b3e4b68c849c1536e5ae15ff138fd1,
514
+ is_infinite: false,
515
+ },
516
+ );
517
+ assert_eq(
518
+ pedersen_hash_with_separator([1, 2, 3, 4], 4),
519
+ 0xdae10fb32a8408521803905981a2b300d6a35e40e798743e9322b223a5eddc,
520
+ );
521
+ assert_eq(
522
+ pedersen_commitment_with_separator([1, 2, 3, 4], 4),
523
+ EmbeddedCurvePoint {
524
+ x: 0x07ae3e202811e1fca39c2d81eabe6f79183978e6f12be0d3b8eda095b79bdbc9,
525
+ y: 0x0afc6f892593db6fbba60f2da558517e279e0ae04f95758587760ba193145014,
526
+ is_infinite: false,
527
+ },
528
+ );
529
+ assert_eq(
530
+ pedersen_hash_with_separator([1, 2, 3, 4, 5], 5),
531
+ 0xfc375b062c4f4f0150f7100dfb8d9b72a6d28582dd9512390b0497cdad9c22,
532
+ );
533
+ assert_eq(
534
+ pedersen_commitment_with_separator([1, 2, 3, 4, 5], 5),
535
+ EmbeddedCurvePoint {
536
+ x: 0x1754b12bd475a6984a1094b5109eeca9838f4f81ac89c5f0a41dbce53189bb29,
537
+ y: 0x2da030e3cfcdc7ddad80eaf2599df6692cae0717d4e9f7bfbee8d073d5d278f7,
538
+ is_infinite: false,
539
+ },
540
+ );
541
+ assert_eq(
542
+ pedersen_hash_with_separator([1, 2, 3, 4, 5, 6], 6),
543
+ 0x1696ed13dc2730062a98ac9d8f9de0661bb98829c7582f699d0273b18c86a572,
544
+ );
545
+ assert_eq(
546
+ pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6], 6),
547
+ EmbeddedCurvePoint {
548
+ x: 0x190f6c0e97ad83e1e28da22a98aae156da083c5a4100e929b77e750d3106a697,
549
+ y: 0x1f4b60f34ef91221a0b49756fa0705da93311a61af73d37a0c458877706616fb,
550
+ is_infinite: false,
551
+ },
552
+ );
553
+ assert_eq(
554
+ pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7], 7),
555
+ 0x128c0ff144fc66b6cb60eeac8a38e23da52992fc427b92397a7dffd71c45ede3,
556
+ );
557
+ assert_eq(
558
+ pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7], 7),
559
+ EmbeddedCurvePoint {
560
+ x: 0x015441e9d29491b06563fac16fc76abf7a9534c715421d0de85d20dbe2965939,
561
+ y: 0x1d2575b0276f4e9087e6e07c2cb75aa1baafad127af4be5918ef8a2ef2fea8fc,
562
+ is_infinite: false,
563
+ },
564
+ );
565
+ assert_eq(
566
+ pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8], 8),
567
+ 0x2f960e117482044dfc99d12fece2ef6862fba9242be4846c7c9a3e854325a55c,
568
+ );
569
+ assert_eq(
570
+ pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8], 8),
571
+ EmbeddedCurvePoint {
572
+ x: 0x1657737676968887fceb6dd516382ea13b3a2c557f509811cd86d5d1199bc443,
573
+ y: 0x1f39f0cb569040105fa1e2f156521e8b8e08261e635a2b210bdc94e8d6d65f77,
574
+ is_infinite: false,
575
+ },
576
+ );
577
+ assert_eq(
578
+ pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9], 9),
579
+ 0x0c96db0790602dcb166cc4699e2d306c479a76926b81c2cb2aaa92d249ec7be7,
580
+ );
581
+ assert_eq(
582
+ pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9], 9),
583
+ EmbeddedCurvePoint {
584
+ x: 0x0a3ceae42d14914a432aa60ec7fded4af7dad7dd4acdbf2908452675ec67e06d,
585
+ y: 0xfc19761eaaf621ad4aec9a8b2e84a4eceffdba78f60f8b9391b0bd9345a2f2,
586
+ is_infinite: false,
587
+ },
588
+ );
589
+ assert_eq(
590
+ pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10),
591
+ 0x2cd37505871bc460a62ea1e63c7fe51149df5d0801302cf1cbc48beb8dff7e94,
592
+ );
593
+ assert_eq(
594
+ pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10),
595
+ EmbeddedCurvePoint {
596
+ x: 0x2fb3f8b3d41ddde007c8c3c62550f9a9380ee546fcc639ffbb3fd30c8d8de30c,
597
+ y: 0x300783be23c446b11a4c0fabf6c91af148937cea15fcf5fb054abf7f752ee245,
598
+ is_infinite: false,
599
+ },
600
+ );
601
+ }
602
+ `, path: "std/hash/mod.nr" }, "51": { source: "// SPDX-License-Identifier: LGPL-3.0-only\n//\n// This file is provided WITHOUT ANY WARRANTY;\n// without even the implied warranty of MERCHANTABILITY\n// or FITNESS FOR A PARTICULAR PURPOSE.\n\nuse lib::configs::default::threshold::{\n L, N, USER_DATA_ENCRYPTION_BIT_CT, USER_DATA_ENCRYPTION_BIT_E0, USER_DATA_ENCRYPTION_BIT_K,\n USER_DATA_ENCRYPTION_BIT_PK, USER_DATA_ENCRYPTION_BIT_R1, USER_DATA_ENCRYPTION_BIT_R2,\n USER_DATA_ENCRYPTION_BIT_U, USER_DATA_ENCRYPTION_CT0_CONFIGS,\n};\nuse lib::core::threshold::user_data_encryption_ct0::UserDataEncryptionCt0;\nuse lib::math::polynomial::Polynomial;\n\nfn main(\n pk0is: [Polynomial<N>; L],\n ct0is: [Polynomial<N>; L],\n u: Polynomial<N>,\n e0: Polynomial<N>,\n e0is: [Polynomial<N>; L],\n e0_quotients: [Polynomial<N>; L],\n k1: Polynomial<N>,\n r1is: [Polynomial<(2 * N) - 1>; L],\n r2is: [Polynomial<N - 1>; L],\n) -> pub (Field, Field, Field, Field) {\n let circuit: UserDataEncryptionCt0<N, L, USER_DATA_ENCRYPTION_BIT_PK, USER_DATA_ENCRYPTION_BIT_CT, USER_DATA_ENCRYPTION_BIT_U, USER_DATA_ENCRYPTION_BIT_E0, USER_DATA_ENCRYPTION_BIT_K, USER_DATA_ENCRYPTION_BIT_R1, USER_DATA_ENCRYPTION_BIT_R2> = UserDataEncryptionCt0::new(\n USER_DATA_ENCRYPTION_CT0_CONFIGS,\n pk0is,\n ct0is,\n u,\n e0,\n e0is,\n e0_quotients,\n k1,\n r1is,\n r2is,\n );\n\n circuit.execute()\n}\n", path: "interfold/circuits/bin/threshold/user_data_encryption_ct0/src/main.nr" }, "85": { source: '// SPDX-License-Identifier: LGPL-3.0-only\n//\n// This file is provided WITHOUT ANY WARRANTY;\n// without even the implied warranty of MERCHANTABILITY\n// or FITNESS FOR A PARTICULAR PURPOSE.\n\n//! User-data encryption - ct0 leg (P3).\n//!\n//! See `UserDataEncryptionCt0` for the circuit contract.\n\nuse crate::math::commitments::compute_multiple_polynomial_commitment;\nuse crate::math::commitments::compute_single_polynomial_commitment;\nuse crate::math::commitments::compute_user_data_encryption_ct0_challenge;\nuse crate::math::commitments::DS_CIPHERTEXT;\nuse crate::math::commitments::DS_PK_AGGREGATION;\nuse crate::math::commitments::DS_USER_DATA_ENCRYPTION_COMMITMENT;\nuse crate::math::helpers::flatten;\nuse crate::math::polynomial::Polynomial;\n\n/// Parameters for user-data encryption ct0 (P3).\npub struct Configs<let N: u32, let L: u32> {\n pub qis: [Field; L],\n pub k0is: [Field; L],\n pub e0_bound: Field,\n pub u_bound: Field,\n pub r1_low_bounds: [Field; L],\n pub r1_up_bounds: [Field; L],\n pub r2_bounds: [Field; L],\n pub k1_low_bound: Field,\n pub k1_up_bound: Field,\n}\n\nimpl<let N: u32, let L: u32> Configs<N, L> {\n pub fn new(\n qis: [Field; L],\n k0is: [Field; L],\n e0_bound: Field,\n u_bound: Field,\n r1_low_bounds: [Field; L],\n r1_up_bounds: [Field; L],\n r2_bounds: [Field; L],\n k1_low_bound: Field,\n k1_up_bound: Field,\n ) -> Self {\n Configs {\n qis,\n k0is,\n e0_bound,\n u_bound,\n r1_low_bounds,\n r1_up_bounds,\n r2_bounds,\n k1_low_bound,\n k1_up_bound,\n }\n }\n}\n\n/// User-data encryption ct0 (P3).\n///\n/// **Role:** Prove the first ciphertext leg and publish `pk0`, `ct0`, `k1`, and `u` commitments\n/// for the wrapper and ct1 circuit.\n///\n/// **Consumes:** Threshold PK from C5 (`pk0is` witness path).\n///\n/// **Produces:** `(pk0_commitment, ct0_commitment, k1_commitment, u_commitment)` public outputs.\npub struct UserDataEncryptionCt0<let N: u32, let L: u32, let BIT_PK: u32, let BIT_CT: u32, let BIT_U: u32, let BIT_E0: u32, let BIT_K: u32, let BIT_R1: u32, let BIT_R2: u32> {\n configs: Configs<N, L>,\n /// Aggregated threshold `pk0` limb (from C5).\n pk0is: [Polynomial<N>; L],\n ct0is: [Polynomial<N>; L],\n u: Polynomial<N>,\n e0: Polynomial<N>,\n e0is: [Polynomial<N>; L],\n e0_quotients: [Polynomial<N>; L],\n k1: Polynomial<N>,\n r1is: [Polynomial<(2 * N) - 1>; L],\n r2is: [Polynomial<N - 1>; L],\n}\n\nimpl<let N: u32, let L: u32, let BIT_PK: u32, let BIT_CT: u32, let BIT_U: u32, let BIT_E0: u32, let BIT_K: u32, let BIT_R1: u32, let BIT_R2: u32> UserDataEncryptionCt0<N, L, BIT_PK, BIT_CT, BIT_U, BIT_E0, BIT_K, BIT_R1, BIT_R2> {\n\n pub fn new(\n configs: Configs<N, L>,\n pk0is: [Polynomial<N>; L],\n ct0is: [Polynomial<N>; L],\n u: Polynomial<N>,\n e0: Polynomial<N>,\n e0is: [Polynomial<N>; L],\n e0_quotients: [Polynomial<N>; L],\n k1: Polynomial<N>,\n r1is: [Polynomial<(2 * N) - 1>; L],\n r2is: [Polynomial<N - 1>; L],\n ) -> Self {\n UserDataEncryptionCt0 { configs, pk0is, ct0is, u, e0, e0is, e0_quotients, k1, r1is, r2is }\n }\n\n fn check_e0_crt_consistency(self) {\n for i in 0..L {\n for j in 0..N {\n assert(\n self.e0.coefficients[j]\n == self.e0is[i].coefficients[j]\n + self.e0_quotients[i].coefficients[j] * self.configs.qis[i],\n );\n }\n }\n }\n\n fn check_range_bounds(self) {\n self.u.range_check_2bounds::<BIT_U>(self.configs.u_bound, self.configs.u_bound);\n self.e0.range_check_2bounds::<BIT_E0>(self.configs.e0_bound, self.configs.e0_bound);\n self.k1.range_check_2bounds::<BIT_K>(self.configs.k1_up_bound, self.configs.k1_low_bound);\n\n for i in 0..L {\n self.r1is[i].range_check_2bounds::<BIT_R1>(\n self.configs.r1_up_bounds[i],\n self.configs.r1_low_bounds[i],\n );\n self.r2is[i].range_check_2bounds::<BIT_R2>(\n self.configs.r2_bounds[i],\n self.configs.r2_bounds[i],\n );\n }\n }\n\n fn generate_commitments(self) -> (Field, Field, Field, Field) {\n let pk0_commitment =\n compute_multiple_polynomial_commitment::<N, L, BIT_PK>(self.pk0is, DS_PK_AGGREGATION);\n let ct0_commitment =\n compute_multiple_polynomial_commitment::<N, L, BIT_CT>(self.ct0is, DS_CIPHERTEXT);\n let k1_commitment = compute_single_polynomial_commitment::<N, BIT_K>(\n self.k1,\n DS_USER_DATA_ENCRYPTION_COMMITMENT,\n );\n let u_commitment = compute_single_polynomial_commitment::<N, BIT_U>(\n self.u,\n DS_USER_DATA_ENCRYPTION_COMMITMENT,\n );\n\n (pk0_commitment, ct0_commitment, k1_commitment, u_commitment)\n }\n\n fn generate_challenge(\n self,\n pk0_commitment: Field,\n ct0_commitment: Field,\n k1_commitment: Field,\n u_commitment: Field,\n ) -> Vec<Field> {\n let mut payload = Vec::new();\n\n payload.push(pk0_commitment);\n payload.push(ct0_commitment);\n payload.push(k1_commitment);\n payload.push(u_commitment);\n\n payload = flatten::<_, _, BIT_E0>(payload, [self.e0]);\n payload = flatten::<_, _, BIT_R1>(payload, self.r1is);\n payload = flatten::<_, _, BIT_R2>(payload, self.r2is);\n\n let gammas = compute_user_data_encryption_ct0_challenge::<L>(payload);\n\n gammas\n }\n\n fn verify_evaluations(self, gammas: Vec<Field>) -> bool {\n let gamma = gammas.get(0);\n let cyclo_at_gamma = gamma.pow_32(N as Field) + 1;\n let u_at_gamma = self.u.eval(gamma);\n let k1_at_gamma = self.k1.eval(gamma);\n\n let mut sum = (0, 0);\n for i in 0..L {\n let pk0is_at_gamma = self.pk0is[i].eval(gamma);\n let r1i_at_gamma = self.r1is[i].eval(gamma);\n let r2i_at_gamma = self.r2is[i].eval(gamma);\n let e0is_at_gamma = self.e0is[i].eval(gamma);\n\n let mut ct0_rhs = pk0is_at_gamma * u_at_gamma + e0is_at_gamma;\n ct0_rhs += k1_at_gamma * self.configs.k0is[i];\n ct0_rhs += r1i_at_gamma * self.configs.qis[i];\n ct0_rhs += r2i_at_gamma * cyclo_at_gamma;\n\n let ct0_lhs = self.ct0is[i].eval(gamma);\n let gamma_i = if i == 0 { 1 } else { gammas.get(i) };\n\n sum = (sum.0 + ct0_lhs * gamma_i, sum.1 + ct0_rhs * gamma_i);\n }\n\n sum.0 == sum.1\n }\n\n /// Returns `(pk0_commitment, ct0_commitment, k1_commitment, u_commitment)`.\n pub fn execute(self) -> (Field, Field, Field, Field) {\n // Step 1: Witness bounds and CRT consistency of `e0`.\n self.check_range_bounds();\n self.check_e0_crt_consistency();\n\n // Step 2: Domain-separated commitments for the FS transcript.\n let (pk0_commitment, ct0_commitment, k1_commitment, u_commitment) =\n self.generate_commitments();\n\n // Step 3: Fiat-Shamir challenge and batched evaluation check of ct0 equations.\n let gammas =\n self.generate_challenge(pk0_commitment, ct0_commitment, k1_commitment, u_commitment);\n\n assert(self.verify_evaluations(gammas), "ct0 encryption check failed");\n\n (pk0_commitment, ct0_commitment, k1_commitment, u_commitment)\n }\n}\n', path: "interfold/circuits/lib/src/core/threshold/user_data_encryption_ct0.nr" }, "88": { source: '// SPDX-License-Identifier: LGPL-3.0-only\n//\n// This file is provided WITHOUT ANY WARRANTY;\n// without even the implied warranty of MERCHANTABILITY\n// or FITNESS FOR A PARTICULAR PURPOSE.\n\nuse crate::math::helpers::{compute_safe, flatten};\nuse crate::math::polynomial::Polynomial;\n\n/// DOMAIN SEPARATORS\n\n// Domain separator - "PK"\npub global DS_PK: [u8; 64] = [\n 0x50, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "PK_GENERATION"\npub global DS_PK_GENERATION: [u8; 64] = [\n 0x50, 0x4b, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "SHARE_COMPUTATION"\npub global DS_SHARE_COMPUTATION: [u8; 64] = [\n 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x55, 0x54, 0x41, 0x54, 0x49, 0x4f,\n 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "SHARE_ENCRYPTION"\npub global DS_SHARE_ENCRYPTION: [u8; 64] = [\n 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "PK_AGGREGATION"\npub global DS_PK_AGGREGATION: [u8; 64] = [\n 0x50, 0x4b, 0x5f, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "CIPHERTEXT"\npub global DS_CIPHERTEXT: [u8; 64] = [\n 0x43, 0x49, 0x50, 0x48, 0x45, 0x52, 0x54, 0x45, 0x58, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "AGGREGATED_SHARES"\npub global DS_AGGREGATED_SHARES: [u8; 64] = [\n 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45,\n 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "VK_HASH"\npub global DS_VK_HASH: [u8; 64] = [\n 0x56, 0x4b, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "RECURSIVE_AGGREGATION"\npub global DS_RECURSIVE_AGGREGATION: [u8; 64] = [\n 0x52, 0x45, 0x43, 0x55, 0x52, 0x53, 0x49, 0x56, 0x45, 0x5f, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47,\n 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "CLG_PK_GENERATION"\npub global DS_CLG_PK_GENERATION: [u8; 64] = [\n 0x43, 0x4c, 0x47, 0x5f, 0x50, 0x4b, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f,\n 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "CLG_SHARE_ENCRYPTION"\npub global DS_CLG_SHARE_ENCRYPTION: [u8; 64] = [\n 0x43, 0x4c, 0x47, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50,\n 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "CLG_USER_DATA_ENCRYPTION"\npub global DS_CLG_USER_DATA_ENCRYPTION: [u8; 64] = [\n 0x43, 0x4c, 0x47, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x4e,\n 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "CLG_SHARE_DECRYPTION"\npub global DS_CLG_SHARE_DECRYPTION: [u8; 64] = [\n 0x43, 0x4c, 0x47, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x44, 0x45, 0x43, 0x52, 0x59, 0x50,\n 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n\n// Domain separator - "THRESHOLD_DECRYPTION_SHARE"\npub global DS_THRESHOLD_DECRYPTION_SHARE: [u8; 64] = [\n 0x54, 0x48, 0x52, 0x45, 0x53, 0x48, 0x4f, 0x4c, 0x44, 0x5f, 0x44, 0x45, 0x43, 0x52, 0x59, 0x50,\n 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n\n// Domain separator - "USER_DATA_ENCRYPTION_COMMITMENT"\npub global DS_USER_DATA_ENCRYPTION_COMMITMENT: [u8; 64] = [\n 0x55, 0x53, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50,\n 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x4d, 0x45, 0x4e, 0x54, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n\n/// WRAPPERS\n\npub fn compute_commitment(inputs: Vec<Field>, domain_separator: [u8; 64]) -> Field {\n compute_safe(domain_separator, inputs, [0x80000000 | inputs.len(), 1]).get(0)\n}\n\npub fn compute_single_polynomial_commitment<let N: u32, let BIT: u32>(\n polynomial: Polynomial<N>,\n domain_separator: [u8; 64],\n) -> Field {\n let mut payload = single_polynomial_payload::<N, BIT>(Vec::new(), polynomial);\n compute_commitment(payload, domain_separator)\n}\n\npub fn compute_multiple_polynomial_commitment<let N: u32, let L: u32, let BIT: u32>(\n polynomials: [Polynomial<N>; L],\n domain_separator: [u8; 64],\n) -> Field {\n let mut payload = multiple_polynomial_payload::<N, L, BIT>(Vec::new(), polynomials);\n compute_commitment(payload, domain_separator)\n}\n\npub fn compute_challenge<let L: u32>(inputs: Vec<Field>, domain_separator: [u8; 64]) -> Vec<Field> {\n compute_safe(domain_separator, inputs, [0x80000000 | inputs.len(), 2 * L])\n}\n\npub fn single_polynomial_payload<let N: u32, let BIT_POLY: u32>(\n payload: Vec<Field>,\n input: Polynomial<N>,\n) -> Vec<Field> {\n flatten::<_, _, BIT_POLY>(payload, [input])\n}\n\npub fn multiple_polynomial_payload<let N: u32, let L: u32, let BIT_POLY: u32>(\n payload: Vec<Field>,\n inputs: [Polynomial<N>; L],\n) -> Vec<Field> {\n flatten::<_, _, BIT_POLY>(payload, inputs)\n}\n\n/// COMMITMENTS\n\npub fn compute_dkg_pk_commitment<let N: u32, let L: u32, let BIT_PK: u32>(\n pk0: [Polynomial<N>; L],\n pk1: [Polynomial<N>; L],\n) -> Field {\n let mut payload = multiple_polynomial_payload::<N, L, BIT_PK>(Vec::new(), pk0);\n payload = multiple_polynomial_payload::<N, L, BIT_PK>(payload, pk1);\n\n compute_commitment(payload, DS_PK)\n}\n\npub fn compute_threshold_pk_commitment<let N: u32, let L: u32, let BIT_PK: u32>(\n pk0: [Polynomial<N>; L],\n) -> Field {\n let payload = multiple_polynomial_payload::<N, L, BIT_PK>(Vec::new(), pk0);\n compute_commitment(payload, DS_PK_GENERATION)\n}\n\npub fn compute_share_computation_sk_commitment<let N: u32, let BIT_SK: u32>(\n sk: Polynomial<N>,\n) -> Field {\n let mut payload = single_polynomial_payload::<N, BIT_SK>(Vec::new(), sk);\n compute_commitment(payload, DS_SHARE_COMPUTATION)\n}\n\npub fn compute_share_computation_e_sm_commitment<let N: u32, let L: u32, let BIT_E_SM: u32>(\n e_sm: [Polynomial<N>; L],\n) -> Field {\n let mut payload = multiple_polynomial_payload::<N, L, BIT_E_SM>(Vec::new(), e_sm);\n compute_commitment(payload, DS_SHARE_COMPUTATION)\n}\n\npub fn compute_share_encryption_commitment_from_message<let N: u32, let BIT_MSG: u32>(\n message: Polynomial<N>,\n) -> Field {\n let mut payload = single_polynomial_payload::<N, BIT_MSG>(Vec::new(), message);\n compute_commitment(payload, DS_SHARE_ENCRYPTION)\n}\n\npub fn compute_aggregated_shares_commitment<let N: u32, let L: u32, let BIT_MSG: u32>(\n agg_shares: [Polynomial<N>; L],\n) -> Field {\n let mut payload = multiple_polynomial_payload::<N, L, BIT_MSG>(Vec::new(), agg_shares);\n compute_commitment(payload, DS_AGGREGATED_SHARES)\n}\n\n/// Commitment to a threshold decryption share: all CRT limbs, first `K` coefficients per limb\n/// (same layout as `Polynomial<K>` in decrypted_shares_aggregation).\n///\n/// `NATIVE_BIT_WIDTH` must cover native coefficients in \\([0, q_l)\\) per limb (not centered `d` bounds).\npub fn compute_threshold_decryption_share_commitment<let K: u32, let L: u32, let NATIVE_BIT_WIDTH: u32>(\n d_share_limbs: [Polynomial<K>; L],\n) -> Field {\n let mut payload =\n multiple_polynomial_payload::<K, L, NATIVE_BIT_WIDTH>(Vec::new(), d_share_limbs);\n compute_commitment(payload, DS_THRESHOLD_DECRYPTION_SHARE)\n}\n\npub fn compute_pk_aggregation_commitment<let N: u32, let L: u32, let BIT_PK: u32>(\n pk0: [Polynomial<N>; L],\n pk1: [Polynomial<N>; L],\n) -> Field {\n let commit_pk0 = compute_multiple_polynomial_commitment::<N, L, BIT_PK>(pk0, DS_PK_AGGREGATION);\n let commit_pk1 = compute_multiple_polynomial_commitment::<N, L, BIT_PK>(pk1, DS_PK_AGGREGATION);\n\n let mut inputs = Vec::new();\n inputs.push(commit_pk0);\n inputs.push(commit_pk1);\n\n compute_commitment(inputs, DS_PK_AGGREGATION)\n}\n\npub fn compute_recursive_aggregation_commitment(payload: Vec<Field>) -> Field {\n compute_commitment(payload, DS_RECURSIVE_AGGREGATION)\n}\n\npub fn compute_vk_hash(vk_hashes: Vec<Field>) -> Field {\n compute_commitment(vk_hashes, DS_VK_HASH)\n}\n\npub fn compute_ciphertext_commitment<let N: u32, let L: u32, let BIT_CT: u32>(\n ct0: [Polynomial<N>; L],\n ct1: [Polynomial<N>; L],\n) -> Field {\n let commit_ct0 = compute_multiple_polynomial_commitment::<N, L, BIT_CT>(ct0, DS_CIPHERTEXT);\n let commit_ct1 = compute_multiple_polynomial_commitment::<N, L, BIT_CT>(ct1, DS_CIPHERTEXT);\n\n let mut inputs = Vec::new();\n inputs.push(commit_ct0);\n inputs.push(commit_ct1);\n\n compute_commitment(inputs, DS_CIPHERTEXT)\n}\n\n/// COMMITMENTS FOR CHALLENGES\n\npub fn compute_threshold_pk_challenge(payload: Vec<Field>) -> Field {\n compute_commitment(payload, DS_CLG_PK_GENERATION)\n}\n\npub fn compute_share_encryption_challenge<let L: u32>(payload: Vec<Field>) -> Vec<Field> {\n compute_challenge::<L>(payload, DS_CLG_SHARE_ENCRYPTION)\n}\n\npub fn compute_threshold_share_decryption_challenge<let L: u32>(payload: Vec<Field>) -> Field {\n compute_challenge::<L>(payload, DS_CLG_SHARE_DECRYPTION).get(0)\n}\n\npub fn compute_user_data_encryption_ct0_challenge<let L: u32>(payload: Vec<Field>) -> Vec<Field> {\n compute_challenge::<L>(payload, DS_CLG_USER_DATA_ENCRYPTION)\n}\n\npub fn compute_user_data_encryption_ct1_challenge<let L: u32>(payload: Vec<Field>) -> Vec<Field> {\n compute_challenge::<L>(payload, DS_CLG_USER_DATA_ENCRYPTION)\n}\n', path: "interfold/circuits/lib/src/math/commitments.nr" }, "90": { source: "// SPDX-License-Identifier: LGPL-3.0-only\n//\n// This file is provided WITHOUT ANY WARRANTY;\n// without even the implied warranty of MERCHANTABILITY\n// or FITNESS FOR A PARTICULAR PURPOSE.\n\n//! Helper functions for circuit construction and cryptographic operations.\nuse crate::math::polynomial::Polynomial;\nuse crate::math::safe::SafeSponge;\n\n/// Compute hex-aligned packing parameters for a given `BIT`.\n///\n/// # Purpose\n/// Returns `(nibble_bits, group)` for use by pack/flatten so layout stays consistent.\n/// - `nibble_bits`: ceil (`BIT`) to the next multiple of 4 (nibble alignment).\n/// - Examples: `BIT = 7 -> 8`, `BIT = 8 -> 8`, `BIT = 9 -> 12`, `BIT = 10 -> 12`, `BIT = 11 -> 12`,\n/// `BIT=16 -> 16`, `BIT = 17 -> 20`.\n/// - `group`: max number of encoded limbs that fit in one BN254 field element,\n/// when each limb uses an extra 4 bits (see below).\n///\n/// # Rationale\n/// - We align to nibbles so powers of two are hex-friendly and deterministic.\n/// - We reserve one extra nibble (4 bits) per stored value to lift signed\n/// coefficients into the non-negative range (e.g., store `v + 2^nibble_bits`),\n/// which implies a radix of `2^(nibble_bits + 4)`.\n///\n/// # Safety\n/// - Asserts `nibble_bits + 4 <= 254` to avoid mod-p wrap on BN254.\n/// - Ensures at least one limb fits: `group >= 1`.\nfn packing_layout<let BIT: u32>() -> (u32, u32) {\n // Ceil BIT up to the next multiple of 4 (nibble alignment).\n let nibble_bits = ((BIT + 3) / 4) * 4;\n\n // Each stored limb uses an extra nibble because negative coefficients\n // will be shifted to positive, so radix = 2^(nibble_bits+4).\n assert(nibble_bits + 4 <= 254);\n\n // Maximum limbs that fit in one BN254 element without wrap.\n let group = 254 / (nibble_bits + 4);\n assert(group >= 1);\n (nibble_bits, group)\n}\n\n/// Flatten `L` polynomials into a single linear stream of packed `Field` carriers.\n///\n/// ## What this does\n/// - For each CRT limb `j` in `0..L`, it packs the coefficients of `poly[j]`\n/// with `pack::<A, BIT>` and appends all resulting carriers to `inputs`.\n/// - The packing layout (nibble-aligned width and `group` size) is taken from\n/// `packing_layout::<BIT>()` and must match what `pack` uses.\n///\n/// ## Determinism & order\n/// - Preserves a stable order: iterate `j = 0..L`, then for each `j` append\n/// carriers in ascending chunk index `i = 0..num_chunks`.\n/// - This ensures transcripts remain deterministic across runs.\n///\n/// ## Generics\n/// - `A`: polynomial degree (number of coefficients per polynomial).\n/// - `L`: number of CRT bases (polynomials).\n/// - `BIT`: per-coefficient bit bound used by the packing layout (compile-time).\n///\n/// ## Returns\n/// - The same `inputs` vector, extended with all carriers in deterministic order.\npub fn flatten<let A: u32, let L: u32, let BIT: u32>(\n mut inputs: Vec<Field>,\n poly: [Polynomial<A>; L],\n) -> Vec<Field> {\n for j in 0..L {\n // Pack its A coefficients into `num_chunks` carriers using the same BIT layout.\n let packed = pack::<A, BIT>(poly[j].coefficients);\n\n // Append carriers in-order to `inputs` to keep a stable transcript layout.\n for i in 0..packed.len() {\n inputs.push(packed.get(i));\n }\n }\n\n // Return the extended input stream.\n inputs\n}\n\n/// Pack `A` values into a `Vec<Field>` of carriers using the shared hex-aligned layout.\n///\n/// ## What this does\n/// - Computes `(nibble_bits, group)` via `packing_layout::<BIT>()`.\n/// - Encodes each value as a limb `digit = v + 2^nibble_bits` and concatenates\n/// limbs in base `radix = 2^(nibble_bits + 4)` (one extra nibble of headroom).\n/// - Packs up to `group` limbs per carrier (fits within BN254 254-bit capacity).\n/// - Pads the last, partial carrier with `digit = 2^nibble_bits` to keep a stable layout.\n///\n/// ## Determinism & order\n/// - Processes values in increasing index order and emits carriers in chunk order\n/// (`chunk = 0..num_chunks`). Padding is deterministic.\n///\n/// ## Generics\n/// - `A`: number of input values.\n/// - `BIT`: per-value bit bound; rounded up to `nibble_bits` by `packing_layout`.\n///\n/// ## Preconditions / Notes\n/// - Call with the raw coefficients whose magnitudes already satisfy the BIT bound\n/// (as enforced by the upstream range checks); `pack` performs the signed -> unsigned\n/// shift internally via `v + base`.\n/// - `group >= 1` is enforced by `packing_layout::<BIT>()`.\n/// - Padding with `digit = 2^nibble_bits` encodes `zero limb` consistently.\n///\n/// ## Returns\n/// - A `Vec<Field>` where each element is a concatenation of up to `group` limbs,\n/// suitable for hashing or transcript I/O.\npub fn pack<let A: u32, let BIT: u32>(values: [Field; A]) -> Vec<Field> {\n // Layout parameters: nibble-aligned width and limbs-per-carrier group size.\n let (nibble_bits, group) = packing_layout::<BIT>();\n\n let base = 2.pow_32(nibble_bits as Field); // 2^nibble_bits\n let radix = 2.pow_32((nibble_bits + 4) as Field); // 2^(nibble_bits + 4)\n\n // Number of chunks to emit: ceil(A / group).\n let num_chunks = (A + group - 1) / group;\n let mut out = Vec::new();\n\n // Process in fixed-size chunks of `group` limbs.\n for chunk in 0..num_chunks {\n // How many real values go into this chunk.\n let remain = A - (chunk * group);\n let take = if remain < group { remain } else { group };\n\n // Build field element accumulator (big-endian concatenation in `radix`).\n let mut acc = 0;\n for i in 0..take {\n let v = values[chunk * group + i];\n acc = acc * radix + (v + base);\n }\n\n // Pad remaining limb slots with the canonical zero-limb `digit = base`.\n for _ in 0..(group - take) {\n acc = acc * radix + base;\n }\n\n out.push(acc);\n }\n out\n}\n\n/// Computes a cryptographic hash using the SAFE (Sponge API for Field Elements) protocol.\n///\n/// This is a convenience wrapper around the SAFE sponge API that handles the full\n/// lifecycle: initialization, absorption, squeezing, and finalization. It's designed\n/// for use in Fiat-Shamir challenge generation and commitment schemes within zero-knowledge circuits.\n///\n/// # Arguments\n/// * `domain_separator` - A 64-byte domain separator used to differentiate between\n/// different protocol instances and prevent cross-protocol attacks.\n/// * `inputs` - Vector of field elements to be absorbed into the sponge.\n/// * `io_pattern` - A 2-element array encoding the I/O pattern:\n/// - `io_pattern[0]`: Encoded ABSORB operation (MSB=1, lower 31 bits = length)\n/// - `io_pattern[1]`: Encoded SQUEEZE operation (MSB=0, lower 31 bits = length)\n///\n/// # Returns\n/// A vector of field elements squeezed from the sponge, with length determined by\n/// the SQUEEZE operation in the IO pattern.\npub fn compute_safe(\n domain_separator: [u8; 64],\n inputs: Vec<Field>,\n io_pattern: [u32; 2],\n) -> Vec<Field> {\n let mut sponge = SafeSponge::start(io_pattern, domain_separator);\n sponge.absorb(inputs);\n let digests = sponge.squeeze();\n sponge.finish();\n\n digests\n}\n\n#[test]\nfn test_flatten() {\n // Create test polynomials\n let poly1 = Polynomial::new([1, 2, 3]); // degree 2\n let poly2 = Polynomial::new([4, -16, 6]); // degree 2\n let poly3 = Polynomial::new([-7, 8, 9]); // degree 2\n\n let polynomials = [poly1, poly2, poly3];\n\n // Initialize target array with zeros\n let mut inputs = Vec::new();\n\n // Flatten the polynomials\n let result = flatten::<_, _, 4>(inputs, polynomials);\n\n // Verify the flattened coefficients are in the correct positions\n // Every value shifted 1 nibble incase of negative integers\n assert(result.get(0) == 0x11121310101010101010101010101010101010101010101010101010101010);\n assert(result.get(1) == 0x14001610101010101010101010101010101010101010101010101010101010); // -16 became 00 at 0x 14 00 16,\n assert(result.get(2) == 0x09181910101010101010101010101010101010101010101010101010101010); // -7 became 09 at 0x 09 18 19(16 - 7 = 9)\n}\n\n#[test]\nfn test_flatten_big() {\n // Create test polynomials\n let poly1 = Polynomial::new([\n 1791218451968394,\n 21888242871839275222246405745257275088548364400416034343698198265248580087864,\n 21888242871839275222246405745257275088548364400416034343698200542108324633466,\n 5430119342984413,\n 704811298945172,\n 8901715723925099,\n 21888242871839275222246405745257275088548364400416034343698203098124042812559,\n 21888242871839275222246405745257275088548364400416034343698200215091693880034,\n ]);\n let poly2 = Polynomial::new([\n 21888242871839275222246405745257275088548364400416034343698200314078269634250,\n 21888242871839275222246405745257275088548364400416034343698200967285641915872,\n 2909990636858607,\n 7896103832076587,\n 2078397209533893,\n 21888242871839275222246405745257275088548364400416034343698199792421452734531,\n 614400389245817,\n 8290314119277588,\n ]);\n let poly3 = Polynomial::new([\n 21888242871839275222246405745257275088548364400416034343698201373175279892906,\n 21888242871839275222246405745257275088548364400416034343698201087241869723721,\n 6768789983786188,\n 635797784303388,\n 7610153424227556,\n 4633893206538324,\n 2016269760615332,\n 21888242871839275222246405745257275088548364400416034343698201007080554428142,\n ]);\n\n let polynomials = [poly1, poly2, poly3];\n\n // Initialize target array with zeros\n let mut inputs = Vec::new();\n\n // Flatten the polynomials\n let result = flatten::<_, _, 54>(inputs, polynomials);\n\n // Verify the flattened coefficients are in the correct positions\n // Every value shifted 1 nibble incase of negative integers\n\n // For the first index of result operation goes like this,\n\n // First four index of poly1\n // 1791218451968394,\n // 21888242871839275222246405745257275088548364400416034343698198265248580087864,\n // 21888242871839275222246405745257275088548364400416034343698200542108324633466,\n // 5430119342984413,\n\n // base + 1791218451968394 = 0x1065d1a8b8b718a\n // base - 5921327228407753 = 0xeaf69591f3b037 (negative coefficient shifted)\n // base - 3644467483862151 = 0xf30d604a3a9b79 (negative coefficient shifted)\n // base + 5430119342984413 = 0x1134aaa2e86ccdd\n assert(result.get(0) == 0x1065d1a8b8b718a0eaf69591f3b0370f30d604a3a9b791134aaa2e86ccdd);\n assert(result.get(1) == 0x1028105ab1b789411fa010339db66b0fc220f1326bc8e0f1e3f4cc1e02e1);\n assert(result.get(2) == 0x0f23dfbe7cd76c90f4901299312ddf10a569efe35acef11c0d76f005412b);\n assert(result.get(3) == 0x107624a8f605dc50f0638a368960421022ecb3cf36b7911d73ff2c27ec14);\n assert(result.get(4) == 0x0f6013a24e1b9a90f4fd2c158a08481180c2dba8af4cc10242413515171c);\n assert(result.get(5) == 0x11b0964eb898ce411076805680b85410729c962da53a40f4b44412d0f6ed);\n}\n\n#[test]\nfn test_flatten_small() {\n // Create test polynomials\n let poly1 = Polynomial::new([712345, 104857, 999999, 500001, 123, 654321, 77]);\n let poly2 = Polynomial::new([1, 524287, 888888, 23456, 34567, 765432, 0]);\n let poly3 = Polynomial::new([444444, 333333, 222222, 111111, 987654, 246810, 13579]);\n\n let polynomials = [poly1, poly2, poly3];\n\n // Initialize target array with zeros\n let mut inputs = Vec::new();\n\n // Flatten the polynomials\n let result = flatten::<_, _, 20>(inputs, polynomials);\n\n assert(result.get(0) == 0x1ade991199991f423f17a12110007b19fbf110004d100000100000100000);\n assert(result.get(1) == 0x10000117ffff1d9038105ba01087071badf8100000100000100000100000);\n assert(result.get(2) == 0x16c81c15161513640e11b2071f120613c41a10350b100000100000100000);\n}\n\n#[test]\nfn test_safe_hashing_with_safe_helper() {\n // Verifies basic hash functionality with a simple ABSORB(3) + SQUEEZE(1) pattern.\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n let elements = Vec::from_slice(&[1, 2, 3]);\n\n // Pattern: ABSORB(3), SQUEEZE(1)\n let io_pattern = [0x80000003, 0x00000001];\n let digests1 = compute_safe(domain_separator, elements, io_pattern);\n\n assert(digests1.len() == 1);\n assert(digests1.get(0) != 0);\n\n // Test determinism\n let digests2 = compute_safe(domain_separator, elements, io_pattern);\n\n assert(digests2.len() == 1);\n assert(digests2.get(0) != 0);\n assert(digests2.get(0) == digests1.get(0));\n}\n\n#[test]\nfn test_pack() {\n // Test pack function directly with small values\n let values = [1, 2, 3, 4];\n let packed = pack::<4, 4>(values);\n\n // With BIT=4, nibble_bits=4, group should be floor(254/(4+4)) = 31\n // So all 4 values should fit in one carrier\n assert(packed.len() >= 1);\n\n // Test with negative values\n let values_neg = [-1, 2, -3, 4];\n let packed_neg = pack::<4, 4>(values_neg);\n assert(packed_neg.len() >= 1);\n}\n\n#[test]\nfn test_pack_single_value() {\n // Test packing a single value\n let values = [42];\n let packed = pack::<1, 8>(values);\n assert(packed.len() == 1);\n assert(packed.get(0) != 0);\n}\n\n#[test]\nfn test_pack_determinism() {\n // Test that packing is deterministic\n let values = [10, 20, 30];\n let packed1 = pack::<3, 8>(values);\n let packed2 = pack::<3, 8>(values);\n\n assert(packed1.len() == packed2.len());\n for i in 0..packed1.len() {\n assert(packed1.get(i) == packed2.get(i));\n }\n}\n", path: "interfold/circuits/lib/src/math/helpers.nr" }, "97": { source: "// SPDX-License-Identifier: LGPL-3.0-only\n//\n// This file is provided WITHOUT ANY WARRANTY;\n// without even the implied warranty of MERCHANTABILITY\n// or FITNESS FOR A PARTICULAR PURPOSE.\n\nuse super::modulo::U128::ModU128;\n\n/// Polynomial structure representing a polynomial of degree N-1.\n///\n/// A polynomial P(X) = a_{N-1} * X^{N-1} + a_{N-2} * X^{N-2} + ... + a_1 * X + a_0\n/// is represented as an array of coefficients where coefficients[0] = a_{N-1} (highest degree)\n/// and coefficients[N-1] = a_0 (constant term).\npub struct Polynomial<let N: u32> {\n /// Array of polynomial coefficients in descending degree order\n /// coefficients[0] = coefficient of X^{N-1} (highest degree term)\n /// coefficients[N-1] = constant term (degree 0)\n pub coefficients: [Field; N],\n}\n\nimpl<let N: u32> Polynomial<N> {\n /// Creates a new polynomial from an array of coefficients.\n ///\n /// # Arguments\n /// * `coefficients` - Array of N coefficients in descending degree order\n /// coefficients[0] = coefficient of X^{N-1}\n /// coefficients[N-1] = constant term\n ///\n /// # Returns\n /// A new Polynomial instance with the specified coefficients\n pub fn new(coefficients: [Field; N]) -> Self {\n Polynomial { coefficients }\n }\n\n /// Adds two polynomials.\n ///\n /// # Arguments\n /// * `other` - The polynomial to add to the current polynomial.\n ///\n /// # Returns\n /// A new polynomial with the coefficients added.\n pub fn add(self, other: Self) -> Self {\n let mut result = Self::new([0; N]);\n\n for i in 0..N {\n result.coefficients[i] = self.coefficients[i] + other.coefficients[i];\n }\n\n result\n }\n\n /// Subtracts two polynomials.\n ///\n /// # Arguments\n /// * `other` - The polynomial to subtract from the current polynomial.\n ///\n /// # Returns\n /// A new polynomial with the coefficients subtracted.\n pub fn sub(self, other: Self) -> Self {\n let mut result = Self::new([0; N]);\n\n for i in 0..N {\n result.coefficients[i] = self.coefficients[i] - other.coefficients[i];\n }\n\n result\n }\n\n /// Multiplies a polynomial by a scalar.\n ///\n /// # Arguments\n /// * `scalar` - The scalar to multiply the polynomial by.\n ///\n /// # Returns\n /// A new polynomial with the coefficients multiplied by the scalar.\n pub fn mul_scalar(self, scalar: Field) -> Self {\n let mut result = Self::new([0; N]);\n\n for i in 0..N {\n result.coefficients[i] = self.coefficients[i] * scalar;\n }\n\n result\n }\n\n /// Evaluates the polynomial at a given point using Horner's method.\n ///\n /// Horner's method computes P(x) = a_{N-1} * x^{N-1} + ... + a_1 * x + a_0\n /// as ((...((a_{N-1} * x + a_{N-2}) * x + a_{N-3}) * x + ...) * x + a_0)\n /// This approach require n multiplications and n additions to evaluate the polynomial.\n ///\n /// # Arguments\n /// * `x` - The point at which to evaluate the polynomial.\n ///\n /// # Returns\n /// The value of the polynomial at point x: P(x).\n pub fn eval(self, x: Field) -> Field {\n let mut result = self.coefficients[0];\n\n for i in 1..self.coefficients.len() {\n result = result * x + self.coefficients[i];\n }\n\n result\n }\n\n /// Evaluates the polynomial at a given point with modular reduction.\n ///\n /// This function computes `P(x) mod q` using Horner's method with intermediate\n /// modular reductions to prevent overflow. The result is guaranteed to be in\n /// the range `[0, q)`.\n ///\n /// The function performs modular reduction after each multiplication and addition\n /// to ensure the accumulator always remains in the range `[0, q)`, preventing\n /// any potential overflow issues.\n ///\n /// # Arguments\n /// * `x` - The point at which to evaluate the polynomial\n /// * `q` - The modular arithmetic context containing the modulus\n ///\n /// # Returns\n /// The value `P(x) mod q` in the range `[0, q)`\n pub fn eval_mod(self, x: Field, q: ModU128) -> Field {\n let mut acc = self.coefficients[0];\n let len = self.coefficients.len();\n\n for i in 1..len {\n acc = q.mul_mod(acc, x);\n acc = q.add(acc, self.coefficients[i]);\n }\n\n acc\n }\n\n /// Performs range checking on polynomial coefficients using asymmetric bounds.\n ///\n /// This function constrains all polynomial coefficients to be in the range [-lower_bound, upper_bound],\n /// where `lower_bound` is a non-negative magnitude.\n /// It uses a shifting technique to handle negative numbers efficiently:\n /// 1. Shifts each coefficient by adding `lower_bound`: c' = c + lower_bound\n /// 2. Checks that shifted coefficients are in [0, upper_bound + lower_bound] using bit-size assertions\n /// 3. This ensures original coefficients are in [-lower_bound, upper_bound]\n ///\n /// The function uses two bit-size checks per coefficient to ensure the value is within bounds:\n /// - `shifted_coefficient.assert_max_bit_size::<BIT + 1>()` ensures c' >= 0\n /// - `(range_size - shifted_coefficient).assert_max_bit_size::<BIT + 1>()` ensures c' <= range_size\n ///\n /// # Arguments\n /// * `upper_bound` - The upper bound for coefficient range checking\n /// * `lower_bound` - Non-negative magnitude of the negative bound\n /// Coefficients must satisfy: -lower_bound <= c <= upper_bound\n ///\n /// # Generic Parameters\n /// * `BIT` - The bit-length of the total range `upper_bound + lower_bound`\n /// (choose `BIT` so `upper_bound + lower_bound < 2^BIT`). Since all checked\n /// values lie in `[0, upper_bound + lower_bound]`, they cannot exceed `BIT + 1` bits.\n ///\n /// # Panics\n /// This function will cause the circuit to fail if any coefficient is outside\n /// the specified bounds.\n pub fn range_check_2bounds<let BIT: u32>(self, upper_bound: Field, lower_bound: Field) {\n let range_size = lower_bound + upper_bound;\n\n for i in 0..self.coefficients.len() {\n let shifted_coefficient = self.coefficients[i] + lower_bound;\n\n shifted_coefficient.assert_max_bit_size::<BIT + 1>();\n (range_size - shifted_coefficient).assert_max_bit_size::<BIT + 1>();\n }\n }\n\n /// Performs range checking on polynomial coefficients for the range [0, upper_bound).\n ///\n /// This function constrains all polynomial coefficients to be non-negative and\n /// strictly less than `upper_bound`. It uses bit-size assertions to verify that\n /// coefficients are in the valid range.\n ///\n /// The function performs two checks per coefficient:\n /// 1. `coeff.assert_max_bit_size::<BIT>()` ensures `coeff >= 0` and `coeff < 2^BIT`\n /// 2. `(upper_bound - 1 - coeff).assert_max_bit_size::<BIT>()` ensures `coeff < upper_bound`\n ///\n /// # Arguments\n /// * `upper_bound` - The exclusive upper bound for coefficient range checking.\n /// Coefficients must satisfy: `0 <= c < upper_bound`\n ///\n /// # Generic Parameters\n /// * `BIT` - The bit-length parameter. Must satisfy `upper_bound <= 2^BIT` for\n /// the range check to work correctly.\n ///\n /// # Panics\n /// This function will cause the circuit to fail if any coefficient is outside\n /// the range `[0, upper_bound)`.\n pub fn range_check_standard<let BIT: u32>(self, upper_bound: Field) {\n for i in 0..self.coefficients.len() {\n let coeff = self.coefficients[i];\n // Check coeff >= 0 and coeff < 2^BIT\n coeff.assert_max_bit_size::<BIT>();\n // Check coeff <= upper_bound - 1 (i.e., coeff < upper_bound)\n (upper_bound - 1 - coeff).assert_max_bit_size::<BIT>();\n }\n }\n\n /// Performs range checking on polynomial coefficients for the range [0, 2^BIT).\n ///\n /// This is a specialized range check for coefficients that must be non-negative\n /// and less than a power of two. It's more efficient than `range_check_standard`\n /// when the upper bound is exactly `2^BIT` because it only needs a single\n /// bit-size assertion per coefficient.\n ///\n /// The function verifies that each coefficient satisfies:\n /// - `coeff >= 0` (implicit from bit-size check)\n /// - `coeff < 2^BIT` (enforced by `assert_max_bit_size::<BIT>()`)\n ///\n /// # Generic Parameters\n /// * `BIT` - The bit-length parameter. Coefficients must satisfy: `0 <= c < 2^BIT`\n ///\n /// # Panics\n /// This function will cause the circuit to fail if any coefficient is outside\n /// the range `[0, 2^BIT)`.\n pub fn range_check_power_of_two<let BIT: u32>(self) {\n for i in 0..self.coefficients.len() {\n self.coefficients[i].assert_max_bit_size::<BIT>();\n }\n }\n}\n\n#[test]\nfn test_polynomial_eval() {\n let coeffs = [1, 2, 3]; // represents 1x^2 + 2x + 3\n let poly = Polynomial::new(coeffs);\n\n let x = 2; // evaluate at x = 2\n let result = poly.eval(x);\n\n // (1 * 2^2) + (2 * 2) + 3 = 4 + 4 + 3 = 11\n assert(result == 11);\n}\n\n#[test]\nfn test_polynomial_eval_zero() {\n let coeffs = [1, -2, 1]; // x^2 - 2x + 1 = (x-1)^2\n let poly = Polynomial::new(coeffs);\n\n let x = 1; // evaluate at x = 1, should be 0\n let result = poly.eval(x);\n\n assert(result == 0);\n}\n\n#[test]\nfn test_polynomial_bounds() {\n let coeffs = [-16, 240, 242];\n let poly = Polynomial::new(coeffs);\n\n // Test double bounds check - constrains to [-240, 242]\n poly.range_check_2bounds::<8>(242, 240);\n}\n\n#[test(should_fail_with = \"assert_max_bit_size\")]\nfn test_polynomial_out_of_bounds_coefficients() {\n let coeffs = [-100];\n let poly = Polynomial::new(coeffs);\n\n // Test double bounds check - constrains to [-98, 99]\n // Should fail because -100 is out of bounds.\n poly.range_check_2bounds::<7>(99, 98);\n}\n\n#[test]\nfn test_polynomial_add() {\n let coeffs1 = [1, 2, 3]; // 1x^2 + 2x + 3\n let coeffs2 = [4, 5, 6]; // 4x^2 + 5x + 6\n let poly1 = Polynomial::new(coeffs1);\n let poly2 = Polynomial::new(coeffs2);\n\n let result = poly1.add(poly2);\n\n // Expected: (1+4)x^2 + (2+5)x + (3+6) = 5x^2 + 7x + 9\n assert(result.coefficients[0] == 5);\n assert(result.coefficients[1] == 7);\n assert(result.coefficients[2] == 9);\n}\n\n#[test]\nfn test_polynomial_sub() {\n let coeffs1 = [5, 7, 9]; // 5x^2 + 7x + 9\n let coeffs2 = [1, 2, 3]; // 1x^2 + 2x + 3\n let poly1 = Polynomial::new(coeffs1);\n let poly2 = Polynomial::new(coeffs2);\n\n let result = poly1.sub(poly2);\n\n // Expected: (5-1)x^2 + (7-2)x + (9-3) = 4x^2 + 5x + 6\n assert(result.coefficients[0] == 4);\n assert(result.coefficients[1] == 5);\n assert(result.coefficients[2] == 6);\n}\n\n#[test]\nfn test_polynomial_mul_scalar() {\n let coeffs = [1, 2, 3]; // 1x^2 + 2x + 3\n let poly = Polynomial::new(coeffs);\n let scalar = 5;\n\n let result = poly.mul_scalar(scalar);\n\n // Expected: 5x^2 + 10x + 15\n assert(result.coefficients[0] == 5);\n assert(result.coefficients[1] == 10);\n assert(result.coefficients[2] == 15);\n}\n\n#[test]\nfn test_polynomial_mul_scalar_zero() {\n let coeffs = [1, 2, 3];\n let poly = Polynomial::new(coeffs);\n let scalar = 0;\n\n let result = poly.mul_scalar(scalar);\n\n // Expected: 0x^2 + 0x + 0 = 0\n assert(result.coefficients[0] == 0);\n assert(result.coefficients[1] == 0);\n assert(result.coefficients[2] == 0);\n}\n\n#[test]\nfn test_eval_mod_simple() {\n // Test without initial reduction - simple case\n // p(x) = x + 1 at x=5od 7\n // Expected: (5 + 1) mod 7 = 6\n let q = ModU128::new(7);\n\n let poly1 = Polynomial::new([1, 1]);\n let result1 = poly1.eval_mod(5, q);\n assert(result1 == 6);\n\n // Test: p(x) = 2x + 3 at x=5od 7\n // Expected: (10 + 3) mod 7 = 13 mod 7 = 6\n let poly2 = Polynomial::new([2, 3]);\n let result2 = poly2.eval_mod(5, q);\n assert(result2 == 6);\n}\n\n#[test]\nfn test_eval_mod_degree_2() {\n // p(x) = x^2 + 2x + 3 at x=5od 7\n // Using Horner's method: ((1)*5 + 2)*5 + 3 = (5+2)*5 + 3 = 7*5 + 3 = 35 + 3 = 38\n // 38 mod 7 = 3 (since 38 = 5*7 + 3)\n let q = ModU128::new(7);\n\n let poly = Polynomial::new([1, 2, 3]);\n let result = poly.eval_mod(5, q);\n assert(result == 3);\n}\n\n#[test]\nfn test_eval_mod() {\n // Test 1: Simple polynomial x^2 + 2x + 3 at x=5od 7\n // Expected: (25 + 10 + 3) mod 7 = 38 mod 7 = 3\n let q = ModU128::new(7);\n\n let poly1 = Polynomial::new([1, 2, 3]);\n let result1 = poly1.eval_mod(5, q);\n assert(result1 == 3);\n\n // Test 2: Higher degree polynomialod small prime\n // p(x) = x^3 + x^2 + x + 1 at x=2od 11\n // Expected: (8 + 4 + 2 + 1) mod 11 = 15 mod 11 = 4\n let q = ModU128::new(11);\n\n let poly2 = Polynomial::new([1, 1, 1, 1]);\n let result2 = poly2.eval_mod(2, q);\n assert(result2 == 4);\n\n // Test 3: Polynomial with larger coefficients\n // p(x) = 100x^2 + 50x + 25 at x=10od 73\n // Expected: (10000 + 500 + 25) mod 73 = 10525 mod 73 = 13\n let q = ModU128::new(73);\n\n let poly3 = Polynomial::new([100, 50, 25]);\n let result3 = poly3.eval_mod(10, q);\n assert(result3 == 13);\n\n // Test 4: Result should be less than modulus\n let poly4 = Polynomial::new([5, 3, 7]);\n let q = ModU128::new(17);\n let result4 = poly4.eval_mod(4, q);\n assert(result4 as u128 < q.get_mod_field() as u128);\n\n // Test 5: Compare with regular eval for small values\n let poly5 = Polynomial::new([1, 2, 1]);\n let x = 3;\n let q = ModU128::new(1000);\n let result5 = poly5.eval_mod(x, q);\n let expected5 = poly5.eval(x);\n assert(result5 == expected5);\n\n // Test 6: Zero polynomial\n let poly6 = Polynomial::new([0, 0, 0]);\n let q = ModU128::new(13);\n let result6 = poly6.eval_mod(100, q);\n assert(result6 == 0);\n}\n\n#[test]\nfn test_large_party_ids_scenario() {\n // Simulating party IDs in range [1, 100]\n let party_id_1 = 42;\n let party_id_2 = 73;\n let m = ModU128::new(288230376151711717); // ~58 bits\n\n // Operations that would be used in Lagrange coefficients\n let product = m.mul_mod(party_id_1, party_id_2);\n let diff = m.sub(party_id_2, party_id_1);\n\n assert(product == 3066);\n assert(diff == 31);\n}\n\n#[test]\nfn test_eval_vs_eval_mod() {\n // Compare eval and eval_mod for small values where no reduction should occur\n let poly = Polynomial::new([1, 2, 3]);\n let x = 2;\n let q = ModU128::new(1000); // Large enough that no reduction happens\n\n let result_normal = poly.eval(x);\n let result_mod = poly.eval_mod(x, q);\n\n // They should be equal: (1)*2 + 2)*2 + 3 = (2+2)*2 + 3 = 4*2 + 3 = 11\n assert(result_normal == 11);\n assert(result_mod == 11);\n}\n\n#[test]\nfn test_eval_mod_step_by_step() {\n // p(x) = x + 1 at x=5od 7\n // Step by step: acc = 1, then acc = 1*5 + 1 = 6\n let poly = Polynomial::new([1, 1]);\n\n // Manually compute\n let mut acc = 1; // coefficients[0]\n acc = acc * 5 + 1; // = 6\n assert(acc == 6);\n\n // Now with reduce_mod\n let m = ModU128::new(7);\n let reduced = m.reduce_mod(acc);\n assert(reduced == 6);\n\n // Now test the actual function\n let result = poly.eval_mod(5, m);\n assert(result == 6);\n}\n", path: "interfold/circuits/lib/src/math/polynomial.nr" }, "98": { source: '// SPDX-License-Identifier: LGPL-3.0-only\n//\n// This file is provided WITHOUT ANY WARRANTY;\n// without even the implied warranty of MERCHANTABILITY\n// or FITNESS FOR A PARTICULAR PURPOSE.\n\nuse keccak256::keccak256;\nuse poseidon::poseidon2_permutation;\n\n/// SAFE (Sponge API for Field Elements)\n///\n/// This module provides a complete implementation of the SAFE API in Noir as defined in:\n/// "SAFE (Sponge API for Field Elements) - A Toolbox for ZK Hash Applications"\n/// see https://hackmd.io/bHgsH6mMStCVibM_wYvb2w#22-Sponge-state for more details.\n///\n/// SAFE provides a unified interface for cryptographic sponge functions that can be\n/// instantiated with various permutations to create hash functions, MACs, authenticated\n/// encryption schemes, and other cryptographic primitives for ZK proof systems.\n///\n/// This implementation follows the SAFE specification exactly, providing:\n/// - Complete API: START, ABSORB, SQUEEZE, FINISH operations.\n/// - Full security: Domain separation, tag computation, IO pattern validation.\n/// - Poseidon2 integration: Field-friendly permutation for ZK systems.\n/// - Specification compliance: All operations follow SAFE spec 2.4 exactly.\n/// - Natural API design: Variable-length inputs, automatic length detection from IO patterns.\n///\n/// # API Design\n///\n/// The API is designed for natural usage while maintaining type safety:\n/// - `absorb(input: [Field])`: Accepts variable-length arrays, no padding required.\n/// - `squeeze()`: Returns a vector with field element(s).\n/// - IO patterns automatically determine operation lengths for validation.\n\n/// Rate parameter for the sponge construction (number of field elements that can be absorbed per permutation call).\nglobal RATE: u32 = 3;\n\n/// Capacity parameter for the sponge construction (security parameter, typically 1-2 field elements).\nglobal CAPACITY: u32 = 1;\n\n/// Total state size (rate + capacity) in field elements.\nglobal STATE_SIZE: u32 = RATE + CAPACITY;\n\n/// IO Pattern encoding constants (from SAFE spec 2.3).\n///\n/// These constants are used for encoding operation types in the 32-bit word format:\n/// - MSB set to 1 for ABSORB operations\n/// - MSB set to 0 for SQUEEZE operations\n\n/// Flag for ABSORB operations (MSB = 1)\nglobal ABSORB_FLAG: u32 = 0x80000000;\n\n/// Flag for SQUEEZE operations (MSB = 0)\nglobal SQUEEZE_FLAG: u32 = 0x00000000;\n\n/// SAFE Sponge State (following spec 2.2)\n///\n/// The sponge state consists of the permutation state, tag, position counters,\n/// and IO pattern tracking as defined in the SAFE specification.\n///\n/// # Generic Parameters\n/// - `L`: The length of the IO pattern array\n///\n/// # Fields\n/// - `state`: Permutation state V in F^n (rate + capacity elements)\n/// - `tag`: Parameter tag T used for instance differentiation\n/// - `absorb_pos`: Current absorb position (<= n-c)\n/// - `squeeze_pos`: Current squeeze position (<= n-c)\n/// - `io_pattern`: Expected IO pattern for validation (encoded 32-bit words)\n/// - `io_count`: Current operation count for pattern tracking\npub struct SafeSponge<let L: u32> {\n /// Permutation state V in F^n (rate + capacity elements).\n state: [Field; STATE_SIZE],\n /// Parameter tag T used for instance differentiation.\n tag: Field,\n /// Current absorb position (<= n-c).\n absorb_pos: u32,\n /// Current squeeze position (<= n-c).\n squeeze_pos: u32,\n /// Expected IO pattern for validation.\n io_pattern: [u32; L],\n /// Current operation count for pattern tracking (spec 2.4: io_count).\n io_count: u32,\n}\n\nimpl<let L: u32> SafeSponge<L> {\n /// Initializes a new SAFE sponge instance with the given IO pattern and domain separator (following spec 2.4).\n ///\n /// # Arguments\n /// - `io_pattern`: Array of 32-bit encoded operations defining the expected sequence of ABSORB/SQUEEZE calls.\n /// Each word has MSB=1 for ABSORB operations, MSB=0 for SQUEEZE operations.\n /// - `domain_separator`: 64-byte domain separator for cross-protocol security.\n ///\n /// # Returns\n /// A new `SafeSponge` instance with initialized state\n pub fn start(io_pattern: [u32; L], domain_separator: [u8; 64]) -> SafeSponge<L> {\n // Compute tag from IO pattern and domain separator (spec 2.3).\n let tag = compute_tag(io_pattern, domain_separator);\n\n let mut state = [0; STATE_SIZE];\n // Initialize capacity with tag (spec 2.4).\n // Add T to the first 128 bits of the state.\n state[0] = tag;\n\n SafeSponge { state, tag, absorb_pos: 0, squeeze_pos: 0, io_pattern, io_count: 0 }\n }\n\n /// Absorbs field elements into the sponge state, interleaving permutation calls as needed (following spec 2.4).\n ///\n /// The number of elements to absorb is automatically validated against the IO pattern.\n /// This method accepts variable-length arrays, making it natural to use without padding.\n ///\n /// # Arguments\n /// - `input`: Array of field elements to absorb (variable length, must match IO pattern)\n pub fn absorb(&mut self, input: Vec<Field>) {\n let length = input.len() as u32;\n\n // Validate against IO pattern.\n assert(self.io_count < L);\n\n // Parse expected operation from io_pattern (encoded word)\n let expected_encoded_word = self.io_pattern[self.io_count];\n let is_expected_absorb = (expected_encoded_word & ABSORB_FLAG) != 0;\n let expected_length = expected_encoded_word & 0x7FFFFFFF;\n\n // Validate operation type and length\n assert(is_expected_absorb, "Expected ABSORB operation");\n assert(expected_length == length, "Length mismatch");\n\n // Process each element naturally (no unnecessary iterations).\n for i in 0..length {\n // If absorb_pos == (n-c) then permute and reset (spec 2.4).\n if self.absorb_pos == RATE {\n // n-c = RATE.\n self.state = self.permute();\n self.absorb_pos = 0;\n }\n\n // Add X[i] to state at absorb_pos (spec 2.4).\n // Note: absorb_pos is the rate position, not capacity position.\n self.state[self.absorb_pos + CAPACITY] =\n self.state[self.absorb_pos + CAPACITY] + input.get(i);\n self.absorb_pos += 1;\n }\n\n // Verify that the encoded word matches the expected pattern.\n let encoded_word = ABSORB_FLAG | length;\n assert(encoded_word == expected_encoded_word);\n\n self.io_count += 1;\n\n // Force permute at start of next SQUEEZE (spec 2.4).\n self.squeeze_pos = RATE;\n }\n\n /// Extracts field elements from the sponge state, interleaving permutation calls as needed (following spec 2.4).\n ///\n /// The number of elements to squeeze is automatically determined from the IO pattern.\n pub fn squeeze(&mut self) -> Vec<Field> {\n // Validate against IO pattern.\n assert(self.io_count < L);\n\n // Parse expected operation from io_pattern (encoded word)\n let expected_encoded_word = self.io_pattern[self.io_count];\n let is_expected_squeeze = (expected_encoded_word & ABSORB_FLAG) == 0;\n let length = expected_encoded_word & 0x7FFFFFFF;\n\n // Validate operation type\n assert(is_expected_squeeze, "Expected SQUEEZE operation");\n\n let mut output = Vec::new();\n\n // SQUEEZE implementation following spec 2.4.\n // If length==0, loop won\'t execute (spec 2.4).\n for _ in 0..length {\n // If squeeze_pos==(n-c) then permute and reset (spec 2.4).\n if self.squeeze_pos == RATE {\n // n-c = RATE.\n self.state = self.permute();\n self.squeeze_pos = 0;\n self.absorb_pos = 0;\n }\n // Set Y[i] to state element at squeeze_pos (spec 2.4).\n output.push(self.state[self.squeeze_pos + CAPACITY]);\n self.squeeze_pos += 1;\n }\n\n // Verify that the encoded word matches the expected pattern.\n let encoded_word = SQUEEZE_FLAG | length;\n assert(encoded_word == expected_encoded_word);\n\n self.io_count += 1;\n output\n }\n\n /// Finalizes the sponge instance, verifying that all expected operations have been performed and clearing the internal state for security (following spec 2.4).\n ///\n /// This function is used to ensure that the sponge instance has been used correctly and to prevent information leakage.\n pub fn finish(&mut self) {\n // Check that io_count equals the length of the IO pattern expected (spec 2.4).\n assert(self.io_count == L, "IO pattern not completed");\n\n // Erase the state and its variables (spec 2.4).\n self.state = [0; STATE_SIZE];\n self.absorb_pos = 0;\n self.squeeze_pos = 0;\n self.io_count = 0;\n }\n\n /// Permute the state using Poseidon2 (following spec 2.4).\n ///\n /// Applies the Poseidon2 permutation to the current state.\n /// This is the core cryptographic primitive of the sponge construction.\n ///\n /// # Returns\n /// New state after permutation\n fn permute(self) -> [Field; STATE_SIZE] {\n poseidon2_permutation(self.state, STATE_SIZE)\n }\n}\n\n/// Computes a unique tag for a sponge instance based on its IO pattern and domain separator.\n/// The tag is used to ensure that distinct instances behave like distinct functions.\n///\n/// # Arguments\n/// - `io_pattern`: Array of 32-bit encoded operations defining the sponge\'s usage pattern.\n/// Each word has MSB=1 for ABSORB operations, MSB=0 for SQUEEZE operations.\n/// - `domain_separator`: 64-byte domain separator for cross-protocol security.\n///\n/// # Returns\n/// A field element representing the 128-bit tag.\npub fn compute_tag<let L: u32>(io_pattern: [u32; L], domain_separator: [u8; 64]) -> Field {\n // Step 1: Parse and aggregate consecutive operations of the same type\n let mut encoded_words = [0; L]; // Support up to L operations.\n let mut word_count = 0;\n let mut current_absorb_sum = 0;\n let mut current_squeeze_sum = 0;\n let mut last_was_absorb = false;\n\n for i in 0..L {\n if io_pattern[i] > 0 {\n // Parse operation type from MSB and length from lower 31 bits\n let is_absorb = (io_pattern[i] & ABSORB_FLAG) != 0;\n let length = io_pattern[i] & 0x7FFFFFFF; // Clear MSB to get length\n\n if is_absorb {\n if last_was_absorb {\n // Aggregate consecutive ABSORB operations\n current_absorb_sum += length;\n } else {\n // Start new ABSORB sequence\n if current_squeeze_sum > 0 {\n // Flush previous SQUEEZE sequence\n encoded_words[word_count] = SQUEEZE_FLAG | current_squeeze_sum;\n word_count += 1;\n current_squeeze_sum = 0;\n }\n current_absorb_sum = length;\n }\n last_was_absorb = true;\n } else {\n if !last_was_absorb {\n // Aggregate consecutive SQUEEZE operations\n current_squeeze_sum += length;\n } else {\n // Start new SQUEEZE sequence\n if current_absorb_sum > 0 {\n // Flush previous ABSORB sequence\n encoded_words[word_count] = ABSORB_FLAG | current_absorb_sum;\n word_count += 1;\n current_absorb_sum = 0;\n }\n current_squeeze_sum = length;\n }\n last_was_absorb = false;\n }\n }\n }\n\n // Flush remaining operations\n if current_absorb_sum > 0 {\n encoded_words[word_count] = ABSORB_FLAG | current_absorb_sum;\n word_count += 1;\n }\n if current_squeeze_sum > 0 {\n encoded_words[word_count] = SQUEEZE_FLAG | current_squeeze_sum;\n word_count += 1;\n }\n\n // Step 2: Serialize to byte string and append domain separator (following SAFE spec 2.3).\n // Buffer is 256 bytes: max 192 bytes for IO pattern (48 words) + 64 bytes for domain separator.\n // Note: We must use a fixed-size array because Noir\'s keccak256 requires [u8; N], not Vec<u8>.\n let max_io_pattern_bytes: u32 = 192; // 256 - 64 (domain separator)\n let io_pattern_bytes = word_count * 4;\n assert(\n io_pattern_bytes <= max_io_pattern_bytes,\n "IO pattern too large: max 48 aggregated words supported",\n );\n\n let mut input_bytes = [0u8; 256];\n let mut byte_count: u32 = 0;\n\n // Serialize encoded words to bytes (big-endian as per SAFE spec).\n // Note: Noir requires compile-time loop bounds, so we iterate over L (the array size)\n // instead of word_count (runtime value). The condition `i < word_count` ensures we only\n // process valid encoded words. This is safe because word_count <= L always holds\n // (we can have at most L encoded words from L input operations).\n for i in 0..L {\n if i < word_count {\n let word = encoded_words[i];\n input_bytes[byte_count] = (word >> 24) as u8;\n input_bytes[byte_count + 1] = (word >> 16) as u8;\n input_bytes[byte_count + 2] = (word >> 8) as u8;\n input_bytes[byte_count + 3] = word as u8;\n byte_count += 4;\n }\n }\n\n // Append full 64-byte domain separator.\n for i in 0..64 {\n input_bytes[byte_count] = domain_separator[i];\n byte_count += 1;\n }\n\n // Step 3: Hash with Keccak-256 and truncate to 128 bits.\n // Note: The SAFE spec uses SHA3-256, but we use Keccak-256 for Noir compatibility.\n // Keccak-256 differs from SHA3-256 in padding, but both provide equivalent security.\n let hash_bytes = keccak256(input_bytes, byte_count);\n\n // Convert first 128 bits (16 bytes) to field element.\n let mut tag_value: Field = 0;\n for i in 0..16 {\n tag_value = tag_value * 256 + (hash_bytes[i] as Field);\n }\n\n tag_value\n}\n\n#[test]\nfn test_safe_hashing() {\n // Verifies basic hash functionality with a simple ABSORB(3) + SQUEEZE(1) pattern.\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n let elements = Vec::from_slice(&[1, 2, 3]);\n\n // Pattern: ABSORB(3), SQUEEZE(1)\n let io_pattern = [0x80000003, 0x00000001];\n let mut sponge = SafeSponge::start(io_pattern, domain_separator);\n sponge.absorb(elements);\n let output = sponge.squeeze();\n sponge.finish();\n\n assert(output.len() == 1);\n assert(output.get(0) != 0);\n\n // Test determinism\n let mut sponge2 = SafeSponge::start(io_pattern, domain_separator);\n sponge2.absorb(elements);\n let output2 = sponge2.squeeze();\n sponge2.finish();\n\n assert(output2.len() == 1);\n assert(output2.get(0) != 0);\n}\n\n#[test]\nfn test_merkle_node() {\n // Verifies SAFE can be used for Merkle tree node hashing with pattern ABSORB(1) + ABSORB(1) + SQUEEZE(1).\n // Tests the ability to absorb multiple inputs before squeezing output.\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n let left = Vec::from_slice([123]);\n let right = Vec::from_slice([456]);\n\n // Pattern: ABSORB(1), ABSORB(1), SQUEEZE(1)\n let io_pattern = [0x80000001, 0x80000001, 0x00000001];\n let mut sponge = SafeSponge::start(io_pattern, domain_separator);\n sponge.absorb(left);\n sponge.absorb(right);\n let output = sponge.squeeze();\n sponge.finish();\n\n assert(output.len() == 1);\n assert(output.get(0) != 0);\n\n // Test determinism\n let mut sponge2 = SafeSponge::start(io_pattern, domain_separator);\n sponge2.absorb(left);\n sponge2.absorb(right);\n let output2 = sponge2.squeeze();\n sponge2.finish();\n\n assert(output2.len() == 1);\n assert(output2.get(0) != 0);\n}\n\n#[test]\nfn test_commitment_scheme() {\n // Verifies SAFE can be used for commitment schemes with pattern ABSORB(3) + SQUEEZE(1).\n // Tests the ability to create deterministic commitments from multiple field elements.\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n let values = Vec::from_slice([10, 20, 30]);\n\n // Pattern: ABSORB(3), SQUEEZE(1)\n let io_pattern = [0x80000003, 0x00000001];\n let mut sponge = SafeSponge::start(io_pattern, domain_separator);\n sponge.absorb(values);\n let output = sponge.squeeze();\n sponge.finish();\n\n assert(output.len() == 1);\n assert(output.get(0) != 0);\n\n // Test determinism\n let mut sponge2 = SafeSponge::start(io_pattern, domain_separator);\n sponge2.absorb(values);\n let output2 = sponge2.squeeze();\n sponge2.finish();\n\n assert(output2.len() == 1);\n assert(output2.get(0) != 0);\n}\n\n#[test]\nfn test_domain_separation() {\n // Verifies that different domain separators produce different outputs for the same input.\n // This is crucial for cross-protocol security and preventing collisions between different applications.\n let elements = Vec::from_slice([1, 2, 3]);\n let domain1 = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n let domain2 = [\n 0x41, 0x42, 0x43, 0x45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n\n // Pattern: ABSORB(3), SQUEEZE(1)\n let io_pattern = [0x80000003, 0x00000001];\n\n let mut sponge1 = SafeSponge::start(io_pattern, domain1);\n sponge1.absorb(elements);\n let output1 = sponge1.squeeze();\n sponge1.finish();\n\n let mut sponge2 = SafeSponge::start(io_pattern, domain2);\n sponge2.absorb(elements);\n let output2 = sponge2.squeeze();\n sponge2.finish();\n\n assert(output1.len() == 1);\n assert(output2.len() == 1);\n assert(output1.get(0) != output2.get(0)); // Different domain separators should produce different outputs\n}\n\n#[test]\nfn test_multiple_squeeze() {\n // Verifies that multiple field elements can be squeezed in a single operation.\n // Tests pattern ABSORB(3) + SQUEEZE(2) to ensure proper state management.\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n let elements = Vec::from_slice([1, 2, 3]);\n\n // Pattern: ABSORB(3), SQUEEZE(2)\n let io_pattern = [0x80000003, 0x00000002];\n let mut sponge = SafeSponge::start(io_pattern, domain_separator);\n sponge.absorb(elements);\n let output = sponge.squeeze();\n sponge.finish();\n\n assert(output.len() == 2);\n assert(output.get(0) != 0);\n assert(output.get(1) != 0);\n assert(output.get(0) != output.get(1)); // Different squeeze outputs should be different\n}\n\n#[test]\nfn test_zero_length_operations() {\n // Verifies that zero-length ABSORB and SQUEEZE operations are handled correctly.\n // Tests pattern ABSORB(0) + SQUEEZE(1) to ensure proper state transitions.\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n\n // Pattern: ABSORB(0), SQUEEZE(1)\n let io_pattern = [0x80000000, 0x00000001];\n let mut sponge = SafeSponge::start(io_pattern, domain_separator);\n sponge.absorb(Vec::new());\n let output = sponge.squeeze();\n sponge.finish();\n\n assert(output.len() == 1);\n assert(output.get(0) != 0);\n}\n\n#[test]\nfn test_tag_computation() {\n // Verifies the tag computation algorithm using the example from the SAFE specification.\n // Pattern: ABSORB(3), ABSORB(3), SQUEEZE(3)\n // Should aggregate to: ABSORB(6), SQUEEZE(3)\n // Encoded as: [0x80000006, 0x00000003]\n // Tests determinism and pattern differentiation.\n\n let io_pattern = [0x80000003, 0x80000003, 0x00000003];\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n\n let tag = compute_tag(io_pattern, domain_separator);\n\n // Test determinism\n let tag2 = compute_tag(io_pattern, domain_separator);\n assert(tag == tag2);\n\n // Test that different patterns produce different tags\n let io_pattern2 = [0x80000003, 0x00000003]; // ABSORB(3), SQUEEZE(3) - different pattern\n let tag3 = compute_tag(io_pattern2, domain_separator);\n assert(tag != tag3);\n}\n\n#[test]\nfn test_tag_computation_debug() {\n println("=== SAFE Tag Computation Debug Test ===");\n\n // Test your specific pattern [2, 2, 2] (ABSORB(2), SQUEEZE(2), ABSORB(2))\n let io_pattern = [0x80000002, 0x00000002, 0x80000002];\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n\n println(f"Testing pattern: {io_pattern}");\n println(\n f"Expected to aggregate to: ABSORB(2), SQUEEZE(2), ABSORB(2)",\n );\n println(\n f"Expected encoded words: [0x80000002, 0x00000002, 0x80000002]",\n );\n println("");\n\n let tag = compute_tag(io_pattern, domain_separator);\n\n println(f"=== Expected Rust Output ===");\n println("Pattern [2, 2, 2] (ABSORB(2), SQUEEZE(2), ABSORB(2))");\n println("Domain separator: 0x41424344...");\n println("Tag: 0xce3bb9ee4b2d41c42e9cdda38afe8b6a");\n println("");\n\n println(f"=== Noir Output ===");\n println(f"Tag: {tag}");\n println("");\n\n println("Compare the tag values above with Rust script!");\n}\n\n#[test]\nfn test_consecutive_absorb_aggregation() {\n // Test that consecutive ABSORB operations are properly aggregated\n // Pattern: ABSORB(1), ABSORB(1), SQUEEZE(1) should aggregate to ABSORB(2), SQUEEZE(1)\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n\n // Test pattern: ABSORB(1), ABSORB(1), SQUEEZE(1)\n let io_pattern = [0x80000001, 0x80000001, 0x00000001];\n\n // This should aggregate to: ABSORB(2), SQUEEZE(1) = [0x80000002, 0x00000001]\n let tag = compute_tag(io_pattern, domain_separator);\n\n // Test that the aggregated pattern produces the same tag ABSORB(2), SQUEEZE(1)\n let aggregated_pattern = [0x80000002, 0x00000001];\n let aggregated_tag = compute_tag(aggregated_pattern, domain_separator);\n\n // The tags should be identical because the patterns are equivalent after aggregation\n assert(tag == aggregated_tag, "Consecutive ABSORB operations should aggregate to the same tag");\n\n // Test that a different pattern produces a different tag\n let different_pattern = [0x80000001, 0x00000001, 0x80000001]; // ABSORB(1), SQUEEZE(1), ABSORB(1)\n let different_tag = compute_tag(different_pattern, domain_separator);\n\n // This should be different because it doesn\'t have consecutive ABSORB operations\n assert(tag != different_tag, "Different patterns should produce different tags");\n\n println("=== Consecutive ABSORB Aggregation Test ===");\n println(\n f"Original pattern: [0x80000001, 0x80000001, 0x00000001] (ABSORB(1), ABSORB(1), SQUEEZE(1))",\n );\n println(\n f"Aggregated pattern: [0x80000002, 0x00000001] (ABSORB(2), SQUEEZE(1))",\n );\n println(f"Original tag: {tag}");\n println(f"Aggregated tag: {aggregated_tag}");\n println(f"Original tag: {tag}");\n println(f"Aggregated tag: {aggregated_tag}");\n println(f"Different pattern tag: {different_tag}");\n}\n\n#[test]\nfn test_consecutive_squeeze_aggregation() {\n // Test that consecutive SQUEEZE operations are properly aggregated\n // Pattern: ABSORB(1), SQUEEZE(1), SQUEEZE(1) should aggregate to ABSORB(1), SQUEEZE(2)\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n\n // Test pattern: ABSORB(1), SQUEEZE(1), SQUEEZE(1)\n let io_pattern = [0x80000001, 0x00000001, 0x00000001];\n\n // This should aggregate to: ABSORB(1), SQUEEZE(2) = [0x80000001, 0x00000002]\n let tag = compute_tag(io_pattern, domain_separator);\n\n // Test that the aggregated pattern produces the same tag ABSORB(1), SQUEEZE(2)\n let aggregated_pattern = [0x80000001, 0x00000002];\n let aggregated_tag = compute_tag(aggregated_pattern, domain_separator);\n\n // The tags should be identical because the patterns are equivalent after aggregation\n assert(\n tag == aggregated_tag,\n "Consecutive SQUEEZE operations should aggregate to the same tag",\n );\n\n // Test that a different pattern produces a different tag\n let different_pattern = [0x80000001, 0x00000001, 0x80000001]; // ABSORB(1), SQUEEZE(1), ABSORB(1)\n let different_tag = compute_tag(different_pattern, domain_separator);\n\n // This should be different because it doesn\'t have consecutive SQUEEZE operations\n assert(tag != different_tag, "Different patterns should produce different tags");\n\n println("=== Consecutive SQUEEZE Aggregation Test ===");\n println(\n f"Original pattern: [0x80000001, 0x00000001, 0x00000001] (ABSORB(1), SQUEEZE(1), SQUEEZE(1))",\n );\n println(\n f"Aggregated pattern: [0x80000001, 0x00000002] (ABSORB(1), SQUEEZE(2))",\n );\n println(f"Original tag: {tag}");\n println(f"Aggregated tag: {aggregated_tag}");\n println(f"Different pattern tag: {different_tag}");\n}\n\n#[test]\nfn test_mixed_consecutive_aggregation() {\n // Test that both consecutive ABSORB and SQUEEZE operations are properly aggregated\n // Pattern: ABSORB(1), ABSORB(1), SQUEEZE(1), SQUEEZE(1), ABSORB(1)\n // Should aggregate to: ABSORB(2), SQUEEZE(2), ABSORB(1)\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n\n // Test pattern: ABSORB(1), ABSORB(1), SQUEEZE(1), SQUEEZE(1), ABSORB(1)\n let io_pattern = [0x80000001, 0x80000001, 0x00000001, 0x00000001, 0x80000001];\n\n // This should aggregate to: ABSORB(2), SQUEEZE(2), ABSORB(1) = [0x80000002, 0x00000002, 0x80000001]\n let tag = compute_tag(io_pattern, domain_separator);\n\n // Test that the aggregated pattern produces the same tag\n let aggregated_pattern = [0x80000002, 0x00000002, 0x80000001]; // ABSORB(2), SQUEEZE(2), ABSORB(1)\n let aggregated_tag = compute_tag(aggregated_pattern, domain_separator);\n\n // The tags should be identical because the patterns are equivalent after aggregation\n assert(tag == aggregated_tag, "Mixed consecutive operations should aggregate to the same tag");\n\n println("=== Mixed Consecutive Aggregation Test ===");\n println(\n f"Original pattern: [0x80000001, 0x80000001, 0x00000001, 0x00000001, 0x80000001]",\n );\n println(\n f" (ABSORB(1), ABSORB(1), SQUEEZE(1), SQUEEZE(1), ABSORB(1))",\n );\n println(f"Aggregated pattern: [0x80000002, 0x00000002, 0x80000001]");\n println(f" (ABSORB(2), SQUEEZE(2), ABSORB(1))");\n println(f"Original tag: {tag}");\n println(f"Aggregated tag: {aggregated_tag}");\n}\n\n#[test]\nfn test_large_io_pattern() {\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n\n // Create pattern with 48 alternating ABSORB(1) and SQUEEZE(1) operations\n // This is the maximum supported (48 words * 4 bytes = 192 bytes, leaving 64 for domain separator)\n let mut io_pattern = [0u32; 48];\n for i in 0..48 {\n if i % 2 == 0 {\n io_pattern[i] = ABSORB_FLAG | 1; // ABSORB(1)\n } else {\n io_pattern[i] = SQUEEZE_FLAG | 1; // SQUEEZE(1)\n }\n }\n\n let tag = compute_tag(io_pattern, domain_separator);\n assert(tag != 0);\n}\n\n#[test]\nfn test_domain_separator_not_truncated() {\n // This test verifies that the domain separator is always included in the tag computation,\n // even for large IO patterns. If the domain separator were truncated, different domain\n // separators would produce the same tag for large patterns.\n\n let domain_separator_a = [\n 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n 0x41, 0x41, 0x41, 0x41,\n ]; // All \'A\'s\n\n let domain_separator_b = [\n 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,\n 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,\n 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,\n 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,\n 0x42, 0x42, 0x42, 0x42,\n ]; // All \'B\'s\n\n // Create pattern with 48 alternating operations (max supported: 192 bytes of IO pattern)\n let mut io_pattern = [0u32; 48];\n for i in 0..48 {\n if i % 2 == 0 {\n io_pattern[i] = ABSORB_FLAG | 1;\n } else {\n io_pattern[i] = SQUEEZE_FLAG | 1;\n }\n }\n\n let tag_a = compute_tag(io_pattern, domain_separator_a);\n let tag_b = compute_tag(io_pattern, domain_separator_b);\n\n // Tags MUST be different because domain separators are different.\n // If they were the same, it would mean the domain separator was truncated/ignored.\n assert(tag_a != tag_b, "Domain separator must affect tag even for large IO patterns");\n}\n', path: "interfold/circuits/lib/src/math/safe.nr" } }, expression_width: { Bounded: { width: 4 } } };
603
+
604
+ // ../../circuits/bin/threshold/target/user_data_encryption_ct1.json
605
+ var user_data_encryption_ct1_default = { noir_version: "1.0.0-beta.16+2d46fca7203545cbbfb31a0d0328de6c10a8db95", hash: "5718849158615186129", abi: { parameters: [{ name: "pk1is", type: { kind: "array", length: 2, type: { kind: "struct", path: "lib::math::polynomial::Polynomial", fields: [{ name: "coefficients", type: { kind: "array", length: 512, type: { kind: "field" } } }] } }, visibility: "private" }, { name: "ct1is", type: { kind: "array", length: 2, type: { kind: "struct", path: "lib::math::polynomial::Polynomial", fields: [{ name: "coefficients", type: { kind: "array", length: 512, type: { kind: "field" } } }] } }, visibility: "private" }, { name: "u", type: { kind: "struct", path: "lib::math::polynomial::Polynomial", fields: [{ name: "coefficients", type: { kind: "array", length: 512, type: { kind: "field" } } }] }, visibility: "private" }, { name: "e1", type: { kind: "struct", path: "lib::math::polynomial::Polynomial", fields: [{ name: "coefficients", type: { kind: "array", length: 512, type: { kind: "field" } } }] }, visibility: "private" }, { name: "p1is", type: { kind: "array", length: 2, type: { kind: "struct", path: "lib::math::polynomial::Polynomial", fields: [{ name: "coefficients", type: { kind: "array", length: 1023, type: { kind: "field" } } }] } }, visibility: "private" }, { name: "p2is", type: { kind: "array", length: 2, type: { kind: "struct", path: "lib::math::polynomial::Polynomial", fields: [{ name: "coefficients", type: { kind: "array", length: 511, type: { kind: "field" } } }] } }, visibility: "private" }], return_type: { abi_type: { kind: "tuple", fields: [{ kind: "field" }, { kind: "field" }, { kind: "field" }] }, visibility: "public" }, error_types: { "12469291177396340830": { error_kind: "string", string: "call to assert_max_bit_size" }, "18258692384630939949": { error_kind: "string", string: "ct1 encryption check failed" } } }, bytecode: "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", debug_symbols: "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zvFwjodzPJzj4RwP53g4x8M5Hs7xcI6Hczyc4+EcD+d4OMfDOR7O8XCOh3M8nOPhHA/neDjHwzkezvFwjodzPJzj4RwP53g4x8M5Hs7xcI6Hczyc4+EcD+d4OMfDOR7O8XCOh3M8nOPhHA/neDjHwzkezvFwjodzPJzj4RwP53g4x8M5Hs7xcI6Hczyc4+EcD+d4OMfDOR7O8XCOh3M8nOPhHA/neDjHwzkezvFwjodzPJzj4RwP53g4x8M5Hs7xcI6Hczyc4+EcD+d4OMfDOR7O8XCOh3M8nOPhHA/neDjHwzkezvFwjodzPJzj4RwP53g4x8M5Hs7xcI6Hczyc4+EcD+d4OMfDOR7O8XCOh3M8nOPhHA/neDjHwzkezvFwjodzPJzj4RwP53g4x8M5Hs7xcI6Hczyc4+EcD+d4OMfDOR7O8XCOh3M8nOPhHA/neDjHwzkezvFwjodzPJzj4RwP53g4x8M5Hs7xcI6Hczyc4+EcD+d4OMfDOR7O8XCOh3M8nOPhHA/neDjHwzkezvFwjodzPJzj4RwP53g4x8M5Hs7xcI6Hczyc4+EcD+d4OMfDOR7O8XCOh3M8nOPhHA/neDjHwzkezvFwjodzPJzj4RwP53g4x8M5Hs7xcI6Hczyc4+EcD+d4OMfDOR7O8XCOh3M8nOPhHA/neDjHwzkezvFwjodzPJzj4RwP53g4x8M5Hs7xcI6Hczyc4+EcD+d4OMfDOR7O8XCOh3M8nOPhHA/neDjHwzkezvFwjodzPJzj4RwP53g4x8M5Hs7xcI6Hczyc4+EcD+d4OMfDOR7O8XCOh3M8nOPhHA/neDjHwzkezvFwjodzPJzj4RwP53g4x8M5Hs7xcI6Hczyc4+EcD+d4OMfDOR7O8XCOh3M8nOPhHA/neDjHwzkezvFwjodzPJzj4RwP53g4x8M5Hs7xcI6Hczyc4+EcD+d4OMfDOR7O8XCOh3M8nOPhHA/neDjHwzkezvFwjodzPJzj4RwP53g4x8M5Hs7xcI6Hczyc4+EcD+d4OMfDOR7O8XCOh3M8nOPhHA/neDjHwzkezvFwjodzPJzj4RwP53g4x8M5Hs7xcI6Hczyc4+EcD+d4OMfDOR7O8XCOh3M8nOPhHA/neDjHwzkezvFwjodzPJzj4RwP53g4x8M5Hs7xcI6Hczyc4+EcD+d4OMfDOR7O8XCOh3M8nOPhHA/neDjHwzkezvFwjodzPJzj4RwP53g4x8M5Hs7xcI6Hczyc4+EcD+d4OMfDOR7O8XCOh3M8nOPhHA/neDjHwzkezvFwjodzPJzj4RwP53g4x8M5Hs7xcI6Hczyc4+EcD+d4OMfDOR7O8XCOh3M8nOPhHA/neDjHwzkezvFwjodzPJzj4RwP53g4x8M5Hs7xcI6Hczyc4+EcD+d4OMfDOR7O8XCOh3M8nOPhHA/neDjHwzkezvFwjodzPJzj4RwP53g4x8M5Hs7xcI6Hczyc4+EcD+d4OMfDOR7O8XCOh3M8nOPhHA/neDjHwzkezvFwjodzPJzj4RwP53g4x8M5Hs7xcI6Hczyc4+EcD+d4OMfDOR7O8XCOh3M8nOPhHA/neDjHwzkezvFwjodzPJzj4RwP53g4x8M5Hs7xcI6Hczyc4+EcD+d4OMfDOR7O8XCOh3M8nOPhHA/neDjHwzkezvFwjodzPJzj4RwP53g4x8M5Hs7xcI6Hczyc4+EcD+d4OMfDOR7O8XCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg4QIPF3i4wMMFHi7wcIGHCzxc4OECDxd4uMDDBR4u8HCBhws8XODhAg8XeLjAwwUeLvBwgYcLPFzg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qc2+1GZfarMvtdmX2uxLbfalNvtSm32pzb7UZl9qsy+12Zfa7Ett9qU2+1KbfanNvtRmX2qzL7XZl9rsS232pTb7Upt9qc2+1GZfarMvtdmX2uxLbfalNvtSm32pzb7UZl9qsy+12Zfa7Ett9qU2+1KbfanNvtRmX2qzL7XZl9rsS232pTb7Upt9qc2+1GZfarMvtdmX2uxLbfalNvtSm32pzb7UZl9qsy+12Zfa7Ett9qU2+1KbfanNvtRmX2qzL7XZl9rsS232pTb7Upt9qc2+1GZfarMvtdmX2uxLbfalNvtSm32pzb7UZl9qsy+12Zfa7Ett9qU2+1KbfanNvtRmX2qzL7XZl9rsS232pTb7Upt9qc2+1GZfarMvtdmX2uxLbfalNvtSm32pzb7UZl9qsy+12Zfa7Ett9qU2+1KbfanNvtRmX2qzL7XZl9rsS232pTb7Upt9qc2+1GZfarMvtdmX2uxLbfalNvtSm32pzb7UZl9qsy+12Zfa7Ett9qU2+1KbfanNvtRmX2qzL7XZl9rsS232pTb7Upt9qc2+1GZfarMvtdmX2uxLbfalNvtSm32pzb7UZl9qsy+12Zfa7Ett9qU2+1KbfanNvtRmX2qzL7XZl9rsS232pTb7Upt9qc2+1GZfarMvtdmX2uxLbfalNvtSm32pzb7UZl9qsy+12Zfa7Ett9qU2+1KbfanNvtRmX2qzL7XZl9rsS232pTb7Upt9qc2+1GZfarMvtdmX2uxLbfalNvtSm32pzb7UZl9qsy+12Zfa7Ett9qU2+1KbfanNvtRmX2qzL7XZl9rsS232pTb7Upt9qc2+1GZfarMvtdmX2uxLbfalNvtSm32pzb7UZl9qsy+12Zfa7Ett9qU2+1KbfanNvtRmX2qzL7XZl9rsS232pTb7Upt9qc2+1GZfarMvtdmX2uxLbfalNvtSm32pzb7UZl9qsy+12Zfa7Ett9qU2+1KbfanNvtRmX2qzL7XZl9rsS232pTb7Upt9qc2+1GZfarMvtdmX2uxLbfalNvtSm32pzb7UZl9qsy+12Zfa7Ett9qU2+1KbfanNvtRmX2qzL7XZl9rsS232pTb7Upt9qc2+1GZfarMvtdmX2uxLbfalNvtSm32pzb7UZl9qsy+12Zfa7Ett9qU2+1KbfanNvtRmX2qzL7XZl9rsS232pTb7Upt9qc2+1GZfarMvtdmX2uxLbfalNvtSm32pzb7UZl9qsy+12Zfa7Ett9qU2+1KbfanNvtRmX2qzL7XZl9rsS232pTb7Upt9qc2+1GZfarMvtdmX2uxLbfalNvtSm32pzb7UZl9qsy+12Zfa7Ett9qU2+1KbfanNvtRmX2qzL7XZl9rsS232pTb7Upt9qc2+1GZfarMvtdmX2uxLbfalNvtSm32pzb7UZl9qsy+12Zfa7Ett9qU2+1KbfanNvtRmX2qzL7XZl9rsS232pTb7Upt9qc2+1GZfarMvtdmX2uxLbfalNvtSm32pzb7UZl9qsy+12Zfa7Ett9qU2+1KbfanNvtRmX2qzL7XZl9rsS232pTb7Upt9qc2+1GZfarMvtdmX2uxLbfalNvtSm32pzb7UZl9qsy+12Zfa7Ett9qU2+1KbfanNvtRmX2qzL7XZl9rsS232pTb7Upt9qc2+1GZfarMvtdmX2uxLbfalNvtSm32pzb7UZl9qsy+12Zfa7Ett9qU2+1KbfanNvtRmX2qzL7XZl9rsS232pTb7Upt9qc2+1GZfarMvtdmX2uxLbfalNvtSm32pzb7UZl9qsy+12Zfa7Ett9qU2+1KbfanNvtRmX2qzL7XZl9rsS232pTb7Upt9qc2+1GZfarMvtdmX2uxLbfalNvtSm32pzb7UZl9qsy+12Zfa7Ett9qU2+1KbfanNvtRmX2qzL7XZl9rsS232pTb7Upt9qc2+1GZfarMvtdmX2uxLbfalNvtSm32pzb7UZl9qsy+12Zfa7Ett9qU2+1KbfanNvtRmX2qzL7XZl9rsS232pTb7Upt9qc2+1GZfarMvtdmX2uxLbfalNvtSm32pzb7UZl9qsy+12Zfa7Ett9qU2+1KbfanNvtRmX2qzL7XZl9rsS232pTb7Upt9qc2+1GZfarMvtdmX2uxLbfalNvtSm32pzb7UZl9qsy+12Zfa7Ett9qU2+1KbfanNvtRmX2qzL7XZl9rsS232pTb7Upt9qc2+1GZfarMvtdmX2uxLbfalNvtSm32pzb7UZl9qsy+12Zc67Esd9qUO+1KHfanDvtRhX+qwL3XYlzrsSx32pQ77Uod9qcO+1GFf6rAvddiXOuxLHfalDvtSh32pw77UYV/qsC912Jc67Esd9qUO+1KHfanDvtRhX+qwL3XYlzrsSx32pQ77Uod9qcO+1GFf6rAvddiXOuxLHfalDvtSh32pw77UYV/qsC912Jc67Esd9qUO+1KHfanDvtRhX+qwL3XYlzrsSx32pQ77Uod9qcO+1GFf6rAvddiXOuxLHfalDvtSh32pw77UYV/qsC912Jc67Esd9qUO+1KHfanDvtRhX+qwL3XYlzrsSx32pQ77Uod9qcO+1GFf6rAvddiXOuxLHfalDvtSh32pw77UYV/qsC912Jc67Esd9qUO+1KHfanDvtRhX+qwL3XYlzrsSx32pQ77Uod9qcO+1GFf6rAvddiXOuxLHfalDvtSh32pw77UYV/qsC912Jc67Esd9qUO+1KHfanDvtRhX+qwL3XYlzrsSx32pQ77Uod9qcO+1GFf6rAvddiXOuxLHfalDvtSh32pY+TcyLmRcyPnRs6NnBs5N3Ju5NzIuZFzI+dGzo2cGzk3cm7k3Mi5kXMj50bOjZwbOTdybuTcyLmRcyPnRs6NnBs5N3Ju5NzIuZFzI+dGzo2cGzk3cm7k3Mi5kXMj53i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0ebvBwg4cbPNzg4QYPN3i4wcMNHm7wcIOHGzzc4OEGDzd4uMHDDR5u8HCDhxs83ODhBg83eLjBww0e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uiTVJakuSXVJqktSXZLqklSXpLok1SWpLkl1SapLUl2S6pJUl6S6JNUlqS5JdUmqS1JdkuqSVJekuiTVJakuSXVJqktSXZLqklSXpLok1SWpLkl1SapLUl2S6pJUl6S6JNUlqS5JdUmqS1JdkuqSVJekuiTVJakuSXVJqktSXZLqklSXpLok1SWpLkl1SapLUl1y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddUuqSUpeUuqTUJaUuKXVJqUtKXVLqklKXlLqk1CWlLil1SalLSl1S6pJSl5S6pNQlpS4pdUmpS0pdUuqSUpeUuqTUJaUuKXVJqUtKXVLqklKXlLqk1CWlLil1SalLSl1S6pJSl5S6pNQlpS4pdUmpS0pdUuqSUpeUuqTUJaUuKXVJqUtKXVLqklKXlLqk1CWlLil1SalLSl1S6pJSl5S6pNQlpS4pdUmpS0pdUuqSUpeUuqTUJaUuKXVJqUtKXVLqklKXlLqk1CWlLil1SalLSl1S6pJSl5S6pNQlpS4pdUmpS0pdUuqSUpeUuqTUJa0uaXVJq0taXdLqklaXtLqk1SWtLml1SatLWl3S6pJWl7S6pNUlrS5pdUmrS1pd0uqSVpe0uqTVJa0uaXVJq0taXdLqklaXtLqk1SWtLml1SatLWl3S6pJWl7S6pNUlrS5pdUmrS1pd0uqSVpe0uqTVJa0uaXVJq0taXdLqklaXtLqk1SWtLml1SatLWl3S6pJWl7S6pNUlrS5pdUmrS1pd0uqSVpe0uqTVJa0uaXVJq0taXdLqklaXtLqk1SWtLml1SatLWl3S6pJWl7S6pNUlrS5pdUmrS1pd0uqSVpe0uqTVJa0uaXVJq0taXTLqklGXjLpk1CWjLhl1yahLRl0y6pJRl4y6ZNQloy4ZdcmoS0ZdMuqSUZeMumTUJaMuGXXJqEtGXTLqklGXjLpk1CWjLhl1yahLRl0y6pJRl4y6ZNQloy4ZdcmoS0ZdMuqSUZeMumTUJaMuGXXJqEtGXTLqklGXjLpk1CWjLhl1yahLRl0y6pJRl4y6ZNQloy4ZdcmoS0ZdMuqSUZeMumTUJaMuGXXJqEtGXTLqklGXjLpk1CWjLhl1yahLRl0y6pJRl4y6ZNQloy4ZdcmoS0ZdMuqSUZeMumTUJaMuGXXJqEtGXTLqklGXjLpE7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe7V5F5N7tXkXk3u1eReTe71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXo/c65F7PXKvR+71yL0eudcj93rkXs8P93ry67J0+cdpp78uh8u/dsnzC/7aJXt59Atcl6FfkLq8+gWly9YvGC7/2iXPL/hrl+zl0S9wXYZ+QepSs41mG802zPbDvX79gh/udS+PfoHrMvQLUpdXv6B02foFzPbDvT6/wEyXR7/AdRn6BanLq19Qumz9As12NNvRbEezHc12NNvRbEezHc12NNvRbK7ZXLO5ZnPN5prNNZtrNtdsrtlcs4VmC80Wmi00W2i20Gyh2UKzhWYLzZaaLTVbarbUbKnZUrOlZkvNlpotNdvVbFezXc12NdvVbFezXc12NdvVbFezlWYrzVaarTRbabbSbOoSV5e4usTVJa4ucXWJq0tcXeLqEleXuLrE1SWuLnF1iatLXF3i6hJXl7i6xNUlri5xdYmrS1xdEuqSUJeEuiTUJaEuCXVJqEtCXRLqklCXhLok1CWhLgl1SahLQl0S6pJQl4S6JNQloS4JdUmoS0JdEuqSUJeEuiTUJaEuCXVJqEtCXRLqklCXhLok1CWhLgl1SahLQl0S6pJQl4S6JNQloS4JdUmoS0JdEuqSUJeEuiTUJaEuCXVJqEtCXRLqklCXhLok1CWhLgl1SahLQl0S6pJQl4S6JNQloS4JdUmoS0JdEuqSUJeEuiTUJaEuCXVJqEtCXRLqklCXhLok1CWhLgl1SahLQl0S6pJQl4S6JNQloS4JdUmoS0JdEuqSUJeEuiTUJakuSXVJqktSXZLqklSXpLok1SWpLkl1SapLUl2S6pJUl6S6JNUlqS5JdUmqS1JdkuqSVJekuiTVJakuSXVJqktSXZLqklSXpLok1SWpLkl1SapLUl2S6pJUl6S6JNUlqS5JdUmqS1JdkuqSVJekuiTVJakuSXVJqktSXZLqklSXpLok1SWpLkl1SapLUl2S6pJUl6S6JNUlqS5JdUmqS1JdkuqSVJekuiTVJakuSXVJqktSXZLqklSXpLok1SWpLkl1SapLUl2S6pJUl6S6JNUlqS5JdUmqS1JdkuqSVJekuiTVJakuSXVJqktSXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11y1SVXXXLVJVddctUlV11S6pJSl5S6pNQlpS4pdUmpS0pdUuqSUpeUuqTUJaUuKXVJqUtKXVLqklKXlLqk1CWlLil1SalLSl1S6pJSl5S6pNQlpS4pdUmpS0pdUuqSUpeUuqTUJaUuKXVJqUtKXVLqklKXlLqk1CWlLil1SalLSl1S6pJSl5S6pNQlpS4pdUmpS0pdUuqSUpeUuqTUJaUuKXVJqUtKXVLqklKXlLqk1CWlLil1SalLSl1S6pJSl5S6pNQlpS4pdUmpS0pdUuqSUpeUuqTUJaUuKXVJqUtKXVLqklKXlLqk1CWlLil1SalLSl1S6pJSl5S6pNQlrS5pdUmrS1pd0uqSVpe0uqTVJa0uaXVJq0taXdLqklaXtLqk1SWtLml1SatLWl3S6pJWl7S6pNUlrS5pdUmrS1pd0uqSVpe0uqTVJa0uaXVJq0taXdLqklaXtLqk1SWtLml1SatLWl3S6pJWl7S6pNUlrS5pdUmrS1pd0uqSVpe0uqTVJa0uaXVJq0taXdLqklaXtLqk1SWtLml1SatLWl3S6pJWl7S6pNUlrS5pdUmrS1pd0uqSVpe0uqTVJa0uaXVJq0taXdLqklaXtLqk1SWtLml1SatLWl3S6pJWl7S6pNUlrS5pdUmrS1pdMuqSUZeMumTUJaMuGXXJqEtGXTLqklGXjLpk1CWjLhl1yahLRl0y6pJRl4y6ZNQloy4ZdcmoS0ZdMuqSUZeMumTUJaMuGXXJqEtGXTLqklGXjLpk1CWjLhl1yahLRl0y6pJRl4y6ZNQloy4ZdcmoS0ZdMuqSUZeMumTUJaMuGXXJqEtGXTLqklGXjLpk1CWjLhl1yahLRl0y6pJRl4y6ZNQloy4ZdcmoS0ZdMuqSUZeMumTUJaMuGXXJqEtGXTLqklGXjLpk1CWjLhl1yahLRl0y6pJRl4y6ZNQloy4ZdcmoS0ZdMuqSUZeMumToEv/QJf6hS/xDl/iHLvEPXeIfusQ/dIl/6BL/0CX+oUv8Q5f4hy7xD13iH7rEP3SJf+gS/9Al/qFL/EOX+Mc029FsR7MdzXY029FsR7MdzXY029FsR7O5ZnPN5prNNZtrNtdsrtlcs7lmc80Wmi00W2i20Gyh2UKzhWYLzRaaLTRbarbUbKnZUrOlZkvNlpotNVtqttRsV7NdzXY129VsV7NdzXY129VsV7NdzVaarTRbabbSbKXZSrOVZivNVpqtNFtrttZsrdlas7Vma83Wmq01W2u21myj2UazjWYbzTaabTTbaLbRbKPZ1CWmLjF1ialLTF1i6hJTl5i6xNQlpi4xdYmpS0xdYuoSU5eYusTUJaYuMXWJqUtMXWLqElOXmLrE1CWmLjF1ialLTF1i6hJTl5i6xNQlpi4xdYmpS0xdYuoSU5eYusTUJaYuMXWJqUtMXWLqElOXmLrE1CWmLjF1ialLTF1i6hJTl5i6xNQlpi4xdYmpS0xdYuoSU5eYusTUJaYuMXWJqUtMXWLqElOXmLrE1CWmLjF1ialLTF1i6hJTl5i6xNQlpi4xdYmpS0xdYuoSU5eYusTUJaYuMXWJqUtMXWLqElOXmLrE1CWmLjF1ialLTF1y1CVHXXLUJUddctQlR11y1CVHXXLUJUddctQlR11y1CVHXXLUJUddctQlR11y1CVHXXLUJUddctQlR11y1CVHXXLUJUddctQlR11y1CVHXXLUJUddctQlR11y1CVHXXLUJUddctQlR11y1CVHXXLUJUddctQlR11y1CVHXXLUJUddctQlR11y1CVHXXLUJUddctQlR11y1CVHXXLUJUddctQlR11y1CVHXXLUJUddctQlR11y1CVHXXLUJUddIvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyry736nKvLvfqcq8u9+pyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKvIfcacq8h9xpyryH3GnKv8cO9Rn1dmi6PLl2XocvU5dVl6bJ1OVy6TnOd5jrNdZrrNNdprtNcp7lOc50WOi10Wui00Gmh00KnhU4LnRY6LXRa6rTUaanTUqelTkudljotdVrqtNRpV6ddnXZ12tVpV6ddnXZ12tVpV6ddnVY6rXRa6bTSaaXTSqeVTiudVjqtdFrrtNZprdNap7VOa53WOq11Wuu01mmj00anjU4bnTY6bXTa6LTRaaPThtN+uNe9NF0eXbouQ5epy6vL0mXrUqeZTjOdZjrNdJrpNNNpptNMp5lOM52mLgl1SahLQl0S6pJQl4S6JNQloS4JdUmoS0JdEuqSUJeEuiTUJaEuCXVJqEtCXRLqklCXhLok1CWhLgl1SahLQl0S6pJQl4S6JNQloS4JdUmoS0JdEuqSUJeEuiTUJaEuCXVJqEtCXRLqklCXhLok1CWhLgl1SahLQl0S6pJQl4S6JNQloS4JdUmoS0JdEuqSUJeEuiTUJaEuCXVJqEtCXRLqklCXhLok1CWhLgl1SahLQl0S6pJQl4S6JNQlqS5JdUmqS1JdkuqSVJekuiTVJakuSXVJqktSXZLqklSXpLok1SWpLkl1SapLUl2S6pJUl6S6JNUlqS5JdUmqS1JdkuqSVJekuiTVJakuSXVJqktSXZLqklSXpLok1SWpLkl1SapLUl2S6pJUl6S6JNUlqS754V4zflz+tUv28o/Tyr8ujy5dl6HL1OXVZemydTlc/rVL9lKnXZ12ddrVaVenXZ12ddrVaVenlU4rnVY6rXRa6bTSaaXTSqeVTiud1jqtdVrrtNZprdNap7VOa53WOq112ui00Wmj00anjU4bnTY6bXTa6LThtB/udS9Nl0eXrsvQZery6rJ02brUaabTTKeZTjOdZjrNdJrpNNNpptNMpx2ddnTa0WlHpx2ddnTa0WlHpx2ddnSa6zTXaa7TXKe5TnOd5jrNdZrrNNdpodNCp4VOC50WOi10Wui00Gmh00KnpU5Tl1x1yVWXXHXJVZdcdclVl1x1yVWXXHXJVZdcdclVl1x1yVWXXHXJVZdcdclVl1x1yVWXXHXJVZdcdclVl1x1yVWXXHXJVZdcdclVl1x1yVWXXHXJVZdcdclVl1x1yVWXXHXJVZdcdclVl1x1yVWXXHXJVZdcdclVl5S6pNQlpS4pdUmpS0pdUuqSUpeUuqTUJaUuKXVJqUtKXVLqklKXlLqk1CWlLil1SalLSl1S6pJSl5S6pNQlpS4pdUmpS0pdUuqSUpeUuqTUJaUuKXVJqUtKXVLqklKXlLqk1CWlLil1SalLSl1S6pJSl5S6pNQlpS4pdUmpS0pdUuqSUpeUuqTUJaUuKXVJqUtKXVLqklKXlLqk1CWlLil1SalLSl1S6pJSl5S6pNQlpS4pdUmpS0pdUuqSUpf8cK/9+bo0Xf5x2vTXpesydJm6vLosXbYuh8u/dslemi512ui00Wmj00anjU4bnTac9sO97qXp8ujyj9P+eAT8dR2v63xd/3HgH080v67rdd2v69H1j/V9e22v6/O69td1vK7zdf06117n2utce517Xuee17nnde55nXte557Xued17nmde17nnte5/jrXX+f661x/neuvc/11rr/O9de5/jrXX+fG69x4nRuvc+N1brzOjde58To3XufG69x4nZuvc/N1br7Ozde5+To3X+fm69x8nZuvc/N17n2de1/n3te593XufZ17X+fe17n3de59nXtf59br3HqdW69z63Vuvc6t17n1Orde59br3Hqd269z+3Vuv87t17n9Ordf5/br3H6d269z+3XuvM6d17nzOnde587r3HmdO69z53XuvM4dnfsD1nJtr+vzuvbXdbyu83V9X9f1uu7X9evcV1/Nq6/m1Vfz6qt59dW8+mpefTWvvppXX82rr+bVV/Pqq3n11bz6al59Na++mldfzauv5tVX8+qrefXVvPpqXn01r76aV1/Nq6/m1Vfz6qt59dW8+mpefTWvvppXX82rr+bVV/Pqq3n11bz6al59Na++mldfzauv5tVX8+qrefXVvPpqXn01r76aV1/Nq6/m1Vfz6qt59dW8+mpefTWvvppXX82rr+bVV/Pqq3n11bz6al59Na++mldfzauv5tVX8+qrefXVvPpqXn01r76aV1/Nq6/m1Vfz6qt59dW8+mpefTWvvppXX82rr+bVV/Pqq3n11bz6al59Na++mldfjfoqP+qr/Kiv8qO+yo/6Kj/qq/yor/KjvsqP+io/6qv8fF7n2utce51rr3Ptda69zrXXufY6117n2utce517Xuee17nnde55nXte557Xued17nmde17nnte5/jrXX+f661x/neuvc/11rr/O9de5/jrXX+fG69x4nRuvc+N1brzOjde58To3XufG69x4nZuvc/N1br7Ozde5+To3X+fm69x8nZuvc/N17n2de1/n/v9N3UGubUluntG5qO3GISNIBj0XQ5DkslFAQSWUJQOGUXOX3nuZeVaPF6fx9VbnBv7ddJtu0226TbfpNt2mO3SH7tAdukN36A7doTt0h+6j++g+uo/uo/voPrqP7qP76C7dpbt0l+7SXbpLd+kuXbwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8+vlw+b+A/HUf7std3D+69/26h/tx7/f+6dXvd3An9+H+0a34dRd3cw/3497v/dOr3+/gTu7DTXfoDt2hO3SH7qP76D66j+6j++g+uo/uo/voLt2lu3SX7tJdukt36S7d/XZ/PnT+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rxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8Grwavfr1v78+vu7ibe7gf9/5x/3rf/vsd3Ml9uC93cTf3cD9uukE36AbdoBt0g27QDbpBN+gm3aSbdJNu0k26STfpJt2ke+geuofuoXvoHrqH7qF76B66l+6le+leupfupXvpXrqX7qVbdItu0S26RbfoFt2iW3SLbtNtuk236Tbdptt0m27TbbpDd+gO3aE7dIfu0B26Q3foPrqP7qP76D66j+6j++g+uo/u0l26S3fp4tXDq4dXD68eXj28WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq82q9X8/l6NZ+vV/P5ejWfr1fz+Xo1n69X8/l6NZ+vV/P5ejWfD92gG3SDbtANukE36AbdoBt0k27STbpJN+km3aSbdJNu0j10D91D99A9dA/dQ/fQPXQP3Uv30r10L91L99K9dC/dS/fSLbpFt+gW3aJbdItu0S26RbfpNt2m23SbbtNtuk236TbdoTt0h+7QHbpDd+gO3aE7dB/dR/fRfXQf3Uf30X10H91Hd+ku3aW7dJfu0l26S3fp4lXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeBV4FXgVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeJV4lXiVeLVwauDVwevDl4dvDp4dfDq4NXBq4NXB68OXh28Onh18Org1cGrg1cHrw5eHbw6eHXw6uDVwauDVwevDl4dvDp4dfDq4NXBq4NXB68OXh28Onh18Org1cGrg1cHrw5eHbw6eHXw6uDVwauDVwevDl4dvDp4dfDq4NXBq4NXB68OXh28Onh18Org1cGrg1cHrw5eHbw6eHXw6uDVwauDVwevDl4dvDp4dfDq4NXBq4NXB68OXh28Onh18Org1cGrg1cHrw5eHbw6eHXw6uDVwauDVwevDl5dvLp4dfHq4tXFq4tXF68uXl28unh18eri1cWri1cXry5eXby6eHXx6uLVxauLVxevLl5dvLp4dfHq4tXFq4tXF68uXl28unh18eri1cWri1cXry5eXby6eHXx6uLVxauLVxevLl5dvLp4dfHq4tXFq4tXF68uXl28unh18eri1cWri1cXry5eXby6eHXx6uLVxauLVxevLl5dvLp4dfHq4tXFq4tXF68uXl28unh18eri1cWri1cXry5eXby6eHXx6uLVxauLVxevLl5dvLp4dfHq4lXhVeFV4VXhVeFV4VXhVeFV4VXhVeFV4VXhVeFV4VXhVeFV4VXhVeFV4VXhVeFV4VXhVeFV4VXhVeFV4VXhVeFV4VXhVeFV4VXhVeFV4VXhVeFV4VXhVeFV4VXhVeFV4VXhVeFV4VXhVeFV4VXhVeFV4VXhVeFV4VXhVeFV4VXhVeFV4VXhVeFV4VXhVeFV4VXhVeFV4VXhVeFV4VXhVeFV4VXhVeFV4VXhVeFV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KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8KrwqvCq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arxqvGq8arwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavBq8GrwavHp49fDq4dXDq4dXD68eXj28enj18Orh1cOrh1cPrx5ePbx6ePXw6uHVw6uHVw+vHl49vHp49fDq4dXDq4dXD68eXj28enj18Orh1cOrh1cPr369b5/76/7Z/fl/gV/v23+/f3R/7v+/9/3exHvf70289/3exHvf70289/3exHvf70289/3exHvf70289/3exHtFt+gW3aJbdItu0S26RbfpNt2m23SbbtNtuk236TbdoTt0h+7QHbpDd+gO3aE7dB/dR/fRfXQf3Uf30X10H91Hd+ku3aW7dJfu0l26S3fpfr+P8/b7fZy33+/jvP1+H+ft9/s4b7/fx3n7/T7O2+/3cd5+v4/z9vt9nLcfukE36AbdoBt0g27QDbpBN+gm3aSbdJNu0k26STfpJt2ke+geuofuoXvoHrqH7qF76B66ly5eLV4tXi1eLV4tXi1eLV4tXi1eLV4tXi1eLV4tXi1eLV4tXi1eLV4tXi1eLV4tXi1eLV4tXi1eLV4tXi1eLV4tXi1eLV4tXi1eLV4tXi1eLV4tXi1eLV4tXi1eLV4tXi1eLV4tXi1eLV4tXi1eLV4tXi1e7der/Xy92s/Xq/18vdrP16v9fL3az9er/Xy92s/Xq/18vdrPh27QDbpBN+gG3aAbdINu0A26STfpJt2km3STbtJNukk36R66h+6he+geuofuoXvoHrqH7qV76V66l+6le+leupfupXvpFt2iW3SLbtEtukW36Bbdott0m27TbbpNt+k23abbdJvu0B26Q3foDt2hO3SH7tAduo/uo/voPrqP7qP76D66j+6ju3SX7tJdukt36S7dpbt08SrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvEq8SrxKvHq4NXBq4NXB68OXh28Onh18Org1cGrg1cHrw5eHbw6eHXw6uDVwauDVwevDl4dvDp4dfDq4NXBq4NXB68OXh28Onh18Org1cGrg1cHrw5eHbw6eHXw6uDVwauDVwevDl4dvDp4dfDq4NXBq4NX7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvuy3L/vty377st++7Lcv++3Lfvuy377sty/77ct++7Lfvg+vHl49vHp49fDq4dXDq4dXD68eXj28enj18Orh1cOrh1cPrx5ePbx6ePXw6uHVw6uHVw+vHl49vHp49fDq4dXDq4dXD68eXj28enj18Orh1cOrh1cPrx5ePbx6ePXw6uHVw6uHVw+vHl49vHp49fDq4dXDq4dXD68eXj28enj18Orh1cOrh1cPrx5ePbx6ePXw6uHVw6uHVw+vHl49vHp49fDq4dXDq4dXD68eXj28enj18GrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8WrxavFq8Wr/8Co/nz+8+nEHd3If7std3M093I+bbtANukE36AbdoBt0g27QDbpJN+km3aSbdJNu0k26STfpHrqH7qF76B66h+6he+geuofupXvpXrqX7qV76V66l+6le+kW3aJbdItu0S26RbfoFt2i23SbbtNtuk236Tbdptt0m+7QHbpDd+gO3aE7dIfu0B26j+6j++g+uo/uo/voPrqP7qO7dJfu0l26S3fpLt2lu3TxKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8CrwKvAq8Crw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", file_map: { "18": { source: 'pub mod bn254;\nuse crate::{runtime::is_unconstrained, static_assert};\nuse bn254::lt as bn254_lt;\n\nimpl Field {\n /// Asserts that `self` can be represented in `bit_size` bits.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^{bit_size}`.\n // docs:start:assert_max_bit_size\n pub fn assert_max_bit_size<let BIT_SIZE: u32>(self) {\n // docs:end:assert_max_bit_size\n static_assert(\n BIT_SIZE < modulus_num_bits() as u32,\n "BIT_SIZE must be less than modulus_num_bits",\n );\n __assert_max_bit_size(self, BIT_SIZE);\n }\n\n /// Decomposes `self` into its little endian bit decomposition as a `[u1; N]` array.\n /// This slice will be zero padded should not all bits be necessary to represent `self`.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// The bit decomposition returned is canonical and is guaranteed to not overflow the modulus.\n // docs:start:to_le_bits\n pub fn to_le_bits<let N: u32>(self: Self) -> [u1; N] {\n // docs:end:to_le_bits\n let bits = __to_le_bits(self);\n\n if !is_unconstrained() {\n // Ensure that the byte decomposition does not overflow the modulus\n let p = modulus_le_bits();\n assert(bits.len() <= p.len());\n let mut ok = bits.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bits[N - 1 - i] != p[N - 1 - i]) {\n assert(p[N - 1 - i] == 1);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bits\n }\n\n /// Decomposes `self` into its big endian bit decomposition as a `[u1; N]` array.\n /// This array will be zero padded should not all bits be necessary to represent `self`.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// The bit decomposition returned is canonical and is guaranteed to not overflow the modulus.\n // docs:start:to_be_bits\n pub fn to_be_bits<let N: u32>(self: Self) -> [u1; N] {\n // docs:end:to_be_bits\n let bits = __to_be_bits(self);\n\n if !is_unconstrained() {\n // Ensure that the decomposition does not overflow the modulus\n let p = modulus_be_bits();\n assert(bits.len() <= p.len());\n let mut ok = bits.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bits[i] != p[i]) {\n assert(p[i] == 1);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bits\n }\n\n /// Decomposes `self` into its little endian byte decomposition as a `[u8;N]` array\n /// This array will be zero padded should not all bytes be necessary to represent `self`.\n ///\n /// # Failures\n /// The length N of the array must be big enough to contain all the bytes of the \'self\',\n /// and no more than the number of bytes required to represent the field modulus\n ///\n /// # Safety\n /// The result is ensured to be the canonical decomposition of the field element\n // docs:start:to_le_bytes\n pub fn to_le_bytes<let N: u32>(self: Self) -> [u8; N] {\n // docs:end:to_le_bytes\n static_assert(\n N <= modulus_le_bytes().len(),\n "N must be less than or equal to modulus_le_bytes().len()",\n );\n // Compute the byte decomposition\n let bytes = self.to_le_radix(256);\n\n if !is_unconstrained() {\n // Ensure that the byte decomposition does not overflow the modulus\n let p = modulus_le_bytes();\n assert(bytes.len() <= p.len());\n let mut ok = bytes.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bytes[N - 1 - i] != p[N - 1 - i]) {\n assert(bytes[N - 1 - i] < p[N - 1 - i]);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bytes\n }\n\n /// Decomposes `self` into its big endian byte decomposition as a `[u8;N]` array of length required to represent the field modulus\n /// This array will be zero padded should not all bytes be necessary to represent `self`.\n ///\n /// # Failures\n /// The length N of the array must be big enough to contain all the bytes of the \'self\',\n /// and no more than the number of bytes required to represent the field modulus\n ///\n /// # Safety\n /// The result is ensured to be the canonical decomposition of the field element\n // docs:start:to_be_bytes\n pub fn to_be_bytes<let N: u32>(self: Self) -> [u8; N] {\n // docs:end:to_be_bytes\n static_assert(\n N <= modulus_le_bytes().len(),\n "N must be less than or equal to modulus_le_bytes().len()",\n );\n // Compute the byte decomposition\n let bytes = self.to_be_radix(256);\n\n if !is_unconstrained() {\n // Ensure that the byte decomposition does not overflow the modulus\n let p = modulus_be_bytes();\n assert(bytes.len() <= p.len());\n let mut ok = bytes.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bytes[i] != p[i]) {\n assert(bytes[i] < p[i]);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bytes\n }\n\n fn to_le_radix<let N: u32>(self: Self, radix: u32) -> [u8; N] {\n // Brillig does not need an immediate radix\n if !crate::runtime::is_unconstrained() {\n static_assert(1 < radix, "radix must be greater than 1");\n static_assert(radix <= 256, "radix must be less than or equal to 256");\n static_assert(radix & (radix - 1) == 0, "radix must be a power of 2");\n }\n __to_le_radix(self, radix)\n }\n\n fn to_be_radix<let N: u32>(self: Self, radix: u32) -> [u8; N] {\n // Brillig does not need an immediate radix\n if !crate::runtime::is_unconstrained() {\n static_assert(1 < radix, "radix must be greater than 1");\n static_assert(radix <= 256, "radix must be less than or equal to 256");\n static_assert(radix & (radix - 1) == 0, "radix must be a power of 2");\n }\n __to_be_radix(self, radix)\n }\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b: [u1; 32] = exponent.to_le_bits();\n\n for i in 1..33 {\n r *= r;\n r = (b[32 - i] as Field) * (r * self) + (1 - b[32 - i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x `elem` {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n\n pub fn lt(self, another: Field) -> bool {\n if crate::compat::is_bn254() {\n bn254_lt(self, another)\n } else {\n lt_fallback(self, another)\n }\n }\n\n /// Convert a little endian byte array to a field element.\n /// If the provided byte array overflows the field modulus then the Field will silently wrap around.\n pub fn from_le_bytes<let N: u32>(bytes: [u8; N]) -> Field {\n static_assert(\n N <= modulus_le_bytes().len(),\n "N must be less than or equal to modulus_le_bytes().len()",\n );\n let mut v = 1;\n let mut result = 0;\n\n for i in 0..N {\n result += (bytes[i] as Field) * v;\n v = v * 256;\n }\n result\n }\n\n /// Convert a big endian byte array to a field element.\n /// If the provided byte array overflows the field modulus then the Field will silently wrap around.\n pub fn from_be_bytes<let N: u32>(bytes: [u8; N]) -> Field {\n let mut v = 1;\n let mut result = 0;\n\n for i in 0..N {\n result += (bytes[N - 1 - i] as Field) * v;\n v = v * 256;\n }\n result\n }\n}\n\n#[builtin(apply_range_constraint)]\nfn __assert_max_bit_size(value: Field, bit_size: u32) {}\n\n// `_radix` must be less than 256\n#[builtin(to_le_radix)]\nfn __to_le_radix<let N: u32>(value: Field, radix: u32) -> [u8; N] {}\n\n// `_radix` must be less than 256\n#[builtin(to_be_radix)]\nfn __to_be_radix<let N: u32>(value: Field, radix: u32) -> [u8; N] {}\n\n/// Decomposes `self` into its little endian bit decomposition as a `[u1; N]` array.\n/// This slice will be zero padded should not all bits be necessary to represent `self`.\n///\n/// # Failures\n/// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n/// be able to represent the original `Field`.\n///\n/// # Safety\n/// Values of `N` equal to or greater than the number of bits necessary to represent the `Field` modulus\n/// (e.g. 254 for the BN254 field) allow for multiple bit decompositions. This is due to how the `Field` will\n/// wrap around due to overflow when verifying the decomposition.\n#[builtin(to_le_bits)]\nfn __to_le_bits<let N: u32>(value: Field) -> [u1; N] {}\n\n/// Decomposes `self` into its big endian bit decomposition as a `[u1; N]` array.\n/// This array will be zero padded should not all bits be necessary to represent `self`.\n///\n/// # Failures\n/// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n/// be able to represent the original `Field`.\n///\n/// # Safety\n/// Values of `N` equal to or greater than the number of bits necessary to represent the `Field` modulus\n/// (e.g. 254 for the BN254 field) allow for multiple bit decompositions. This is due to how the `Field` will\n/// wrap around due to overflow when verifying the decomposition.\n#[builtin(to_be_bits)]\nfn __to_be_bits<let N: u32>(value: Field) -> [u1; N] {}\n\n#[builtin(modulus_num_bits)]\npub comptime fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub comptime fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub comptime fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub comptime fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub comptime fn modulus_le_bytes() -> [u8] {}\n\n/// An unconstrained only built in to efficiently compare fields.\n#[builtin(field_less_than)]\nunconstrained fn __field_less_than(x: Field, y: Field) -> bool {}\n\npub(crate) unconstrained fn field_less_than(x: Field, y: Field) -> bool {\n __field_less_than(x, y)\n}\n\n// Convert a 32 byte array to a field element by modding\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n if is_unconstrained() {\n // Safety: unconstrained context\n unsafe {\n field_less_than(x, y)\n }\n } else {\n let x_bytes: [u8; 32] = x.to_le_bytes();\n let y_bytes: [u8; 32] = y.to_le_bytes();\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..32 {\n if (!done) {\n let x_byte = x_bytes[32 - 1 - i] as u8;\n let y_byte = y_bytes[32 - 1 - i] as u8;\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n }\n}\n\nmod tests {\n use crate::{panic::panic, runtime, static_assert};\n use super::{\n field_less_than, modulus_be_bits, modulus_be_bytes, modulus_le_bits, modulus_le_bytes,\n };\n\n #[test]\n // docs:start:to_be_bits_example\n fn test_to_be_bits() {\n let field = 2;\n let bits: [u1; 8] = field.to_be_bits();\n assert_eq(bits, [0, 0, 0, 0, 0, 0, 1, 0]);\n }\n // docs:end:to_be_bits_example\n\n #[test]\n // docs:start:to_le_bits_example\n fn test_to_le_bits() {\n let field = 2;\n let bits: [u1; 8] = field.to_le_bits();\n assert_eq(bits, [0, 1, 0, 0, 0, 0, 0, 0]);\n }\n // docs:end:to_le_bits_example\n\n #[test]\n // docs:start:to_be_bytes_example\n fn test_to_be_bytes() {\n let field = 2;\n let bytes: [u8; 8] = field.to_be_bytes();\n assert_eq(bytes, [0, 0, 0, 0, 0, 0, 0, 2]);\n assert_eq(Field::from_be_bytes::<8>(bytes), field);\n }\n // docs:end:to_be_bytes_example\n\n #[test]\n // docs:start:to_le_bytes_example\n fn test_to_le_bytes() {\n let field = 2;\n let bytes: [u8; 8] = field.to_le_bytes();\n assert_eq(bytes, [2, 0, 0, 0, 0, 0, 0, 0]);\n assert_eq(Field::from_le_bytes::<8>(bytes), field);\n }\n // docs:end:to_le_bytes_example\n\n #[test]\n // docs:start:to_be_radix_example\n fn test_to_be_radix() {\n // 259, in base 256, big endian, is [1, 3].\n // i.e. 3 * 256^0 + 1 * 256^1\n let field = 259;\n\n // The radix (in this example, 256) must be a power of 2.\n // The length of the returned byte array can be specified to be\n // >= the amount of space needed.\n let bytes: [u8; 8] = field.to_be_radix(256);\n assert_eq(bytes, [0, 0, 0, 0, 0, 0, 1, 3]);\n assert_eq(Field::from_be_bytes::<8>(bytes), field);\n }\n // docs:end:to_be_radix_example\n\n #[test]\n // docs:start:to_le_radix_example\n fn test_to_le_radix() {\n // 259, in base 256, little endian, is [3, 1].\n // i.e. 3 * 256^0 + 1 * 256^1\n let field = 259;\n\n // The radix (in this example, 256) must be a power of 2.\n // The length of the returned byte array can be specified to be\n // >= the amount of space needed.\n let bytes: [u8; 8] = field.to_le_radix(256);\n assert_eq(bytes, [3, 1, 0, 0, 0, 0, 0, 0]);\n assert_eq(Field::from_le_bytes::<8>(bytes), field);\n }\n // docs:end:to_le_radix_example\n\n #[test(should_fail_with = "radix must be greater than 1")]\n fn test_to_le_radix_1() {\n // this test should only fail in constrained mode\n if !runtime::is_unconstrained() {\n let field = 2;\n let _: [u8; 8] = field.to_le_radix(1);\n } else {\n panic(f"radix must be greater than 1");\n }\n }\n\n // Updated test to account for Brillig restriction that radix must be greater than 2\n #[test(should_fail_with = "radix must be greater than 1")]\n fn test_to_le_radix_brillig_1() {\n // this test should only fail in constrained mode\n if !runtime::is_unconstrained() {\n let field = 1;\n let _: [u8; 8] = field.to_le_radix(1);\n } else {\n panic(f"radix must be greater than 1");\n }\n }\n\n #[test(should_fail_with = "radix must be a power of 2")]\n fn test_to_le_radix_3() {\n // this test should only fail in constrained mode\n if !runtime::is_unconstrained() {\n let field = 2;\n let _: [u8; 8] = field.to_le_radix(3);\n } else {\n panic(f"radix must be a power of 2");\n }\n }\n\n #[test]\n fn test_to_le_radix_brillig_3() {\n // this test should only fail in constrained mode\n if runtime::is_unconstrained() {\n let field = 1;\n let out: [u8; 8] = field.to_le_radix(3);\n let mut expected = [0; 8];\n expected[0] = 1;\n assert(out == expected, "unexpected result");\n }\n }\n\n #[test(should_fail_with = "radix must be less than or equal to 256")]\n fn test_to_le_radix_512() {\n // this test should only fail in constrained mode\n if !runtime::is_unconstrained() {\n let field = 2;\n let _: [u8; 8] = field.to_le_radix(512);\n } else {\n panic(f"radix must be less than or equal to 256")\n }\n }\n\n #[test(should_fail_with = "Field failed to decompose into specified 16 limbs")]\n unconstrained fn not_enough_limbs_brillig() {\n let _: [u8; 16] = 0x100000000000000000000000000000000.to_le_bytes();\n }\n\n #[test(should_fail_with = "Field failed to decompose into specified 16 limbs")]\n fn not_enough_limbs() {\n let _: [u8; 16] = 0x100000000000000000000000000000000.to_le_bytes();\n }\n\n #[test]\n unconstrained fn test_field_less_than() {\n assert(field_less_than(0, 1));\n assert(field_less_than(0, 0x100));\n assert(field_less_than(0x100, 0 - 1));\n assert(!field_less_than(0 - 1, 0));\n }\n\n #[test]\n unconstrained fn test_large_field_values_unconstrained() {\n let large_field = 0xffffffffffffffff;\n\n let bits: [u1; 64] = large_field.to_le_bits();\n assert_eq(bits[0], 1);\n\n let bytes: [u8; 8] = large_field.to_le_bytes();\n assert_eq(Field::from_le_bytes::<8>(bytes), large_field);\n\n let radix_bytes: [u8; 8] = large_field.to_le_radix(256);\n assert_eq(Field::from_le_bytes::<8>(radix_bytes), large_field);\n }\n\n #[test]\n fn test_large_field_values() {\n let large_val = 0xffffffffffffffff;\n\n let bits: [u1; 64] = large_val.to_le_bits();\n assert_eq(bits[0], 1);\n\n let bytes: [u8; 8] = large_val.to_le_bytes();\n assert_eq(Field::from_le_bytes::<8>(bytes), large_val);\n\n let radix_bytes: [u8; 8] = large_val.to_le_radix(256);\n assert_eq(Field::from_le_bytes::<8>(radix_bytes), large_val);\n }\n\n #[test]\n fn test_decomposition_edge_cases() {\n let zero_bits: [u1; 8] = 0.to_le_bits();\n assert_eq(zero_bits, [0; 8]);\n\n let zero_bytes: [u8; 8] = 0.to_le_bytes();\n assert_eq(zero_bytes, [0; 8]);\n\n let one_bits: [u1; 8] = 1.to_le_bits();\n let expected: [u1; 8] = [1, 0, 0, 0, 0, 0, 0, 0];\n assert_eq(one_bits, expected);\n\n let pow2_bits: [u1; 8] = 4.to_le_bits();\n let expected: [u1; 8] = [0, 0, 1, 0, 0, 0, 0, 0];\n assert_eq(pow2_bits, expected);\n }\n\n #[test]\n fn test_pow_32() {\n assert_eq(2.pow_32(3), 8);\n assert_eq(3.pow_32(2), 9);\n assert_eq(5.pow_32(0), 1);\n assert_eq(7.pow_32(1), 7);\n\n assert_eq(2.pow_32(10), 1024);\n\n assert_eq(0.pow_32(5), 0);\n assert_eq(0.pow_32(0), 1);\n\n assert_eq(1.pow_32(100), 1);\n }\n\n #[test]\n fn test_sgn0() {\n assert_eq(0.sgn0(), 0);\n assert_eq(2.sgn0(), 0);\n assert_eq(4.sgn0(), 0);\n assert_eq(100.sgn0(), 0);\n\n assert_eq(1.sgn0(), 1);\n assert_eq(3.sgn0(), 1);\n assert_eq(5.sgn0(), 1);\n assert_eq(101.sgn0(), 1);\n }\n\n #[test(should_fail_with = "Field failed to decompose into specified 8 limbs")]\n fn test_bit_decomposition_overflow() {\n // 8 bits can\'t represent large field values\n let large_val = 0x1000000000000000;\n let _: [u1; 8] = large_val.to_le_bits();\n }\n\n #[test(should_fail_with = "Field failed to decompose into specified 4 limbs")]\n fn test_byte_decomposition_overflow() {\n // 4 bytes can\'t represent large field values\n let large_val = 0x1000000000000000;\n let _: [u8; 4] = large_val.to_le_bytes();\n }\n\n #[test]\n fn test_to_from_be_bytes_bn254_edge_cases() {\n if crate::compat::is_bn254() {\n // checking that decrementing this byte produces the expected 32 BE bytes for (modulus - 1)\n let mut p_minus_1_bytes: [u8; 32] = modulus_be_bytes().as_array();\n assert(p_minus_1_bytes[32 - 1] > 0);\n p_minus_1_bytes[32 - 1] -= 1;\n\n let p_minus_1 = Field::from_be_bytes::<32>(p_minus_1_bytes);\n assert_eq(p_minus_1 + 1, 0);\n\n // checking that converting (modulus - 1) from and then to 32 BE bytes produces the same bytes\n let p_minus_1_converted_bytes: [u8; 32] = p_minus_1.to_be_bytes();\n assert_eq(p_minus_1_converted_bytes, p_minus_1_bytes);\n\n // checking that incrementing this byte produces 32 BE bytes for (modulus + 1)\n let mut p_plus_1_bytes: [u8; 32] = modulus_be_bytes().as_array();\n assert(p_plus_1_bytes[32 - 1] < 255);\n p_plus_1_bytes[32 - 1] += 1;\n\n let p_plus_1 = Field::from_be_bytes::<32>(p_plus_1_bytes);\n assert_eq(p_plus_1, 1);\n\n // checking that converting p_plus_1 to 32 BE bytes produces the same\n // byte set to 1 as p_plus_1_bytes and otherwise zeroes\n let mut p_plus_1_converted_bytes: [u8; 32] = p_plus_1.to_be_bytes();\n assert_eq(p_plus_1_converted_bytes[32 - 1], 1);\n p_plus_1_converted_bytes[32 - 1] = 0;\n assert_eq(p_plus_1_converted_bytes, [0; 32]);\n\n // checking that Field::from_be_bytes::<32> on the Field modulus produces 0\n assert_eq(modulus_be_bytes().len(), 32);\n let p = Field::from_be_bytes::<32>(modulus_be_bytes().as_array());\n assert_eq(p, 0);\n\n // checking that converting 0 to 32 BE bytes produces 32 zeroes\n let p_bytes: [u8; 32] = 0.to_be_bytes();\n assert_eq(p_bytes, [0; 32]);\n }\n }\n\n #[test]\n fn test_to_from_le_bytes_bn254_edge_cases() {\n if crate::compat::is_bn254() {\n // checking that decrementing this byte produces the expected 32 LE bytes for (modulus - 1)\n let mut p_minus_1_bytes: [u8; 32] = modulus_le_bytes().as_array();\n assert(p_minus_1_bytes[0] > 0);\n p_minus_1_bytes[0] -= 1;\n\n let p_minus_1 = Field::from_le_bytes::<32>(p_minus_1_bytes);\n assert_eq(p_minus_1 + 1, 0);\n\n // checking that converting (modulus - 1) from and then to 32 BE bytes produces the same bytes\n let p_minus_1_converted_bytes: [u8; 32] = p_minus_1.to_le_bytes();\n assert_eq(p_minus_1_converted_bytes, p_minus_1_bytes);\n\n // checking that incrementing this byte produces 32 LE bytes for (modulus + 1)\n let mut p_plus_1_bytes: [u8; 32] = modulus_le_bytes().as_array();\n assert(p_plus_1_bytes[0] < 255);\n p_plus_1_bytes[0] += 1;\n\n let p_plus_1 = Field::from_le_bytes::<32>(p_plus_1_bytes);\n assert_eq(p_plus_1, 1);\n\n // checking that converting p_plus_1 to 32 LE bytes produces the same\n // byte set to 1 as p_plus_1_bytes and otherwise zeroes\n let mut p_plus_1_converted_bytes: [u8; 32] = p_plus_1.to_le_bytes();\n assert_eq(p_plus_1_converted_bytes[0], 1);\n p_plus_1_converted_bytes[0] = 0;\n assert_eq(p_plus_1_converted_bytes, [0; 32]);\n\n // checking that Field::from_le_bytes::<32> on the Field modulus produces 0\n assert_eq(modulus_le_bytes().len(), 32);\n let p = Field::from_le_bytes::<32>(modulus_le_bytes().as_array());\n assert_eq(p, 0);\n\n // checking that converting 0 to 32 LE bytes produces 32 zeroes\n let p_bytes: [u8; 32] = 0.to_le_bytes();\n assert_eq(p_bytes, [0; 32]);\n }\n }\n\n /// Convert a little endian bit array to a field element.\n /// If the provided bit array overflows the field modulus then the Field will silently wrap around.\n fn from_le_bits<let N: u32>(bits: [u1; N]) -> Field {\n static_assert(\n N <= modulus_le_bits().len(),\n "N must be less than or equal to modulus_le_bits().len()",\n );\n let mut v = 1;\n let mut result = 0;\n\n for i in 0..N {\n result += (bits[i] as Field) * v;\n v = v * 2;\n }\n result\n }\n\n /// Convert a big endian bit array to a field element.\n /// If the provided bit array overflows the field modulus then the Field will silently wrap around.\n fn from_be_bits<let N: u32>(bits: [u1; N]) -> Field {\n let mut v = 1;\n let mut result = 0;\n\n for i in 0..N {\n result += (bits[N - 1 - i] as Field) * v;\n v = v * 2;\n }\n result\n }\n\n #[test]\n fn test_to_from_be_bits_bn254_edge_cases() {\n if crate::compat::is_bn254() {\n // checking that decrementing this bit produces the expected 254 BE bits for (modulus - 1)\n let mut p_minus_1_bits: [u1; 254] = modulus_be_bits().as_array();\n assert(p_minus_1_bits[254 - 1] > 0);\n p_minus_1_bits[254 - 1] -= 1;\n\n let p_minus_1 = from_be_bits::<254>(p_minus_1_bits);\n assert_eq(p_minus_1 + 1, 0);\n\n // checking that converting (modulus - 1) from and then to 254 BE bits produces the same bits\n let p_minus_1_converted_bits: [u1; 254] = p_minus_1.to_be_bits();\n assert_eq(p_minus_1_converted_bits, p_minus_1_bits);\n\n // checking that incrementing this bit produces 254 BE bits for (modulus + 4)\n let mut p_plus_4_bits: [u1; 254] = modulus_be_bits().as_array();\n assert(p_plus_4_bits[254 - 3] < 1);\n p_plus_4_bits[254 - 3] += 1;\n\n let p_plus_4 = from_be_bits::<254>(p_plus_4_bits);\n assert_eq(p_plus_4, 4);\n\n // checking that converting p_plus_4 to 254 BE bits produces the same\n // bit set to 1 as p_plus_4_bits and otherwise zeroes\n let mut p_plus_4_converted_bits: [u1; 254] = p_plus_4.to_be_bits();\n assert_eq(p_plus_4_converted_bits[254 - 3], 1);\n p_plus_4_converted_bits[254 - 3] = 0;\n assert_eq(p_plus_4_converted_bits, [0; 254]);\n\n // checking that Field::from_be_bits::<254> on the Field modulus produces 0\n assert_eq(modulus_be_bits().len(), 254);\n let p = from_be_bits::<254>(modulus_be_bits().as_array());\n assert_eq(p, 0);\n\n // checking that converting 0 to 254 BE bytes produces 254 zeroes\n let p_bits: [u1; 254] = 0.to_be_bits();\n assert_eq(p_bits, [0; 254]);\n }\n }\n\n #[test]\n fn test_to_from_le_bits_bn254_edge_cases() {\n if crate::compat::is_bn254() {\n // checking that decrementing this bit produces the expected 254 LE bits for (modulus - 1)\n let mut p_minus_1_bits: [u1; 254] = modulus_le_bits().as_array();\n assert(p_minus_1_bits[0] > 0);\n p_minus_1_bits[0] -= 1;\n\n let p_minus_1 = from_le_bits::<254>(p_minus_1_bits);\n assert_eq(p_minus_1 + 1, 0);\n\n // checking that converting (modulus - 1) from and then to 254 BE bits produces the same bits\n let p_minus_1_converted_bits: [u1; 254] = p_minus_1.to_le_bits();\n assert_eq(p_minus_1_converted_bits, p_minus_1_bits);\n\n // checking that incrementing this bit produces 254 LE bits for (modulus + 4)\n let mut p_plus_4_bits: [u1; 254] = modulus_le_bits().as_array();\n assert(p_plus_4_bits[2] < 1);\n p_plus_4_bits[2] += 1;\n\n let p_plus_4 = from_le_bits::<254>(p_plus_4_bits);\n assert_eq(p_plus_4, 4);\n\n // checking that converting p_plus_4 to 254 LE bits produces the same\n // bit set to 1 as p_plus_4_bits and otherwise zeroes\n let mut p_plus_4_converted_bits: [u1; 254] = p_plus_4.to_le_bits();\n assert_eq(p_plus_4_converted_bits[2], 1);\n p_plus_4_converted_bits[2] = 0;\n assert_eq(p_plus_4_converted_bits, [0; 254]);\n\n // checking that Field::from_le_bits::<254> on the Field modulus produces 0\n assert_eq(modulus_le_bits().len(), 254);\n let p = from_le_bits::<254>(modulus_le_bits().as_array());\n assert_eq(p, 0);\n\n // checking that converting 0 to 254 LE bytes produces 254 zeroes\n let p_bits: [u1; 254] = 0.to_le_bits();\n assert_eq(p_bits, [0; 254]);\n }\n }\n}\n', path: "std/field/mod.nr" }, "19": { source: `// Exposed only for usage in \`std::meta\`
606
+ pub(crate) mod poseidon2;
607
+
608
+ use crate::default::Default;
609
+ use crate::embedded_curve_ops::{
610
+ EmbeddedCurvePoint, EmbeddedCurveScalar, multi_scalar_mul, multi_scalar_mul_array_return,
611
+ };
612
+ use crate::meta::derive_via;
613
+
614
+ #[foreign(sha256_compression)]
615
+ // docs:start:sha256_compression
616
+ pub fn sha256_compression(input: [u32; 16], state: [u32; 8]) -> [u32; 8] {}
617
+ // docs:end:sha256_compression
618
+
619
+ #[foreign(keccakf1600)]
620
+ // docs:start:keccakf1600
621
+ pub fn keccakf1600(input: [u64; 25]) -> [u64; 25] {}
622
+ // docs:end:keccakf1600
623
+
624
+ pub mod keccak {
625
+ #[deprecated("This function has been moved to std::hash::keccakf1600")]
626
+ pub fn keccakf1600(input: [u64; 25]) -> [u64; 25] {
627
+ super::keccakf1600(input)
628
+ }
629
+ }
630
+
631
+ #[foreign(blake2s)]
632
+ // docs:start:blake2s
633
+ pub fn blake2s<let N: u32>(input: [u8; N]) -> [u8; 32]
634
+ // docs:end:blake2s
635
+ {}
636
+
637
+ // docs:start:blake3
638
+ pub fn blake3<let N: u32>(input: [u8; N]) -> [u8; 32]
639
+ // docs:end:blake3
640
+ {
641
+ if crate::runtime::is_unconstrained() {
642
+ // Temporary measure while Barretenberg is main proving system.
643
+ // Please open an issue if you're working on another proving system and running into problems due to this.
644
+ crate::static_assert(
645
+ N <= 1024,
646
+ "Barretenberg cannot prove blake3 hashes with inputs larger than 1024 bytes",
647
+ );
648
+ }
649
+ __blake3(input)
650
+ }
651
+
652
+ #[foreign(blake3)]
653
+ fn __blake3<let N: u32>(input: [u8; N]) -> [u8; 32] {}
654
+
655
+ // docs:start:pedersen_commitment
656
+ pub fn pedersen_commitment<let N: u32>(input: [Field; N]) -> EmbeddedCurvePoint {
657
+ // docs:end:pedersen_commitment
658
+ pedersen_commitment_with_separator(input, 0)
659
+ }
660
+
661
+ #[inline_always]
662
+ pub fn pedersen_commitment_with_separator<let N: u32>(
663
+ input: [Field; N],
664
+ separator: u32,
665
+ ) -> EmbeddedCurvePoint {
666
+ let mut points = [EmbeddedCurveScalar { lo: 0, hi: 0 }; N];
667
+ for i in 0..N {
668
+ // we use the unsafe version because the multi_scalar_mul will constrain the scalars.
669
+ points[i] = from_field_unsafe(input[i]);
670
+ }
671
+ let generators = derive_generators("DEFAULT_DOMAIN_SEPARATOR".as_bytes(), separator);
672
+ multi_scalar_mul(generators, points)
673
+ }
674
+
675
+ // docs:start:pedersen_hash
676
+ pub fn pedersen_hash<let N: u32>(input: [Field; N]) -> Field
677
+ // docs:end:pedersen_hash
678
+ {
679
+ pedersen_hash_with_separator(input, 0)
680
+ }
681
+
682
+ #[no_predicates]
683
+ pub fn pedersen_hash_with_separator<let N: u32>(input: [Field; N], separator: u32) -> Field {
684
+ let mut scalars: [EmbeddedCurveScalar; N + 1] = [EmbeddedCurveScalar { lo: 0, hi: 0 }; N + 1];
685
+ let mut generators: [EmbeddedCurvePoint; N + 1] =
686
+ [EmbeddedCurvePoint::point_at_infinity(); N + 1];
687
+ let domain_generators: [EmbeddedCurvePoint; N] =
688
+ derive_generators("DEFAULT_DOMAIN_SEPARATOR".as_bytes(), separator);
689
+
690
+ for i in 0..N {
691
+ scalars[i] = from_field_unsafe(input[i]);
692
+ generators[i] = domain_generators[i];
693
+ }
694
+ scalars[N] = EmbeddedCurveScalar { lo: N as Field, hi: 0 as Field };
695
+
696
+ let length_generator: [EmbeddedCurvePoint; 1] =
697
+ derive_generators("pedersen_hash_length".as_bytes(), 0);
698
+ generators[N] = length_generator[0];
699
+ multi_scalar_mul_array_return(generators, scalars, true)[0].x
700
+ }
701
+
702
+ #[field(bn254)]
703
+ #[inline_always]
704
+ pub fn derive_generators<let N: u32, let M: u32>(
705
+ domain_separator_bytes: [u8; M],
706
+ starting_index: u32,
707
+ ) -> [EmbeddedCurvePoint; N] {
708
+ crate::assert_constant(domain_separator_bytes);
709
+ // TODO(https://github.com/noir-lang/noir/issues/5672): Add back assert_constant on starting_index
710
+ __derive_generators(domain_separator_bytes, starting_index)
711
+ }
712
+
713
+ #[builtin(derive_pedersen_generators)]
714
+ #[field(bn254)]
715
+ fn __derive_generators<let N: u32, let M: u32>(
716
+ domain_separator_bytes: [u8; M],
717
+ starting_index: u32,
718
+ ) -> [EmbeddedCurvePoint; N] {}
719
+
720
+ #[field(bn254)]
721
+ // Decompose the input 'bn254 scalar' into two 128 bits limbs.
722
+ // It is called 'unsafe' because it does not assert the limbs are 128 bits
723
+ // Assuming the limbs are 128 bits:
724
+ // Assert the decomposition does not overflow the field size.
725
+ fn from_field_unsafe(scalar: Field) -> EmbeddedCurveScalar {
726
+ // Safety: xlo and xhi decomposition is checked below
727
+ let (xlo, xhi) = unsafe { crate::field::bn254::decompose_hint(scalar) };
728
+ // Check that the decomposition is correct
729
+ assert_eq(scalar, xlo + crate::field::bn254::TWO_POW_128 * xhi);
730
+ // Check that the decomposition does not overflow the field size
731
+ let (a, b) = if xhi == crate::field::bn254::PHI {
732
+ (xlo, crate::field::bn254::PLO)
733
+ } else {
734
+ (xhi, crate::field::bn254::PHI)
735
+ };
736
+ crate::field::bn254::assert_lt(a, b);
737
+
738
+ EmbeddedCurveScalar { lo: xlo, hi: xhi }
739
+ }
740
+
741
+ pub fn poseidon2_permutation<let N: u32>(input: [Field; N], state_len: u32) -> [Field; N] {
742
+ assert_eq(input.len(), state_len);
743
+ poseidon2_permutation_internal(input)
744
+ }
745
+
746
+ #[foreign(poseidon2_permutation)]
747
+ fn poseidon2_permutation_internal<let N: u32>(input: [Field; N]) -> [Field; N] {}
748
+
749
+ // Generic hashing support.
750
+ // Partially ported and impacted by rust.
751
+
752
+ // Hash trait shall be implemented per type.
753
+ #[derive_via(derive_hash)]
754
+ pub trait Hash {
755
+ fn hash<H>(self, state: &mut H)
756
+ where
757
+ H: Hasher;
758
+ }
759
+
760
+ // docs:start:derive_hash
761
+ comptime fn derive_hash(s: TypeDefinition) -> Quoted {
762
+ let name = quote { $crate::hash::Hash };
763
+ let signature = quote { fn hash<H>(_self: Self, _state: &mut H) where H: $crate::hash::Hasher };
764
+ let for_each_field = |name| quote { _self.$name.hash(_state); };
765
+ crate::meta::make_trait_impl(
766
+ s,
767
+ name,
768
+ signature,
769
+ for_each_field,
770
+ quote {},
771
+ |fields| fields,
772
+ )
773
+ }
774
+ // docs:end:derive_hash
775
+
776
+ // Hasher trait shall be implemented by algorithms to provide hash-agnostic means.
777
+ // TODO: consider making the types generic here ([u8], [Field], etc.)
778
+ pub trait Hasher {
779
+ fn finish(self) -> Field;
780
+
781
+ fn write(&mut self, input: Field);
782
+ }
783
+
784
+ // BuildHasher is a factory trait, responsible for production of specific Hasher.
785
+ pub trait BuildHasher {
786
+ type H: Hasher;
787
+
788
+ fn build_hasher(self) -> H;
789
+ }
790
+
791
+ pub struct BuildHasherDefault<H>;
792
+
793
+ impl<H> BuildHasher for BuildHasherDefault<H>
794
+ where
795
+ H: Hasher + Default,
796
+ {
797
+ type H = H;
798
+
799
+ fn build_hasher(_self: Self) -> H {
800
+ H::default()
801
+ }
802
+ }
803
+
804
+ impl<H> Default for BuildHasherDefault<H>
805
+ where
806
+ H: Hasher + Default,
807
+ {
808
+ fn default() -> Self {
809
+ BuildHasherDefault {}
810
+ }
811
+ }
812
+
813
+ impl Hash for Field {
814
+ fn hash<H>(self, state: &mut H)
815
+ where
816
+ H: Hasher,
817
+ {
818
+ H::write(state, self);
819
+ }
820
+ }
821
+
822
+ impl Hash for u1 {
823
+ fn hash<H>(self, state: &mut H)
824
+ where
825
+ H: Hasher,
826
+ {
827
+ H::write(state, self as Field);
828
+ }
829
+ }
830
+
831
+ impl Hash for u8 {
832
+ fn hash<H>(self, state: &mut H)
833
+ where
834
+ H: Hasher,
835
+ {
836
+ H::write(state, self as Field);
837
+ }
838
+ }
839
+
840
+ impl Hash for u16 {
841
+ fn hash<H>(self, state: &mut H)
842
+ where
843
+ H: Hasher,
844
+ {
845
+ H::write(state, self as Field);
846
+ }
847
+ }
848
+
849
+ impl Hash for u32 {
850
+ fn hash<H>(self, state: &mut H)
851
+ where
852
+ H: Hasher,
853
+ {
854
+ H::write(state, self as Field);
855
+ }
856
+ }
857
+
858
+ impl Hash for u64 {
859
+ fn hash<H>(self, state: &mut H)
860
+ where
861
+ H: Hasher,
862
+ {
863
+ H::write(state, self as Field);
864
+ }
865
+ }
866
+
867
+ impl Hash for u128 {
868
+ fn hash<H>(self, state: &mut H)
869
+ where
870
+ H: Hasher,
871
+ {
872
+ H::write(state, self as Field);
873
+ }
874
+ }
875
+
876
+ impl Hash for i8 {
877
+ fn hash<H>(self, state: &mut H)
878
+ where
879
+ H: Hasher,
880
+ {
881
+ H::write(state, self as u8 as Field);
882
+ }
883
+ }
884
+
885
+ impl Hash for i16 {
886
+ fn hash<H>(self, state: &mut H)
887
+ where
888
+ H: Hasher,
889
+ {
890
+ H::write(state, self as u16 as Field);
891
+ }
892
+ }
893
+
894
+ impl Hash for i32 {
895
+ fn hash<H>(self, state: &mut H)
896
+ where
897
+ H: Hasher,
898
+ {
899
+ H::write(state, self as u32 as Field);
900
+ }
901
+ }
902
+
903
+ impl Hash for i64 {
904
+ fn hash<H>(self, state: &mut H)
905
+ where
906
+ H: Hasher,
907
+ {
908
+ H::write(state, self as u64 as Field);
909
+ }
910
+ }
911
+
912
+ impl Hash for bool {
913
+ fn hash<H>(self, state: &mut H)
914
+ where
915
+ H: Hasher,
916
+ {
917
+ H::write(state, self as Field);
918
+ }
919
+ }
920
+
921
+ impl Hash for () {
922
+ fn hash<H>(_self: Self, _state: &mut H)
923
+ where
924
+ H: Hasher,
925
+ {}
926
+ }
927
+
928
+ impl<T, let N: u32> Hash for [T; N]
929
+ where
930
+ T: Hash,
931
+ {
932
+ fn hash<H>(self, state: &mut H)
933
+ where
934
+ H: Hasher,
935
+ {
936
+ for elem in self {
937
+ elem.hash(state);
938
+ }
939
+ }
940
+ }
941
+
942
+ impl<T> Hash for [T]
943
+ where
944
+ T: Hash,
945
+ {
946
+ fn hash<H>(self, state: &mut H)
947
+ where
948
+ H: Hasher,
949
+ {
950
+ self.len().hash(state);
951
+ for elem in self {
952
+ elem.hash(state);
953
+ }
954
+ }
955
+ }
956
+
957
+ impl<A, B> Hash for (A, B)
958
+ where
959
+ A: Hash,
960
+ B: Hash,
961
+ {
962
+ fn hash<H>(self, state: &mut H)
963
+ where
964
+ H: Hasher,
965
+ {
966
+ self.0.hash(state);
967
+ self.1.hash(state);
968
+ }
969
+ }
970
+
971
+ impl<A, B, C> Hash for (A, B, C)
972
+ where
973
+ A: Hash,
974
+ B: Hash,
975
+ C: Hash,
976
+ {
977
+ fn hash<H>(self, state: &mut H)
978
+ where
979
+ H: Hasher,
980
+ {
981
+ self.0.hash(state);
982
+ self.1.hash(state);
983
+ self.2.hash(state);
984
+ }
985
+ }
986
+
987
+ impl<A, B, C, D> Hash for (A, B, C, D)
988
+ where
989
+ A: Hash,
990
+ B: Hash,
991
+ C: Hash,
992
+ D: Hash,
993
+ {
994
+ fn hash<H>(self, state: &mut H)
995
+ where
996
+ H: Hasher,
997
+ {
998
+ self.0.hash(state);
999
+ self.1.hash(state);
1000
+ self.2.hash(state);
1001
+ self.3.hash(state);
1002
+ }
1003
+ }
1004
+
1005
+ impl<A, B, C, D, E> Hash for (A, B, C, D, E)
1006
+ where
1007
+ A: Hash,
1008
+ B: Hash,
1009
+ C: Hash,
1010
+ D: Hash,
1011
+ E: Hash,
1012
+ {
1013
+ fn hash<H>(self, state: &mut H)
1014
+ where
1015
+ H: Hasher,
1016
+ {
1017
+ self.0.hash(state);
1018
+ self.1.hash(state);
1019
+ self.2.hash(state);
1020
+ self.3.hash(state);
1021
+ self.4.hash(state);
1022
+ }
1023
+ }
1024
+
1025
+ // Some test vectors for Pedersen hash and Pedersen Commitment.
1026
+ // They have been generated using the same functions so the tests are for now useless
1027
+ // but they will be useful when we switch to Noir implementation.
1028
+ #[test]
1029
+ fn assert_pedersen() {
1030
+ assert_eq(
1031
+ pedersen_hash_with_separator([1], 1),
1032
+ 0x1b3f4b1a83092a13d8d1a59f7acb62aba15e7002f4440f2275edb99ebbc2305f,
1033
+ );
1034
+ assert_eq(
1035
+ pedersen_commitment_with_separator([1], 1),
1036
+ EmbeddedCurvePoint {
1037
+ x: 0x054aa86a73cb8a34525e5bbed6e43ba1198e860f5f3950268f71df4591bde402,
1038
+ y: 0x209dcfbf2cfb57f9f6046f44d71ac6faf87254afc7407c04eb621a6287cac126,
1039
+ is_infinite: false,
1040
+ },
1041
+ );
1042
+
1043
+ assert_eq(
1044
+ pedersen_hash_with_separator([1, 2], 2),
1045
+ 0x26691c129448e9ace0c66d11f0a16d9014a9e8498ee78f4d69f0083168188255,
1046
+ );
1047
+ assert_eq(
1048
+ pedersen_commitment_with_separator([1, 2], 2),
1049
+ EmbeddedCurvePoint {
1050
+ x: 0x2e2b3b191e49541fe468ec6877721d445dcaffe41728df0a0eafeb15e87b0753,
1051
+ y: 0x2ff4482400ad3a6228be17a2af33e2bcdf41be04795f9782bd96efe7e24f8778,
1052
+ is_infinite: false,
1053
+ },
1054
+ );
1055
+ assert_eq(
1056
+ pedersen_hash_with_separator([1, 2, 3], 3),
1057
+ 0x0bc694b7a1f8d10d2d8987d07433f26bd616a2d351bc79a3c540d85b6206dbe4,
1058
+ );
1059
+ assert_eq(
1060
+ pedersen_commitment_with_separator([1, 2, 3], 3),
1061
+ EmbeddedCurvePoint {
1062
+ x: 0x1fee4e8cf8d2f527caa2684236b07c4b1bad7342c01b0f75e9a877a71827dc85,
1063
+ y: 0x2f9fedb9a090697ab69bf04c8bc15f7385b3e4b68c849c1536e5ae15ff138fd1,
1064
+ is_infinite: false,
1065
+ },
1066
+ );
1067
+ assert_eq(
1068
+ pedersen_hash_with_separator([1, 2, 3, 4], 4),
1069
+ 0xdae10fb32a8408521803905981a2b300d6a35e40e798743e9322b223a5eddc,
1070
+ );
1071
+ assert_eq(
1072
+ pedersen_commitment_with_separator([1, 2, 3, 4], 4),
1073
+ EmbeddedCurvePoint {
1074
+ x: 0x07ae3e202811e1fca39c2d81eabe6f79183978e6f12be0d3b8eda095b79bdbc9,
1075
+ y: 0x0afc6f892593db6fbba60f2da558517e279e0ae04f95758587760ba193145014,
1076
+ is_infinite: false,
1077
+ },
1078
+ );
1079
+ assert_eq(
1080
+ pedersen_hash_with_separator([1, 2, 3, 4, 5], 5),
1081
+ 0xfc375b062c4f4f0150f7100dfb8d9b72a6d28582dd9512390b0497cdad9c22,
1082
+ );
1083
+ assert_eq(
1084
+ pedersen_commitment_with_separator([1, 2, 3, 4, 5], 5),
1085
+ EmbeddedCurvePoint {
1086
+ x: 0x1754b12bd475a6984a1094b5109eeca9838f4f81ac89c5f0a41dbce53189bb29,
1087
+ y: 0x2da030e3cfcdc7ddad80eaf2599df6692cae0717d4e9f7bfbee8d073d5d278f7,
1088
+ is_infinite: false,
1089
+ },
1090
+ );
1091
+ assert_eq(
1092
+ pedersen_hash_with_separator([1, 2, 3, 4, 5, 6], 6),
1093
+ 0x1696ed13dc2730062a98ac9d8f9de0661bb98829c7582f699d0273b18c86a572,
1094
+ );
1095
+ assert_eq(
1096
+ pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6], 6),
1097
+ EmbeddedCurvePoint {
1098
+ x: 0x190f6c0e97ad83e1e28da22a98aae156da083c5a4100e929b77e750d3106a697,
1099
+ y: 0x1f4b60f34ef91221a0b49756fa0705da93311a61af73d37a0c458877706616fb,
1100
+ is_infinite: false,
1101
+ },
1102
+ );
1103
+ assert_eq(
1104
+ pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7], 7),
1105
+ 0x128c0ff144fc66b6cb60eeac8a38e23da52992fc427b92397a7dffd71c45ede3,
1106
+ );
1107
+ assert_eq(
1108
+ pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7], 7),
1109
+ EmbeddedCurvePoint {
1110
+ x: 0x015441e9d29491b06563fac16fc76abf7a9534c715421d0de85d20dbe2965939,
1111
+ y: 0x1d2575b0276f4e9087e6e07c2cb75aa1baafad127af4be5918ef8a2ef2fea8fc,
1112
+ is_infinite: false,
1113
+ },
1114
+ );
1115
+ assert_eq(
1116
+ pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8], 8),
1117
+ 0x2f960e117482044dfc99d12fece2ef6862fba9242be4846c7c9a3e854325a55c,
1118
+ );
1119
+ assert_eq(
1120
+ pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8], 8),
1121
+ EmbeddedCurvePoint {
1122
+ x: 0x1657737676968887fceb6dd516382ea13b3a2c557f509811cd86d5d1199bc443,
1123
+ y: 0x1f39f0cb569040105fa1e2f156521e8b8e08261e635a2b210bdc94e8d6d65f77,
1124
+ is_infinite: false,
1125
+ },
1126
+ );
1127
+ assert_eq(
1128
+ pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9], 9),
1129
+ 0x0c96db0790602dcb166cc4699e2d306c479a76926b81c2cb2aaa92d249ec7be7,
1130
+ );
1131
+ assert_eq(
1132
+ pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9], 9),
1133
+ EmbeddedCurvePoint {
1134
+ x: 0x0a3ceae42d14914a432aa60ec7fded4af7dad7dd4acdbf2908452675ec67e06d,
1135
+ y: 0xfc19761eaaf621ad4aec9a8b2e84a4eceffdba78f60f8b9391b0bd9345a2f2,
1136
+ is_infinite: false,
1137
+ },
1138
+ );
1139
+ assert_eq(
1140
+ pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10),
1141
+ 0x2cd37505871bc460a62ea1e63c7fe51149df5d0801302cf1cbc48beb8dff7e94,
1142
+ );
1143
+ assert_eq(
1144
+ pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10),
1145
+ EmbeddedCurvePoint {
1146
+ x: 0x2fb3f8b3d41ddde007c8c3c62550f9a9380ee546fcc639ffbb3fd30c8d8de30c,
1147
+ y: 0x300783be23c446b11a4c0fabf6c91af148937cea15fcf5fb054abf7f752ee245,
1148
+ is_infinite: false,
1149
+ },
1150
+ );
1151
+ }
1152
+ `, path: "std/hash/mod.nr" }, "51": { source: "// SPDX-License-Identifier: LGPL-3.0-only\n//\n// This file is provided WITHOUT ANY WARRANTY;\n// without even the implied warranty of MERCHANTABILITY\n// or FITNESS FOR A PARTICULAR PURPOSE.\n\nuse lib::configs::default::threshold::{\n L, N, USER_DATA_ENCRYPTION_BIT_CT, USER_DATA_ENCRYPTION_BIT_E1, USER_DATA_ENCRYPTION_BIT_P1,\n USER_DATA_ENCRYPTION_BIT_P2, USER_DATA_ENCRYPTION_BIT_PK, USER_DATA_ENCRYPTION_BIT_U,\n USER_DATA_ENCRYPTION_CT1_CONFIGS,\n};\nuse lib::core::threshold::user_data_encryption_ct1::UserDataEncryptionCt1;\nuse lib::math::polynomial::Polynomial;\n\nfn main(\n pk1is: [Polynomial<N>; L],\n ct1is: [Polynomial<N>; L],\n u: Polynomial<N>,\n e1: Polynomial<N>,\n p1is: [Polynomial<(2 * N) - 1>; L],\n p2is: [Polynomial<N - 1>; L],\n) -> pub (Field, Field, Field) {\n let circuit: UserDataEncryptionCt1<N, L, USER_DATA_ENCRYPTION_BIT_PK, USER_DATA_ENCRYPTION_BIT_CT, USER_DATA_ENCRYPTION_BIT_U, USER_DATA_ENCRYPTION_BIT_E1, USER_DATA_ENCRYPTION_BIT_P1, USER_DATA_ENCRYPTION_BIT_P2> = UserDataEncryptionCt1::new(\n USER_DATA_ENCRYPTION_CT1_CONFIGS,\n pk1is,\n ct1is,\n u,\n e1,\n p1is,\n p2is,\n );\n\n circuit.execute()\n}\n", path: "interfold/circuits/bin/threshold/user_data_encryption_ct1/src/main.nr" }, "86": { source: '// SPDX-License-Identifier: LGPL-3.0-only\n//\n// This file is provided WITHOUT ANY WARRANTY;\n// without even the implied warranty of MERCHANTABILITY\n// or FITNESS FOR A PARTICULAR PURPOSE.\n\n//! User-data encryption - ct1 leg (P3).\n//!\n//! See `UserDataEncryptionCt1` for the circuit contract.\n\nuse crate::math::commitments::compute_multiple_polynomial_commitment;\nuse crate::math::commitments::compute_single_polynomial_commitment;\nuse crate::math::commitments::compute_user_data_encryption_ct1_challenge;\nuse crate::math::commitments::DS_CIPHERTEXT;\nuse crate::math::commitments::DS_PK_AGGREGATION;\nuse crate::math::commitments::DS_USER_DATA_ENCRYPTION_COMMITMENT;\nuse crate::math::helpers::flatten;\nuse crate::math::polynomial::Polynomial;\n\n/// Parameters for user-data encryption ct1 (P3).\npub struct Configs<let N: u32, let L: u32> {\n pub qis: [Field; L],\n pub e1_bound: Field,\n pub u_bound: Field,\n pub p1_bounds: [Field; L],\n pub p2_bounds: [Field; L],\n}\nimpl<let N: u32, let L: u32> Configs<N, L> {\n pub fn new(\n qis: [Field; L],\n e1_bound: Field,\n u_bound: Field,\n p1_bounds: [Field; L],\n p2_bounds: [Field; L],\n ) -> Self {\n Configs { qis, e1_bound, u_bound, p1_bounds, p2_bounds }\n }\n}\n\n/// User-data encryption ct1 (P3).\n///\n/// **Role:** Second ciphertext leg; `u` must match the ct0 `u_commitment`.\n///\n/// **Produces:** `(pk1_commitment, ct1_commitment, u_commitment)` public outputs.\npub struct UserDataEncryptionCt1<let N: u32, let L: u32, let BIT_PK: u32, let BIT_CT: u32, let BIT_U: u32, let BIT_E1: u32, let BIT_P1: u32, let BIT_P2: u32> {\n configs: Configs<N, L>,\n pk1is: [Polynomial<N>; L],\n ct1is: [Polynomial<N>; L],\n /// Re-witnessed privately; checked against `u_commitment` from ct0 (same P3 flow).\n u: Polynomial<N>,\n e1: Polynomial<N>,\n p1is: [Polynomial<(2 * N) - 1>; L],\n p2is: [Polynomial<N - 1>; L],\n}\n\nimpl<let N: u32, let L: u32, let BIT_PK: u32, let BIT_CT: u32, let BIT_U: u32, let BIT_E1: u32, let BIT_P1: u32, let BIT_P2: u32> UserDataEncryptionCt1<N, L, BIT_PK, BIT_CT, BIT_U, BIT_E1, BIT_P1, BIT_P2> {\n\n pub fn new(\n configs: Configs<N, L>,\n pk1is: [Polynomial<N>; L],\n ct1is: [Polynomial<N>; L],\n u: Polynomial<N>,\n e1: Polynomial<N>,\n p1is: [Polynomial<2 * N - 1>; L],\n p2is: [Polynomial<N - 1>; L],\n ) -> Self {\n UserDataEncryptionCt1 { configs, pk1is, ct1is, u, e1, p1is, p2is }\n }\n\n fn check_range_bounds(self) {\n self.e1.range_check_2bounds::<BIT_E1>(self.configs.e1_bound, self.configs.e1_bound);\n\n for i in 0..L {\n self.p1is[i].range_check_2bounds::<BIT_P1>(\n self.configs.p1_bounds[i],\n self.configs.p1_bounds[i],\n );\n self.p2is[i].range_check_2bounds::<BIT_P2>(\n self.configs.p2_bounds[i],\n self.configs.p2_bounds[i],\n );\n }\n }\n\n fn generate_commitments(self) -> (Field, Field, Field) {\n let pk1_commitment =\n compute_multiple_polynomial_commitment::<N, L, BIT_PK>(self.pk1is, DS_PK_AGGREGATION);\n let ct1_commitment =\n compute_multiple_polynomial_commitment::<N, L, BIT_CT>(self.ct1is, DS_CIPHERTEXT);\n let u_commitment = compute_single_polynomial_commitment::<N, BIT_U>(\n self.u,\n DS_USER_DATA_ENCRYPTION_COMMITMENT,\n );\n\n (pk1_commitment, ct1_commitment, u_commitment)\n }\n\n fn generate_challenge(\n self,\n pk1_commitment: Field,\n ct1_commitment: Field,\n u_commitment: Field,\n ) -> Vec<Field> {\n let mut payload = Vec::new();\n\n payload.push(pk1_commitment);\n payload.push(ct1_commitment);\n payload.push(u_commitment);\n\n payload = flatten::<_, _, BIT_E1>(payload, [self.e1]);\n payload = flatten::<_, _, BIT_P1>(payload, self.p1is);\n payload = flatten::<_, _, BIT_P2>(payload, self.p2is);\n\n compute_user_data_encryption_ct1_challenge::<L>(payload)\n }\n\n fn verify_evaluations(self, gammas: Vec<Field>) -> bool {\n let gamma = gammas.get(0);\n let cyclo_at_gamma = gamma.pow_32(N as Field) + 1;\n let u_at_gamma = self.u.eval(gamma);\n let e1_at_gamma = self.e1.eval(gamma);\n\n let mut sum = (0, 0);\n for i in 0..L {\n let pk1is_at_gamma = self.pk1is[i].eval(gamma);\n let p1is_at_gamma = self.p1is[i].eval(gamma);\n let p2is_at_gamma = self.p2is[i].eval(gamma);\n\n let mut ct1_rhs = pk1is_at_gamma * u_at_gamma + e1_at_gamma;\n ct1_rhs += p1is_at_gamma * self.configs.qis[i];\n ct1_rhs += p2is_at_gamma * cyclo_at_gamma;\n\n let ct1_lhs = self.ct1is[i].eval(gamma);\n let gamma_i = gammas.get(i + L);\n\n sum = (sum.0 + ct1_lhs * gamma_i, sum.1 + ct1_rhs * gamma_i);\n }\n\n sum.0 == sum.1\n }\n\n /// Returns `(pk1_commitment, ct1_commitment, u_commitment)`.\n pub fn execute(self) -> (Field, Field, Field) {\n // Step 1: Witness bounds.\n self.check_range_bounds();\n\n // Step 2: Commitments for the FS transcript.\n let (pk1_commitment, ct1_commitment, u_commitment) = self.generate_commitments();\n\n // Step 3: Fiat-Shamir challenge and evaluation check of ct1 equations.\n let gammas = self.generate_challenge(pk1_commitment, ct1_commitment, u_commitment);\n\n assert(self.verify_evaluations(gammas), "ct1 encryption check failed");\n\n (pk1_commitment, ct1_commitment, u_commitment)\n }\n}\n', path: "interfold/circuits/lib/src/core/threshold/user_data_encryption_ct1.nr" }, "88": { source: '// SPDX-License-Identifier: LGPL-3.0-only\n//\n// This file is provided WITHOUT ANY WARRANTY;\n// without even the implied warranty of MERCHANTABILITY\n// or FITNESS FOR A PARTICULAR PURPOSE.\n\nuse crate::math::helpers::{compute_safe, flatten};\nuse crate::math::polynomial::Polynomial;\n\n/// DOMAIN SEPARATORS\n\n// Domain separator - "PK"\npub global DS_PK: [u8; 64] = [\n 0x50, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "PK_GENERATION"\npub global DS_PK_GENERATION: [u8; 64] = [\n 0x50, 0x4b, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "SHARE_COMPUTATION"\npub global DS_SHARE_COMPUTATION: [u8; 64] = [\n 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x55, 0x54, 0x41, 0x54, 0x49, 0x4f,\n 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "SHARE_ENCRYPTION"\npub global DS_SHARE_ENCRYPTION: [u8; 64] = [\n 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "PK_AGGREGATION"\npub global DS_PK_AGGREGATION: [u8; 64] = [\n 0x50, 0x4b, 0x5f, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "CIPHERTEXT"\npub global DS_CIPHERTEXT: [u8; 64] = [\n 0x43, 0x49, 0x50, 0x48, 0x45, 0x52, 0x54, 0x45, 0x58, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "AGGREGATED_SHARES"\npub global DS_AGGREGATED_SHARES: [u8; 64] = [\n 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45,\n 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "VK_HASH"\npub global DS_VK_HASH: [u8; 64] = [\n 0x56, 0x4b, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "RECURSIVE_AGGREGATION"\npub global DS_RECURSIVE_AGGREGATION: [u8; 64] = [\n 0x52, 0x45, 0x43, 0x55, 0x52, 0x53, 0x49, 0x56, 0x45, 0x5f, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47,\n 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "CLG_PK_GENERATION"\npub global DS_CLG_PK_GENERATION: [u8; 64] = [\n 0x43, 0x4c, 0x47, 0x5f, 0x50, 0x4b, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f,\n 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "CLG_SHARE_ENCRYPTION"\npub global DS_CLG_SHARE_ENCRYPTION: [u8; 64] = [\n 0x43, 0x4c, 0x47, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50,\n 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "CLG_USER_DATA_ENCRYPTION"\npub global DS_CLG_USER_DATA_ENCRYPTION: [u8; 64] = [\n 0x43, 0x4c, 0x47, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x4e,\n 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "CLG_SHARE_DECRYPTION"\npub global DS_CLG_SHARE_DECRYPTION: [u8; 64] = [\n 0x43, 0x4c, 0x47, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x44, 0x45, 0x43, 0x52, 0x59, 0x50,\n 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n\n// Domain separator - "THRESHOLD_DECRYPTION_SHARE"\npub global DS_THRESHOLD_DECRYPTION_SHARE: [u8; 64] = [\n 0x54, 0x48, 0x52, 0x45, 0x53, 0x48, 0x4f, 0x4c, 0x44, 0x5f, 0x44, 0x45, 0x43, 0x52, 0x59, 0x50,\n 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n\n// Domain separator - "USER_DATA_ENCRYPTION_COMMITMENT"\npub global DS_USER_DATA_ENCRYPTION_COMMITMENT: [u8; 64] = [\n 0x55, 0x53, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50,\n 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x4d, 0x45, 0x4e, 0x54, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n\n/// WRAPPERS\n\npub fn compute_commitment(inputs: Vec<Field>, domain_separator: [u8; 64]) -> Field {\n compute_safe(domain_separator, inputs, [0x80000000 | inputs.len(), 1]).get(0)\n}\n\npub fn compute_single_polynomial_commitment<let N: u32, let BIT: u32>(\n polynomial: Polynomial<N>,\n domain_separator: [u8; 64],\n) -> Field {\n let mut payload = single_polynomial_payload::<N, BIT>(Vec::new(), polynomial);\n compute_commitment(payload, domain_separator)\n}\n\npub fn compute_multiple_polynomial_commitment<let N: u32, let L: u32, let BIT: u32>(\n polynomials: [Polynomial<N>; L],\n domain_separator: [u8; 64],\n) -> Field {\n let mut payload = multiple_polynomial_payload::<N, L, BIT>(Vec::new(), polynomials);\n compute_commitment(payload, domain_separator)\n}\n\npub fn compute_challenge<let L: u32>(inputs: Vec<Field>, domain_separator: [u8; 64]) -> Vec<Field> {\n compute_safe(domain_separator, inputs, [0x80000000 | inputs.len(), 2 * L])\n}\n\npub fn single_polynomial_payload<let N: u32, let BIT_POLY: u32>(\n payload: Vec<Field>,\n input: Polynomial<N>,\n) -> Vec<Field> {\n flatten::<_, _, BIT_POLY>(payload, [input])\n}\n\npub fn multiple_polynomial_payload<let N: u32, let L: u32, let BIT_POLY: u32>(\n payload: Vec<Field>,\n inputs: [Polynomial<N>; L],\n) -> Vec<Field> {\n flatten::<_, _, BIT_POLY>(payload, inputs)\n}\n\n/// COMMITMENTS\n\npub fn compute_dkg_pk_commitment<let N: u32, let L: u32, let BIT_PK: u32>(\n pk0: [Polynomial<N>; L],\n pk1: [Polynomial<N>; L],\n) -> Field {\n let mut payload = multiple_polynomial_payload::<N, L, BIT_PK>(Vec::new(), pk0);\n payload = multiple_polynomial_payload::<N, L, BIT_PK>(payload, pk1);\n\n compute_commitment(payload, DS_PK)\n}\n\npub fn compute_threshold_pk_commitment<let N: u32, let L: u32, let BIT_PK: u32>(\n pk0: [Polynomial<N>; L],\n) -> Field {\n let payload = multiple_polynomial_payload::<N, L, BIT_PK>(Vec::new(), pk0);\n compute_commitment(payload, DS_PK_GENERATION)\n}\n\npub fn compute_share_computation_sk_commitment<let N: u32, let BIT_SK: u32>(\n sk: Polynomial<N>,\n) -> Field {\n let mut payload = single_polynomial_payload::<N, BIT_SK>(Vec::new(), sk);\n compute_commitment(payload, DS_SHARE_COMPUTATION)\n}\n\npub fn compute_share_computation_e_sm_commitment<let N: u32, let L: u32, let BIT_E_SM: u32>(\n e_sm: [Polynomial<N>; L],\n) -> Field {\n let mut payload = multiple_polynomial_payload::<N, L, BIT_E_SM>(Vec::new(), e_sm);\n compute_commitment(payload, DS_SHARE_COMPUTATION)\n}\n\npub fn compute_share_encryption_commitment_from_message<let N: u32, let BIT_MSG: u32>(\n message: Polynomial<N>,\n) -> Field {\n let mut payload = single_polynomial_payload::<N, BIT_MSG>(Vec::new(), message);\n compute_commitment(payload, DS_SHARE_ENCRYPTION)\n}\n\npub fn compute_aggregated_shares_commitment<let N: u32, let L: u32, let BIT_MSG: u32>(\n agg_shares: [Polynomial<N>; L],\n) -> Field {\n let mut payload = multiple_polynomial_payload::<N, L, BIT_MSG>(Vec::new(), agg_shares);\n compute_commitment(payload, DS_AGGREGATED_SHARES)\n}\n\n/// Commitment to a threshold decryption share: all CRT limbs, first `K` coefficients per limb\n/// (same layout as `Polynomial<K>` in decrypted_shares_aggregation).\n///\n/// `NATIVE_BIT_WIDTH` must cover native coefficients in \\([0, q_l)\\) per limb (not centered `d` bounds).\npub fn compute_threshold_decryption_share_commitment<let K: u32, let L: u32, let NATIVE_BIT_WIDTH: u32>(\n d_share_limbs: [Polynomial<K>; L],\n) -> Field {\n let mut payload =\n multiple_polynomial_payload::<K, L, NATIVE_BIT_WIDTH>(Vec::new(), d_share_limbs);\n compute_commitment(payload, DS_THRESHOLD_DECRYPTION_SHARE)\n}\n\npub fn compute_pk_aggregation_commitment<let N: u32, let L: u32, let BIT_PK: u32>(\n pk0: [Polynomial<N>; L],\n pk1: [Polynomial<N>; L],\n) -> Field {\n let commit_pk0 = compute_multiple_polynomial_commitment::<N, L, BIT_PK>(pk0, DS_PK_AGGREGATION);\n let commit_pk1 = compute_multiple_polynomial_commitment::<N, L, BIT_PK>(pk1, DS_PK_AGGREGATION);\n\n let mut inputs = Vec::new();\n inputs.push(commit_pk0);\n inputs.push(commit_pk1);\n\n compute_commitment(inputs, DS_PK_AGGREGATION)\n}\n\npub fn compute_recursive_aggregation_commitment(payload: Vec<Field>) -> Field {\n compute_commitment(payload, DS_RECURSIVE_AGGREGATION)\n}\n\npub fn compute_vk_hash(vk_hashes: Vec<Field>) -> Field {\n compute_commitment(vk_hashes, DS_VK_HASH)\n}\n\npub fn compute_ciphertext_commitment<let N: u32, let L: u32, let BIT_CT: u32>(\n ct0: [Polynomial<N>; L],\n ct1: [Polynomial<N>; L],\n) -> Field {\n let commit_ct0 = compute_multiple_polynomial_commitment::<N, L, BIT_CT>(ct0, DS_CIPHERTEXT);\n let commit_ct1 = compute_multiple_polynomial_commitment::<N, L, BIT_CT>(ct1, DS_CIPHERTEXT);\n\n let mut inputs = Vec::new();\n inputs.push(commit_ct0);\n inputs.push(commit_ct1);\n\n compute_commitment(inputs, DS_CIPHERTEXT)\n}\n\n/// COMMITMENTS FOR CHALLENGES\n\npub fn compute_threshold_pk_challenge(payload: Vec<Field>) -> Field {\n compute_commitment(payload, DS_CLG_PK_GENERATION)\n}\n\npub fn compute_share_encryption_challenge<let L: u32>(payload: Vec<Field>) -> Vec<Field> {\n compute_challenge::<L>(payload, DS_CLG_SHARE_ENCRYPTION)\n}\n\npub fn compute_threshold_share_decryption_challenge<let L: u32>(payload: Vec<Field>) -> Field {\n compute_challenge::<L>(payload, DS_CLG_SHARE_DECRYPTION).get(0)\n}\n\npub fn compute_user_data_encryption_ct0_challenge<let L: u32>(payload: Vec<Field>) -> Vec<Field> {\n compute_challenge::<L>(payload, DS_CLG_USER_DATA_ENCRYPTION)\n}\n\npub fn compute_user_data_encryption_ct1_challenge<let L: u32>(payload: Vec<Field>) -> Vec<Field> {\n compute_challenge::<L>(payload, DS_CLG_USER_DATA_ENCRYPTION)\n}\n', path: "interfold/circuits/lib/src/math/commitments.nr" }, "90": { source: "// SPDX-License-Identifier: LGPL-3.0-only\n//\n// This file is provided WITHOUT ANY WARRANTY;\n// without even the implied warranty of MERCHANTABILITY\n// or FITNESS FOR A PARTICULAR PURPOSE.\n\n//! Helper functions for circuit construction and cryptographic operations.\nuse crate::math::polynomial::Polynomial;\nuse crate::math::safe::SafeSponge;\n\n/// Compute hex-aligned packing parameters for a given `BIT`.\n///\n/// # Purpose\n/// Returns `(nibble_bits, group)` for use by pack/flatten so layout stays consistent.\n/// - `nibble_bits`: ceil (`BIT`) to the next multiple of 4 (nibble alignment).\n/// - Examples: `BIT = 7 -> 8`, `BIT = 8 -> 8`, `BIT = 9 -> 12`, `BIT = 10 -> 12`, `BIT = 11 -> 12`,\n/// `BIT=16 -> 16`, `BIT = 17 -> 20`.\n/// - `group`: max number of encoded limbs that fit in one BN254 field element,\n/// when each limb uses an extra 4 bits (see below).\n///\n/// # Rationale\n/// - We align to nibbles so powers of two are hex-friendly and deterministic.\n/// - We reserve one extra nibble (4 bits) per stored value to lift signed\n/// coefficients into the non-negative range (e.g., store `v + 2^nibble_bits`),\n/// which implies a radix of `2^(nibble_bits + 4)`.\n///\n/// # Safety\n/// - Asserts `nibble_bits + 4 <= 254` to avoid mod-p wrap on BN254.\n/// - Ensures at least one limb fits: `group >= 1`.\nfn packing_layout<let BIT: u32>() -> (u32, u32) {\n // Ceil BIT up to the next multiple of 4 (nibble alignment).\n let nibble_bits = ((BIT + 3) / 4) * 4;\n\n // Each stored limb uses an extra nibble because negative coefficients\n // will be shifted to positive, so radix = 2^(nibble_bits+4).\n assert(nibble_bits + 4 <= 254);\n\n // Maximum limbs that fit in one BN254 element without wrap.\n let group = 254 / (nibble_bits + 4);\n assert(group >= 1);\n (nibble_bits, group)\n}\n\n/// Flatten `L` polynomials into a single linear stream of packed `Field` carriers.\n///\n/// ## What this does\n/// - For each CRT limb `j` in `0..L`, it packs the coefficients of `poly[j]`\n/// with `pack::<A, BIT>` and appends all resulting carriers to `inputs`.\n/// - The packing layout (nibble-aligned width and `group` size) is taken from\n/// `packing_layout::<BIT>()` and must match what `pack` uses.\n///\n/// ## Determinism & order\n/// - Preserves a stable order: iterate `j = 0..L`, then for each `j` append\n/// carriers in ascending chunk index `i = 0..num_chunks`.\n/// - This ensures transcripts remain deterministic across runs.\n///\n/// ## Generics\n/// - `A`: polynomial degree (number of coefficients per polynomial).\n/// - `L`: number of CRT bases (polynomials).\n/// - `BIT`: per-coefficient bit bound used by the packing layout (compile-time).\n///\n/// ## Returns\n/// - The same `inputs` vector, extended with all carriers in deterministic order.\npub fn flatten<let A: u32, let L: u32, let BIT: u32>(\n mut inputs: Vec<Field>,\n poly: [Polynomial<A>; L],\n) -> Vec<Field> {\n for j in 0..L {\n // Pack its A coefficients into `num_chunks` carriers using the same BIT layout.\n let packed = pack::<A, BIT>(poly[j].coefficients);\n\n // Append carriers in-order to `inputs` to keep a stable transcript layout.\n for i in 0..packed.len() {\n inputs.push(packed.get(i));\n }\n }\n\n // Return the extended input stream.\n inputs\n}\n\n/// Pack `A` values into a `Vec<Field>` of carriers using the shared hex-aligned layout.\n///\n/// ## What this does\n/// - Computes `(nibble_bits, group)` via `packing_layout::<BIT>()`.\n/// - Encodes each value as a limb `digit = v + 2^nibble_bits` and concatenates\n/// limbs in base `radix = 2^(nibble_bits + 4)` (one extra nibble of headroom).\n/// - Packs up to `group` limbs per carrier (fits within BN254 254-bit capacity).\n/// - Pads the last, partial carrier with `digit = 2^nibble_bits` to keep a stable layout.\n///\n/// ## Determinism & order\n/// - Processes values in increasing index order and emits carriers in chunk order\n/// (`chunk = 0..num_chunks`). Padding is deterministic.\n///\n/// ## Generics\n/// - `A`: number of input values.\n/// - `BIT`: per-value bit bound; rounded up to `nibble_bits` by `packing_layout`.\n///\n/// ## Preconditions / Notes\n/// - Call with the raw coefficients whose magnitudes already satisfy the BIT bound\n/// (as enforced by the upstream range checks); `pack` performs the signed -> unsigned\n/// shift internally via `v + base`.\n/// - `group >= 1` is enforced by `packing_layout::<BIT>()`.\n/// - Padding with `digit = 2^nibble_bits` encodes `zero limb` consistently.\n///\n/// ## Returns\n/// - A `Vec<Field>` where each element is a concatenation of up to `group` limbs,\n/// suitable for hashing or transcript I/O.\npub fn pack<let A: u32, let BIT: u32>(values: [Field; A]) -> Vec<Field> {\n // Layout parameters: nibble-aligned width and limbs-per-carrier group size.\n let (nibble_bits, group) = packing_layout::<BIT>();\n\n let base = 2.pow_32(nibble_bits as Field); // 2^nibble_bits\n let radix = 2.pow_32((nibble_bits + 4) as Field); // 2^(nibble_bits + 4)\n\n // Number of chunks to emit: ceil(A / group).\n let num_chunks = (A + group - 1) / group;\n let mut out = Vec::new();\n\n // Process in fixed-size chunks of `group` limbs.\n for chunk in 0..num_chunks {\n // How many real values go into this chunk.\n let remain = A - (chunk * group);\n let take = if remain < group { remain } else { group };\n\n // Build field element accumulator (big-endian concatenation in `radix`).\n let mut acc = 0;\n for i in 0..take {\n let v = values[chunk * group + i];\n acc = acc * radix + (v + base);\n }\n\n // Pad remaining limb slots with the canonical zero-limb `digit = base`.\n for _ in 0..(group - take) {\n acc = acc * radix + base;\n }\n\n out.push(acc);\n }\n out\n}\n\n/// Computes a cryptographic hash using the SAFE (Sponge API for Field Elements) protocol.\n///\n/// This is a convenience wrapper around the SAFE sponge API that handles the full\n/// lifecycle: initialization, absorption, squeezing, and finalization. It's designed\n/// for use in Fiat-Shamir challenge generation and commitment schemes within zero-knowledge circuits.\n///\n/// # Arguments\n/// * `domain_separator` - A 64-byte domain separator used to differentiate between\n/// different protocol instances and prevent cross-protocol attacks.\n/// * `inputs` - Vector of field elements to be absorbed into the sponge.\n/// * `io_pattern` - A 2-element array encoding the I/O pattern:\n/// - `io_pattern[0]`: Encoded ABSORB operation (MSB=1, lower 31 bits = length)\n/// - `io_pattern[1]`: Encoded SQUEEZE operation (MSB=0, lower 31 bits = length)\n///\n/// # Returns\n/// A vector of field elements squeezed from the sponge, with length determined by\n/// the SQUEEZE operation in the IO pattern.\npub fn compute_safe(\n domain_separator: [u8; 64],\n inputs: Vec<Field>,\n io_pattern: [u32; 2],\n) -> Vec<Field> {\n let mut sponge = SafeSponge::start(io_pattern, domain_separator);\n sponge.absorb(inputs);\n let digests = sponge.squeeze();\n sponge.finish();\n\n digests\n}\n\n#[test]\nfn test_flatten() {\n // Create test polynomials\n let poly1 = Polynomial::new([1, 2, 3]); // degree 2\n let poly2 = Polynomial::new([4, -16, 6]); // degree 2\n let poly3 = Polynomial::new([-7, 8, 9]); // degree 2\n\n let polynomials = [poly1, poly2, poly3];\n\n // Initialize target array with zeros\n let mut inputs = Vec::new();\n\n // Flatten the polynomials\n let result = flatten::<_, _, 4>(inputs, polynomials);\n\n // Verify the flattened coefficients are in the correct positions\n // Every value shifted 1 nibble incase of negative integers\n assert(result.get(0) == 0x11121310101010101010101010101010101010101010101010101010101010);\n assert(result.get(1) == 0x14001610101010101010101010101010101010101010101010101010101010); // -16 became 00 at 0x 14 00 16,\n assert(result.get(2) == 0x09181910101010101010101010101010101010101010101010101010101010); // -7 became 09 at 0x 09 18 19(16 - 7 = 9)\n}\n\n#[test]\nfn test_flatten_big() {\n // Create test polynomials\n let poly1 = Polynomial::new([\n 1791218451968394,\n 21888242871839275222246405745257275088548364400416034343698198265248580087864,\n 21888242871839275222246405745257275088548364400416034343698200542108324633466,\n 5430119342984413,\n 704811298945172,\n 8901715723925099,\n 21888242871839275222246405745257275088548364400416034343698203098124042812559,\n 21888242871839275222246405745257275088548364400416034343698200215091693880034,\n ]);\n let poly2 = Polynomial::new([\n 21888242871839275222246405745257275088548364400416034343698200314078269634250,\n 21888242871839275222246405745257275088548364400416034343698200967285641915872,\n 2909990636858607,\n 7896103832076587,\n 2078397209533893,\n 21888242871839275222246405745257275088548364400416034343698199792421452734531,\n 614400389245817,\n 8290314119277588,\n ]);\n let poly3 = Polynomial::new([\n 21888242871839275222246405745257275088548364400416034343698201373175279892906,\n 21888242871839275222246405745257275088548364400416034343698201087241869723721,\n 6768789983786188,\n 635797784303388,\n 7610153424227556,\n 4633893206538324,\n 2016269760615332,\n 21888242871839275222246405745257275088548364400416034343698201007080554428142,\n ]);\n\n let polynomials = [poly1, poly2, poly3];\n\n // Initialize target array with zeros\n let mut inputs = Vec::new();\n\n // Flatten the polynomials\n let result = flatten::<_, _, 54>(inputs, polynomials);\n\n // Verify the flattened coefficients are in the correct positions\n // Every value shifted 1 nibble incase of negative integers\n\n // For the first index of result operation goes like this,\n\n // First four index of poly1\n // 1791218451968394,\n // 21888242871839275222246405745257275088548364400416034343698198265248580087864,\n // 21888242871839275222246405745257275088548364400416034343698200542108324633466,\n // 5430119342984413,\n\n // base + 1791218451968394 = 0x1065d1a8b8b718a\n // base - 5921327228407753 = 0xeaf69591f3b037 (negative coefficient shifted)\n // base - 3644467483862151 = 0xf30d604a3a9b79 (negative coefficient shifted)\n // base + 5430119342984413 = 0x1134aaa2e86ccdd\n assert(result.get(0) == 0x1065d1a8b8b718a0eaf69591f3b0370f30d604a3a9b791134aaa2e86ccdd);\n assert(result.get(1) == 0x1028105ab1b789411fa010339db66b0fc220f1326bc8e0f1e3f4cc1e02e1);\n assert(result.get(2) == 0x0f23dfbe7cd76c90f4901299312ddf10a569efe35acef11c0d76f005412b);\n assert(result.get(3) == 0x107624a8f605dc50f0638a368960421022ecb3cf36b7911d73ff2c27ec14);\n assert(result.get(4) == 0x0f6013a24e1b9a90f4fd2c158a08481180c2dba8af4cc10242413515171c);\n assert(result.get(5) == 0x11b0964eb898ce411076805680b85410729c962da53a40f4b44412d0f6ed);\n}\n\n#[test]\nfn test_flatten_small() {\n // Create test polynomials\n let poly1 = Polynomial::new([712345, 104857, 999999, 500001, 123, 654321, 77]);\n let poly2 = Polynomial::new([1, 524287, 888888, 23456, 34567, 765432, 0]);\n let poly3 = Polynomial::new([444444, 333333, 222222, 111111, 987654, 246810, 13579]);\n\n let polynomials = [poly1, poly2, poly3];\n\n // Initialize target array with zeros\n let mut inputs = Vec::new();\n\n // Flatten the polynomials\n let result = flatten::<_, _, 20>(inputs, polynomials);\n\n assert(result.get(0) == 0x1ade991199991f423f17a12110007b19fbf110004d100000100000100000);\n assert(result.get(1) == 0x10000117ffff1d9038105ba01087071badf8100000100000100000100000);\n assert(result.get(2) == 0x16c81c15161513640e11b2071f120613c41a10350b100000100000100000);\n}\n\n#[test]\nfn test_safe_hashing_with_safe_helper() {\n // Verifies basic hash functionality with a simple ABSORB(3) + SQUEEZE(1) pattern.\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n let elements = Vec::from_slice(&[1, 2, 3]);\n\n // Pattern: ABSORB(3), SQUEEZE(1)\n let io_pattern = [0x80000003, 0x00000001];\n let digests1 = compute_safe(domain_separator, elements, io_pattern);\n\n assert(digests1.len() == 1);\n assert(digests1.get(0) != 0);\n\n // Test determinism\n let digests2 = compute_safe(domain_separator, elements, io_pattern);\n\n assert(digests2.len() == 1);\n assert(digests2.get(0) != 0);\n assert(digests2.get(0) == digests1.get(0));\n}\n\n#[test]\nfn test_pack() {\n // Test pack function directly with small values\n let values = [1, 2, 3, 4];\n let packed = pack::<4, 4>(values);\n\n // With BIT=4, nibble_bits=4, group should be floor(254/(4+4)) = 31\n // So all 4 values should fit in one carrier\n assert(packed.len() >= 1);\n\n // Test with negative values\n let values_neg = [-1, 2, -3, 4];\n let packed_neg = pack::<4, 4>(values_neg);\n assert(packed_neg.len() >= 1);\n}\n\n#[test]\nfn test_pack_single_value() {\n // Test packing a single value\n let values = [42];\n let packed = pack::<1, 8>(values);\n assert(packed.len() == 1);\n assert(packed.get(0) != 0);\n}\n\n#[test]\nfn test_pack_determinism() {\n // Test that packing is deterministic\n let values = [10, 20, 30];\n let packed1 = pack::<3, 8>(values);\n let packed2 = pack::<3, 8>(values);\n\n assert(packed1.len() == packed2.len());\n for i in 0..packed1.len() {\n assert(packed1.get(i) == packed2.get(i));\n }\n}\n", path: "interfold/circuits/lib/src/math/helpers.nr" }, "97": { source: "// SPDX-License-Identifier: LGPL-3.0-only\n//\n// This file is provided WITHOUT ANY WARRANTY;\n// without even the implied warranty of MERCHANTABILITY\n// or FITNESS FOR A PARTICULAR PURPOSE.\n\nuse super::modulo::U128::ModU128;\n\n/// Polynomial structure representing a polynomial of degree N-1.\n///\n/// A polynomial P(X) = a_{N-1} * X^{N-1} + a_{N-2} * X^{N-2} + ... + a_1 * X + a_0\n/// is represented as an array of coefficients where coefficients[0] = a_{N-1} (highest degree)\n/// and coefficients[N-1] = a_0 (constant term).\npub struct Polynomial<let N: u32> {\n /// Array of polynomial coefficients in descending degree order\n /// coefficients[0] = coefficient of X^{N-1} (highest degree term)\n /// coefficients[N-1] = constant term (degree 0)\n pub coefficients: [Field; N],\n}\n\nimpl<let N: u32> Polynomial<N> {\n /// Creates a new polynomial from an array of coefficients.\n ///\n /// # Arguments\n /// * `coefficients` - Array of N coefficients in descending degree order\n /// coefficients[0] = coefficient of X^{N-1}\n /// coefficients[N-1] = constant term\n ///\n /// # Returns\n /// A new Polynomial instance with the specified coefficients\n pub fn new(coefficients: [Field; N]) -> Self {\n Polynomial { coefficients }\n }\n\n /// Adds two polynomials.\n ///\n /// # Arguments\n /// * `other` - The polynomial to add to the current polynomial.\n ///\n /// # Returns\n /// A new polynomial with the coefficients added.\n pub fn add(self, other: Self) -> Self {\n let mut result = Self::new([0; N]);\n\n for i in 0..N {\n result.coefficients[i] = self.coefficients[i] + other.coefficients[i];\n }\n\n result\n }\n\n /// Subtracts two polynomials.\n ///\n /// # Arguments\n /// * `other` - The polynomial to subtract from the current polynomial.\n ///\n /// # Returns\n /// A new polynomial with the coefficients subtracted.\n pub fn sub(self, other: Self) -> Self {\n let mut result = Self::new([0; N]);\n\n for i in 0..N {\n result.coefficients[i] = self.coefficients[i] - other.coefficients[i];\n }\n\n result\n }\n\n /// Multiplies a polynomial by a scalar.\n ///\n /// # Arguments\n /// * `scalar` - The scalar to multiply the polynomial by.\n ///\n /// # Returns\n /// A new polynomial with the coefficients multiplied by the scalar.\n pub fn mul_scalar(self, scalar: Field) -> Self {\n let mut result = Self::new([0; N]);\n\n for i in 0..N {\n result.coefficients[i] = self.coefficients[i] * scalar;\n }\n\n result\n }\n\n /// Evaluates the polynomial at a given point using Horner's method.\n ///\n /// Horner's method computes P(x) = a_{N-1} * x^{N-1} + ... + a_1 * x + a_0\n /// as ((...((a_{N-1} * x + a_{N-2}) * x + a_{N-3}) * x + ...) * x + a_0)\n /// This approach require n multiplications and n additions to evaluate the polynomial.\n ///\n /// # Arguments\n /// * `x` - The point at which to evaluate the polynomial.\n ///\n /// # Returns\n /// The value of the polynomial at point x: P(x).\n pub fn eval(self, x: Field) -> Field {\n let mut result = self.coefficients[0];\n\n for i in 1..self.coefficients.len() {\n result = result * x + self.coefficients[i];\n }\n\n result\n }\n\n /// Evaluates the polynomial at a given point with modular reduction.\n ///\n /// This function computes `P(x) mod q` using Horner's method with intermediate\n /// modular reductions to prevent overflow. The result is guaranteed to be in\n /// the range `[0, q)`.\n ///\n /// The function performs modular reduction after each multiplication and addition\n /// to ensure the accumulator always remains in the range `[0, q)`, preventing\n /// any potential overflow issues.\n ///\n /// # Arguments\n /// * `x` - The point at which to evaluate the polynomial\n /// * `q` - The modular arithmetic context containing the modulus\n ///\n /// # Returns\n /// The value `P(x) mod q` in the range `[0, q)`\n pub fn eval_mod(self, x: Field, q: ModU128) -> Field {\n let mut acc = self.coefficients[0];\n let len = self.coefficients.len();\n\n for i in 1..len {\n acc = q.mul_mod(acc, x);\n acc = q.add(acc, self.coefficients[i]);\n }\n\n acc\n }\n\n /// Performs range checking on polynomial coefficients using asymmetric bounds.\n ///\n /// This function constrains all polynomial coefficients to be in the range [-lower_bound, upper_bound],\n /// where `lower_bound` is a non-negative magnitude.\n /// It uses a shifting technique to handle negative numbers efficiently:\n /// 1. Shifts each coefficient by adding `lower_bound`: c' = c + lower_bound\n /// 2. Checks that shifted coefficients are in [0, upper_bound + lower_bound] using bit-size assertions\n /// 3. This ensures original coefficients are in [-lower_bound, upper_bound]\n ///\n /// The function uses two bit-size checks per coefficient to ensure the value is within bounds:\n /// - `shifted_coefficient.assert_max_bit_size::<BIT + 1>()` ensures c' >= 0\n /// - `(range_size - shifted_coefficient).assert_max_bit_size::<BIT + 1>()` ensures c' <= range_size\n ///\n /// # Arguments\n /// * `upper_bound` - The upper bound for coefficient range checking\n /// * `lower_bound` - Non-negative magnitude of the negative bound\n /// Coefficients must satisfy: -lower_bound <= c <= upper_bound\n ///\n /// # Generic Parameters\n /// * `BIT` - The bit-length of the total range `upper_bound + lower_bound`\n /// (choose `BIT` so `upper_bound + lower_bound < 2^BIT`). Since all checked\n /// values lie in `[0, upper_bound + lower_bound]`, they cannot exceed `BIT + 1` bits.\n ///\n /// # Panics\n /// This function will cause the circuit to fail if any coefficient is outside\n /// the specified bounds.\n pub fn range_check_2bounds<let BIT: u32>(self, upper_bound: Field, lower_bound: Field) {\n let range_size = lower_bound + upper_bound;\n\n for i in 0..self.coefficients.len() {\n let shifted_coefficient = self.coefficients[i] + lower_bound;\n\n shifted_coefficient.assert_max_bit_size::<BIT + 1>();\n (range_size - shifted_coefficient).assert_max_bit_size::<BIT + 1>();\n }\n }\n\n /// Performs range checking on polynomial coefficients for the range [0, upper_bound).\n ///\n /// This function constrains all polynomial coefficients to be non-negative and\n /// strictly less than `upper_bound`. It uses bit-size assertions to verify that\n /// coefficients are in the valid range.\n ///\n /// The function performs two checks per coefficient:\n /// 1. `coeff.assert_max_bit_size::<BIT>()` ensures `coeff >= 0` and `coeff < 2^BIT`\n /// 2. `(upper_bound - 1 - coeff).assert_max_bit_size::<BIT>()` ensures `coeff < upper_bound`\n ///\n /// # Arguments\n /// * `upper_bound` - The exclusive upper bound for coefficient range checking.\n /// Coefficients must satisfy: `0 <= c < upper_bound`\n ///\n /// # Generic Parameters\n /// * `BIT` - The bit-length parameter. Must satisfy `upper_bound <= 2^BIT` for\n /// the range check to work correctly.\n ///\n /// # Panics\n /// This function will cause the circuit to fail if any coefficient is outside\n /// the range `[0, upper_bound)`.\n pub fn range_check_standard<let BIT: u32>(self, upper_bound: Field) {\n for i in 0..self.coefficients.len() {\n let coeff = self.coefficients[i];\n // Check coeff >= 0 and coeff < 2^BIT\n coeff.assert_max_bit_size::<BIT>();\n // Check coeff <= upper_bound - 1 (i.e., coeff < upper_bound)\n (upper_bound - 1 - coeff).assert_max_bit_size::<BIT>();\n }\n }\n\n /// Performs range checking on polynomial coefficients for the range [0, 2^BIT).\n ///\n /// This is a specialized range check for coefficients that must be non-negative\n /// and less than a power of two. It's more efficient than `range_check_standard`\n /// when the upper bound is exactly `2^BIT` because it only needs a single\n /// bit-size assertion per coefficient.\n ///\n /// The function verifies that each coefficient satisfies:\n /// - `coeff >= 0` (implicit from bit-size check)\n /// - `coeff < 2^BIT` (enforced by `assert_max_bit_size::<BIT>()`)\n ///\n /// # Generic Parameters\n /// * `BIT` - The bit-length parameter. Coefficients must satisfy: `0 <= c < 2^BIT`\n ///\n /// # Panics\n /// This function will cause the circuit to fail if any coefficient is outside\n /// the range `[0, 2^BIT)`.\n pub fn range_check_power_of_two<let BIT: u32>(self) {\n for i in 0..self.coefficients.len() {\n self.coefficients[i].assert_max_bit_size::<BIT>();\n }\n }\n}\n\n#[test]\nfn test_polynomial_eval() {\n let coeffs = [1, 2, 3]; // represents 1x^2 + 2x + 3\n let poly = Polynomial::new(coeffs);\n\n let x = 2; // evaluate at x = 2\n let result = poly.eval(x);\n\n // (1 * 2^2) + (2 * 2) + 3 = 4 + 4 + 3 = 11\n assert(result == 11);\n}\n\n#[test]\nfn test_polynomial_eval_zero() {\n let coeffs = [1, -2, 1]; // x^2 - 2x + 1 = (x-1)^2\n let poly = Polynomial::new(coeffs);\n\n let x = 1; // evaluate at x = 1, should be 0\n let result = poly.eval(x);\n\n assert(result == 0);\n}\n\n#[test]\nfn test_polynomial_bounds() {\n let coeffs = [-16, 240, 242];\n let poly = Polynomial::new(coeffs);\n\n // Test double bounds check - constrains to [-240, 242]\n poly.range_check_2bounds::<8>(242, 240);\n}\n\n#[test(should_fail_with = \"assert_max_bit_size\")]\nfn test_polynomial_out_of_bounds_coefficients() {\n let coeffs = [-100];\n let poly = Polynomial::new(coeffs);\n\n // Test double bounds check - constrains to [-98, 99]\n // Should fail because -100 is out of bounds.\n poly.range_check_2bounds::<7>(99, 98);\n}\n\n#[test]\nfn test_polynomial_add() {\n let coeffs1 = [1, 2, 3]; // 1x^2 + 2x + 3\n let coeffs2 = [4, 5, 6]; // 4x^2 + 5x + 6\n let poly1 = Polynomial::new(coeffs1);\n let poly2 = Polynomial::new(coeffs2);\n\n let result = poly1.add(poly2);\n\n // Expected: (1+4)x^2 + (2+5)x + (3+6) = 5x^2 + 7x + 9\n assert(result.coefficients[0] == 5);\n assert(result.coefficients[1] == 7);\n assert(result.coefficients[2] == 9);\n}\n\n#[test]\nfn test_polynomial_sub() {\n let coeffs1 = [5, 7, 9]; // 5x^2 + 7x + 9\n let coeffs2 = [1, 2, 3]; // 1x^2 + 2x + 3\n let poly1 = Polynomial::new(coeffs1);\n let poly2 = Polynomial::new(coeffs2);\n\n let result = poly1.sub(poly2);\n\n // Expected: (5-1)x^2 + (7-2)x + (9-3) = 4x^2 + 5x + 6\n assert(result.coefficients[0] == 4);\n assert(result.coefficients[1] == 5);\n assert(result.coefficients[2] == 6);\n}\n\n#[test]\nfn test_polynomial_mul_scalar() {\n let coeffs = [1, 2, 3]; // 1x^2 + 2x + 3\n let poly = Polynomial::new(coeffs);\n let scalar = 5;\n\n let result = poly.mul_scalar(scalar);\n\n // Expected: 5x^2 + 10x + 15\n assert(result.coefficients[0] == 5);\n assert(result.coefficients[1] == 10);\n assert(result.coefficients[2] == 15);\n}\n\n#[test]\nfn test_polynomial_mul_scalar_zero() {\n let coeffs = [1, 2, 3];\n let poly = Polynomial::new(coeffs);\n let scalar = 0;\n\n let result = poly.mul_scalar(scalar);\n\n // Expected: 0x^2 + 0x + 0 = 0\n assert(result.coefficients[0] == 0);\n assert(result.coefficients[1] == 0);\n assert(result.coefficients[2] == 0);\n}\n\n#[test]\nfn test_eval_mod_simple() {\n // Test without initial reduction - simple case\n // p(x) = x + 1 at x=5od 7\n // Expected: (5 + 1) mod 7 = 6\n let q = ModU128::new(7);\n\n let poly1 = Polynomial::new([1, 1]);\n let result1 = poly1.eval_mod(5, q);\n assert(result1 == 6);\n\n // Test: p(x) = 2x + 3 at x=5od 7\n // Expected: (10 + 3) mod 7 = 13 mod 7 = 6\n let poly2 = Polynomial::new([2, 3]);\n let result2 = poly2.eval_mod(5, q);\n assert(result2 == 6);\n}\n\n#[test]\nfn test_eval_mod_degree_2() {\n // p(x) = x^2 + 2x + 3 at x=5od 7\n // Using Horner's method: ((1)*5 + 2)*5 + 3 = (5+2)*5 + 3 = 7*5 + 3 = 35 + 3 = 38\n // 38 mod 7 = 3 (since 38 = 5*7 + 3)\n let q = ModU128::new(7);\n\n let poly = Polynomial::new([1, 2, 3]);\n let result = poly.eval_mod(5, q);\n assert(result == 3);\n}\n\n#[test]\nfn test_eval_mod() {\n // Test 1: Simple polynomial x^2 + 2x + 3 at x=5od 7\n // Expected: (25 + 10 + 3) mod 7 = 38 mod 7 = 3\n let q = ModU128::new(7);\n\n let poly1 = Polynomial::new([1, 2, 3]);\n let result1 = poly1.eval_mod(5, q);\n assert(result1 == 3);\n\n // Test 2: Higher degree polynomialod small prime\n // p(x) = x^3 + x^2 + x + 1 at x=2od 11\n // Expected: (8 + 4 + 2 + 1) mod 11 = 15 mod 11 = 4\n let q = ModU128::new(11);\n\n let poly2 = Polynomial::new([1, 1, 1, 1]);\n let result2 = poly2.eval_mod(2, q);\n assert(result2 == 4);\n\n // Test 3: Polynomial with larger coefficients\n // p(x) = 100x^2 + 50x + 25 at x=10od 73\n // Expected: (10000 + 500 + 25) mod 73 = 10525 mod 73 = 13\n let q = ModU128::new(73);\n\n let poly3 = Polynomial::new([100, 50, 25]);\n let result3 = poly3.eval_mod(10, q);\n assert(result3 == 13);\n\n // Test 4: Result should be less than modulus\n let poly4 = Polynomial::new([5, 3, 7]);\n let q = ModU128::new(17);\n let result4 = poly4.eval_mod(4, q);\n assert(result4 as u128 < q.get_mod_field() as u128);\n\n // Test 5: Compare with regular eval for small values\n let poly5 = Polynomial::new([1, 2, 1]);\n let x = 3;\n let q = ModU128::new(1000);\n let result5 = poly5.eval_mod(x, q);\n let expected5 = poly5.eval(x);\n assert(result5 == expected5);\n\n // Test 6: Zero polynomial\n let poly6 = Polynomial::new([0, 0, 0]);\n let q = ModU128::new(13);\n let result6 = poly6.eval_mod(100, q);\n assert(result6 == 0);\n}\n\n#[test]\nfn test_large_party_ids_scenario() {\n // Simulating party IDs in range [1, 100]\n let party_id_1 = 42;\n let party_id_2 = 73;\n let m = ModU128::new(288230376151711717); // ~58 bits\n\n // Operations that would be used in Lagrange coefficients\n let product = m.mul_mod(party_id_1, party_id_2);\n let diff = m.sub(party_id_2, party_id_1);\n\n assert(product == 3066);\n assert(diff == 31);\n}\n\n#[test]\nfn test_eval_vs_eval_mod() {\n // Compare eval and eval_mod for small values where no reduction should occur\n let poly = Polynomial::new([1, 2, 3]);\n let x = 2;\n let q = ModU128::new(1000); // Large enough that no reduction happens\n\n let result_normal = poly.eval(x);\n let result_mod = poly.eval_mod(x, q);\n\n // They should be equal: (1)*2 + 2)*2 + 3 = (2+2)*2 + 3 = 4*2 + 3 = 11\n assert(result_normal == 11);\n assert(result_mod == 11);\n}\n\n#[test]\nfn test_eval_mod_step_by_step() {\n // p(x) = x + 1 at x=5od 7\n // Step by step: acc = 1, then acc = 1*5 + 1 = 6\n let poly = Polynomial::new([1, 1]);\n\n // Manually compute\n let mut acc = 1; // coefficients[0]\n acc = acc * 5 + 1; // = 6\n assert(acc == 6);\n\n // Now with reduce_mod\n let m = ModU128::new(7);\n let reduced = m.reduce_mod(acc);\n assert(reduced == 6);\n\n // Now test the actual function\n let result = poly.eval_mod(5, m);\n assert(result == 6);\n}\n", path: "interfold/circuits/lib/src/math/polynomial.nr" }, "98": { source: '// SPDX-License-Identifier: LGPL-3.0-only\n//\n// This file is provided WITHOUT ANY WARRANTY;\n// without even the implied warranty of MERCHANTABILITY\n// or FITNESS FOR A PARTICULAR PURPOSE.\n\nuse keccak256::keccak256;\nuse poseidon::poseidon2_permutation;\n\n/// SAFE (Sponge API for Field Elements)\n///\n/// This module provides a complete implementation of the SAFE API in Noir as defined in:\n/// "SAFE (Sponge API for Field Elements) - A Toolbox for ZK Hash Applications"\n/// see https://hackmd.io/bHgsH6mMStCVibM_wYvb2w#22-Sponge-state for more details.\n///\n/// SAFE provides a unified interface for cryptographic sponge functions that can be\n/// instantiated with various permutations to create hash functions, MACs, authenticated\n/// encryption schemes, and other cryptographic primitives for ZK proof systems.\n///\n/// This implementation follows the SAFE specification exactly, providing:\n/// - Complete API: START, ABSORB, SQUEEZE, FINISH operations.\n/// - Full security: Domain separation, tag computation, IO pattern validation.\n/// - Poseidon2 integration: Field-friendly permutation for ZK systems.\n/// - Specification compliance: All operations follow SAFE spec 2.4 exactly.\n/// - Natural API design: Variable-length inputs, automatic length detection from IO patterns.\n///\n/// # API Design\n///\n/// The API is designed for natural usage while maintaining type safety:\n/// - `absorb(input: [Field])`: Accepts variable-length arrays, no padding required.\n/// - `squeeze()`: Returns a vector with field element(s).\n/// - IO patterns automatically determine operation lengths for validation.\n\n/// Rate parameter for the sponge construction (number of field elements that can be absorbed per permutation call).\nglobal RATE: u32 = 3;\n\n/// Capacity parameter for the sponge construction (security parameter, typically 1-2 field elements).\nglobal CAPACITY: u32 = 1;\n\n/// Total state size (rate + capacity) in field elements.\nglobal STATE_SIZE: u32 = RATE + CAPACITY;\n\n/// IO Pattern encoding constants (from SAFE spec 2.3).\n///\n/// These constants are used for encoding operation types in the 32-bit word format:\n/// - MSB set to 1 for ABSORB operations\n/// - MSB set to 0 for SQUEEZE operations\n\n/// Flag for ABSORB operations (MSB = 1)\nglobal ABSORB_FLAG: u32 = 0x80000000;\n\n/// Flag for SQUEEZE operations (MSB = 0)\nglobal SQUEEZE_FLAG: u32 = 0x00000000;\n\n/// SAFE Sponge State (following spec 2.2)\n///\n/// The sponge state consists of the permutation state, tag, position counters,\n/// and IO pattern tracking as defined in the SAFE specification.\n///\n/// # Generic Parameters\n/// - `L`: The length of the IO pattern array\n///\n/// # Fields\n/// - `state`: Permutation state V in F^n (rate + capacity elements)\n/// - `tag`: Parameter tag T used for instance differentiation\n/// - `absorb_pos`: Current absorb position (<= n-c)\n/// - `squeeze_pos`: Current squeeze position (<= n-c)\n/// - `io_pattern`: Expected IO pattern for validation (encoded 32-bit words)\n/// - `io_count`: Current operation count for pattern tracking\npub struct SafeSponge<let L: u32> {\n /// Permutation state V in F^n (rate + capacity elements).\n state: [Field; STATE_SIZE],\n /// Parameter tag T used for instance differentiation.\n tag: Field,\n /// Current absorb position (<= n-c).\n absorb_pos: u32,\n /// Current squeeze position (<= n-c).\n squeeze_pos: u32,\n /// Expected IO pattern for validation.\n io_pattern: [u32; L],\n /// Current operation count for pattern tracking (spec 2.4: io_count).\n io_count: u32,\n}\n\nimpl<let L: u32> SafeSponge<L> {\n /// Initializes a new SAFE sponge instance with the given IO pattern and domain separator (following spec 2.4).\n ///\n /// # Arguments\n /// - `io_pattern`: Array of 32-bit encoded operations defining the expected sequence of ABSORB/SQUEEZE calls.\n /// Each word has MSB=1 for ABSORB operations, MSB=0 for SQUEEZE operations.\n /// - `domain_separator`: 64-byte domain separator for cross-protocol security.\n ///\n /// # Returns\n /// A new `SafeSponge` instance with initialized state\n pub fn start(io_pattern: [u32; L], domain_separator: [u8; 64]) -> SafeSponge<L> {\n // Compute tag from IO pattern and domain separator (spec 2.3).\n let tag = compute_tag(io_pattern, domain_separator);\n\n let mut state = [0; STATE_SIZE];\n // Initialize capacity with tag (spec 2.4).\n // Add T to the first 128 bits of the state.\n state[0] = tag;\n\n SafeSponge { state, tag, absorb_pos: 0, squeeze_pos: 0, io_pattern, io_count: 0 }\n }\n\n /// Absorbs field elements into the sponge state, interleaving permutation calls as needed (following spec 2.4).\n ///\n /// The number of elements to absorb is automatically validated against the IO pattern.\n /// This method accepts variable-length arrays, making it natural to use without padding.\n ///\n /// # Arguments\n /// - `input`: Array of field elements to absorb (variable length, must match IO pattern)\n pub fn absorb(&mut self, input: Vec<Field>) {\n let length = input.len() as u32;\n\n // Validate against IO pattern.\n assert(self.io_count < L);\n\n // Parse expected operation from io_pattern (encoded word)\n let expected_encoded_word = self.io_pattern[self.io_count];\n let is_expected_absorb = (expected_encoded_word & ABSORB_FLAG) != 0;\n let expected_length = expected_encoded_word & 0x7FFFFFFF;\n\n // Validate operation type and length\n assert(is_expected_absorb, "Expected ABSORB operation");\n assert(expected_length == length, "Length mismatch");\n\n // Process each element naturally (no unnecessary iterations).\n for i in 0..length {\n // If absorb_pos == (n-c) then permute and reset (spec 2.4).\n if self.absorb_pos == RATE {\n // n-c = RATE.\n self.state = self.permute();\n self.absorb_pos = 0;\n }\n\n // Add X[i] to state at absorb_pos (spec 2.4).\n // Note: absorb_pos is the rate position, not capacity position.\n self.state[self.absorb_pos + CAPACITY] =\n self.state[self.absorb_pos + CAPACITY] + input.get(i);\n self.absorb_pos += 1;\n }\n\n // Verify that the encoded word matches the expected pattern.\n let encoded_word = ABSORB_FLAG | length;\n assert(encoded_word == expected_encoded_word);\n\n self.io_count += 1;\n\n // Force permute at start of next SQUEEZE (spec 2.4).\n self.squeeze_pos = RATE;\n }\n\n /// Extracts field elements from the sponge state, interleaving permutation calls as needed (following spec 2.4).\n ///\n /// The number of elements to squeeze is automatically determined from the IO pattern.\n pub fn squeeze(&mut self) -> Vec<Field> {\n // Validate against IO pattern.\n assert(self.io_count < L);\n\n // Parse expected operation from io_pattern (encoded word)\n let expected_encoded_word = self.io_pattern[self.io_count];\n let is_expected_squeeze = (expected_encoded_word & ABSORB_FLAG) == 0;\n let length = expected_encoded_word & 0x7FFFFFFF;\n\n // Validate operation type\n assert(is_expected_squeeze, "Expected SQUEEZE operation");\n\n let mut output = Vec::new();\n\n // SQUEEZE implementation following spec 2.4.\n // If length==0, loop won\'t execute (spec 2.4).\n for _ in 0..length {\n // If squeeze_pos==(n-c) then permute and reset (spec 2.4).\n if self.squeeze_pos == RATE {\n // n-c = RATE.\n self.state = self.permute();\n self.squeeze_pos = 0;\n self.absorb_pos = 0;\n }\n // Set Y[i] to state element at squeeze_pos (spec 2.4).\n output.push(self.state[self.squeeze_pos + CAPACITY]);\n self.squeeze_pos += 1;\n }\n\n // Verify that the encoded word matches the expected pattern.\n let encoded_word = SQUEEZE_FLAG | length;\n assert(encoded_word == expected_encoded_word);\n\n self.io_count += 1;\n output\n }\n\n /// Finalizes the sponge instance, verifying that all expected operations have been performed and clearing the internal state for security (following spec 2.4).\n ///\n /// This function is used to ensure that the sponge instance has been used correctly and to prevent information leakage.\n pub fn finish(&mut self) {\n // Check that io_count equals the length of the IO pattern expected (spec 2.4).\n assert(self.io_count == L, "IO pattern not completed");\n\n // Erase the state and its variables (spec 2.4).\n self.state = [0; STATE_SIZE];\n self.absorb_pos = 0;\n self.squeeze_pos = 0;\n self.io_count = 0;\n }\n\n /// Permute the state using Poseidon2 (following spec 2.4).\n ///\n /// Applies the Poseidon2 permutation to the current state.\n /// This is the core cryptographic primitive of the sponge construction.\n ///\n /// # Returns\n /// New state after permutation\n fn permute(self) -> [Field; STATE_SIZE] {\n poseidon2_permutation(self.state, STATE_SIZE)\n }\n}\n\n/// Computes a unique tag for a sponge instance based on its IO pattern and domain separator.\n/// The tag is used to ensure that distinct instances behave like distinct functions.\n///\n/// # Arguments\n/// - `io_pattern`: Array of 32-bit encoded operations defining the sponge\'s usage pattern.\n/// Each word has MSB=1 for ABSORB operations, MSB=0 for SQUEEZE operations.\n/// - `domain_separator`: 64-byte domain separator for cross-protocol security.\n///\n/// # Returns\n/// A field element representing the 128-bit tag.\npub fn compute_tag<let L: u32>(io_pattern: [u32; L], domain_separator: [u8; 64]) -> Field {\n // Step 1: Parse and aggregate consecutive operations of the same type\n let mut encoded_words = [0; L]; // Support up to L operations.\n let mut word_count = 0;\n let mut current_absorb_sum = 0;\n let mut current_squeeze_sum = 0;\n let mut last_was_absorb = false;\n\n for i in 0..L {\n if io_pattern[i] > 0 {\n // Parse operation type from MSB and length from lower 31 bits\n let is_absorb = (io_pattern[i] & ABSORB_FLAG) != 0;\n let length = io_pattern[i] & 0x7FFFFFFF; // Clear MSB to get length\n\n if is_absorb {\n if last_was_absorb {\n // Aggregate consecutive ABSORB operations\n current_absorb_sum += length;\n } else {\n // Start new ABSORB sequence\n if current_squeeze_sum > 0 {\n // Flush previous SQUEEZE sequence\n encoded_words[word_count] = SQUEEZE_FLAG | current_squeeze_sum;\n word_count += 1;\n current_squeeze_sum = 0;\n }\n current_absorb_sum = length;\n }\n last_was_absorb = true;\n } else {\n if !last_was_absorb {\n // Aggregate consecutive SQUEEZE operations\n current_squeeze_sum += length;\n } else {\n // Start new SQUEEZE sequence\n if current_absorb_sum > 0 {\n // Flush previous ABSORB sequence\n encoded_words[word_count] = ABSORB_FLAG | current_absorb_sum;\n word_count += 1;\n current_absorb_sum = 0;\n }\n current_squeeze_sum = length;\n }\n last_was_absorb = false;\n }\n }\n }\n\n // Flush remaining operations\n if current_absorb_sum > 0 {\n encoded_words[word_count] = ABSORB_FLAG | current_absorb_sum;\n word_count += 1;\n }\n if current_squeeze_sum > 0 {\n encoded_words[word_count] = SQUEEZE_FLAG | current_squeeze_sum;\n word_count += 1;\n }\n\n // Step 2: Serialize to byte string and append domain separator (following SAFE spec 2.3).\n // Buffer is 256 bytes: max 192 bytes for IO pattern (48 words) + 64 bytes for domain separator.\n // Note: We must use a fixed-size array because Noir\'s keccak256 requires [u8; N], not Vec<u8>.\n let max_io_pattern_bytes: u32 = 192; // 256 - 64 (domain separator)\n let io_pattern_bytes = word_count * 4;\n assert(\n io_pattern_bytes <= max_io_pattern_bytes,\n "IO pattern too large: max 48 aggregated words supported",\n );\n\n let mut input_bytes = [0u8; 256];\n let mut byte_count: u32 = 0;\n\n // Serialize encoded words to bytes (big-endian as per SAFE spec).\n // Note: Noir requires compile-time loop bounds, so we iterate over L (the array size)\n // instead of word_count (runtime value). The condition `i < word_count` ensures we only\n // process valid encoded words. This is safe because word_count <= L always holds\n // (we can have at most L encoded words from L input operations).\n for i in 0..L {\n if i < word_count {\n let word = encoded_words[i];\n input_bytes[byte_count] = (word >> 24) as u8;\n input_bytes[byte_count + 1] = (word >> 16) as u8;\n input_bytes[byte_count + 2] = (word >> 8) as u8;\n input_bytes[byte_count + 3] = word as u8;\n byte_count += 4;\n }\n }\n\n // Append full 64-byte domain separator.\n for i in 0..64 {\n input_bytes[byte_count] = domain_separator[i];\n byte_count += 1;\n }\n\n // Step 3: Hash with Keccak-256 and truncate to 128 bits.\n // Note: The SAFE spec uses SHA3-256, but we use Keccak-256 for Noir compatibility.\n // Keccak-256 differs from SHA3-256 in padding, but both provide equivalent security.\n let hash_bytes = keccak256(input_bytes, byte_count);\n\n // Convert first 128 bits (16 bytes) to field element.\n let mut tag_value: Field = 0;\n for i in 0..16 {\n tag_value = tag_value * 256 + (hash_bytes[i] as Field);\n }\n\n tag_value\n}\n\n#[test]\nfn test_safe_hashing() {\n // Verifies basic hash functionality with a simple ABSORB(3) + SQUEEZE(1) pattern.\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n let elements = Vec::from_slice(&[1, 2, 3]);\n\n // Pattern: ABSORB(3), SQUEEZE(1)\n let io_pattern = [0x80000003, 0x00000001];\n let mut sponge = SafeSponge::start(io_pattern, domain_separator);\n sponge.absorb(elements);\n let output = sponge.squeeze();\n sponge.finish();\n\n assert(output.len() == 1);\n assert(output.get(0) != 0);\n\n // Test determinism\n let mut sponge2 = SafeSponge::start(io_pattern, domain_separator);\n sponge2.absorb(elements);\n let output2 = sponge2.squeeze();\n sponge2.finish();\n\n assert(output2.len() == 1);\n assert(output2.get(0) != 0);\n}\n\n#[test]\nfn test_merkle_node() {\n // Verifies SAFE can be used for Merkle tree node hashing with pattern ABSORB(1) + ABSORB(1) + SQUEEZE(1).\n // Tests the ability to absorb multiple inputs before squeezing output.\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n let left = Vec::from_slice([123]);\n let right = Vec::from_slice([456]);\n\n // Pattern: ABSORB(1), ABSORB(1), SQUEEZE(1)\n let io_pattern = [0x80000001, 0x80000001, 0x00000001];\n let mut sponge = SafeSponge::start(io_pattern, domain_separator);\n sponge.absorb(left);\n sponge.absorb(right);\n let output = sponge.squeeze();\n sponge.finish();\n\n assert(output.len() == 1);\n assert(output.get(0) != 0);\n\n // Test determinism\n let mut sponge2 = SafeSponge::start(io_pattern, domain_separator);\n sponge2.absorb(left);\n sponge2.absorb(right);\n let output2 = sponge2.squeeze();\n sponge2.finish();\n\n assert(output2.len() == 1);\n assert(output2.get(0) != 0);\n}\n\n#[test]\nfn test_commitment_scheme() {\n // Verifies SAFE can be used for commitment schemes with pattern ABSORB(3) + SQUEEZE(1).\n // Tests the ability to create deterministic commitments from multiple field elements.\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n let values = Vec::from_slice([10, 20, 30]);\n\n // Pattern: ABSORB(3), SQUEEZE(1)\n let io_pattern = [0x80000003, 0x00000001];\n let mut sponge = SafeSponge::start(io_pattern, domain_separator);\n sponge.absorb(values);\n let output = sponge.squeeze();\n sponge.finish();\n\n assert(output.len() == 1);\n assert(output.get(0) != 0);\n\n // Test determinism\n let mut sponge2 = SafeSponge::start(io_pattern, domain_separator);\n sponge2.absorb(values);\n let output2 = sponge2.squeeze();\n sponge2.finish();\n\n assert(output2.len() == 1);\n assert(output2.get(0) != 0);\n}\n\n#[test]\nfn test_domain_separation() {\n // Verifies that different domain separators produce different outputs for the same input.\n // This is crucial for cross-protocol security and preventing collisions between different applications.\n let elements = Vec::from_slice([1, 2, 3]);\n let domain1 = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n let domain2 = [\n 0x41, 0x42, 0x43, 0x45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n\n // Pattern: ABSORB(3), SQUEEZE(1)\n let io_pattern = [0x80000003, 0x00000001];\n\n let mut sponge1 = SafeSponge::start(io_pattern, domain1);\n sponge1.absorb(elements);\n let output1 = sponge1.squeeze();\n sponge1.finish();\n\n let mut sponge2 = SafeSponge::start(io_pattern, domain2);\n sponge2.absorb(elements);\n let output2 = sponge2.squeeze();\n sponge2.finish();\n\n assert(output1.len() == 1);\n assert(output2.len() == 1);\n assert(output1.get(0) != output2.get(0)); // Different domain separators should produce different outputs\n}\n\n#[test]\nfn test_multiple_squeeze() {\n // Verifies that multiple field elements can be squeezed in a single operation.\n // Tests pattern ABSORB(3) + SQUEEZE(2) to ensure proper state management.\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n let elements = Vec::from_slice([1, 2, 3]);\n\n // Pattern: ABSORB(3), SQUEEZE(2)\n let io_pattern = [0x80000003, 0x00000002];\n let mut sponge = SafeSponge::start(io_pattern, domain_separator);\n sponge.absorb(elements);\n let output = sponge.squeeze();\n sponge.finish();\n\n assert(output.len() == 2);\n assert(output.get(0) != 0);\n assert(output.get(1) != 0);\n assert(output.get(0) != output.get(1)); // Different squeeze outputs should be different\n}\n\n#[test]\nfn test_zero_length_operations() {\n // Verifies that zero-length ABSORB and SQUEEZE operations are handled correctly.\n // Tests pattern ABSORB(0) + SQUEEZE(1) to ensure proper state transitions.\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n\n // Pattern: ABSORB(0), SQUEEZE(1)\n let io_pattern = [0x80000000, 0x00000001];\n let mut sponge = SafeSponge::start(io_pattern, domain_separator);\n sponge.absorb(Vec::new());\n let output = sponge.squeeze();\n sponge.finish();\n\n assert(output.len() == 1);\n assert(output.get(0) != 0);\n}\n\n#[test]\nfn test_tag_computation() {\n // Verifies the tag computation algorithm using the example from the SAFE specification.\n // Pattern: ABSORB(3), ABSORB(3), SQUEEZE(3)\n // Should aggregate to: ABSORB(6), SQUEEZE(3)\n // Encoded as: [0x80000006, 0x00000003]\n // Tests determinism and pattern differentiation.\n\n let io_pattern = [0x80000003, 0x80000003, 0x00000003];\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n\n let tag = compute_tag(io_pattern, domain_separator);\n\n // Test determinism\n let tag2 = compute_tag(io_pattern, domain_separator);\n assert(tag == tag2);\n\n // Test that different patterns produce different tags\n let io_pattern2 = [0x80000003, 0x00000003]; // ABSORB(3), SQUEEZE(3) - different pattern\n let tag3 = compute_tag(io_pattern2, domain_separator);\n assert(tag != tag3);\n}\n\n#[test]\nfn test_tag_computation_debug() {\n println("=== SAFE Tag Computation Debug Test ===");\n\n // Test your specific pattern [2, 2, 2] (ABSORB(2), SQUEEZE(2), ABSORB(2))\n let io_pattern = [0x80000002, 0x00000002, 0x80000002];\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n\n println(f"Testing pattern: {io_pattern}");\n println(\n f"Expected to aggregate to: ABSORB(2), SQUEEZE(2), ABSORB(2)",\n );\n println(\n f"Expected encoded words: [0x80000002, 0x00000002, 0x80000002]",\n );\n println("");\n\n let tag = compute_tag(io_pattern, domain_separator);\n\n println(f"=== Expected Rust Output ===");\n println("Pattern [2, 2, 2] (ABSORB(2), SQUEEZE(2), ABSORB(2))");\n println("Domain separator: 0x41424344...");\n println("Tag: 0xce3bb9ee4b2d41c42e9cdda38afe8b6a");\n println("");\n\n println(f"=== Noir Output ===");\n println(f"Tag: {tag}");\n println("");\n\n println("Compare the tag values above with Rust script!");\n}\n\n#[test]\nfn test_consecutive_absorb_aggregation() {\n // Test that consecutive ABSORB operations are properly aggregated\n // Pattern: ABSORB(1), ABSORB(1), SQUEEZE(1) should aggregate to ABSORB(2), SQUEEZE(1)\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n\n // Test pattern: ABSORB(1), ABSORB(1), SQUEEZE(1)\n let io_pattern = [0x80000001, 0x80000001, 0x00000001];\n\n // This should aggregate to: ABSORB(2), SQUEEZE(1) = [0x80000002, 0x00000001]\n let tag = compute_tag(io_pattern, domain_separator);\n\n // Test that the aggregated pattern produces the same tag ABSORB(2), SQUEEZE(1)\n let aggregated_pattern = [0x80000002, 0x00000001];\n let aggregated_tag = compute_tag(aggregated_pattern, domain_separator);\n\n // The tags should be identical because the patterns are equivalent after aggregation\n assert(tag == aggregated_tag, "Consecutive ABSORB operations should aggregate to the same tag");\n\n // Test that a different pattern produces a different tag\n let different_pattern = [0x80000001, 0x00000001, 0x80000001]; // ABSORB(1), SQUEEZE(1), ABSORB(1)\n let different_tag = compute_tag(different_pattern, domain_separator);\n\n // This should be different because it doesn\'t have consecutive ABSORB operations\n assert(tag != different_tag, "Different patterns should produce different tags");\n\n println("=== Consecutive ABSORB Aggregation Test ===");\n println(\n f"Original pattern: [0x80000001, 0x80000001, 0x00000001] (ABSORB(1), ABSORB(1), SQUEEZE(1))",\n );\n println(\n f"Aggregated pattern: [0x80000002, 0x00000001] (ABSORB(2), SQUEEZE(1))",\n );\n println(f"Original tag: {tag}");\n println(f"Aggregated tag: {aggregated_tag}");\n println(f"Original tag: {tag}");\n println(f"Aggregated tag: {aggregated_tag}");\n println(f"Different pattern tag: {different_tag}");\n}\n\n#[test]\nfn test_consecutive_squeeze_aggregation() {\n // Test that consecutive SQUEEZE operations are properly aggregated\n // Pattern: ABSORB(1), SQUEEZE(1), SQUEEZE(1) should aggregate to ABSORB(1), SQUEEZE(2)\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n\n // Test pattern: ABSORB(1), SQUEEZE(1), SQUEEZE(1)\n let io_pattern = [0x80000001, 0x00000001, 0x00000001];\n\n // This should aggregate to: ABSORB(1), SQUEEZE(2) = [0x80000001, 0x00000002]\n let tag = compute_tag(io_pattern, domain_separator);\n\n // Test that the aggregated pattern produces the same tag ABSORB(1), SQUEEZE(2)\n let aggregated_pattern = [0x80000001, 0x00000002];\n let aggregated_tag = compute_tag(aggregated_pattern, domain_separator);\n\n // The tags should be identical because the patterns are equivalent after aggregation\n assert(\n tag == aggregated_tag,\n "Consecutive SQUEEZE operations should aggregate to the same tag",\n );\n\n // Test that a different pattern produces a different tag\n let different_pattern = [0x80000001, 0x00000001, 0x80000001]; // ABSORB(1), SQUEEZE(1), ABSORB(1)\n let different_tag = compute_tag(different_pattern, domain_separator);\n\n // This should be different because it doesn\'t have consecutive SQUEEZE operations\n assert(tag != different_tag, "Different patterns should produce different tags");\n\n println("=== Consecutive SQUEEZE Aggregation Test ===");\n println(\n f"Original pattern: [0x80000001, 0x00000001, 0x00000001] (ABSORB(1), SQUEEZE(1), SQUEEZE(1))",\n );\n println(\n f"Aggregated pattern: [0x80000001, 0x00000002] (ABSORB(1), SQUEEZE(2))",\n );\n println(f"Original tag: {tag}");\n println(f"Aggregated tag: {aggregated_tag}");\n println(f"Different pattern tag: {different_tag}");\n}\n\n#[test]\nfn test_mixed_consecutive_aggregation() {\n // Test that both consecutive ABSORB and SQUEEZE operations are properly aggregated\n // Pattern: ABSORB(1), ABSORB(1), SQUEEZE(1), SQUEEZE(1), ABSORB(1)\n // Should aggregate to: ABSORB(2), SQUEEZE(2), ABSORB(1)\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n\n // Test pattern: ABSORB(1), ABSORB(1), SQUEEZE(1), SQUEEZE(1), ABSORB(1)\n let io_pattern = [0x80000001, 0x80000001, 0x00000001, 0x00000001, 0x80000001];\n\n // This should aggregate to: ABSORB(2), SQUEEZE(2), ABSORB(1) = [0x80000002, 0x00000002, 0x80000001]\n let tag = compute_tag(io_pattern, domain_separator);\n\n // Test that the aggregated pattern produces the same tag\n let aggregated_pattern = [0x80000002, 0x00000002, 0x80000001]; // ABSORB(2), SQUEEZE(2), ABSORB(1)\n let aggregated_tag = compute_tag(aggregated_pattern, domain_separator);\n\n // The tags should be identical because the patterns are equivalent after aggregation\n assert(tag == aggregated_tag, "Mixed consecutive operations should aggregate to the same tag");\n\n println("=== Mixed Consecutive Aggregation Test ===");\n println(\n f"Original pattern: [0x80000001, 0x80000001, 0x00000001, 0x00000001, 0x80000001]",\n );\n println(\n f" (ABSORB(1), ABSORB(1), SQUEEZE(1), SQUEEZE(1), ABSORB(1))",\n );\n println(f"Aggregated pattern: [0x80000002, 0x00000002, 0x80000001]");\n println(f" (ABSORB(2), SQUEEZE(2), ABSORB(1))");\n println(f"Original tag: {tag}");\n println(f"Aggregated tag: {aggregated_tag}");\n}\n\n#[test]\nfn test_large_io_pattern() {\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n\n // Create pattern with 48 alternating ABSORB(1) and SQUEEZE(1) operations\n // This is the maximum supported (48 words * 4 bytes = 192 bytes, leaving 64 for domain separator)\n let mut io_pattern = [0u32; 48];\n for i in 0..48 {\n if i % 2 == 0 {\n io_pattern[i] = ABSORB_FLAG | 1; // ABSORB(1)\n } else {\n io_pattern[i] = SQUEEZE_FLAG | 1; // SQUEEZE(1)\n }\n }\n\n let tag = compute_tag(io_pattern, domain_separator);\n assert(tag != 0);\n}\n\n#[test]\nfn test_domain_separator_not_truncated() {\n // This test verifies that the domain separator is always included in the tag computation,\n // even for large IO patterns. If the domain separator were truncated, different domain\n // separators would produce the same tag for large patterns.\n\n let domain_separator_a = [\n 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n 0x41, 0x41, 0x41, 0x41,\n ]; // All \'A\'s\n\n let domain_separator_b = [\n 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,\n 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,\n 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,\n 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,\n 0x42, 0x42, 0x42, 0x42,\n ]; // All \'B\'s\n\n // Create pattern with 48 alternating operations (max supported: 192 bytes of IO pattern)\n let mut io_pattern = [0u32; 48];\n for i in 0..48 {\n if i % 2 == 0 {\n io_pattern[i] = ABSORB_FLAG | 1;\n } else {\n io_pattern[i] = SQUEEZE_FLAG | 1;\n }\n }\n\n let tag_a = compute_tag(io_pattern, domain_separator_a);\n let tag_b = compute_tag(io_pattern, domain_separator_b);\n\n // Tags MUST be different because domain separators are different.\n // If they were the same, it would mean the domain separator was truncated/ignored.\n assert(tag_a != tag_b, "Domain separator must affect tag even for large IO patterns");\n}\n', path: "interfold/circuits/lib/src/math/safe.nr" } }, expression_width: { Bounded: { width: 4 } } };
1153
+
1154
+ // ../../circuits/bin/threshold/target/user_data_encryption.json
1155
+ var user_data_encryption_default = { noir_version: "1.0.0-beta.16+2d46fca7203545cbbfb31a0d0328de6c10a8db95", hash: "4746193195848265987", abi: { parameters: [{ name: "ct0_verification_key", type: { kind: "array", length: 115, type: { kind: "field" } }, visibility: "private" }, { name: "ct0_proof", type: { kind: "array", length: 457, type: { kind: "field" } }, visibility: "private" }, { name: "ct0_public_inputs", type: { kind: "array", length: 4, type: { kind: "field" } }, visibility: "private" }, { name: "ct0_key_hash", type: { kind: "field" }, visibility: "public" }, { name: "ct1_verification_key", type: { kind: "array", length: 115, type: { kind: "field" } }, visibility: "private" }, { name: "ct1_proof", type: { kind: "array", length: 457, type: { kind: "field" } }, visibility: "private" }, { name: "ct1_public_inputs", type: { kind: "array", length: 3, type: { kind: "field" } }, visibility: "private" }, { name: "ct1_key_hash", type: { kind: "field" }, visibility: "public" }], return_type: { abi_type: { kind: "tuple", fields: [{ kind: "field" }, { kind: "field" }, { kind: "field" }] }, visibility: "public" }, error_types: {} }, bytecode: "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", debug_symbols: "tZbdioMwEIXfJddeZCb/+yrLUqxNiyAqVheW0nff2JpYFyLWsFdR43w5M3OiuZGTPQ6XQ1mfmyv5+LyRY1dWVXk5VE2R92VTu6e3e0b87aHvrHWPyMu8i2rzztY9+aiHqsrId14Nj5eubV4/xj7v3CzNiK1PbnTAc1nZ8eqezdE0HqqVnoKBUhXiBSwAEAeAwECQ0swEXBAwTmCo2URgTMpAQNyaBFDwBACOsSx4chbiX7NAGbJwsFgWqwStPIHFu7lRw04Cp96OrhV0F4FjIEjcRdDGEwSLVhJWTKmUkhNCaT63U5slgq0gqPaVUNTMKswfFSu2lAC+FBLEXEzzhgpA8CqAiagKuYKQzJdTSVfDmAoVRxjgHmHA8ChCxxFcg5gQXIvZFmC2J6LZ3FQlYirWnCWFCN+JF8Ib3pQm7FEFu3aY4jwQTHR/IEt2N/Jkd6NIdveqim3uRpXsbtTJ7kaT7O7VRNLdrSF8NzUzC2d9ubu8KLvFAYZQ97fLCLgGZgTdUhlho+aM8OcgnoN0r7l11Tjcx/W7Mj9WdjoDnYe6eDkS9T+tn/GHprZrCnsaOjuu/phzen4B", file_map: { "19": { source: `// Exposed only for usage in \`std::meta\`
1156
+ pub(crate) mod poseidon2;
1157
+
1158
+ use crate::default::Default;
1159
+ use crate::embedded_curve_ops::{
1160
+ EmbeddedCurvePoint, EmbeddedCurveScalar, multi_scalar_mul, multi_scalar_mul_array_return,
1161
+ };
1162
+ use crate::meta::derive_via;
1163
+
1164
+ #[foreign(sha256_compression)]
1165
+ // docs:start:sha256_compression
1166
+ pub fn sha256_compression(input: [u32; 16], state: [u32; 8]) -> [u32; 8] {}
1167
+ // docs:end:sha256_compression
1168
+
1169
+ #[foreign(keccakf1600)]
1170
+ // docs:start:keccakf1600
1171
+ pub fn keccakf1600(input: [u64; 25]) -> [u64; 25] {}
1172
+ // docs:end:keccakf1600
1173
+
1174
+ pub mod keccak {
1175
+ #[deprecated("This function has been moved to std::hash::keccakf1600")]
1176
+ pub fn keccakf1600(input: [u64; 25]) -> [u64; 25] {
1177
+ super::keccakf1600(input)
1178
+ }
1179
+ }
1180
+
1181
+ #[foreign(blake2s)]
1182
+ // docs:start:blake2s
1183
+ pub fn blake2s<let N: u32>(input: [u8; N]) -> [u8; 32]
1184
+ // docs:end:blake2s
1185
+ {}
1186
+
1187
+ // docs:start:blake3
1188
+ pub fn blake3<let N: u32>(input: [u8; N]) -> [u8; 32]
1189
+ // docs:end:blake3
1190
+ {
1191
+ if crate::runtime::is_unconstrained() {
1192
+ // Temporary measure while Barretenberg is main proving system.
1193
+ // Please open an issue if you're working on another proving system and running into problems due to this.
1194
+ crate::static_assert(
1195
+ N <= 1024,
1196
+ "Barretenberg cannot prove blake3 hashes with inputs larger than 1024 bytes",
1197
+ );
1198
+ }
1199
+ __blake3(input)
1200
+ }
1201
+
1202
+ #[foreign(blake3)]
1203
+ fn __blake3<let N: u32>(input: [u8; N]) -> [u8; 32] {}
1204
+
1205
+ // docs:start:pedersen_commitment
1206
+ pub fn pedersen_commitment<let N: u32>(input: [Field; N]) -> EmbeddedCurvePoint {
1207
+ // docs:end:pedersen_commitment
1208
+ pedersen_commitment_with_separator(input, 0)
1209
+ }
1210
+
1211
+ #[inline_always]
1212
+ pub fn pedersen_commitment_with_separator<let N: u32>(
1213
+ input: [Field; N],
1214
+ separator: u32,
1215
+ ) -> EmbeddedCurvePoint {
1216
+ let mut points = [EmbeddedCurveScalar { lo: 0, hi: 0 }; N];
1217
+ for i in 0..N {
1218
+ // we use the unsafe version because the multi_scalar_mul will constrain the scalars.
1219
+ points[i] = from_field_unsafe(input[i]);
1220
+ }
1221
+ let generators = derive_generators("DEFAULT_DOMAIN_SEPARATOR".as_bytes(), separator);
1222
+ multi_scalar_mul(generators, points)
1223
+ }
1224
+
1225
+ // docs:start:pedersen_hash
1226
+ pub fn pedersen_hash<let N: u32>(input: [Field; N]) -> Field
1227
+ // docs:end:pedersen_hash
1228
+ {
1229
+ pedersen_hash_with_separator(input, 0)
1230
+ }
1231
+
1232
+ #[no_predicates]
1233
+ pub fn pedersen_hash_with_separator<let N: u32>(input: [Field; N], separator: u32) -> Field {
1234
+ let mut scalars: [EmbeddedCurveScalar; N + 1] = [EmbeddedCurveScalar { lo: 0, hi: 0 }; N + 1];
1235
+ let mut generators: [EmbeddedCurvePoint; N + 1] =
1236
+ [EmbeddedCurvePoint::point_at_infinity(); N + 1];
1237
+ let domain_generators: [EmbeddedCurvePoint; N] =
1238
+ derive_generators("DEFAULT_DOMAIN_SEPARATOR".as_bytes(), separator);
1239
+
1240
+ for i in 0..N {
1241
+ scalars[i] = from_field_unsafe(input[i]);
1242
+ generators[i] = domain_generators[i];
1243
+ }
1244
+ scalars[N] = EmbeddedCurveScalar { lo: N as Field, hi: 0 as Field };
1245
+
1246
+ let length_generator: [EmbeddedCurvePoint; 1] =
1247
+ derive_generators("pedersen_hash_length".as_bytes(), 0);
1248
+ generators[N] = length_generator[0];
1249
+ multi_scalar_mul_array_return(generators, scalars, true)[0].x
1250
+ }
1251
+
1252
+ #[field(bn254)]
1253
+ #[inline_always]
1254
+ pub fn derive_generators<let N: u32, let M: u32>(
1255
+ domain_separator_bytes: [u8; M],
1256
+ starting_index: u32,
1257
+ ) -> [EmbeddedCurvePoint; N] {
1258
+ crate::assert_constant(domain_separator_bytes);
1259
+ // TODO(https://github.com/noir-lang/noir/issues/5672): Add back assert_constant on starting_index
1260
+ __derive_generators(domain_separator_bytes, starting_index)
1261
+ }
1262
+
1263
+ #[builtin(derive_pedersen_generators)]
1264
+ #[field(bn254)]
1265
+ fn __derive_generators<let N: u32, let M: u32>(
1266
+ domain_separator_bytes: [u8; M],
1267
+ starting_index: u32,
1268
+ ) -> [EmbeddedCurvePoint; N] {}
1269
+
1270
+ #[field(bn254)]
1271
+ // Decompose the input 'bn254 scalar' into two 128 bits limbs.
1272
+ // It is called 'unsafe' because it does not assert the limbs are 128 bits
1273
+ // Assuming the limbs are 128 bits:
1274
+ // Assert the decomposition does not overflow the field size.
1275
+ fn from_field_unsafe(scalar: Field) -> EmbeddedCurveScalar {
1276
+ // Safety: xlo and xhi decomposition is checked below
1277
+ let (xlo, xhi) = unsafe { crate::field::bn254::decompose_hint(scalar) };
1278
+ // Check that the decomposition is correct
1279
+ assert_eq(scalar, xlo + crate::field::bn254::TWO_POW_128 * xhi);
1280
+ // Check that the decomposition does not overflow the field size
1281
+ let (a, b) = if xhi == crate::field::bn254::PHI {
1282
+ (xlo, crate::field::bn254::PLO)
1283
+ } else {
1284
+ (xhi, crate::field::bn254::PHI)
1285
+ };
1286
+ crate::field::bn254::assert_lt(a, b);
1287
+
1288
+ EmbeddedCurveScalar { lo: xlo, hi: xhi }
1289
+ }
1290
+
1291
+ pub fn poseidon2_permutation<let N: u32>(input: [Field; N], state_len: u32) -> [Field; N] {
1292
+ assert_eq(input.len(), state_len);
1293
+ poseidon2_permutation_internal(input)
1294
+ }
1295
+
1296
+ #[foreign(poseidon2_permutation)]
1297
+ fn poseidon2_permutation_internal<let N: u32>(input: [Field; N]) -> [Field; N] {}
1298
+
1299
+ // Generic hashing support.
1300
+ // Partially ported and impacted by rust.
1301
+
1302
+ // Hash trait shall be implemented per type.
1303
+ #[derive_via(derive_hash)]
1304
+ pub trait Hash {
1305
+ fn hash<H>(self, state: &mut H)
1306
+ where
1307
+ H: Hasher;
1308
+ }
1309
+
1310
+ // docs:start:derive_hash
1311
+ comptime fn derive_hash(s: TypeDefinition) -> Quoted {
1312
+ let name = quote { $crate::hash::Hash };
1313
+ let signature = quote { fn hash<H>(_self: Self, _state: &mut H) where H: $crate::hash::Hasher };
1314
+ let for_each_field = |name| quote { _self.$name.hash(_state); };
1315
+ crate::meta::make_trait_impl(
1316
+ s,
1317
+ name,
1318
+ signature,
1319
+ for_each_field,
1320
+ quote {},
1321
+ |fields| fields,
1322
+ )
1323
+ }
1324
+ // docs:end:derive_hash
1325
+
1326
+ // Hasher trait shall be implemented by algorithms to provide hash-agnostic means.
1327
+ // TODO: consider making the types generic here ([u8], [Field], etc.)
1328
+ pub trait Hasher {
1329
+ fn finish(self) -> Field;
1330
+
1331
+ fn write(&mut self, input: Field);
1332
+ }
1333
+
1334
+ // BuildHasher is a factory trait, responsible for production of specific Hasher.
1335
+ pub trait BuildHasher {
1336
+ type H: Hasher;
1337
+
1338
+ fn build_hasher(self) -> H;
1339
+ }
1340
+
1341
+ pub struct BuildHasherDefault<H>;
1342
+
1343
+ impl<H> BuildHasher for BuildHasherDefault<H>
1344
+ where
1345
+ H: Hasher + Default,
1346
+ {
1347
+ type H = H;
1348
+
1349
+ fn build_hasher(_self: Self) -> H {
1350
+ H::default()
1351
+ }
1352
+ }
1353
+
1354
+ impl<H> Default for BuildHasherDefault<H>
1355
+ where
1356
+ H: Hasher + Default,
1357
+ {
1358
+ fn default() -> Self {
1359
+ BuildHasherDefault {}
1360
+ }
1361
+ }
1362
+
1363
+ impl Hash for Field {
1364
+ fn hash<H>(self, state: &mut H)
1365
+ where
1366
+ H: Hasher,
1367
+ {
1368
+ H::write(state, self);
1369
+ }
1370
+ }
1371
+
1372
+ impl Hash for u1 {
1373
+ fn hash<H>(self, state: &mut H)
1374
+ where
1375
+ H: Hasher,
1376
+ {
1377
+ H::write(state, self as Field);
1378
+ }
1379
+ }
1380
+
1381
+ impl Hash for u8 {
1382
+ fn hash<H>(self, state: &mut H)
1383
+ where
1384
+ H: Hasher,
1385
+ {
1386
+ H::write(state, self as Field);
1387
+ }
1388
+ }
1389
+
1390
+ impl Hash for u16 {
1391
+ fn hash<H>(self, state: &mut H)
1392
+ where
1393
+ H: Hasher,
1394
+ {
1395
+ H::write(state, self as Field);
1396
+ }
1397
+ }
1398
+
1399
+ impl Hash for u32 {
1400
+ fn hash<H>(self, state: &mut H)
1401
+ where
1402
+ H: Hasher,
1403
+ {
1404
+ H::write(state, self as Field);
1405
+ }
1406
+ }
1407
+
1408
+ impl Hash for u64 {
1409
+ fn hash<H>(self, state: &mut H)
1410
+ where
1411
+ H: Hasher,
1412
+ {
1413
+ H::write(state, self as Field);
1414
+ }
1415
+ }
1416
+
1417
+ impl Hash for u128 {
1418
+ fn hash<H>(self, state: &mut H)
1419
+ where
1420
+ H: Hasher,
1421
+ {
1422
+ H::write(state, self as Field);
1423
+ }
1424
+ }
1425
+
1426
+ impl Hash for i8 {
1427
+ fn hash<H>(self, state: &mut H)
1428
+ where
1429
+ H: Hasher,
1430
+ {
1431
+ H::write(state, self as u8 as Field);
1432
+ }
1433
+ }
1434
+
1435
+ impl Hash for i16 {
1436
+ fn hash<H>(self, state: &mut H)
1437
+ where
1438
+ H: Hasher,
1439
+ {
1440
+ H::write(state, self as u16 as Field);
1441
+ }
1442
+ }
1443
+
1444
+ impl Hash for i32 {
1445
+ fn hash<H>(self, state: &mut H)
1446
+ where
1447
+ H: Hasher,
1448
+ {
1449
+ H::write(state, self as u32 as Field);
1450
+ }
1451
+ }
1452
+
1453
+ impl Hash for i64 {
1454
+ fn hash<H>(self, state: &mut H)
1455
+ where
1456
+ H: Hasher,
1457
+ {
1458
+ H::write(state, self as u64 as Field);
1459
+ }
1460
+ }
1461
+
1462
+ impl Hash for bool {
1463
+ fn hash<H>(self, state: &mut H)
1464
+ where
1465
+ H: Hasher,
1466
+ {
1467
+ H::write(state, self as Field);
1468
+ }
1469
+ }
1470
+
1471
+ impl Hash for () {
1472
+ fn hash<H>(_self: Self, _state: &mut H)
1473
+ where
1474
+ H: Hasher,
1475
+ {}
1476
+ }
1477
+
1478
+ impl<T, let N: u32> Hash for [T; N]
1479
+ where
1480
+ T: Hash,
1481
+ {
1482
+ fn hash<H>(self, state: &mut H)
1483
+ where
1484
+ H: Hasher,
1485
+ {
1486
+ for elem in self {
1487
+ elem.hash(state);
1488
+ }
1489
+ }
1490
+ }
1491
+
1492
+ impl<T> Hash for [T]
1493
+ where
1494
+ T: Hash,
1495
+ {
1496
+ fn hash<H>(self, state: &mut H)
1497
+ where
1498
+ H: Hasher,
1499
+ {
1500
+ self.len().hash(state);
1501
+ for elem in self {
1502
+ elem.hash(state);
1503
+ }
1504
+ }
1505
+ }
1506
+
1507
+ impl<A, B> Hash for (A, B)
1508
+ where
1509
+ A: Hash,
1510
+ B: Hash,
1511
+ {
1512
+ fn hash<H>(self, state: &mut H)
1513
+ where
1514
+ H: Hasher,
1515
+ {
1516
+ self.0.hash(state);
1517
+ self.1.hash(state);
1518
+ }
1519
+ }
1520
+
1521
+ impl<A, B, C> Hash for (A, B, C)
1522
+ where
1523
+ A: Hash,
1524
+ B: Hash,
1525
+ C: Hash,
1526
+ {
1527
+ fn hash<H>(self, state: &mut H)
1528
+ where
1529
+ H: Hasher,
1530
+ {
1531
+ self.0.hash(state);
1532
+ self.1.hash(state);
1533
+ self.2.hash(state);
1534
+ }
1535
+ }
1536
+
1537
+ impl<A, B, C, D> Hash for (A, B, C, D)
1538
+ where
1539
+ A: Hash,
1540
+ B: Hash,
1541
+ C: Hash,
1542
+ D: Hash,
1543
+ {
1544
+ fn hash<H>(self, state: &mut H)
1545
+ where
1546
+ H: Hasher,
1547
+ {
1548
+ self.0.hash(state);
1549
+ self.1.hash(state);
1550
+ self.2.hash(state);
1551
+ self.3.hash(state);
1552
+ }
1553
+ }
1554
+
1555
+ impl<A, B, C, D, E> Hash for (A, B, C, D, E)
1556
+ where
1557
+ A: Hash,
1558
+ B: Hash,
1559
+ C: Hash,
1560
+ D: Hash,
1561
+ E: Hash,
1562
+ {
1563
+ fn hash<H>(self, state: &mut H)
1564
+ where
1565
+ H: Hasher,
1566
+ {
1567
+ self.0.hash(state);
1568
+ self.1.hash(state);
1569
+ self.2.hash(state);
1570
+ self.3.hash(state);
1571
+ self.4.hash(state);
1572
+ }
1573
+ }
1574
+
1575
+ // Some test vectors for Pedersen hash and Pedersen Commitment.
1576
+ // They have been generated using the same functions so the tests are for now useless
1577
+ // but they will be useful when we switch to Noir implementation.
1578
+ #[test]
1579
+ fn assert_pedersen() {
1580
+ assert_eq(
1581
+ pedersen_hash_with_separator([1], 1),
1582
+ 0x1b3f4b1a83092a13d8d1a59f7acb62aba15e7002f4440f2275edb99ebbc2305f,
1583
+ );
1584
+ assert_eq(
1585
+ pedersen_commitment_with_separator([1], 1),
1586
+ EmbeddedCurvePoint {
1587
+ x: 0x054aa86a73cb8a34525e5bbed6e43ba1198e860f5f3950268f71df4591bde402,
1588
+ y: 0x209dcfbf2cfb57f9f6046f44d71ac6faf87254afc7407c04eb621a6287cac126,
1589
+ is_infinite: false,
1590
+ },
1591
+ );
1592
+
1593
+ assert_eq(
1594
+ pedersen_hash_with_separator([1, 2], 2),
1595
+ 0x26691c129448e9ace0c66d11f0a16d9014a9e8498ee78f4d69f0083168188255,
1596
+ );
1597
+ assert_eq(
1598
+ pedersen_commitment_with_separator([1, 2], 2),
1599
+ EmbeddedCurvePoint {
1600
+ x: 0x2e2b3b191e49541fe468ec6877721d445dcaffe41728df0a0eafeb15e87b0753,
1601
+ y: 0x2ff4482400ad3a6228be17a2af33e2bcdf41be04795f9782bd96efe7e24f8778,
1602
+ is_infinite: false,
1603
+ },
1604
+ );
1605
+ assert_eq(
1606
+ pedersen_hash_with_separator([1, 2, 3], 3),
1607
+ 0x0bc694b7a1f8d10d2d8987d07433f26bd616a2d351bc79a3c540d85b6206dbe4,
1608
+ );
1609
+ assert_eq(
1610
+ pedersen_commitment_with_separator([1, 2, 3], 3),
1611
+ EmbeddedCurvePoint {
1612
+ x: 0x1fee4e8cf8d2f527caa2684236b07c4b1bad7342c01b0f75e9a877a71827dc85,
1613
+ y: 0x2f9fedb9a090697ab69bf04c8bc15f7385b3e4b68c849c1536e5ae15ff138fd1,
1614
+ is_infinite: false,
1615
+ },
1616
+ );
1617
+ assert_eq(
1618
+ pedersen_hash_with_separator([1, 2, 3, 4], 4),
1619
+ 0xdae10fb32a8408521803905981a2b300d6a35e40e798743e9322b223a5eddc,
1620
+ );
1621
+ assert_eq(
1622
+ pedersen_commitment_with_separator([1, 2, 3, 4], 4),
1623
+ EmbeddedCurvePoint {
1624
+ x: 0x07ae3e202811e1fca39c2d81eabe6f79183978e6f12be0d3b8eda095b79bdbc9,
1625
+ y: 0x0afc6f892593db6fbba60f2da558517e279e0ae04f95758587760ba193145014,
1626
+ is_infinite: false,
1627
+ },
1628
+ );
1629
+ assert_eq(
1630
+ pedersen_hash_with_separator([1, 2, 3, 4, 5], 5),
1631
+ 0xfc375b062c4f4f0150f7100dfb8d9b72a6d28582dd9512390b0497cdad9c22,
1632
+ );
1633
+ assert_eq(
1634
+ pedersen_commitment_with_separator([1, 2, 3, 4, 5], 5),
1635
+ EmbeddedCurvePoint {
1636
+ x: 0x1754b12bd475a6984a1094b5109eeca9838f4f81ac89c5f0a41dbce53189bb29,
1637
+ y: 0x2da030e3cfcdc7ddad80eaf2599df6692cae0717d4e9f7bfbee8d073d5d278f7,
1638
+ is_infinite: false,
1639
+ },
1640
+ );
1641
+ assert_eq(
1642
+ pedersen_hash_with_separator([1, 2, 3, 4, 5, 6], 6),
1643
+ 0x1696ed13dc2730062a98ac9d8f9de0661bb98829c7582f699d0273b18c86a572,
1644
+ );
1645
+ assert_eq(
1646
+ pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6], 6),
1647
+ EmbeddedCurvePoint {
1648
+ x: 0x190f6c0e97ad83e1e28da22a98aae156da083c5a4100e929b77e750d3106a697,
1649
+ y: 0x1f4b60f34ef91221a0b49756fa0705da93311a61af73d37a0c458877706616fb,
1650
+ is_infinite: false,
1651
+ },
1652
+ );
1653
+ assert_eq(
1654
+ pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7], 7),
1655
+ 0x128c0ff144fc66b6cb60eeac8a38e23da52992fc427b92397a7dffd71c45ede3,
1656
+ );
1657
+ assert_eq(
1658
+ pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7], 7),
1659
+ EmbeddedCurvePoint {
1660
+ x: 0x015441e9d29491b06563fac16fc76abf7a9534c715421d0de85d20dbe2965939,
1661
+ y: 0x1d2575b0276f4e9087e6e07c2cb75aa1baafad127af4be5918ef8a2ef2fea8fc,
1662
+ is_infinite: false,
1663
+ },
1664
+ );
1665
+ assert_eq(
1666
+ pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8], 8),
1667
+ 0x2f960e117482044dfc99d12fece2ef6862fba9242be4846c7c9a3e854325a55c,
1668
+ );
1669
+ assert_eq(
1670
+ pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8], 8),
1671
+ EmbeddedCurvePoint {
1672
+ x: 0x1657737676968887fceb6dd516382ea13b3a2c557f509811cd86d5d1199bc443,
1673
+ y: 0x1f39f0cb569040105fa1e2f156521e8b8e08261e635a2b210bdc94e8d6d65f77,
1674
+ is_infinite: false,
1675
+ },
1676
+ );
1677
+ assert_eq(
1678
+ pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9], 9),
1679
+ 0x0c96db0790602dcb166cc4699e2d306c479a76926b81c2cb2aaa92d249ec7be7,
1680
+ );
1681
+ assert_eq(
1682
+ pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9], 9),
1683
+ EmbeddedCurvePoint {
1684
+ x: 0x0a3ceae42d14914a432aa60ec7fded4af7dad7dd4acdbf2908452675ec67e06d,
1685
+ y: 0xfc19761eaaf621ad4aec9a8b2e84a4eceffdba78f60f8b9391b0bd9345a2f2,
1686
+ is_infinite: false,
1687
+ },
1688
+ );
1689
+ assert_eq(
1690
+ pedersen_hash_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10),
1691
+ 0x2cd37505871bc460a62ea1e63c7fe51149df5d0801302cf1cbc48beb8dff7e94,
1692
+ );
1693
+ assert_eq(
1694
+ pedersen_commitment_with_separator([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 10),
1695
+ EmbeddedCurvePoint {
1696
+ x: 0x2fb3f8b3d41ddde007c8c3c62550f9a9380ee546fcc639ffbb3fd30c8d8de30c,
1697
+ y: 0x300783be23c446b11a4c0fabf6c91af148937cea15fcf5fb054abf7f752ee245,
1698
+ is_infinite: false,
1699
+ },
1700
+ );
1701
+ }
1702
+ `, path: "std/hash/mod.nr" }, "22": { source: 'pub mod hash;\npub mod aes128;\npub mod array;\npub mod slice;\npub mod ecdsa_secp256k1;\npub mod ecdsa_secp256r1;\npub mod embedded_curve_ops;\npub mod field;\npub mod collections;\npub mod compat;\npub mod convert;\npub mod option;\npub mod string;\npub mod test;\npub mod cmp;\npub mod ops;\npub mod default;\npub mod prelude;\npub mod runtime;\npub mod meta;\npub mod append;\npub mod mem;\npub mod panic;\npub mod hint;\n\nmod primitive_docs;\n\nuse convert::AsPrimitive;\n\n// Oracle calls are required to be wrapped in an unconstrained function\n// Thus, the only argument to the `println` oracle is expected to always be an ident\n#[oracle(print)]\nunconstrained fn print_oracle<T>(with_newline: bool, input: T) {}\n\nunconstrained fn print_unconstrained<T>(with_newline: bool, input: T) {\n print_oracle(with_newline, input);\n}\n\npub fn println<T>(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(true, input);\n }\n}\n\npub fn print<T>(input: T) {\n // Safety: a print statement cannot be constrained\n unsafe {\n print_unconstrained(false, input);\n }\n}\n\n/// Asserts the validity of the provided proof and public inputs against the provided verification key and hash.\n///\n/// The ACVM cannot determine whether the provided proof is valid during execution as this requires knowledge of\n/// the backend against which the program is being proven. However if an invalid proof if submitted, the program may\n/// fail to prove or the backend may generate a proof which will subsequently fail to verify.\n///\n/// # Important Note\n///\n/// If you are not developing your own backend such as [Barretenberg](https://github.com/AztecProtocol/barretenberg)\n/// you probably shouldn\'t need to interact with this function directly. It\'s easier and safer to use a verification\n/// library which is published by the developers of the backend which will document or enforce any safety requirements.\n///\n/// If you use this directly, you\'re liable to introduce underconstrainedness bugs and *your circuit will be insecure*.\n///\n/// # Arguments\n/// - verification_key: The verification key of the circuit to be verified.\n/// - proof: The proof to be verified.\n/// - public_inputs: The public inputs associated with `proof`\n/// - key_hash: The hash of `verification_key` of the form expected by the backend.\n/// - proof_type: An identifier for the proving scheme used to generate the proof to be verified. This allows\n/// for a single backend to support verifying multiple proving schemes.\n///\n/// # Constraining `key_hash`\n///\n/// The Noir compiler does not by itself constrain that `key_hash` is a valid hash of `verification_key`.\n/// This is because different backends may differ in how they hash their verification keys.\n/// It is then the responsibility of either the noir developer (by explicitly hashing the verification key\n/// in the correct manner) or by the proving system itself internally asserting the correctness of `key_hash`.\npub fn verify_proof_with_type<let N: u32, let M: u32, let K: u32>(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {\n if !crate::runtime::is_unconstrained() {\n crate::assert_constant(proof_type);\n }\n verify_proof_internal(verification_key, proof, public_inputs, key_hash, proof_type);\n}\n\n#[foreign(recursive_aggregation)]\nfn verify_proof_internal<let N: u32, let M: u32, let K: u32>(\n verification_key: [Field; N],\n proof: [Field; M],\n public_inputs: [Field; K],\n key_hash: Field,\n proof_type: u32,\n) {}\n\n// Asserts that the given value is known at compile-time.\n// Useful for debugging for-loop bounds.\n#[builtin(assert_constant)]\npub fn assert_constant<T>(x: T) {}\n\n// Asserts that the given value is both true and known at compile-time.\n// The message can be a string, a format string, or any value, as long as it is known at compile-time\n#[builtin(static_assert)]\npub fn static_assert<T>(predicate: bool, message: T) {}\n\n#[deprecated("wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_add(y)")]\npub fn wrapping_add<T>(x: T, y: T) -> T\nwhere\n T: AsPrimitive<Field>,\n Field: AsPrimitive<T>,\n{\n AsPrimitive::as_(x.as_() + y.as_())\n}\n#[deprecated("wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_sub(y)")]\npub fn wrapping_sub<T>(x: T, y: T) -> T\nwhere\n T: AsPrimitive<Field>,\n Field: AsPrimitive<T>,\n{\n //340282366920938463463374607431768211456 is 2^128, it is used to avoid underflow\n AsPrimitive::as_(x.as_() + 340282366920938463463374607431768211456 - y.as_())\n}\n#[deprecated("wrapping operations should be done with the Wrapping traits. E.g: x.wrapping_mul(y)")]\npub fn wrapping_mul<T>(x: T, y: T) -> T\nwhere\n T: AsPrimitive<Field>,\n Field: AsPrimitive<T>,\n{\n AsPrimitive::as_(x.as_() * y.as_())\n}\n\n#[builtin(as_witness)]\npub fn as_witness(x: Field) {}\n', path: "std/lib.nr" }, "51": { source: "// SPDX-License-Identifier: LGPL-3.0-only\n//\n// This file is provided WITHOUT ANY WARRANTY;\n// without even the implied warranty of MERCHANTABILITY\n// or FITNESS FOR A PARTICULAR PURPOSE.\n\nuse bb_proof_verification::{UltraHonkProof, UltraHonkVerificationKey, verify_honk_proof_non_zk};\nuse lib::math::commitments::{compute_commitment, DS_CIPHERTEXT, DS_PK_AGGREGATION};\n\nfn main(\n // P3: ct0 inner proof.\n ct0_verification_key: UltraHonkVerificationKey,\n ct0_proof: UltraHonkProof,\n ct0_public_inputs: [Field; 4], // pk0_commitment, ct0_commitment, k1_commitment, u_commitment\n ct0_key_hash: pub Field,\n // P3: ct1 inner proof.\n ct1_verification_key: UltraHonkVerificationKey,\n ct1_proof: UltraHonkProof,\n ct1_public_inputs: [Field; 3], // pk1_commitment, ct1_commitment, u_commitment\n ct1_key_hash: pub Field,\n) -> pub (Field, Field, Field) {\n verify_honk_proof_non_zk(\n ct0_verification_key,\n ct0_proof,\n ct0_public_inputs,\n ct0_key_hash,\n );\n verify_honk_proof_non_zk(\n ct1_verification_key,\n ct1_proof,\n ct1_public_inputs,\n ct1_key_hash,\n );\n\n // Verify that the u_commitment from the ct0 proof is the same as the u_commitment from the ct1 proof.\n assert(ct0_public_inputs[3] == ct1_public_inputs[2]);\n\n // Compute the ct commitment.\n let mut ct_inputs = Vec::new();\n ct_inputs.push(ct0_public_inputs[1]);\n ct_inputs.push(ct1_public_inputs[1]);\n let ct_commitment = compute_commitment(ct_inputs, DS_CIPHERTEXT);\n\n // Threshold PK aggregation commitment (pk0 and pk1 limbs).\n let mut pk_inputs = Vec::new();\n pk_inputs.push(ct0_public_inputs[0]);\n pk_inputs.push(ct1_public_inputs[0]);\n let pk_commitment = compute_commitment(pk_inputs, DS_PK_AGGREGATION);\n\n let k1_commitment = ct0_public_inputs[2];\n\n (pk_commitment, ct_commitment, k1_commitment)\n}\n", path: "interfold/circuits/bin/threshold/user_data_encryption/src/main.nr" }, "52": { source: '// Constants for UltraHonk recursive verifier inputs\npub global PROOF_TYPE_HONK: u32 = 0; // identifier for UltraHonk verfier\npub global RECURSIVE_PROOF_LENGTH: u32 = 457;\npub global ULTRA_VK_LENGTH_IN_FIELDS: u32 = 115;\n\npub type UltraHonkProof = [Field; RECURSIVE_PROOF_LENGTH];\npub type UltraHonkVerificationKey = [Field; ULTRA_VK_LENGTH_IN_FIELDS];\n\n// Constants for Rollup-UltraHonk recursive verifier inputs (N.B. this is equivalent to UH plus IPA claim and proof)\npub global PROOF_TYPE_ROLLUP_HONK: u32 = 4; // identifier for rollup-UltraHonk verfier\npub global IPA_CLAIM_SIZE: u32 = 10;\npub global IPA_PROOF_LENGTH: u32 = 64;\npub global RECURSIVE_ROLLUP_HONK_PROOF_LENGTH: u32 =\n RECURSIVE_PROOF_LENGTH + IPA_CLAIM_SIZE + IPA_PROOF_LENGTH;\n\npub type RollupHonkProof = [Field; RECURSIVE_ROLLUP_HONK_PROOF_LENGTH];\npub type RollupHonkVerificationKey = [Field; ULTRA_VK_LENGTH_IN_FIELDS];\n\npub global PROOF_TYPE_HONK_ZK: u32 = 6; // identifier for UltraHonk ZK verfier\npub global RECURSIVE_ZK_PROOF_LENGTH: u32 = 492 + 16;\n\npub type UltraHonkZKProof = [Field; RECURSIVE_ZK_PROOF_LENGTH];\n\n// Verifies a non-zero-knowledge UltraHonk proof.\n//\n// Represents standard UltraHonk recursive verification for proofs that do not hide the witness.\n// Use this only in situations where zero-knowledge is not required.\npub fn verify_honk_proof_non_zk<let N: u32>(\n verification_key: UltraHonkVerificationKey,\n proof: UltraHonkProof,\n public_inputs: [Field; N],\n key_hash: Field, // Hash of the verification key\n) {\n std::verify_proof_with_type(\n verification_key,\n proof,\n public_inputs,\n key_hash,\n PROOF_TYPE_HONK,\n );\n}\n\n// Verifies a non-zero-knowledge Rollup UltraHonk proof with IPA (Inner Product Argument).\n//\n// This variant includes an IPA claim and proof appended to the standard UltraHonk proof,\n// used to amortize IPA recursive verification costs in rollup circuits.\npub fn verify_rolluphonk_proof<let N: u32>(\n verification_key: RollupHonkVerificationKey,\n proof: RollupHonkProof,\n public_inputs: [Field; N],\n key_hash: Field, // Hash of the verification key\n) {\n std::verify_proof_with_type(\n verification_key,\n proof,\n public_inputs,\n key_hash,\n PROOF_TYPE_ROLLUP_HONK,\n );\n}\n\n// Verifies a zero-knowledge UltraHonk proof.\n//\n// This verifier is for UltraHonk proofs constructed with zero-knowledge, which hide the witness\n// values from the verifier.\n// Note: We intentionally choose the generic name "verify_honk_proof" for this function, as we \n// want ZK to be the default unless the user explicitly opts out.\npub fn verify_honk_proof<let N: u32>(\n verification_key: UltraHonkVerificationKey,\n proof: UltraHonkZKProof,\n public_inputs: [Field; N],\n key_hash: Field, // Hash of the verification key\n) {\n std::verify_proof_with_type(\n verification_key,\n proof,\n public_inputs,\n key_hash,\n PROOF_TYPE_HONK_ZK,\n );\n}\n', path: "/Users/ctrlc03/nargo/github.com/AztecProtocol/aztec-packages/v3.0.0-nightly.20260102/barretenberg/noir/bb_proof_verification/src/lib.nr" }, "89": { source: '// SPDX-License-Identifier: LGPL-3.0-only\n//\n// This file is provided WITHOUT ANY WARRANTY;\n// without even the implied warranty of MERCHANTABILITY\n// or FITNESS FOR A PARTICULAR PURPOSE.\n\nuse crate::math::helpers::{compute_safe, flatten};\nuse crate::math::polynomial::Polynomial;\n\n/// DOMAIN SEPARATORS\n\n// Domain separator - "PK"\npub global DS_PK: [u8; 64] = [\n 0x50, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "PK_GENERATION"\npub global DS_PK_GENERATION: [u8; 64] = [\n 0x50, 0x4b, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "SHARE_COMPUTATION"\npub global DS_SHARE_COMPUTATION: [u8; 64] = [\n 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x55, 0x54, 0x41, 0x54, 0x49, 0x4f,\n 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "SHARE_ENCRYPTION"\npub global DS_SHARE_ENCRYPTION: [u8; 64] = [\n 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "PK_AGGREGATION"\npub global DS_PK_AGGREGATION: [u8; 64] = [\n 0x50, 0x4b, 0x5f, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "CIPHERTEXT"\npub global DS_CIPHERTEXT: [u8; 64] = [\n 0x43, 0x49, 0x50, 0x48, 0x45, 0x52, 0x54, 0x45, 0x58, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "AGGREGATED_SHARES"\npub global DS_AGGREGATED_SHARES: [u8; 64] = [\n 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45,\n 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "VK_HASH"\npub global DS_VK_HASH: [u8; 64] = [\n 0x56, 0x4b, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "RECURSIVE_AGGREGATION"\npub global DS_RECURSIVE_AGGREGATION: [u8; 64] = [\n 0x52, 0x45, 0x43, 0x55, 0x52, 0x53, 0x49, 0x56, 0x45, 0x5f, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47,\n 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "CLG_PK_GENERATION"\npub global DS_CLG_PK_GENERATION: [u8; 64] = [\n 0x43, 0x4c, 0x47, 0x5f, 0x50, 0x4b, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f,\n 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "CLG_SHARE_ENCRYPTION"\npub global DS_CLG_SHARE_ENCRYPTION: [u8; 64] = [\n 0x43, 0x4c, 0x47, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50,\n 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "CLG_USER_DATA_ENCRYPTION"\npub global DS_CLG_USER_DATA_ENCRYPTION: [u8; 64] = [\n 0x43, 0x4c, 0x47, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x4e,\n 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n// Domain separator - "CLG_SHARE_DECRYPTION"\npub global DS_CLG_SHARE_DECRYPTION: [u8; 64] = [\n 0x43, 0x4c, 0x47, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x44, 0x45, 0x43, 0x52, 0x59, 0x50,\n 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n\n// Domain separator - "THRESHOLD_DECRYPTION_SHARE"\npub global DS_THRESHOLD_DECRYPTION_SHARE: [u8; 64] = [\n 0x54, 0x48, 0x52, 0x45, 0x53, 0x48, 0x4f, 0x4c, 0x44, 0x5f, 0x44, 0x45, 0x43, 0x52, 0x59, 0x50,\n 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n\n// Domain separator - "USER_DATA_ENCRYPTION_COMMITMENT"\npub global DS_USER_DATA_ENCRYPTION_COMMITMENT: [u8; 64] = [\n 0x55, 0x53, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50,\n 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x4d, 0x45, 0x4e, 0x54, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n];\n\n/// WRAPPERS\n\npub fn compute_commitment(inputs: Vec<Field>, domain_separator: [u8; 64]) -> Field {\n compute_safe(domain_separator, inputs, [0x80000000 | inputs.len(), 1]).get(0)\n}\n\npub fn compute_single_polynomial_commitment<let N: u32, let BIT: u32>(\n polynomial: Polynomial<N>,\n domain_separator: [u8; 64],\n) -> Field {\n let mut payload = single_polynomial_payload::<N, BIT>(Vec::new(), polynomial);\n compute_commitment(payload, domain_separator)\n}\n\npub fn compute_multiple_polynomial_commitment<let N: u32, let L: u32, let BIT: u32>(\n polynomials: [Polynomial<N>; L],\n domain_separator: [u8; 64],\n) -> Field {\n let mut payload = multiple_polynomial_payload::<N, L, BIT>(Vec::new(), polynomials);\n compute_commitment(payload, domain_separator)\n}\n\npub fn compute_challenge<let L: u32>(inputs: Vec<Field>, domain_separator: [u8; 64]) -> Vec<Field> {\n compute_safe(domain_separator, inputs, [0x80000000 | inputs.len(), 2 * L])\n}\n\npub fn single_polynomial_payload<let N: u32, let BIT_POLY: u32>(\n payload: Vec<Field>,\n input: Polynomial<N>,\n) -> Vec<Field> {\n flatten::<_, _, BIT_POLY>(payload, [input])\n}\n\npub fn multiple_polynomial_payload<let N: u32, let L: u32, let BIT_POLY: u32>(\n payload: Vec<Field>,\n inputs: [Polynomial<N>; L],\n) -> Vec<Field> {\n flatten::<_, _, BIT_POLY>(payload, inputs)\n}\n\n/// COMMITMENTS\n\npub fn compute_dkg_pk_commitment<let N: u32, let L: u32, let BIT_PK: u32>(\n pk0: [Polynomial<N>; L],\n pk1: [Polynomial<N>; L],\n) -> Field {\n let mut payload = multiple_polynomial_payload::<N, L, BIT_PK>(Vec::new(), pk0);\n payload = multiple_polynomial_payload::<N, L, BIT_PK>(payload, pk1);\n\n compute_commitment(payload, DS_PK)\n}\n\npub fn compute_threshold_pk_commitment<let N: u32, let L: u32, let BIT_PK: u32>(\n pk0: [Polynomial<N>; L],\n) -> Field {\n let payload = multiple_polynomial_payload::<N, L, BIT_PK>(Vec::new(), pk0);\n compute_commitment(payload, DS_PK_GENERATION)\n}\n\npub fn compute_share_computation_sk_commitment<let N: u32, let BIT_SK: u32>(\n sk: Polynomial<N>,\n) -> Field {\n let mut payload = single_polynomial_payload::<N, BIT_SK>(Vec::new(), sk);\n compute_commitment(payload, DS_SHARE_COMPUTATION)\n}\n\npub fn compute_share_computation_e_sm_commitment<let N: u32, let L: u32, let BIT_E_SM: u32>(\n e_sm: [Polynomial<N>; L],\n) -> Field {\n let mut payload = multiple_polynomial_payload::<N, L, BIT_E_SM>(Vec::new(), e_sm);\n compute_commitment(payload, DS_SHARE_COMPUTATION)\n}\n\npub fn compute_share_encryption_commitment_from_message<let N: u32, let BIT_MSG: u32>(\n message: Polynomial<N>,\n) -> Field {\n let mut payload = single_polynomial_payload::<N, BIT_MSG>(Vec::new(), message);\n compute_commitment(payload, DS_SHARE_ENCRYPTION)\n}\n\npub fn compute_aggregated_shares_commitment<let N: u32, let L: u32, let BIT_MSG: u32>(\n agg_shares: [Polynomial<N>; L],\n) -> Field {\n let mut payload = multiple_polynomial_payload::<N, L, BIT_MSG>(Vec::new(), agg_shares);\n compute_commitment(payload, DS_AGGREGATED_SHARES)\n}\n\n/// Commitment to a threshold decryption share: all CRT limbs, first `K` coefficients per limb\n/// (same layout as `Polynomial<K>` in decrypted_shares_aggregation).\n///\n/// `NATIVE_BIT_WIDTH` must cover native coefficients in \\([0, q_l)\\) per limb (not centered `d` bounds).\npub fn compute_threshold_decryption_share_commitment<let K: u32, let L: u32, let NATIVE_BIT_WIDTH: u32>(\n d_share_limbs: [Polynomial<K>; L],\n) -> Field {\n let mut payload =\n multiple_polynomial_payload::<K, L, NATIVE_BIT_WIDTH>(Vec::new(), d_share_limbs);\n compute_commitment(payload, DS_THRESHOLD_DECRYPTION_SHARE)\n}\n\npub fn compute_pk_aggregation_commitment<let N: u32, let L: u32, let BIT_PK: u32>(\n pk0: [Polynomial<N>; L],\n pk1: [Polynomial<N>; L],\n) -> Field {\n let commit_pk0 = compute_multiple_polynomial_commitment::<N, L, BIT_PK>(pk0, DS_PK_AGGREGATION);\n let commit_pk1 = compute_multiple_polynomial_commitment::<N, L, BIT_PK>(pk1, DS_PK_AGGREGATION);\n\n let mut inputs = Vec::new();\n inputs.push(commit_pk0);\n inputs.push(commit_pk1);\n\n compute_commitment(inputs, DS_PK_AGGREGATION)\n}\n\npub fn compute_recursive_aggregation_commitment(payload: Vec<Field>) -> Field {\n compute_commitment(payload, DS_RECURSIVE_AGGREGATION)\n}\n\npub fn compute_vk_hash(vk_hashes: Vec<Field>) -> Field {\n compute_commitment(vk_hashes, DS_VK_HASH)\n}\n\npub fn compute_ciphertext_commitment<let N: u32, let L: u32, let BIT_CT: u32>(\n ct0: [Polynomial<N>; L],\n ct1: [Polynomial<N>; L],\n) -> Field {\n let commit_ct0 = compute_multiple_polynomial_commitment::<N, L, BIT_CT>(ct0, DS_CIPHERTEXT);\n let commit_ct1 = compute_multiple_polynomial_commitment::<N, L, BIT_CT>(ct1, DS_CIPHERTEXT);\n\n let mut inputs = Vec::new();\n inputs.push(commit_ct0);\n inputs.push(commit_ct1);\n\n compute_commitment(inputs, DS_CIPHERTEXT)\n}\n\n/// COMMITMENTS FOR CHALLENGES\n\npub fn compute_threshold_pk_challenge(payload: Vec<Field>) -> Field {\n compute_commitment(payload, DS_CLG_PK_GENERATION)\n}\n\npub fn compute_share_encryption_challenge<let L: u32>(payload: Vec<Field>) -> Vec<Field> {\n compute_challenge::<L>(payload, DS_CLG_SHARE_ENCRYPTION)\n}\n\npub fn compute_threshold_share_decryption_challenge<let L: u32>(payload: Vec<Field>) -> Field {\n compute_challenge::<L>(payload, DS_CLG_SHARE_DECRYPTION).get(0)\n}\n\npub fn compute_user_data_encryption_ct0_challenge<let L: u32>(payload: Vec<Field>) -> Vec<Field> {\n compute_challenge::<L>(payload, DS_CLG_USER_DATA_ENCRYPTION)\n}\n\npub fn compute_user_data_encryption_ct1_challenge<let L: u32>(payload: Vec<Field>) -> Vec<Field> {\n compute_challenge::<L>(payload, DS_CLG_USER_DATA_ENCRYPTION)\n}\n', path: "interfold/circuits/lib/src/math/commitments.nr" }, "91": { source: "// SPDX-License-Identifier: LGPL-3.0-only\n//\n// This file is provided WITHOUT ANY WARRANTY;\n// without even the implied warranty of MERCHANTABILITY\n// or FITNESS FOR A PARTICULAR PURPOSE.\n\n//! Helper functions for circuit construction and cryptographic operations.\nuse crate::math::polynomial::Polynomial;\nuse crate::math::safe::SafeSponge;\n\n/// Compute hex-aligned packing parameters for a given `BIT`.\n///\n/// # Purpose\n/// Returns `(nibble_bits, group)` for use by pack/flatten so layout stays consistent.\n/// - `nibble_bits`: ceil (`BIT`) to the next multiple of 4 (nibble alignment).\n/// - Examples: `BIT = 7 -> 8`, `BIT = 8 -> 8`, `BIT = 9 -> 12`, `BIT = 10 -> 12`, `BIT = 11 -> 12`,\n/// `BIT=16 -> 16`, `BIT = 17 -> 20`.\n/// - `group`: max number of encoded limbs that fit in one BN254 field element,\n/// when each limb uses an extra 4 bits (see below).\n///\n/// # Rationale\n/// - We align to nibbles so powers of two are hex-friendly and deterministic.\n/// - We reserve one extra nibble (4 bits) per stored value to lift signed\n/// coefficients into the non-negative range (e.g., store `v + 2^nibble_bits`),\n/// which implies a radix of `2^(nibble_bits + 4)`.\n///\n/// # Safety\n/// - Asserts `nibble_bits + 4 <= 254` to avoid mod-p wrap on BN254.\n/// - Ensures at least one limb fits: `group >= 1`.\nfn packing_layout<let BIT: u32>() -> (u32, u32) {\n // Ceil BIT up to the next multiple of 4 (nibble alignment).\n let nibble_bits = ((BIT + 3) / 4) * 4;\n\n // Each stored limb uses an extra nibble because negative coefficients\n // will be shifted to positive, so radix = 2^(nibble_bits+4).\n assert(nibble_bits + 4 <= 254);\n\n // Maximum limbs that fit in one BN254 element without wrap.\n let group = 254 / (nibble_bits + 4);\n assert(group >= 1);\n (nibble_bits, group)\n}\n\n/// Flatten `L` polynomials into a single linear stream of packed `Field` carriers.\n///\n/// ## What this does\n/// - For each CRT limb `j` in `0..L`, it packs the coefficients of `poly[j]`\n/// with `pack::<A, BIT>` and appends all resulting carriers to `inputs`.\n/// - The packing layout (nibble-aligned width and `group` size) is taken from\n/// `packing_layout::<BIT>()` and must match what `pack` uses.\n///\n/// ## Determinism & order\n/// - Preserves a stable order: iterate `j = 0..L`, then for each `j` append\n/// carriers in ascending chunk index `i = 0..num_chunks`.\n/// - This ensures transcripts remain deterministic across runs.\n///\n/// ## Generics\n/// - `A`: polynomial degree (number of coefficients per polynomial).\n/// - `L`: number of CRT bases (polynomials).\n/// - `BIT`: per-coefficient bit bound used by the packing layout (compile-time).\n///\n/// ## Returns\n/// - The same `inputs` vector, extended with all carriers in deterministic order.\npub fn flatten<let A: u32, let L: u32, let BIT: u32>(\n mut inputs: Vec<Field>,\n poly: [Polynomial<A>; L],\n) -> Vec<Field> {\n for j in 0..L {\n // Pack its A coefficients into `num_chunks` carriers using the same BIT layout.\n let packed = pack::<A, BIT>(poly[j].coefficients);\n\n // Append carriers in-order to `inputs` to keep a stable transcript layout.\n for i in 0..packed.len() {\n inputs.push(packed.get(i));\n }\n }\n\n // Return the extended input stream.\n inputs\n}\n\n/// Pack `A` values into a `Vec<Field>` of carriers using the shared hex-aligned layout.\n///\n/// ## What this does\n/// - Computes `(nibble_bits, group)` via `packing_layout::<BIT>()`.\n/// - Encodes each value as a limb `digit = v + 2^nibble_bits` and concatenates\n/// limbs in base `radix = 2^(nibble_bits + 4)` (one extra nibble of headroom).\n/// - Packs up to `group` limbs per carrier (fits within BN254 254-bit capacity).\n/// - Pads the last, partial carrier with `digit = 2^nibble_bits` to keep a stable layout.\n///\n/// ## Determinism & order\n/// - Processes values in increasing index order and emits carriers in chunk order\n/// (`chunk = 0..num_chunks`). Padding is deterministic.\n///\n/// ## Generics\n/// - `A`: number of input values.\n/// - `BIT`: per-value bit bound; rounded up to `nibble_bits` by `packing_layout`.\n///\n/// ## Preconditions / Notes\n/// - Call with the raw coefficients whose magnitudes already satisfy the BIT bound\n/// (as enforced by the upstream range checks); `pack` performs the signed -> unsigned\n/// shift internally via `v + base`.\n/// - `group >= 1` is enforced by `packing_layout::<BIT>()`.\n/// - Padding with `digit = 2^nibble_bits` encodes `zero limb` consistently.\n///\n/// ## Returns\n/// - A `Vec<Field>` where each element is a concatenation of up to `group` limbs,\n/// suitable for hashing or transcript I/O.\npub fn pack<let A: u32, let BIT: u32>(values: [Field; A]) -> Vec<Field> {\n // Layout parameters: nibble-aligned width and limbs-per-carrier group size.\n let (nibble_bits, group) = packing_layout::<BIT>();\n\n let base = 2.pow_32(nibble_bits as Field); // 2^nibble_bits\n let radix = 2.pow_32((nibble_bits + 4) as Field); // 2^(nibble_bits + 4)\n\n // Number of chunks to emit: ceil(A / group).\n let num_chunks = (A + group - 1) / group;\n let mut out = Vec::new();\n\n // Process in fixed-size chunks of `group` limbs.\n for chunk in 0..num_chunks {\n // How many real values go into this chunk.\n let remain = A - (chunk * group);\n let take = if remain < group { remain } else { group };\n\n // Build field element accumulator (big-endian concatenation in `radix`).\n let mut acc = 0;\n for i in 0..take {\n let v = values[chunk * group + i];\n acc = acc * radix + (v + base);\n }\n\n // Pad remaining limb slots with the canonical zero-limb `digit = base`.\n for _ in 0..(group - take) {\n acc = acc * radix + base;\n }\n\n out.push(acc);\n }\n out\n}\n\n/// Computes a cryptographic hash using the SAFE (Sponge API for Field Elements) protocol.\n///\n/// This is a convenience wrapper around the SAFE sponge API that handles the full\n/// lifecycle: initialization, absorption, squeezing, and finalization. It's designed\n/// for use in Fiat-Shamir challenge generation and commitment schemes within zero-knowledge circuits.\n///\n/// # Arguments\n/// * `domain_separator` - A 64-byte domain separator used to differentiate between\n/// different protocol instances and prevent cross-protocol attacks.\n/// * `inputs` - Vector of field elements to be absorbed into the sponge.\n/// * `io_pattern` - A 2-element array encoding the I/O pattern:\n/// - `io_pattern[0]`: Encoded ABSORB operation (MSB=1, lower 31 bits = length)\n/// - `io_pattern[1]`: Encoded SQUEEZE operation (MSB=0, lower 31 bits = length)\n///\n/// # Returns\n/// A vector of field elements squeezed from the sponge, with length determined by\n/// the SQUEEZE operation in the IO pattern.\npub fn compute_safe(\n domain_separator: [u8; 64],\n inputs: Vec<Field>,\n io_pattern: [u32; 2],\n) -> Vec<Field> {\n let mut sponge = SafeSponge::start(io_pattern, domain_separator);\n sponge.absorb(inputs);\n let digests = sponge.squeeze();\n sponge.finish();\n\n digests\n}\n\n#[test]\nfn test_flatten() {\n // Create test polynomials\n let poly1 = Polynomial::new([1, 2, 3]); // degree 2\n let poly2 = Polynomial::new([4, -16, 6]); // degree 2\n let poly3 = Polynomial::new([-7, 8, 9]); // degree 2\n\n let polynomials = [poly1, poly2, poly3];\n\n // Initialize target array with zeros\n let mut inputs = Vec::new();\n\n // Flatten the polynomials\n let result = flatten::<_, _, 4>(inputs, polynomials);\n\n // Verify the flattened coefficients are in the correct positions\n // Every value shifted 1 nibble incase of negative integers\n assert(result.get(0) == 0x11121310101010101010101010101010101010101010101010101010101010);\n assert(result.get(1) == 0x14001610101010101010101010101010101010101010101010101010101010); // -16 became 00 at 0x 14 00 16,\n assert(result.get(2) == 0x09181910101010101010101010101010101010101010101010101010101010); // -7 became 09 at 0x 09 18 19(16 - 7 = 9)\n}\n\n#[test]\nfn test_flatten_big() {\n // Create test polynomials\n let poly1 = Polynomial::new([\n 1791218451968394,\n 21888242871839275222246405745257275088548364400416034343698198265248580087864,\n 21888242871839275222246405745257275088548364400416034343698200542108324633466,\n 5430119342984413,\n 704811298945172,\n 8901715723925099,\n 21888242871839275222246405745257275088548364400416034343698203098124042812559,\n 21888242871839275222246405745257275088548364400416034343698200215091693880034,\n ]);\n let poly2 = Polynomial::new([\n 21888242871839275222246405745257275088548364400416034343698200314078269634250,\n 21888242871839275222246405745257275088548364400416034343698200967285641915872,\n 2909990636858607,\n 7896103832076587,\n 2078397209533893,\n 21888242871839275222246405745257275088548364400416034343698199792421452734531,\n 614400389245817,\n 8290314119277588,\n ]);\n let poly3 = Polynomial::new([\n 21888242871839275222246405745257275088548364400416034343698201373175279892906,\n 21888242871839275222246405745257275088548364400416034343698201087241869723721,\n 6768789983786188,\n 635797784303388,\n 7610153424227556,\n 4633893206538324,\n 2016269760615332,\n 21888242871839275222246405745257275088548364400416034343698201007080554428142,\n ]);\n\n let polynomials = [poly1, poly2, poly3];\n\n // Initialize target array with zeros\n let mut inputs = Vec::new();\n\n // Flatten the polynomials\n let result = flatten::<_, _, 54>(inputs, polynomials);\n\n // Verify the flattened coefficients are in the correct positions\n // Every value shifted 1 nibble incase of negative integers\n\n // For the first index of result operation goes like this,\n\n // First four index of poly1\n // 1791218451968394,\n // 21888242871839275222246405745257275088548364400416034343698198265248580087864,\n // 21888242871839275222246405745257275088548364400416034343698200542108324633466,\n // 5430119342984413,\n\n // base + 1791218451968394 = 0x1065d1a8b8b718a\n // base - 5921327228407753 = 0xeaf69591f3b037 (negative coefficient shifted)\n // base - 3644467483862151 = 0xf30d604a3a9b79 (negative coefficient shifted)\n // base + 5430119342984413 = 0x1134aaa2e86ccdd\n assert(result.get(0) == 0x1065d1a8b8b718a0eaf69591f3b0370f30d604a3a9b791134aaa2e86ccdd);\n assert(result.get(1) == 0x1028105ab1b789411fa010339db66b0fc220f1326bc8e0f1e3f4cc1e02e1);\n assert(result.get(2) == 0x0f23dfbe7cd76c90f4901299312ddf10a569efe35acef11c0d76f005412b);\n assert(result.get(3) == 0x107624a8f605dc50f0638a368960421022ecb3cf36b7911d73ff2c27ec14);\n assert(result.get(4) == 0x0f6013a24e1b9a90f4fd2c158a08481180c2dba8af4cc10242413515171c);\n assert(result.get(5) == 0x11b0964eb898ce411076805680b85410729c962da53a40f4b44412d0f6ed);\n}\n\n#[test]\nfn test_flatten_small() {\n // Create test polynomials\n let poly1 = Polynomial::new([712345, 104857, 999999, 500001, 123, 654321, 77]);\n let poly2 = Polynomial::new([1, 524287, 888888, 23456, 34567, 765432, 0]);\n let poly3 = Polynomial::new([444444, 333333, 222222, 111111, 987654, 246810, 13579]);\n\n let polynomials = [poly1, poly2, poly3];\n\n // Initialize target array with zeros\n let mut inputs = Vec::new();\n\n // Flatten the polynomials\n let result = flatten::<_, _, 20>(inputs, polynomials);\n\n assert(result.get(0) == 0x1ade991199991f423f17a12110007b19fbf110004d100000100000100000);\n assert(result.get(1) == 0x10000117ffff1d9038105ba01087071badf8100000100000100000100000);\n assert(result.get(2) == 0x16c81c15161513640e11b2071f120613c41a10350b100000100000100000);\n}\n\n#[test]\nfn test_safe_hashing_with_safe_helper() {\n // Verifies basic hash functionality with a simple ABSORB(3) + SQUEEZE(1) pattern.\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n let elements = Vec::from_slice(&[1, 2, 3]);\n\n // Pattern: ABSORB(3), SQUEEZE(1)\n let io_pattern = [0x80000003, 0x00000001];\n let digests1 = compute_safe(domain_separator, elements, io_pattern);\n\n assert(digests1.len() == 1);\n assert(digests1.get(0) != 0);\n\n // Test determinism\n let digests2 = compute_safe(domain_separator, elements, io_pattern);\n\n assert(digests2.len() == 1);\n assert(digests2.get(0) != 0);\n assert(digests2.get(0) == digests1.get(0));\n}\n\n#[test]\nfn test_pack() {\n // Test pack function directly with small values\n let values = [1, 2, 3, 4];\n let packed = pack::<4, 4>(values);\n\n // With BIT=4, nibble_bits=4, group should be floor(254/(4+4)) = 31\n // So all 4 values should fit in one carrier\n assert(packed.len() >= 1);\n\n // Test with negative values\n let values_neg = [-1, 2, -3, 4];\n let packed_neg = pack::<4, 4>(values_neg);\n assert(packed_neg.len() >= 1);\n}\n\n#[test]\nfn test_pack_single_value() {\n // Test packing a single value\n let values = [42];\n let packed = pack::<1, 8>(values);\n assert(packed.len() == 1);\n assert(packed.get(0) != 0);\n}\n\n#[test]\nfn test_pack_determinism() {\n // Test that packing is deterministic\n let values = [10, 20, 30];\n let packed1 = pack::<3, 8>(values);\n let packed2 = pack::<3, 8>(values);\n\n assert(packed1.len() == packed2.len());\n for i in 0..packed1.len() {\n assert(packed1.get(i) == packed2.get(i));\n }\n}\n", path: "interfold/circuits/lib/src/math/helpers.nr" }, "99": { source: '// SPDX-License-Identifier: LGPL-3.0-only\n//\n// This file is provided WITHOUT ANY WARRANTY;\n// without even the implied warranty of MERCHANTABILITY\n// or FITNESS FOR A PARTICULAR PURPOSE.\n\nuse keccak256::keccak256;\nuse poseidon::poseidon2_permutation;\n\n/// SAFE (Sponge API for Field Elements)\n///\n/// This module provides a complete implementation of the SAFE API in Noir as defined in:\n/// "SAFE (Sponge API for Field Elements) - A Toolbox for ZK Hash Applications"\n/// see https://hackmd.io/bHgsH6mMStCVibM_wYvb2w#22-Sponge-state for more details.\n///\n/// SAFE provides a unified interface for cryptographic sponge functions that can be\n/// instantiated with various permutations to create hash functions, MACs, authenticated\n/// encryption schemes, and other cryptographic primitives for ZK proof systems.\n///\n/// This implementation follows the SAFE specification exactly, providing:\n/// - Complete API: START, ABSORB, SQUEEZE, FINISH operations.\n/// - Full security: Domain separation, tag computation, IO pattern validation.\n/// - Poseidon2 integration: Field-friendly permutation for ZK systems.\n/// - Specification compliance: All operations follow SAFE spec 2.4 exactly.\n/// - Natural API design: Variable-length inputs, automatic length detection from IO patterns.\n///\n/// # API Design\n///\n/// The API is designed for natural usage while maintaining type safety:\n/// - `absorb(input: [Field])`: Accepts variable-length arrays, no padding required.\n/// - `squeeze()`: Returns a vector with field element(s).\n/// - IO patterns automatically determine operation lengths for validation.\n\n/// Rate parameter for the sponge construction (number of field elements that can be absorbed per permutation call).\nglobal RATE: u32 = 3;\n\n/// Capacity parameter for the sponge construction (security parameter, typically 1-2 field elements).\nglobal CAPACITY: u32 = 1;\n\n/// Total state size (rate + capacity) in field elements.\nglobal STATE_SIZE: u32 = RATE + CAPACITY;\n\n/// IO Pattern encoding constants (from SAFE spec 2.3).\n///\n/// These constants are used for encoding operation types in the 32-bit word format:\n/// - MSB set to 1 for ABSORB operations\n/// - MSB set to 0 for SQUEEZE operations\n\n/// Flag for ABSORB operations (MSB = 1)\nglobal ABSORB_FLAG: u32 = 0x80000000;\n\n/// Flag for SQUEEZE operations (MSB = 0)\nglobal SQUEEZE_FLAG: u32 = 0x00000000;\n\n/// SAFE Sponge State (following spec 2.2)\n///\n/// The sponge state consists of the permutation state, tag, position counters,\n/// and IO pattern tracking as defined in the SAFE specification.\n///\n/// # Generic Parameters\n/// - `L`: The length of the IO pattern array\n///\n/// # Fields\n/// - `state`: Permutation state V in F^n (rate + capacity elements)\n/// - `tag`: Parameter tag T used for instance differentiation\n/// - `absorb_pos`: Current absorb position (<= n-c)\n/// - `squeeze_pos`: Current squeeze position (<= n-c)\n/// - `io_pattern`: Expected IO pattern for validation (encoded 32-bit words)\n/// - `io_count`: Current operation count for pattern tracking\npub struct SafeSponge<let L: u32> {\n /// Permutation state V in F^n (rate + capacity elements).\n state: [Field; STATE_SIZE],\n /// Parameter tag T used for instance differentiation.\n tag: Field,\n /// Current absorb position (<= n-c).\n absorb_pos: u32,\n /// Current squeeze position (<= n-c).\n squeeze_pos: u32,\n /// Expected IO pattern for validation.\n io_pattern: [u32; L],\n /// Current operation count for pattern tracking (spec 2.4: io_count).\n io_count: u32,\n}\n\nimpl<let L: u32> SafeSponge<L> {\n /// Initializes a new SAFE sponge instance with the given IO pattern and domain separator (following spec 2.4).\n ///\n /// # Arguments\n /// - `io_pattern`: Array of 32-bit encoded operations defining the expected sequence of ABSORB/SQUEEZE calls.\n /// Each word has MSB=1 for ABSORB operations, MSB=0 for SQUEEZE operations.\n /// - `domain_separator`: 64-byte domain separator for cross-protocol security.\n ///\n /// # Returns\n /// A new `SafeSponge` instance with initialized state\n pub fn start(io_pattern: [u32; L], domain_separator: [u8; 64]) -> SafeSponge<L> {\n // Compute tag from IO pattern and domain separator (spec 2.3).\n let tag = compute_tag(io_pattern, domain_separator);\n\n let mut state = [0; STATE_SIZE];\n // Initialize capacity with tag (spec 2.4).\n // Add T to the first 128 bits of the state.\n state[0] = tag;\n\n SafeSponge { state, tag, absorb_pos: 0, squeeze_pos: 0, io_pattern, io_count: 0 }\n }\n\n /// Absorbs field elements into the sponge state, interleaving permutation calls as needed (following spec 2.4).\n ///\n /// The number of elements to absorb is automatically validated against the IO pattern.\n /// This method accepts variable-length arrays, making it natural to use without padding.\n ///\n /// # Arguments\n /// - `input`: Array of field elements to absorb (variable length, must match IO pattern)\n pub fn absorb(&mut self, input: Vec<Field>) {\n let length = input.len() as u32;\n\n // Validate against IO pattern.\n assert(self.io_count < L);\n\n // Parse expected operation from io_pattern (encoded word)\n let expected_encoded_word = self.io_pattern[self.io_count];\n let is_expected_absorb = (expected_encoded_word & ABSORB_FLAG) != 0;\n let expected_length = expected_encoded_word & 0x7FFFFFFF;\n\n // Validate operation type and length\n assert(is_expected_absorb, "Expected ABSORB operation");\n assert(expected_length == length, "Length mismatch");\n\n // Process each element naturally (no unnecessary iterations).\n for i in 0..length {\n // If absorb_pos == (n-c) then permute and reset (spec 2.4).\n if self.absorb_pos == RATE {\n // n-c = RATE.\n self.state = self.permute();\n self.absorb_pos = 0;\n }\n\n // Add X[i] to state at absorb_pos (spec 2.4).\n // Note: absorb_pos is the rate position, not capacity position.\n self.state[self.absorb_pos + CAPACITY] =\n self.state[self.absorb_pos + CAPACITY] + input.get(i);\n self.absorb_pos += 1;\n }\n\n // Verify that the encoded word matches the expected pattern.\n let encoded_word = ABSORB_FLAG | length;\n assert(encoded_word == expected_encoded_word);\n\n self.io_count += 1;\n\n // Force permute at start of next SQUEEZE (spec 2.4).\n self.squeeze_pos = RATE;\n }\n\n /// Extracts field elements from the sponge state, interleaving permutation calls as needed (following spec 2.4).\n ///\n /// The number of elements to squeeze is automatically determined from the IO pattern.\n pub fn squeeze(&mut self) -> Vec<Field> {\n // Validate against IO pattern.\n assert(self.io_count < L);\n\n // Parse expected operation from io_pattern (encoded word)\n let expected_encoded_word = self.io_pattern[self.io_count];\n let is_expected_squeeze = (expected_encoded_word & ABSORB_FLAG) == 0;\n let length = expected_encoded_word & 0x7FFFFFFF;\n\n // Validate operation type\n assert(is_expected_squeeze, "Expected SQUEEZE operation");\n\n let mut output = Vec::new();\n\n // SQUEEZE implementation following spec 2.4.\n // If length==0, loop won\'t execute (spec 2.4).\n for _ in 0..length {\n // If squeeze_pos==(n-c) then permute and reset (spec 2.4).\n if self.squeeze_pos == RATE {\n // n-c = RATE.\n self.state = self.permute();\n self.squeeze_pos = 0;\n self.absorb_pos = 0;\n }\n // Set Y[i] to state element at squeeze_pos (spec 2.4).\n output.push(self.state[self.squeeze_pos + CAPACITY]);\n self.squeeze_pos += 1;\n }\n\n // Verify that the encoded word matches the expected pattern.\n let encoded_word = SQUEEZE_FLAG | length;\n assert(encoded_word == expected_encoded_word);\n\n self.io_count += 1;\n output\n }\n\n /// Finalizes the sponge instance, verifying that all expected operations have been performed and clearing the internal state for security (following spec 2.4).\n ///\n /// This function is used to ensure that the sponge instance has been used correctly and to prevent information leakage.\n pub fn finish(&mut self) {\n // Check that io_count equals the length of the IO pattern expected (spec 2.4).\n assert(self.io_count == L, "IO pattern not completed");\n\n // Erase the state and its variables (spec 2.4).\n self.state = [0; STATE_SIZE];\n self.absorb_pos = 0;\n self.squeeze_pos = 0;\n self.io_count = 0;\n }\n\n /// Permute the state using Poseidon2 (following spec 2.4).\n ///\n /// Applies the Poseidon2 permutation to the current state.\n /// This is the core cryptographic primitive of the sponge construction.\n ///\n /// # Returns\n /// New state after permutation\n fn permute(self) -> [Field; STATE_SIZE] {\n poseidon2_permutation(self.state, STATE_SIZE)\n }\n}\n\n/// Computes a unique tag for a sponge instance based on its IO pattern and domain separator.\n/// The tag is used to ensure that distinct instances behave like distinct functions.\n///\n/// # Arguments\n/// - `io_pattern`: Array of 32-bit encoded operations defining the sponge\'s usage pattern.\n/// Each word has MSB=1 for ABSORB operations, MSB=0 for SQUEEZE operations.\n/// - `domain_separator`: 64-byte domain separator for cross-protocol security.\n///\n/// # Returns\n/// A field element representing the 128-bit tag.\npub fn compute_tag<let L: u32>(io_pattern: [u32; L], domain_separator: [u8; 64]) -> Field {\n // Step 1: Parse and aggregate consecutive operations of the same type\n let mut encoded_words = [0; L]; // Support up to L operations.\n let mut word_count = 0;\n let mut current_absorb_sum = 0;\n let mut current_squeeze_sum = 0;\n let mut last_was_absorb = false;\n\n for i in 0..L {\n if io_pattern[i] > 0 {\n // Parse operation type from MSB and length from lower 31 bits\n let is_absorb = (io_pattern[i] & ABSORB_FLAG) != 0;\n let length = io_pattern[i] & 0x7FFFFFFF; // Clear MSB to get length\n\n if is_absorb {\n if last_was_absorb {\n // Aggregate consecutive ABSORB operations\n current_absorb_sum += length;\n } else {\n // Start new ABSORB sequence\n if current_squeeze_sum > 0 {\n // Flush previous SQUEEZE sequence\n encoded_words[word_count] = SQUEEZE_FLAG | current_squeeze_sum;\n word_count += 1;\n current_squeeze_sum = 0;\n }\n current_absorb_sum = length;\n }\n last_was_absorb = true;\n } else {\n if !last_was_absorb {\n // Aggregate consecutive SQUEEZE operations\n current_squeeze_sum += length;\n } else {\n // Start new SQUEEZE sequence\n if current_absorb_sum > 0 {\n // Flush previous ABSORB sequence\n encoded_words[word_count] = ABSORB_FLAG | current_absorb_sum;\n word_count += 1;\n current_absorb_sum = 0;\n }\n current_squeeze_sum = length;\n }\n last_was_absorb = false;\n }\n }\n }\n\n // Flush remaining operations\n if current_absorb_sum > 0 {\n encoded_words[word_count] = ABSORB_FLAG | current_absorb_sum;\n word_count += 1;\n }\n if current_squeeze_sum > 0 {\n encoded_words[word_count] = SQUEEZE_FLAG | current_squeeze_sum;\n word_count += 1;\n }\n\n // Step 2: Serialize to byte string and append domain separator (following SAFE spec 2.3).\n // Buffer is 256 bytes: max 192 bytes for IO pattern (48 words) + 64 bytes for domain separator.\n // Note: We must use a fixed-size array because Noir\'s keccak256 requires [u8; N], not Vec<u8>.\n let max_io_pattern_bytes: u32 = 192; // 256 - 64 (domain separator)\n let io_pattern_bytes = word_count * 4;\n assert(\n io_pattern_bytes <= max_io_pattern_bytes,\n "IO pattern too large: max 48 aggregated words supported",\n );\n\n let mut input_bytes = [0u8; 256];\n let mut byte_count: u32 = 0;\n\n // Serialize encoded words to bytes (big-endian as per SAFE spec).\n // Note: Noir requires compile-time loop bounds, so we iterate over L (the array size)\n // instead of word_count (runtime value). The condition `i < word_count` ensures we only\n // process valid encoded words. This is safe because word_count <= L always holds\n // (we can have at most L encoded words from L input operations).\n for i in 0..L {\n if i < word_count {\n let word = encoded_words[i];\n input_bytes[byte_count] = (word >> 24) as u8;\n input_bytes[byte_count + 1] = (word >> 16) as u8;\n input_bytes[byte_count + 2] = (word >> 8) as u8;\n input_bytes[byte_count + 3] = word as u8;\n byte_count += 4;\n }\n }\n\n // Append full 64-byte domain separator.\n for i in 0..64 {\n input_bytes[byte_count] = domain_separator[i];\n byte_count += 1;\n }\n\n // Step 3: Hash with Keccak-256 and truncate to 128 bits.\n // Note: The SAFE spec uses SHA3-256, but we use Keccak-256 for Noir compatibility.\n // Keccak-256 differs from SHA3-256 in padding, but both provide equivalent security.\n let hash_bytes = keccak256(input_bytes, byte_count);\n\n // Convert first 128 bits (16 bytes) to field element.\n let mut tag_value: Field = 0;\n for i in 0..16 {\n tag_value = tag_value * 256 + (hash_bytes[i] as Field);\n }\n\n tag_value\n}\n\n#[test]\nfn test_safe_hashing() {\n // Verifies basic hash functionality with a simple ABSORB(3) + SQUEEZE(1) pattern.\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n let elements = Vec::from_slice(&[1, 2, 3]);\n\n // Pattern: ABSORB(3), SQUEEZE(1)\n let io_pattern = [0x80000003, 0x00000001];\n let mut sponge = SafeSponge::start(io_pattern, domain_separator);\n sponge.absorb(elements);\n let output = sponge.squeeze();\n sponge.finish();\n\n assert(output.len() == 1);\n assert(output.get(0) != 0);\n\n // Test determinism\n let mut sponge2 = SafeSponge::start(io_pattern, domain_separator);\n sponge2.absorb(elements);\n let output2 = sponge2.squeeze();\n sponge2.finish();\n\n assert(output2.len() == 1);\n assert(output2.get(0) != 0);\n}\n\n#[test]\nfn test_merkle_node() {\n // Verifies SAFE can be used for Merkle tree node hashing with pattern ABSORB(1) + ABSORB(1) + SQUEEZE(1).\n // Tests the ability to absorb multiple inputs before squeezing output.\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n let left = Vec::from_slice([123]);\n let right = Vec::from_slice([456]);\n\n // Pattern: ABSORB(1), ABSORB(1), SQUEEZE(1)\n let io_pattern = [0x80000001, 0x80000001, 0x00000001];\n let mut sponge = SafeSponge::start(io_pattern, domain_separator);\n sponge.absorb(left);\n sponge.absorb(right);\n let output = sponge.squeeze();\n sponge.finish();\n\n assert(output.len() == 1);\n assert(output.get(0) != 0);\n\n // Test determinism\n let mut sponge2 = SafeSponge::start(io_pattern, domain_separator);\n sponge2.absorb(left);\n sponge2.absorb(right);\n let output2 = sponge2.squeeze();\n sponge2.finish();\n\n assert(output2.len() == 1);\n assert(output2.get(0) != 0);\n}\n\n#[test]\nfn test_commitment_scheme() {\n // Verifies SAFE can be used for commitment schemes with pattern ABSORB(3) + SQUEEZE(1).\n // Tests the ability to create deterministic commitments from multiple field elements.\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n let values = Vec::from_slice([10, 20, 30]);\n\n // Pattern: ABSORB(3), SQUEEZE(1)\n let io_pattern = [0x80000003, 0x00000001];\n let mut sponge = SafeSponge::start(io_pattern, domain_separator);\n sponge.absorb(values);\n let output = sponge.squeeze();\n sponge.finish();\n\n assert(output.len() == 1);\n assert(output.get(0) != 0);\n\n // Test determinism\n let mut sponge2 = SafeSponge::start(io_pattern, domain_separator);\n sponge2.absorb(values);\n let output2 = sponge2.squeeze();\n sponge2.finish();\n\n assert(output2.len() == 1);\n assert(output2.get(0) != 0);\n}\n\n#[test]\nfn test_domain_separation() {\n // Verifies that different domain separators produce different outputs for the same input.\n // This is crucial for cross-protocol security and preventing collisions between different applications.\n let elements = Vec::from_slice([1, 2, 3]);\n let domain1 = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n let domain2 = [\n 0x41, 0x42, 0x43, 0x45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n\n // Pattern: ABSORB(3), SQUEEZE(1)\n let io_pattern = [0x80000003, 0x00000001];\n\n let mut sponge1 = SafeSponge::start(io_pattern, domain1);\n sponge1.absorb(elements);\n let output1 = sponge1.squeeze();\n sponge1.finish();\n\n let mut sponge2 = SafeSponge::start(io_pattern, domain2);\n sponge2.absorb(elements);\n let output2 = sponge2.squeeze();\n sponge2.finish();\n\n assert(output1.len() == 1);\n assert(output2.len() == 1);\n assert(output1.get(0) != output2.get(0)); // Different domain separators should produce different outputs\n}\n\n#[test]\nfn test_multiple_squeeze() {\n // Verifies that multiple field elements can be squeezed in a single operation.\n // Tests pattern ABSORB(3) + SQUEEZE(2) to ensure proper state management.\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n let elements = Vec::from_slice([1, 2, 3]);\n\n // Pattern: ABSORB(3), SQUEEZE(2)\n let io_pattern = [0x80000003, 0x00000002];\n let mut sponge = SafeSponge::start(io_pattern, domain_separator);\n sponge.absorb(elements);\n let output = sponge.squeeze();\n sponge.finish();\n\n assert(output.len() == 2);\n assert(output.get(0) != 0);\n assert(output.get(1) != 0);\n assert(output.get(0) != output.get(1)); // Different squeeze outputs should be different\n}\n\n#[test]\nfn test_zero_length_operations() {\n // Verifies that zero-length ABSORB and SQUEEZE operations are handled correctly.\n // Tests pattern ABSORB(0) + SQUEEZE(1) to ensure proper state transitions.\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n\n // Pattern: ABSORB(0), SQUEEZE(1)\n let io_pattern = [0x80000000, 0x00000001];\n let mut sponge = SafeSponge::start(io_pattern, domain_separator);\n sponge.absorb(Vec::new());\n let output = sponge.squeeze();\n sponge.finish();\n\n assert(output.len() == 1);\n assert(output.get(0) != 0);\n}\n\n#[test]\nfn test_tag_computation() {\n // Verifies the tag computation algorithm using the example from the SAFE specification.\n // Pattern: ABSORB(3), ABSORB(3), SQUEEZE(3)\n // Should aggregate to: ABSORB(6), SQUEEZE(3)\n // Encoded as: [0x80000006, 0x00000003]\n // Tests determinism and pattern differentiation.\n\n let io_pattern = [0x80000003, 0x80000003, 0x00000003];\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n\n let tag = compute_tag(io_pattern, domain_separator);\n\n // Test determinism\n let tag2 = compute_tag(io_pattern, domain_separator);\n assert(tag == tag2);\n\n // Test that different patterns produce different tags\n let io_pattern2 = [0x80000003, 0x00000003]; // ABSORB(3), SQUEEZE(3) - different pattern\n let tag3 = compute_tag(io_pattern2, domain_separator);\n assert(tag != tag3);\n}\n\n#[test]\nfn test_tag_computation_debug() {\n println("=== SAFE Tag Computation Debug Test ===");\n\n // Test your specific pattern [2, 2, 2] (ABSORB(2), SQUEEZE(2), ABSORB(2))\n let io_pattern = [0x80000002, 0x00000002, 0x80000002];\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n\n println(f"Testing pattern: {io_pattern}");\n println(\n f"Expected to aggregate to: ABSORB(2), SQUEEZE(2), ABSORB(2)",\n );\n println(\n f"Expected encoded words: [0x80000002, 0x00000002, 0x80000002]",\n );\n println("");\n\n let tag = compute_tag(io_pattern, domain_separator);\n\n println(f"=== Expected Rust Output ===");\n println("Pattern [2, 2, 2] (ABSORB(2), SQUEEZE(2), ABSORB(2))");\n println("Domain separator: 0x41424344...");\n println("Tag: 0xce3bb9ee4b2d41c42e9cdda38afe8b6a");\n println("");\n\n println(f"=== Noir Output ===");\n println(f"Tag: {tag}");\n println("");\n\n println("Compare the tag values above with Rust script!");\n}\n\n#[test]\nfn test_consecutive_absorb_aggregation() {\n // Test that consecutive ABSORB operations are properly aggregated\n // Pattern: ABSORB(1), ABSORB(1), SQUEEZE(1) should aggregate to ABSORB(2), SQUEEZE(1)\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n\n // Test pattern: ABSORB(1), ABSORB(1), SQUEEZE(1)\n let io_pattern = [0x80000001, 0x80000001, 0x00000001];\n\n // This should aggregate to: ABSORB(2), SQUEEZE(1) = [0x80000002, 0x00000001]\n let tag = compute_tag(io_pattern, domain_separator);\n\n // Test that the aggregated pattern produces the same tag ABSORB(2), SQUEEZE(1)\n let aggregated_pattern = [0x80000002, 0x00000001];\n let aggregated_tag = compute_tag(aggregated_pattern, domain_separator);\n\n // The tags should be identical because the patterns are equivalent after aggregation\n assert(tag == aggregated_tag, "Consecutive ABSORB operations should aggregate to the same tag");\n\n // Test that a different pattern produces a different tag\n let different_pattern = [0x80000001, 0x00000001, 0x80000001]; // ABSORB(1), SQUEEZE(1), ABSORB(1)\n let different_tag = compute_tag(different_pattern, domain_separator);\n\n // This should be different because it doesn\'t have consecutive ABSORB operations\n assert(tag != different_tag, "Different patterns should produce different tags");\n\n println("=== Consecutive ABSORB Aggregation Test ===");\n println(\n f"Original pattern: [0x80000001, 0x80000001, 0x00000001] (ABSORB(1), ABSORB(1), SQUEEZE(1))",\n );\n println(\n f"Aggregated pattern: [0x80000002, 0x00000001] (ABSORB(2), SQUEEZE(1))",\n );\n println(f"Original tag: {tag}");\n println(f"Aggregated tag: {aggregated_tag}");\n println(f"Original tag: {tag}");\n println(f"Aggregated tag: {aggregated_tag}");\n println(f"Different pattern tag: {different_tag}");\n}\n\n#[test]\nfn test_consecutive_squeeze_aggregation() {\n // Test that consecutive SQUEEZE operations are properly aggregated\n // Pattern: ABSORB(1), SQUEEZE(1), SQUEEZE(1) should aggregate to ABSORB(1), SQUEEZE(2)\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n\n // Test pattern: ABSORB(1), SQUEEZE(1), SQUEEZE(1)\n let io_pattern = [0x80000001, 0x00000001, 0x00000001];\n\n // This should aggregate to: ABSORB(1), SQUEEZE(2) = [0x80000001, 0x00000002]\n let tag = compute_tag(io_pattern, domain_separator);\n\n // Test that the aggregated pattern produces the same tag ABSORB(1), SQUEEZE(2)\n let aggregated_pattern = [0x80000001, 0x00000002];\n let aggregated_tag = compute_tag(aggregated_pattern, domain_separator);\n\n // The tags should be identical because the patterns are equivalent after aggregation\n assert(\n tag == aggregated_tag,\n "Consecutive SQUEEZE operations should aggregate to the same tag",\n );\n\n // Test that a different pattern produces a different tag\n let different_pattern = [0x80000001, 0x00000001, 0x80000001]; // ABSORB(1), SQUEEZE(1), ABSORB(1)\n let different_tag = compute_tag(different_pattern, domain_separator);\n\n // This should be different because it doesn\'t have consecutive SQUEEZE operations\n assert(tag != different_tag, "Different patterns should produce different tags");\n\n println("=== Consecutive SQUEEZE Aggregation Test ===");\n println(\n f"Original pattern: [0x80000001, 0x00000001, 0x00000001] (ABSORB(1), SQUEEZE(1), SQUEEZE(1))",\n );\n println(\n f"Aggregated pattern: [0x80000001, 0x00000002] (ABSORB(1), SQUEEZE(2))",\n );\n println(f"Original tag: {tag}");\n println(f"Aggregated tag: {aggregated_tag}");\n println(f"Different pattern tag: {different_tag}");\n}\n\n#[test]\nfn test_mixed_consecutive_aggregation() {\n // Test that both consecutive ABSORB and SQUEEZE operations are properly aggregated\n // Pattern: ABSORB(1), ABSORB(1), SQUEEZE(1), SQUEEZE(1), ABSORB(1)\n // Should aggregate to: ABSORB(2), SQUEEZE(2), ABSORB(1)\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n\n // Test pattern: ABSORB(1), ABSORB(1), SQUEEZE(1), SQUEEZE(1), ABSORB(1)\n let io_pattern = [0x80000001, 0x80000001, 0x00000001, 0x00000001, 0x80000001];\n\n // This should aggregate to: ABSORB(2), SQUEEZE(2), ABSORB(1) = [0x80000002, 0x00000002, 0x80000001]\n let tag = compute_tag(io_pattern, domain_separator);\n\n // Test that the aggregated pattern produces the same tag\n let aggregated_pattern = [0x80000002, 0x00000002, 0x80000001]; // ABSORB(2), SQUEEZE(2), ABSORB(1)\n let aggregated_tag = compute_tag(aggregated_pattern, domain_separator);\n\n // The tags should be identical because the patterns are equivalent after aggregation\n assert(tag == aggregated_tag, "Mixed consecutive operations should aggregate to the same tag");\n\n println("=== Mixed Consecutive Aggregation Test ===");\n println(\n f"Original pattern: [0x80000001, 0x80000001, 0x00000001, 0x00000001, 0x80000001]",\n );\n println(\n f" (ABSORB(1), ABSORB(1), SQUEEZE(1), SQUEEZE(1), ABSORB(1))",\n );\n println(f"Aggregated pattern: [0x80000002, 0x00000002, 0x80000001]");\n println(f" (ABSORB(2), SQUEEZE(2), ABSORB(1))");\n println(f"Original tag: {tag}");\n println(f"Aggregated tag: {aggregated_tag}");\n}\n\n#[test]\nfn test_large_io_pattern() {\n let domain_separator = [\n 0x41, 0x42, 0x43, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0,\n ];\n\n // Create pattern with 48 alternating ABSORB(1) and SQUEEZE(1) operations\n // This is the maximum supported (48 words * 4 bytes = 192 bytes, leaving 64 for domain separator)\n let mut io_pattern = [0u32; 48];\n for i in 0..48 {\n if i % 2 == 0 {\n io_pattern[i] = ABSORB_FLAG | 1; // ABSORB(1)\n } else {\n io_pattern[i] = SQUEEZE_FLAG | 1; // SQUEEZE(1)\n }\n }\n\n let tag = compute_tag(io_pattern, domain_separator);\n assert(tag != 0);\n}\n\n#[test]\nfn test_domain_separator_not_truncated() {\n // This test verifies that the domain separator is always included in the tag computation,\n // even for large IO patterns. If the domain separator were truncated, different domain\n // separators would produce the same tag for large patterns.\n\n let domain_separator_a = [\n 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n 0x41, 0x41, 0x41, 0x41,\n ]; // All \'A\'s\n\n let domain_separator_b = [\n 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,\n 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,\n 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,\n 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,\n 0x42, 0x42, 0x42, 0x42,\n ]; // All \'B\'s\n\n // Create pattern with 48 alternating operations (max supported: 192 bytes of IO pattern)\n let mut io_pattern = [0u32; 48];\n for i in 0..48 {\n if i % 2 == 0 {\n io_pattern[i] = ABSORB_FLAG | 1;\n } else {\n io_pattern[i] = SQUEEZE_FLAG | 1;\n }\n }\n\n let tag_a = compute_tag(io_pattern, domain_separator_a);\n let tag_b = compute_tag(io_pattern, domain_separator_b);\n\n // Tags MUST be different because domain separators are different.\n // If they were the same, it would mean the domain separator was truncated/ignored.\n assert(tag_a != tag_b, "Domain separator must affect tag even for large IO patterns");\n}\n', path: "interfold/circuits/lib/src/math/safe.nr" } }, expression_width: { Bounded: { width: 4 } } };
1703
+
1704
+ // src/crypto/user-data-encryption.ts
1705
+ var import_noir_js = require("@noir-lang/noir_js");
1706
+
1707
+ // src/circuits/assert-micro-circuits.ts
1708
+ var import_node_fs = require("fs");
1709
+ var import_node_path = require("path");
1710
+ var import_node_url = require("url");
1711
+
1712
+ // src/utils.ts
1713
+ var import_viem = require("viem");
1714
+ var SDKError = class extends Error {
1715
+ constructor(message, code) {
1716
+ super(message);
1717
+ this.code = code;
1718
+ this.name = "SDKError";
1719
+ }
1720
+ };
1721
+ function proofToFields(proof) {
1722
+ const fields = [];
1723
+ for (let i = 0; i < proof.length; i += 32) {
1724
+ const chunk = proof.slice(i, i + 32);
1725
+ fields.push("0x" + Buffer.from(chunk).toString("hex"));
1726
+ }
1727
+ return fields;
1728
+ }
1729
+
1730
+ // src/circuits/assert-micro-circuits.ts
1731
+ var import_meta = {};
1732
+ var SDK_CIRCUIT_COMMITTEE = "micro";
1733
+ function findActivePath() {
1734
+ let dir = (0, import_node_path.dirname)((0, import_node_url.fileURLToPath)(import_meta.url));
1735
+ while (true) {
1736
+ if ((0, import_node_fs.existsSync)((0, import_node_path.resolve)(dir, "package.json"))) {
1737
+ const bundled = (0, import_node_path.resolve)(dir, ".active-preset.json");
1738
+ if ((0, import_node_fs.existsSync)(bundled)) return bundled;
1739
+ if (dir.includes("node_modules")) return null;
1740
+ return (0, import_node_path.resolve)(dir, "../../circuits/bin/.active-preset.json");
1741
+ }
1742
+ const parent = (0, import_node_path.dirname)(dir);
1743
+ if (parent === dir) break;
1744
+ dir = parent;
1745
+ }
1746
+ throw new SDKError("Could not locate SDK package root", "SDK_CIRCUIT_STAMP_MISSING");
1747
+ }
1748
+ var ACTIVE_PRESET_PATH = findActivePath();
1749
+ var checked = false;
1750
+ function assertSdkMicroCircuits() {
1751
+ if (checked) return;
1752
+ checked = true;
1753
+ if (ACTIVE_PRESET_PATH === null) return;
1754
+ let raw;
1755
+ try {
1756
+ raw = (0, import_node_fs.readFileSync)(ACTIVE_PRESET_PATH, "utf-8");
1757
+ } catch {
1758
+ throw new SDKError(
1759
+ `Missing ${ACTIVE_PRESET_PATH}. Run \`pnpm -C packages/interfold-sdk compile:circuits\` first.`,
1760
+ "SDK_CIRCUIT_STAMP_MISSING"
1761
+ );
1762
+ }
1763
+ let committee;
1764
+ try {
1765
+ committee = JSON.parse(raw)?.committee;
1766
+ } catch {
1767
+ throw new SDKError(
1768
+ `Invalid JSON in ${ACTIVE_PRESET_PATH}. Rebuild with \`pnpm -C packages/interfold-sdk compile:circuits\`.`,
1769
+ "SDK_CIRCUIT_STAMP_INVALID"
1770
+ );
1771
+ }
1772
+ if (committee !== SDK_CIRCUIT_COMMITTEE) {
1773
+ throw new SDKError(
1774
+ `SDK requires circuits built for committee "${SDK_CIRCUIT_COMMITTEE}" (active preset is "${committee ?? "unknown"}"). Run: pnpm -C packages/interfold-sdk compile:circuits`,
1775
+ "SDK_CIRCUIT_COMMITTEE_MISMATCH"
1776
+ );
1777
+ }
1778
+ }
1779
+
1780
+ // src/crypto/user-data-encryption.ts
1781
+ assertSdkMicroCircuits();
1782
+ var generateProof = async (circuitInputs) => {
1783
+ const api = await import_bb.Barretenberg.new();
1784
+ try {
1785
+ await api.initSRSChonk(2 ** 21);
1786
+ const { witness: userDataEncryptionCt0Witness } = await executeCircuit(user_data_encryption_ct0_default, {
1787
+ pk0is: circuitInputs.pk0is,
1788
+ ct0is: circuitInputs.ct0is,
1789
+ u: circuitInputs.u,
1790
+ e0: circuitInputs.e0,
1791
+ e0is: circuitInputs.e0is,
1792
+ e0_quotients: circuitInputs.e0_quotients,
1793
+ k1: circuitInputs.k1,
1794
+ r1is: circuitInputs.r1is,
1795
+ r2is: circuitInputs.r2is
1796
+ });
1797
+ const { witness: userDataEncryptionCt1Witness } = await executeCircuit(user_data_encryption_ct1_default, {
1798
+ pk1is: circuitInputs.pk1is,
1799
+ ct1is: circuitInputs.ct1is,
1800
+ u: circuitInputs.u,
1801
+ e1: circuitInputs.e1,
1802
+ p1is: circuitInputs.p1is,
1803
+ p2is: circuitInputs.p2is
1804
+ });
1805
+ const userDataEncryptionCt0Backend = new import_bb.UltraHonkBackend(user_data_encryption_ct0_default.bytecode, api);
1806
+ const userDataEncryptionCt1Backend = new import_bb.UltraHonkBackend(user_data_encryption_ct1_default.bytecode, api);
1807
+ const { proof: userDataEncryptionCt0Proof, publicInputs: userDataEncryptionCt0PublicInputs } = await userDataEncryptionCt0Backend.generateProof(userDataEncryptionCt0Witness, {
1808
+ verifierTarget: "noir-recursive-no-zk"
1809
+ });
1810
+ const { proof: userDataEncryptionCt1Proof, publicInputs: userDataEncryptionCt1PublicInputs } = await userDataEncryptionCt1Backend.generateProof(userDataEncryptionCt1Witness, {
1811
+ verifierTarget: "noir-recursive-no-zk"
1812
+ });
1813
+ const userDataEncryptionCt0Artifacts = await userDataEncryptionCt0Backend.generateRecursiveProofArtifacts(
1814
+ userDataEncryptionCt0Proof,
1815
+ userDataEncryptionCt0PublicInputs.length,
1816
+ {
1817
+ verifierTarget: "noir-recursive-no-zk"
1818
+ }
1819
+ );
1820
+ const userDataEncryptionCt1Artifacts = await userDataEncryptionCt1Backend.generateRecursiveProofArtifacts(
1821
+ userDataEncryptionCt1Proof,
1822
+ userDataEncryptionCt1PublicInputs.length,
1823
+ {
1824
+ verifierTarget: "noir-recursive-no-zk"
1825
+ }
1826
+ );
1827
+ const { witness: userDataEncryptionWitness } = await executeCircuit(user_data_encryption_default, {
1828
+ ct0_verification_key: userDataEncryptionCt0Artifacts.vkAsFields,
1829
+ ct0_proof: proofToFields(userDataEncryptionCt0Proof),
1830
+ ct0_public_inputs: userDataEncryptionCt0PublicInputs,
1831
+ ct0_key_hash: userDataEncryptionCt0Artifacts.vkHash,
1832
+ ct1_verification_key: userDataEncryptionCt1Artifacts.vkAsFields,
1833
+ ct1_proof: proofToFields(userDataEncryptionCt1Proof),
1834
+ ct1_public_inputs: userDataEncryptionCt1PublicInputs,
1835
+ ct1_key_hash: userDataEncryptionCt1Artifacts.vkHash
1836
+ });
1837
+ const userDataEncryptionBackend = new import_bb.UltraHonkBackend(user_data_encryption_default.bytecode, api);
1838
+ return await userDataEncryptionBackend.generateProof(userDataEncryptionWitness, {
1839
+ verifierTarget: "noir-recursive-no-zk"
1840
+ });
1841
+ } finally {
1842
+ api.destroy();
1843
+ }
1844
+ };
1845
+ var executeCircuit = async (circuit, inputs) => {
1846
+ const noir = new import_noir_js.Noir(circuit);
1847
+ return noir.execute(inputs);
1848
+ };
1849
+
1850
+ // src/crypto/encrypt.ts
1851
+ async function resolveParams(presetName) {
1852
+ await (0, import_init.default)();
1853
+ const params = (0, import_wasm.get_bfv_params)(presetName);
1854
+ return {
1855
+ degree: Number(params.degree),
1856
+ plaintextModulus: params.plaintext_modulus,
1857
+ moduli: params.moduli,
1858
+ error1Variance: params.error1_variance
1859
+ };
1860
+ }
1861
+ async function getThresholdBfvParamsSet(presetName) {
1862
+ return resolveParams(presetName);
1863
+ }
1864
+ async function generatePublicKey(presetName) {
1865
+ const params = await resolveParams(presetName);
1866
+ return (0, import_wasm.generate_public_key)(params.degree, params.plaintextModulus, BigUint64Array.from(params.moduli));
1867
+ }
1868
+ async function computePublicKeyCommitment(pk, presetName) {
1869
+ const params = await resolveParams(presetName);
1870
+ return (0, import_wasm.compute_pk_commitment)(pk, params.degree, params.plaintextModulus, BigUint64Array.from(params.moduli));
1871
+ }
1872
+ async function encryptNumber(data, pk, presetName) {
1873
+ const params = await resolveParams(presetName);
1874
+ return (0, import_wasm.bfv_encrypt_number)(data, pk, params.degree, params.plaintextModulus, BigUint64Array.from(params.moduli));
1875
+ }
1876
+ async function encryptVector(data, pk, presetName) {
1877
+ const params = await resolveParams(presetName);
1878
+ return (0, import_wasm.bfv_encrypt_vector)(data, pk, params.degree, params.plaintextModulus, BigUint64Array.from(params.moduli));
1879
+ }
1880
+ async function encryptNumberAndGenInputs(data, pk, presetName) {
1881
+ const params = await resolveParams(presetName);
1882
+ const [encryptedData, circuitInputs] = (0, import_wasm.bfv_verifiable_encrypt_number)(
1883
+ data,
1884
+ pk,
1885
+ params.degree,
1886
+ params.plaintextModulus,
1887
+ BigUint64Array.from(params.moduli)
1888
+ );
1889
+ return { encryptedData, circuitInputs: JSON.parse(circuitInputs) };
1890
+ }
1891
+ async function encryptNumberAndGenProof(data, pk, presetName) {
1892
+ const { circuitInputs, encryptedData } = await encryptNumberAndGenInputs(data, pk, presetName);
1893
+ const proof = await generateProof(circuitInputs);
1894
+ return { encryptedData, proof };
1895
+ }
1896
+ async function encryptVectorAndGenInputs(data, pk, presetName) {
1897
+ const params = await resolveParams(presetName);
1898
+ const [encryptedData, circuitInputs] = (0, import_wasm.bfv_verifiable_encrypt_vector)(
1899
+ data,
1900
+ pk,
1901
+ params.degree,
1902
+ params.plaintextModulus,
1903
+ BigUint64Array.from(params.moduli)
1904
+ );
1905
+ return { encryptedData, circuitInputs: JSON.parse(circuitInputs) };
1906
+ }
1907
+ async function encryptVectorAndGenProof(data, pk, presetName) {
1908
+ const { circuitInputs, encryptedData } = await encryptVectorAndGenInputs(data, pk, presetName);
1909
+ const proof = await generateProof(circuitInputs);
1910
+ return { encryptedData, proof };
1911
+ }
1912
+
1913
+ // src/crypto/types.ts
1914
+ var ThresholdBfvParamsPresetNames = [
1915
+ "INSECURE_THRESHOLD_512",
1916
+ "SECURE_THRESHOLD_8192"
1917
+ ];
1918
+ // Annotate the CommonJS export names for ESM import in node:
1919
+ 0 && (module.exports = {
1920
+ ThresholdBfvParamsPresetNames,
1921
+ computePublicKeyCommitment,
1922
+ encryptNumber,
1923
+ encryptNumberAndGenInputs,
1924
+ encryptNumberAndGenProof,
1925
+ encryptVector,
1926
+ encryptVectorAndGenInputs,
1927
+ encryptVectorAndGenProof,
1928
+ generateProof,
1929
+ generatePublicKey,
1930
+ getThresholdBfvParamsSet
1931
+ });
1932
+ //# sourceMappingURL=index.cjs.map