smesh_lol_web_common_helpers.mjs raw

   1  // Package smesh.lol/web/common/helpers
   2  // Generated by MoxieJS — Moxie JavaScript backend
   3  
   4  import * as $rt from './$runtime/index.mjs';
   5  
   6  // Package-level variables
   7  
   8  $rt.types.registerType('smesh.lol/web/common/helpers.Nevent', {
   9    id: 'smesh.lol/web/common/helpers.Nevent',
  10    kind: 'struct',
  11    methods: new Map(),
  12    fields: [
  13      { name: 'ID', type: 'string', tag: '', embedded: false },
  14      { name: 'Relays', type: '[]string', tag: '', embedded: false },
  15      { name: 'Author', type: 'string', tag: '', embedded: false },
  16    ],
  17    zero: () => ({ ID: '', Relays: null, Author: '' }),
  18  });
  19  $rt.types.registerType('smesh.lol/web/common/helpers.Nprofile', {
  20    id: 'smesh.lol/web/common/helpers.Nprofile',
  21    kind: 'struct',
  22    methods: new Map(),
  23    fields: [
  24      { name: 'Pubkey', type: 'string', tag: '', embedded: false },
  25      { name: 'Relays', type: '[]string', tag: '', embedded: false },
  26    ],
  27    zero: () => ({ Pubkey: '', Relays: null }),
  28  });
  29  export function init() {
  30    return;
  31  }
  32  
  33  export function Base64Encode(data) {
  34    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73;
  35    let $block = 0;
  36    while (true) {
  37      switch ($block) {
  38        case 0: {
  39          $t0_1 = $rt.builtin.len(data);
  40          $t1_2 = ($t0_1 + 2);
  41          $t2_3 = Math.trunc($t1_2 / 3);
  42          $t3_4 = ($t2_3 * 4);
  43          $t4_5 = $rt.builtin.makeSlice(0, $t3_4, 0);
  44          $t5_6 = $t4_5;
  45          $t6_7 = 0;
  46          $block = 1; break;
  47          break;
  48        }
  49        case 1: {
  50          $t7_8 = ($t6_7 < $t0_1);
  51          if ($t7_8) {
  52            $block = 2; break;
  53          }
  54          else {
  55            $block = 3; break;
  56          }
  57          break;
  58        }
  59        case 2: {
  60          $t8_9 = data.addr($t6_7);
  61          $t9_10 = $t8_9.$get();
  62          $t10_11 = ($t6_7 + 1);
  63          $t11_12 = ($t10_11 < $t0_1);
  64          if ($t11_12) {
  65            $block = 4; break;
  66          }
  67          else {
  68            $t16_17 = 0;
  69            $block = 5; break;
  70          }
  71          break;
  72        }
  73        case 3: {
  74          $t12_13 = $rt.builtin.bytesToString($t5_6);
  75          return $t12_13;
  76          break;
  77        }
  78        case 4: {
  79          $t13_14 = ($t6_7 + 1);
  80          $t14_15 = data.addr($t13_14);
  81          $t15_16 = $t14_15.$get();
  82          $t16_17 = $t15_16;
  83          $block = 5; break;
  84          break;
  85        }
  86        case 5: {
  87          $t17_18 = ($t6_7 + 2);
  88          $t18_19 = ($t17_18 < $t0_1);
  89          if ($t18_19) {
  90            $block = 6; break;
  91          }
  92          else {
  93            $t22_23 = 0;
  94            $block = 7; break;
  95          }
  96          break;
  97        }
  98        case 6: {
  99          $t19_20 = ($t6_7 + 2);
 100          $t20_21 = data.addr($t19_20);
 101          $t21_22 = $t20_21.$get();
 102          $t22_23 = $t21_22;
 103          $block = 7; break;
 104          break;
 105        }
 106        case 7: {
 107          $t23_24 = (($t9_10 & 0xFF) >> 2);
 108          $t24_25 = ($t23_24 & 63);
 109          $t25_26 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.addr($t24_25);
 110          $t26_27 = $t25_26.$get();
 111          $t27_28 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
 112          $t28_29 = $t27_28.$get().addr(0);
 113          $t28_29.$set($t26_27);
 114          $t29_30 = $rt.builtin.sliceSlice($t27_28.$get(), undefined, undefined, undefined);
 115          $t30_31 = $rt.builtin.appendSlice($t5_6, $t29_30);
 116          $t31_32 = (($t9_10 << 4) & 0xFF);
 117          $t32_33 = (($t16_17 & 0xFF) >> 4);
 118          $t33_34 = ($t31_32 | $t32_33);
 119          $t34_35 = ($t33_34 & 63);
 120          $t35_36 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.addr($t34_35);
 121          $t36_37 = $t35_36.$get();
 122          $t37_38 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
 123          $t38_39 = $t37_38.$get().addr(0);
 124          $t38_39.$set($t36_37);
 125          $t39_40 = $rt.builtin.sliceSlice($t37_38.$get(), undefined, undefined, undefined);
 126          $t40_41 = $rt.builtin.appendSlice($t30_31, $t39_40);
 127          $t41_42 = ($t6_7 + 1);
 128          $t42_43 = ($t41_42 < $t0_1);
 129          if ($t42_43) {
 130            $block = 8; break;
 131          }
 132          else {
 133            $block = 10; break;
 134          }
 135          break;
 136        }
 137        case 8: {
 138          $t43_44 = (($t16_17 << 2) & 0xFF);
 139          $t44_45 = (($t22_23 & 0xFF) >> 6);
 140          $t45_46 = ($t43_44 | $t44_45);
 141          $t46_47 = ($t45_46 & 63);
 142          $t47_48 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.addr($t46_47);
 143          $t48_49 = $t47_48.$get();
 144          $t49_50 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
 145          $t50_51 = $t49_50.$get().addr(0);
 146          $t50_51.$set($t48_49);
 147          $t51_52 = $rt.builtin.sliceSlice($t49_50.$get(), undefined, undefined, undefined);
 148          $t52_53 = $rt.builtin.appendSlice($t40_41, $t51_52);
 149          $t53_54 = $t52_53;
 150          $block = 9; break;
 151          break;
 152        }
 153        case 9: {
 154          $t54_55 = ($t6_7 + 2);
 155          $t55_56 = ($t54_55 < $t0_1);
 156          if ($t55_56) {
 157            $block = 11; break;
 158          }
 159          else {
 160            $block = 13; break;
 161          }
 162          break;
 163        }
 164        case 10: {
 165          $t56_57 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
 166          $t57_58 = $t56_57.$get().addr(0);
 167          $t57_58.$set(61);
 168          $t58_59 = $rt.builtin.sliceSlice($t56_57.$get(), undefined, undefined, undefined);
 169          $t59_60 = $rt.builtin.appendSlice($t40_41, $t58_59);
 170          $t53_54 = $t59_60;
 171          $block = 9; break;
 172          break;
 173        }
 174        case 11: {
 175          $t60_61 = ($t22_23 & 63);
 176          $t61_62 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.addr($t60_61);
 177          $t62_63 = $t61_62.$get();
 178          $t63_64 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
 179          $t64_65 = $t63_64.$get().addr(0);
 180          $t64_65.$set($t62_63);
 181          $t65_66 = $rt.builtin.sliceSlice($t63_64.$get(), undefined, undefined, undefined);
 182          $t66_67 = $rt.builtin.appendSlice($t53_54, $t65_66);
 183          $t67_68 = $t66_67;
 184          $block = 12; break;
 185          break;
 186        }
 187        case 12: {
 188          $t68_69 = ($t6_7 + 3);
 189          $t5_6 = $t67_68;
 190          $t6_7 = $t68_69;
 191          $block = 1; break;
 192          break;
 193        }
 194        case 13: {
 195          $t69_70 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
 196          $t70_71 = $t69_70.$get().addr(0);
 197          $t70_71.$set(61);
 198          $t71_72 = $rt.builtin.sliceSlice($t69_70.$get(), undefined, undefined, undefined);
 199          $t72_73 = $rt.builtin.appendSlice($t53_54, $t71_72);
 200          $t67_68 = $t72_73;
 201          $block = 12; break;
 202          break;
 203        }
 204      }
 205    }
 206  }
 207  
 208  export function Base64Decode(s) {
 209    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38;
 210    let $block = 0;
 211    while (true) {
 212      switch ($block) {
 213        case 0: {
 214          $t0_1 = $rt.builtin.len(s);
 215          $t6_7 = $t0_1;
 216          $t7_8 = 0;
 217          $block = 3; break;
 218          break;
 219        }
 220        case 1: {
 221          $t1_2 = ($t7_8 + 1);
 222          $t2_3 = ($t6_7 - 1);
 223          $t6_7 = $t2_3;
 224          $t7_8 = $t1_2;
 225          $block = 3; break;
 226          break;
 227        }
 228        case 2: {
 229          $t3_4 = ($t6_7 * 3);
 230          $t4_5 = Math.trunc($t3_4 / 4);
 231          $t5_6 = $rt.builtin.makeSlice(0, $t4_5, 0);
 232          $t13_14 = $t5_6;
 233          $t14_15 = 0;
 234          $t15_16 = 0;
 235          $t16_17 = 0;
 236          $block = 5; break;
 237          break;
 238        }
 239        case 3: {
 240          $t8_9 = ($t6_7 > 0);
 241          if ($t8_9) {
 242            $block = 4; break;
 243          }
 244          else {
 245            $block = 2; break;
 246          }
 247          break;
 248        }
 249        case 4: {
 250          $t9_10 = ($t6_7 - 1);
 251          $t10_11 = s.addr($t9_10);
 252          $t11_12 = $t10_11.$get();
 253          $t12_13 = ($t11_12 === 61);
 254          if ($t12_13) {
 255            $block = 1; break;
 256          }
 257          else {
 258            $block = 2; break;
 259          }
 260          break;
 261        }
 262        case 5: {
 263          $t17_18 = ($t16_17 < $t6_7);
 264          if ($t17_18) {
 265            $block = 6; break;
 266          }
 267          else {
 268            $block = 7; break;
 269          }
 270          break;
 271        }
 272        case 6: {
 273          $t18_19 = s.addr($t16_17);
 274          $t19_20 = $t18_19.$get();
 275          $t20_21 = b64val($t19_20);
 276          $t21_22 = ($t20_21 < 0);
 277          if ($t21_22) {
 278            $block = 8; break;
 279          }
 280          else {
 281            $block = 9; break;
 282          }
 283          break;
 284        }
 285        case 7: {
 286          return $t13_14;
 287          break;
 288        }
 289        case 8: {
 290          return null;
 291          break;
 292        }
 293        case 9: {
 294          $t22_23 = (($t14_15 << 6) >>> 0);
 295          $t23_24 = ($t20_21 >>> 0);
 296          $t24_25 = (($t22_23 | $t23_24) >>> 0);
 297          $t25_26 = ($t15_16 + 6);
 298          $t26_27 = ($t25_26 >= 8);
 299          if ($t26_27) {
 300            $block = 10; break;
 301          }
 302          else {
 303            $t35_36 = $t13_14;
 304            $t36_37 = $t25_26;
 305            $block = 11; break;
 306          }
 307          break;
 308        }
 309        case 10: {
 310          $t27_28 = ($t25_26 - 8);
 311          $t28_29 = $t27_28;
 312          $t29_30 = ($t24_25 >>> $t28_29);
 313          $t30_31 = ($t29_30 & 0xFF);
 314          $t31_32 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
 315          $t32_33 = $t31_32.$get().addr(0);
 316          $t32_33.$set($t30_31);
 317          $t33_34 = $rt.builtin.sliceSlice($t31_32.$get(), undefined, undefined, undefined);
 318          $t34_35 = $rt.builtin.appendSlice($t13_14, $t33_34);
 319          $t35_36 = $t34_35;
 320          $t36_37 = $t27_28;
 321          $block = 11; break;
 322          break;
 323        }
 324        case 11: {
 325          $t37_38 = ($t16_17 + 1);
 326          $t13_14 = $t35_36;
 327          $t14_15 = $t24_25;
 328          $t15_16 = $t36_37;
 329          $t16_17 = $t37_38;
 330          $block = 5; break;
 331          break;
 332        }
 333      }
 334    }
 335  }
 336  
 337  export function b64val(c) {
 338    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16;
 339    let $block = 0;
 340    while (true) {
 341      switch ($block) {
 342        case 0: {
 343          $t0_1 = (c >= 65);
 344          if ($t0_1) {
 345            $block = 4; break;
 346          }
 347          else {
 348            $block = 3; break;
 349          }
 350          break;
 351        }
 352        case 1: {
 353          $t1_2 = ((c - 65) & 0xFF);
 354          $t2_3 = $t1_2;
 355          return $t2_3;
 356          break;
 357        }
 358        case 2: {
 359          $t3_4 = ((c - 97) & 0xFF);
 360          $t4_5 = $t3_4;
 361          $t5_6 = ($t4_5 + 26);
 362          return $t5_6;
 363          break;
 364        }
 365        case 3: {
 366          $t6_7 = (c >= 97);
 367          if ($t6_7) {
 368            $block = 7; break;
 369          }
 370          else {
 371            $block = 6; break;
 372          }
 373          break;
 374        }
 375        case 4: {
 376          $t7_8 = (c <= 90);
 377          if ($t7_8) {
 378            $block = 1; break;
 379          }
 380          else {
 381            $block = 3; break;
 382          }
 383          break;
 384        }
 385        case 5: {
 386          $t8_9 = ((c - 48) & 0xFF);
 387          $t9_10 = $t8_9;
 388          $t10_11 = ($t9_10 + 52);
 389          return $t10_11;
 390          break;
 391        }
 392        case 6: {
 393          $t11_12 = (c >= 48);
 394          if ($t11_12) {
 395            $block = 10; break;
 396          }
 397          else {
 398            $block = 9; break;
 399          }
 400          break;
 401        }
 402        case 7: {
 403          $t12_13 = (c <= 122);
 404          if ($t12_13) {
 405            $block = 2; break;
 406          }
 407          else {
 408            $block = 6; break;
 409          }
 410          break;
 411        }
 412        case 8: {
 413          return 62;
 414          break;
 415        }
 416        case 9: {
 417          $t13_14 = (c === 43);
 418          if ($t13_14) {
 419            $block = 8; break;
 420          }
 421          else {
 422            $block = 12; break;
 423          }
 424          break;
 425        }
 426        case 10: {
 427          $t14_15 = (c <= 57);
 428          if ($t14_15) {
 429            $block = 5; break;
 430          }
 431          else {
 432            $block = 9; break;
 433          }
 434          break;
 435        }
 436        case 11: {
 437          return 63;
 438          break;
 439        }
 440        case 12: {
 441          $t15_16 = (c === 47);
 442          if ($t15_16) {
 443            $block = 11; break;
 444          }
 445          else {
 446            $block = 13; break;
 447          }
 448          break;
 449        }
 450        case 13: {
 451          return -1;
 452          break;
 453        }
 454      }
 455    }
 456  }
 457  
 458  export function Bech32Encode(hrp, data) {
 459    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27;
 460    let $block = 0;
 461    while (true) {
 462      switch ($block) {
 463        case 0: {
 464          $t0_1 = bytesToBase32(data);
 465          $t1_2 = bech32Checksum(hrp, $t0_1);
 466          $t2_3 = $rt.builtin.appendSlice($t0_1, $t1_2);
 467          $t3_4 = $rt.builtin.len(hrp);
 468          $t4_5 = ($t3_4 + 1);
 469          $t5_6 = $rt.builtin.len($t2_3);
 470          $t6_7 = ($t4_5 + $t5_6);
 471          $t7_8 = $rt.builtin.makeSlice(0, $t6_7, 0);
 472          $t8_9 = $rt.builtin.appendString($t7_8, hrp);
 473          $t9_10 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
 474          $t10_11 = $t9_10.$get().addr(0);
 475          $t10_11.$set(49);
 476          $t11_12 = $rt.builtin.sliceSlice($t9_10.$get(), undefined, undefined, undefined);
 477          $t12_13 = $rt.builtin.appendSlice($t8_9, $t11_12);
 478          $t13_14 = $rt.builtin.len($t2_3);
 479          $t14_15 = $t12_13;
 480          $t15_16 = -1;
 481          $block = 1; break;
 482          break;
 483        }
 484        case 1: {
 485          $t16_17 = ($t15_16 + 1);
 486          $t17_18 = ($t16_17 < $t13_14);
 487          if ($t17_18) {
 488            $block = 2; break;
 489          }
 490          else {
 491            $block = 3; break;
 492          }
 493          break;
 494        }
 495        case 2: {
 496          $t18_19 = $t2_3.addr($t16_17);
 497          $t19_20 = $t18_19.$get();
 498          $t20_21 = 'qpzry9x8gf2tvdw0s3jn54khce6mua7l'.addr($t19_20);
 499          $t21_22 = $t20_21.$get();
 500          $t22_23 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
 501          $t23_24 = $t22_23.$get().addr(0);
 502          $t23_24.$set($t21_22);
 503          $t24_25 = $rt.builtin.sliceSlice($t22_23.$get(), undefined, undefined, undefined);
 504          $t25_26 = $rt.builtin.appendSlice($t14_15, $t24_25);
 505          $t14_15 = $t25_26;
 506          $t15_16 = $t16_17;
 507          $block = 1; break;
 508          break;
 509        }
 510        case 3: {
 511          $t26_27 = $rt.builtin.bytesToString($t14_15);
 512          return $t26_27;
 513          break;
 514        }
 515      }
 516    }
 517  }
 518  
 519  export function Bech32Decode(s) {
 520    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33;
 521    let $block = 0;
 522    while (true) {
 523      switch ($block) {
 524        case 0: {
 525          $t0_1 = $rt.builtin.len(s);
 526          $t1_2 = ($t0_1 - 1);
 527          $t2_3 = $t1_2;
 528          $block = 1; break;
 529          break;
 530        }
 531        case 1: {
 532          $t3_4 = ($t2_3 >= 0);
 533          if ($t3_4) {
 534            $block = 2; break;
 535          }
 536          else {
 537            $t7_8 = -1;
 538            $block = 3; break;
 539          }
 540          break;
 541        }
 542        case 2: {
 543          $t4_5 = s.addr($t2_3);
 544          $t5_6 = $t4_5.$get();
 545          $t6_7 = ($t5_6 === 49);
 546          if ($t6_7) {
 547            $block = 4; break;
 548          }
 549          else {
 550            $block = 5; break;
 551          }
 552          break;
 553        }
 554        case 3: {
 555          $t8_9 = ($t7_8 < 1);
 556          if ($t8_9) {
 557            $block = 6; break;
 558          }
 559          else {
 560            $block = 8; break;
 561          }
 562          break;
 563        }
 564        case 4: {
 565          $t7_8 = $t2_3;
 566          $block = 3; break;
 567          break;
 568        }
 569        case 5: {
 570          $t9_10 = ($t2_3 - 1);
 571          $t2_3 = $t9_10;
 572          $block = 1; break;
 573          break;
 574        }
 575        case 6: {
 576          return ['', null];
 577          break;
 578        }
 579        case 7: {
 580          $t10_11 = $rt.builtin.stringSlice(s, undefined, $t7_8);
 581          $t11_12 = ($t7_8 + 1);
 582          $t12_13 = $rt.builtin.stringSlice(s, $t11_12, undefined);
 583          $t13_14 = $rt.builtin.len($t12_13);
 584          $t14_15 = $rt.builtin.makeSlice($t13_14, $t13_14, 0);
 585          $t18_19 = 0;
 586          $block = 9; break;
 587          break;
 588        }
 589        case 8: {
 590          $t15_16 = ($t7_8 + 7);
 591          $t16_17 = $rt.builtin.len(s);
 592          $t17_18 = ($t15_16 > $t16_17);
 593          if ($t17_18) {
 594            $block = 6; break;
 595          }
 596          else {
 597            $block = 7; break;
 598          }
 599          break;
 600        }
 601        case 9: {
 602          $t19_20 = $rt.builtin.len($t12_13);
 603          $t20_21 = ($t18_19 < $t19_20);
 604          if ($t20_21) {
 605            $block = 10; break;
 606          }
 607          else {
 608            $block = 11; break;
 609          }
 610          break;
 611        }
 612        case 10: {
 613          $t21_22 = $t12_13.addr($t18_19);
 614          $t22_23 = $t21_22.$get();
 615          $t23_24 = charsetIndex($t22_23);
 616          $t24_25 = ($t23_24 < 0);
 617          if ($t24_25) {
 618            $block = 12; break;
 619          }
 620          else {
 621            $block = 13; break;
 622          }
 623          break;
 624        }
 625        case 11: {
 626          $t25_26 = bech32Verify($t10_11, $t14_15);
 627          if ($t25_26) {
 628            $block = 15; break;
 629          }
 630          else {
 631            $block = 14; break;
 632          }
 633          break;
 634        }
 635        case 12: {
 636          return ['', null];
 637          break;
 638        }
 639        case 13: {
 640          $t26_27 = ($t23_24 & 0xFF);
 641          $t27_28 = $t14_15.addr($t18_19);
 642          $t27_28.$set($t26_27);
 643          $t28_29 = ($t18_19 + 1);
 644          $t18_19 = $t28_29;
 645          $block = 9; break;
 646          break;
 647        }
 648        case 14: {
 649          return ['', null];
 650          break;
 651        }
 652        case 15: {
 653          $t29_30 = $rt.builtin.len($t14_15);
 654          $t30_31 = ($t29_30 - 6);
 655          $t31_32 = $rt.builtin.sliceSlice($t14_15, undefined, $t30_31, undefined);
 656          $t32_33 = base32ToBytes($t31_32);
 657          return [$t10_11, $t32_33];
 658          break;
 659        }
 660      }
 661    }
 662  }
 663  
 664  export function EncodeNpub(pubkey) {
 665    let $t0_1;
 666    $t0_1 = Bech32Encode('npub', pubkey);
 667    return $t0_1;
 668  }
 669  
 670  export function EncodeNsec(seckey) {
 671    let $t0_1;
 672    $t0_1 = Bech32Encode('nsec', seckey);
 673    return $t0_1;
 674  }
 675  
 676  export function EncodeNote(eventID) {
 677    let $t0_1;
 678    $t0_1 = Bech32Encode('note', eventID);
 679    return $t0_1;
 680  }
 681  
 682  export function DecodeNpub(s) {
 683    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6;
 684    let $block = 0;
 685    while (true) {
 686      switch ($block) {
 687        case 0: {
 688          $t0_1 = Bech32Decode(s);
 689          $t1_2 = $t0_1[0];
 690          $t2_3 = $t0_1[1];
 691          $t3_4 = ($t1_2 !== 'npub');
 692          if ($t3_4) {
 693            $block = 1; break;
 694          }
 695          else {
 696            $block = 3; break;
 697          }
 698          break;
 699        }
 700        case 1: {
 701          return null;
 702          break;
 703        }
 704        case 2: {
 705          return $t2_3;
 706          break;
 707        }
 708        case 3: {
 709          $t4_5 = $rt.builtin.len($t2_3);
 710          $t5_6 = ($t4_5 !== 32);
 711          if ($t5_6) {
 712            $block = 1; break;
 713          }
 714          else {
 715            $block = 2; break;
 716          }
 717          break;
 718        }
 719      }
 720    }
 721  }
 722  
 723  export function DecodeNsec(s) {
 724    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6;
 725    let $block = 0;
 726    while (true) {
 727      switch ($block) {
 728        case 0: {
 729          $t0_1 = Bech32Decode(s);
 730          $t1_2 = $t0_1[0];
 731          $t2_3 = $t0_1[1];
 732          $t3_4 = ($t1_2 !== 'nsec');
 733          if ($t3_4) {
 734            $block = 1; break;
 735          }
 736          else {
 737            $block = 3; break;
 738          }
 739          break;
 740        }
 741        case 1: {
 742          return null;
 743          break;
 744        }
 745        case 2: {
 746          return $t2_3;
 747          break;
 748        }
 749        case 3: {
 750          $t4_5 = $rt.builtin.len($t2_3);
 751          $t5_6 = ($t4_5 !== 32);
 752          if ($t5_6) {
 753            $block = 1; break;
 754          }
 755          else {
 756            $block = 2; break;
 757          }
 758          break;
 759        }
 760      }
 761    }
 762  }
 763  
 764  export function DecodeNote(s) {
 765    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6;
 766    let $block = 0;
 767    while (true) {
 768      switch ($block) {
 769        case 0: {
 770          $t0_1 = Bech32Decode(s);
 771          $t1_2 = $t0_1[0];
 772          $t2_3 = $t0_1[1];
 773          $t3_4 = ($t1_2 !== 'note');
 774          if ($t3_4) {
 775            $block = 1; break;
 776          }
 777          else {
 778            $block = 3; break;
 779          }
 780          break;
 781        }
 782        case 1: {
 783          return null;
 784          break;
 785        }
 786        case 2: {
 787          return $t2_3;
 788          break;
 789        }
 790        case 3: {
 791          $t4_5 = $rt.builtin.len($t2_3);
 792          $t5_6 = ($t4_5 !== 32);
 793          if ($t5_6) {
 794            $block = 1; break;
 795          }
 796          else {
 797            $block = 2; break;
 798          }
 799          break;
 800        }
 801      }
 802    }
 803  }
 804  
 805  export function DecodeNevent(s) {
 806    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42;
 807    let $block = 0;
 808    while (true) {
 809      switch ($block) {
 810        case 0: {
 811          $t0_1 = Bech32Decode(s);
 812          $t1_2 = $t0_1[0];
 813          $t2_3 = $t0_1[1];
 814          $t3_4 = ($t1_2 !== 'nevent');
 815          if ($t3_4) {
 816            $block = 1; break;
 817          }
 818          else {
 819            $block = 2; break;
 820          }
 821          break;
 822        }
 823        case 1: {
 824          return null;
 825          break;
 826        }
 827        case 2: {
 828          $t4_5 = { $value: { ID: '', Relays: null, Author: '' }, $get() { return this.$value; }, $set(v) { this.$value = v; } };
 829          $t18_19 = 0;
 830          $block = 5; break;
 831          break;
 832        }
 833        case 3: {
 834          $t5_6 = $t2_3.addr($t18_19);
 835          $t6_7 = $t5_6.$get();
 836          $t7_8 = ($t18_19 + 1);
 837          $t8_9 = $t2_3.addr($t7_8);
 838          $t9_10 = $t8_9.$get();
 839          $t10_11 = $t9_10;
 840          $t11_12 = ($t18_19 + 2);
 841          $t12_13 = ($t11_12 + $t10_11);
 842          $t13_14 = $rt.builtin.len($t2_3);
 843          $t14_15 = ($t12_13 > $t13_14);
 844          if ($t14_15) {
 845            $block = 4; break;
 846          }
 847          else {
 848            $block = 6; break;
 849          }
 850          break;
 851        }
 852        case 4: {
 853          $t15_16 = { $get() { return $t4_5.$get().ID; }, $set(v) { const obj = $t4_5.$get(); obj.ID = v; $t4_5.$set(obj); } };
 854          $t16_17 = $t15_16.$get();
 855          $t17_18 = ($t16_17 === '');
 856          if ($t17_18) {
 857            $block = 14; break;
 858          }
 859          else {
 860            $block = 15; break;
 861          }
 862          break;
 863        }
 864        case 5: {
 865          $t19_20 = ($t18_19 + 2);
 866          $t20_21 = $rt.builtin.len($t2_3);
 867          $t21_22 = ($t19_20 <= $t20_21);
 868          if ($t21_22) {
 869            $block = 3; break;
 870          }
 871          else {
 872            $block = 4; break;
 873          }
 874          break;
 875        }
 876        case 6: {
 877          $t22_23 = ($t11_12 + $t10_11);
 878          $t23_24 = $rt.builtin.sliceSlice($t2_3, $t11_12, $t22_23, undefined);
 879          $t24_25 = ($t11_12 + $t10_11);
 880          $t25_26 = ($t6_7 === 0);
 881          if ($t25_26) {
 882            $block = 7; break;
 883          }
 884          else {
 885            $block = 9; break;
 886          }
 887          break;
 888        }
 889        case 7: {
 890          $t26_27 = ($t10_11 === 32);
 891          if ($t26_27) {
 892            $block = 10; break;
 893          }
 894          else {
 895            $t18_19 = $t24_25;
 896            $block = 5; break;
 897          }
 898          break;
 899        }
 900        case 8: {
 901          $t27_28 = { $get() { return $t4_5.$get().Relays; }, $set(v) { const obj = $t4_5.$get(); obj.Relays = v; $t4_5.$set(obj); } };
 902          $t28_29 = $t27_28.$get();
 903          $t29_30 = $rt.builtin.bytesToString($t23_24);
 904          $t30_31 = { $value: $rt.builtin.makeSlice(1, 1, ''), $get() { return this.$value; }, $set(v) { this.$value = v; } };
 905          $t31_32 = $t30_31.$get().addr(0);
 906          $t31_32.$set($t29_30);
 907          $t32_33 = $rt.builtin.sliceSlice($t30_31.$get(), undefined, undefined, undefined);
 908          $t33_34 = $rt.builtin.appendSlice($t28_29, $t32_33);
 909          $t34_35 = { $get() { return $t4_5.$get().Relays; }, $set(v) { const obj = $t4_5.$get(); obj.Relays = v; $t4_5.$set(obj); } };
 910          $t34_35.$set($t33_34);
 911          $t18_19 = $t24_25;
 912          $block = 5; break;
 913          break;
 914        }
 915        case 9: {
 916          $t35_36 = ($t6_7 === 1);
 917          if ($t35_36) {
 918            $block = 8; break;
 919          }
 920          else {
 921            $block = 12; break;
 922          }
 923          break;
 924        }
 925        case 10: {
 926          $t36_37 = HexEncode($t23_24);
 927          $t37_38 = { $get() { return $t4_5.$get().ID; }, $set(v) { const obj = $t4_5.$get(); obj.ID = v; $t4_5.$set(obj); } };
 928          $t37_38.$set($t36_37);
 929          $t18_19 = $t24_25;
 930          $block = 5; break;
 931          break;
 932        }
 933        case 11: {
 934          $t38_39 = ($t10_11 === 32);
 935          if ($t38_39) {
 936            $block = 13; break;
 937          }
 938          else {
 939            $t18_19 = $t24_25;
 940            $block = 5; break;
 941          }
 942          break;
 943        }
 944        case 12: {
 945          $t39_40 = ($t6_7 === 2);
 946          if ($t39_40) {
 947            $block = 11; break;
 948          }
 949          else {
 950            $t18_19 = $t24_25;
 951            $block = 5; break;
 952          }
 953          break;
 954        }
 955        case 13: {
 956          $t40_41 = HexEncode($t23_24);
 957          $t41_42 = { $get() { return $t4_5.$get().Author; }, $set(v) { const obj = $t4_5.$get(); obj.Author = v; $t4_5.$set(obj); } };
 958          $t41_42.$set($t40_41);
 959          $t18_19 = $t24_25;
 960          $block = 5; break;
 961          break;
 962        }
 963        case 14: {
 964          return null;
 965          break;
 966        }
 967        case 15: {
 968          return $t4_5;
 969          break;
 970        }
 971      }
 972    }
 973  }
 974  
 975  export function DecodeNprofile(s) {
 976    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38;
 977    let $block = 0;
 978    while (true) {
 979      switch ($block) {
 980        case 0: {
 981          $t0_1 = Bech32Decode(s);
 982          $t1_2 = $t0_1[0];
 983          $t2_3 = $t0_1[1];
 984          $t3_4 = ($t1_2 !== 'nprofile');
 985          if ($t3_4) {
 986            $block = 1; break;
 987          }
 988          else {
 989            $block = 2; break;
 990          }
 991          break;
 992        }
 993        case 1: {
 994          return null;
 995          break;
 996        }
 997        case 2: {
 998          $t4_5 = { $value: { Pubkey: '', Relays: null }, $get() { return this.$value; }, $set(v) { this.$value = v; } };
 999          $t18_19 = 0;
1000          $block = 5; break;
1001          break;
1002        }
1003        case 3: {
1004          $t5_6 = $t2_3.addr($t18_19);
1005          $t6_7 = $t5_6.$get();
1006          $t7_8 = ($t18_19 + 1);
1007          $t8_9 = $t2_3.addr($t7_8);
1008          $t9_10 = $t8_9.$get();
1009          $t10_11 = $t9_10;
1010          $t11_12 = ($t18_19 + 2);
1011          $t12_13 = ($t11_12 + $t10_11);
1012          $t13_14 = $rt.builtin.len($t2_3);
1013          $t14_15 = ($t12_13 > $t13_14);
1014          if ($t14_15) {
1015            $block = 4; break;
1016          }
1017          else {
1018            $block = 6; break;
1019          }
1020          break;
1021        }
1022        case 4: {
1023          $t15_16 = { $get() { return $t4_5.$get().Pubkey; }, $set(v) { const obj = $t4_5.$get(); obj.Pubkey = v; $t4_5.$set(obj); } };
1024          $t16_17 = $t15_16.$get();
1025          $t17_18 = ($t16_17 === '');
1026          if ($t17_18) {
1027            $block = 11; break;
1028          }
1029          else {
1030            $block = 12; break;
1031          }
1032          break;
1033        }
1034        case 5: {
1035          $t19_20 = ($t18_19 + 2);
1036          $t20_21 = $rt.builtin.len($t2_3);
1037          $t21_22 = ($t19_20 <= $t20_21);
1038          if ($t21_22) {
1039            $block = 3; break;
1040          }
1041          else {
1042            $block = 4; break;
1043          }
1044          break;
1045        }
1046        case 6: {
1047          $t22_23 = ($t11_12 + $t10_11);
1048          $t23_24 = $rt.builtin.sliceSlice($t2_3, $t11_12, $t22_23, undefined);
1049          $t24_25 = ($t11_12 + $t10_11);
1050          $t25_26 = ($t6_7 === 0);
1051          if ($t25_26) {
1052            $block = 7; break;
1053          }
1054          else {
1055            $block = 9; break;
1056          }
1057          break;
1058        }
1059        case 7: {
1060          $t26_27 = ($t10_11 === 32);
1061          if ($t26_27) {
1062            $block = 10; break;
1063          }
1064          else {
1065            $t18_19 = $t24_25;
1066            $block = 5; break;
1067          }
1068          break;
1069        }
1070        case 8: {
1071          $t27_28 = { $get() { return $t4_5.$get().Relays; }, $set(v) { const obj = $t4_5.$get(); obj.Relays = v; $t4_5.$set(obj); } };
1072          $t28_29 = $t27_28.$get();
1073          $t29_30 = $rt.builtin.bytesToString($t23_24);
1074          $t30_31 = { $value: $rt.builtin.makeSlice(1, 1, ''), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1075          $t31_32 = $t30_31.$get().addr(0);
1076          $t31_32.$set($t29_30);
1077          $t32_33 = $rt.builtin.sliceSlice($t30_31.$get(), undefined, undefined, undefined);
1078          $t33_34 = $rt.builtin.appendSlice($t28_29, $t32_33);
1079          $t34_35 = { $get() { return $t4_5.$get().Relays; }, $set(v) { const obj = $t4_5.$get(); obj.Relays = v; $t4_5.$set(obj); } };
1080          $t34_35.$set($t33_34);
1081          $t18_19 = $t24_25;
1082          $block = 5; break;
1083          break;
1084        }
1085        case 9: {
1086          $t35_36 = ($t6_7 === 1);
1087          if ($t35_36) {
1088            $block = 8; break;
1089          }
1090          else {
1091            $t18_19 = $t24_25;
1092            $block = 5; break;
1093          }
1094          break;
1095        }
1096        case 10: {
1097          $t36_37 = HexEncode($t23_24);
1098          $t37_38 = { $get() { return $t4_5.$get().Pubkey; }, $set(v) { const obj = $t4_5.$get(); obj.Pubkey = v; $t4_5.$set(obj); } };
1099          $t37_38.$set($t36_37);
1100          $t18_19 = $t24_25;
1101          $block = 5; break;
1102          break;
1103        }
1104        case 11: {
1105          return null;
1106          break;
1107        }
1108        case 12: {
1109          return $t4_5;
1110          break;
1111        }
1112      }
1113    }
1114  }
1115  
1116  export function PubkeyShort(pubkey) {
1117    let $t0_1, $t1_2, $t2_3;
1118    let $block = 0;
1119    while (true) {
1120      switch ($block) {
1121        case 0: {
1122          $t0_1 = $rt.builtin.len(pubkey);
1123          $t1_2 = ($t0_1 >= 8);
1124          if ($t1_2) {
1125            $block = 1; break;
1126          }
1127          else {
1128            $block = 2; break;
1129          }
1130          break;
1131        }
1132        case 1: {
1133          $t2_3 = $rt.builtin.stringSlice(pubkey, undefined, 8);
1134          return $t2_3;
1135          break;
1136        }
1137        case 2: {
1138          return pubkey;
1139          break;
1140        }
1141      }
1142    }
1143  }
1144  
1145  export function bytesToBase32(data) {
1146    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38;
1147    let $block = 0;
1148    while (true) {
1149      switch ($block) {
1150        case 0: {
1151          $t0_1 = $rt.builtin.len(data);
1152          $t1_2 = null;
1153          $t2_3 = 0;
1154          $t3_4 = 0;
1155          $t4_5 = -1;
1156          $block = 1; break;
1157          break;
1158        }
1159        case 1: {
1160          $t5_6 = ($t4_5 + 1);
1161          $t6_7 = ($t5_6 < $t0_1);
1162          if ($t6_7) {
1163            $block = 2; break;
1164          }
1165          else {
1166            $block = 3; break;
1167          }
1168          break;
1169        }
1170        case 2: {
1171          $t7_8 = data.addr($t5_6);
1172          $t8_9 = $t7_8.$get();
1173          $t9_10 = ($t2_3 << 8);
1174          $t10_11 = $t8_9;
1175          $t11_12 = ($t9_10 | $t10_11);
1176          $t12_13 = ($t3_4 + 8);
1177          $t26_27 = $t1_2;
1178          $t27_28 = $t12_13;
1179          $block = 6; break;
1180          break;
1181        }
1182        case 3: {
1183          $t13_14 = ($t3_4 > 0);
1184          if ($t13_14) {
1185            $block = 7; break;
1186          }
1187          else {
1188            $t37_38 = $t1_2;
1189            $block = 8; break;
1190          }
1191          break;
1192        }
1193        case 4: {
1194          $t14_15 = ($t27_28 - 5);
1195          $t15_16 = ($t11_12 >> $t14_15);
1196          $t16_17 = ($t15_16 & 31);
1197          $t17_18 = ($t16_17 & 0xFF);
1198          $t18_19 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1199          $t19_20 = $t18_19.$get().addr(0);
1200          $t19_20.$set($t17_18);
1201          $t20_21 = $rt.builtin.sliceSlice($t18_19.$get(), undefined, undefined, undefined);
1202          $t21_22 = $rt.builtin.appendSlice($t26_27, $t20_21);
1203          $t26_27 = $t21_22;
1204          $t27_28 = $t14_15;
1205          $block = 6; break;
1206          break;
1207        }
1208        case 5: {
1209          $t22_23 = $t27_28;
1210          $t23_24 = (1 << $t22_23);
1211          $t24_25 = ($t23_24 - 1);
1212          $t25_26 = ($t11_12 & $t24_25);
1213          $t1_2 = $t26_27;
1214          $t2_3 = $t25_26;
1215          $t3_4 = $t27_28;
1216          $t4_5 = $t5_6;
1217          $block = 1; break;
1218          break;
1219        }
1220        case 6: {
1221          $t28_29 = ($t27_28 >= 5);
1222          if ($t28_29) {
1223            $block = 4; break;
1224          }
1225          else {
1226            $block = 5; break;
1227          }
1228          break;
1229        }
1230        case 7: {
1231          $t29_30 = (5 - $t3_4);
1232          $t30_31 = ($t2_3 << $t29_30);
1233          $t31_32 = ($t30_31 & 31);
1234          $t32_33 = ($t31_32 & 0xFF);
1235          $t33_34 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1236          $t34_35 = $t33_34.$get().addr(0);
1237          $t34_35.$set($t32_33);
1238          $t35_36 = $rt.builtin.sliceSlice($t33_34.$get(), undefined, undefined, undefined);
1239          $t36_37 = $rt.builtin.appendSlice($t1_2, $t35_36);
1240          $t37_38 = $t36_37;
1241          $block = 8; break;
1242          break;
1243        }
1244        case 8: {
1245          return $t37_38;
1246          break;
1247        }
1248      }
1249    }
1250  }
1251  
1252  export function base32ToBytes(data) {
1253    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28;
1254    let $block = 0;
1255    while (true) {
1256      switch ($block) {
1257        case 0: {
1258          $t0_1 = $rt.builtin.len(data);
1259          $t1_2 = null;
1260          $t2_3 = 0;
1261          $t3_4 = 0;
1262          $t4_5 = -1;
1263          $block = 1; break;
1264          break;
1265        }
1266        case 1: {
1267          $t5_6 = ($t4_5 + 1);
1268          $t6_7 = ($t5_6 < $t0_1);
1269          if ($t6_7) {
1270            $block = 2; break;
1271          }
1272          else {
1273            $block = 3; break;
1274          }
1275          break;
1276        }
1277        case 2: {
1278          $t7_8 = data.addr($t5_6);
1279          $t8_9 = $t7_8.$get();
1280          $t9_10 = ($t2_3 << 5);
1281          $t10_11 = $t8_9;
1282          $t11_12 = ($t9_10 | $t10_11);
1283          $t12_13 = ($t3_4 + 5);
1284          $t25_26 = $t1_2;
1285          $t26_27 = $t12_13;
1286          $block = 6; break;
1287          break;
1288        }
1289        case 3: {
1290          return $t1_2;
1291          break;
1292        }
1293        case 4: {
1294          $t13_14 = ($t26_27 - 8);
1295          $t14_15 = ($t11_12 >> $t13_14);
1296          $t15_16 = ($t14_15 & 255);
1297          $t16_17 = ($t15_16 & 0xFF);
1298          $t17_18 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1299          $t18_19 = $t17_18.$get().addr(0);
1300          $t18_19.$set($t16_17);
1301          $t19_20 = $rt.builtin.sliceSlice($t17_18.$get(), undefined, undefined, undefined);
1302          $t20_21 = $rt.builtin.appendSlice($t25_26, $t19_20);
1303          $t25_26 = $t20_21;
1304          $t26_27 = $t13_14;
1305          $block = 6; break;
1306          break;
1307        }
1308        case 5: {
1309          $t21_22 = $t26_27;
1310          $t22_23 = (1 << $t21_22);
1311          $t23_24 = ($t22_23 - 1);
1312          $t24_25 = ($t11_12 & $t23_24);
1313          $t1_2 = $t25_26;
1314          $t2_3 = $t24_25;
1315          $t3_4 = $t26_27;
1316          $t4_5 = $t5_6;
1317          $block = 1; break;
1318          break;
1319        }
1320        case 6: {
1321          $t27_28 = ($t26_27 >= 8);
1322          if ($t27_28) {
1323            $block = 4; break;
1324          }
1325          else {
1326            $block = 5; break;
1327          }
1328          break;
1329        }
1330      }
1331    }
1332  }
1333  
1334  export function bech32Polymod(values) {
1335    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30;
1336    let $block = 0;
1337    while (true) {
1338      switch ($block) {
1339        case 0: {
1340          $t0_1 = { $value: $rt.builtin.makeSlice(5, 5, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1341          $t1_2 = $t0_1.$get().addr(0);
1342          $t2_3 = $t0_1.$get().addr(1);
1343          $t3_4 = $t0_1.$get().addr(2);
1344          $t4_5 = $t0_1.$get().addr(3);
1345          $t5_6 = $t0_1.$get().addr(4);
1346          $t1_2.$set(996825010);
1347          $t2_3.$set(642813549);
1348          $t3_4.$set(513874426);
1349          $t4_5.$set(1027748829);
1350          $t5_6.$set(705979059);
1351          $t6_7 = $rt.builtin.len(values);
1352          $t7_8 = 1;
1353          $t8_9 = -1;
1354          $block = 1; break;
1355          break;
1356        }
1357        case 1: {
1358          $t9_10 = ($t8_9 + 1);
1359          $t10_11 = ($t9_10 < $t6_7);
1360          if ($t10_11) {
1361            $block = 2; break;
1362          }
1363          else {
1364            $block = 3; break;
1365          }
1366          break;
1367        }
1368        case 2: {
1369          $t11_12 = values.addr($t9_10);
1370          $t12_13 = $t11_12.$get();
1371          $t13_14 = ($t7_8 >>> 25);
1372          $t14_15 = (($t7_8 & 33554431) >>> 0);
1373          $t15_16 = (($t14_15 << 5) >>> 0);
1374          $t16_17 = ($t12_13 >>> 0);
1375          $t17_18 = (($t15_16 ^ $t16_17) >>> 0);
1376          $t18_19 = $t17_18;
1377          $t19_20 = 0;
1378          $block = 4; break;
1379          break;
1380        }
1381        case 3: {
1382          return $t7_8;
1383          break;
1384        }
1385        case 4: {
1386          $t20_21 = ($t19_20 < 5);
1387          if ($t20_21) {
1388            $block = 5; break;
1389          }
1390          else {
1391            $t7_8 = $t18_19;
1392            $t8_9 = $t9_10;
1393            $block = 1; break;
1394          }
1395          break;
1396        }
1397        case 5: {
1398          $t21_22 = $t19_20;
1399          $t22_23 = ($t13_14 >>> $t21_22);
1400          $t23_24 = (($t22_23 & 1) >>> 0);
1401          $t24_25 = ($t23_24 === 1);
1402          if ($t24_25) {
1403            $block = 6; break;
1404          }
1405          else {
1406            $t28_29 = $t18_19;
1407            $block = 7; break;
1408          }
1409          break;
1410        }
1411        case 6: {
1412          $t25_26 = $t0_1.$get().addr($t19_20);
1413          $t26_27 = $t25_26.$get();
1414          $t27_28 = (($t18_19 ^ $t26_27) >>> 0);
1415          $t28_29 = $t27_28;
1416          $block = 7; break;
1417          break;
1418        }
1419        case 7: {
1420          $t29_30 = ($t19_20 + 1);
1421          $t18_19 = $t28_29;
1422          $t19_20 = $t29_30;
1423          $block = 4; break;
1424          break;
1425        }
1426      }
1427    }
1428  }
1429  
1430  export function bech32HRPExpand(hrp) {
1431    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32;
1432    let $block = 0;
1433    while (true) {
1434      switch ($block) {
1435        case 0: {
1436          $t0_1 = $rt.builtin.len(hrp);
1437          $t1_2 = ($t0_1 * 2);
1438          $t2_3 = ($t1_2 + 1);
1439          $t3_4 = $rt.builtin.makeSlice(0, $t2_3, 0);
1440          $t4_5 = $t3_4;
1441          $t5_6 = 0;
1442          $block = 1; break;
1443          break;
1444        }
1445        case 1: {
1446          $t6_7 = $rt.builtin.len(hrp);
1447          $t7_8 = ($t5_6 < $t6_7);
1448          if ($t7_8) {
1449            $block = 2; break;
1450          }
1451          else {
1452            $block = 3; break;
1453          }
1454          break;
1455        }
1456        case 2: {
1457          $t8_9 = hrp.addr($t5_6);
1458          $t9_10 = $t8_9.$get();
1459          $t10_11 = (($t9_10 & 0xFF) >> 5);
1460          $t11_12 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1461          $t12_13 = $t11_12.$get().addr(0);
1462          $t12_13.$set($t10_11);
1463          $t13_14 = $rt.builtin.sliceSlice($t11_12.$get(), undefined, undefined, undefined);
1464          $t14_15 = $rt.builtin.appendSlice($t4_5, $t13_14);
1465          $t15_16 = ($t5_6 + 1);
1466          $t4_5 = $t14_15;
1467          $t5_6 = $t15_16;
1468          $block = 1; break;
1469          break;
1470        }
1471        case 3: {
1472          $t16_17 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1473          $t17_18 = $t16_17.$get().addr(0);
1474          $t17_18.$set(0);
1475          $t18_19 = $rt.builtin.sliceSlice($t16_17.$get(), undefined, undefined, undefined);
1476          $t19_20 = $rt.builtin.appendSlice($t4_5, $t18_19);
1477          $t20_21 = $t19_20;
1478          $t21_22 = 0;
1479          $block = 4; break;
1480          break;
1481        }
1482        case 4: {
1483          $t22_23 = $rt.builtin.len(hrp);
1484          $t23_24 = ($t21_22 < $t22_23);
1485          if ($t23_24) {
1486            $block = 5; break;
1487          }
1488          else {
1489            $block = 6; break;
1490          }
1491          break;
1492        }
1493        case 5: {
1494          $t24_25 = hrp.addr($t21_22);
1495          $t25_26 = $t24_25.$get();
1496          $t26_27 = ($t25_26 & 31);
1497          $t27_28 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1498          $t28_29 = $t27_28.$get().addr(0);
1499          $t28_29.$set($t26_27);
1500          $t29_30 = $rt.builtin.sliceSlice($t27_28.$get(), undefined, undefined, undefined);
1501          $t30_31 = $rt.builtin.appendSlice($t20_21, $t29_30);
1502          $t31_32 = ($t21_22 + 1);
1503          $t20_21 = $t30_31;
1504          $t21_22 = $t31_32;
1505          $block = 4; break;
1506          break;
1507        }
1508        case 6: {
1509          return $t20_21;
1510          break;
1511        }
1512      }
1513    }
1514  }
1515  
1516  export function bech32Checksum(hrp, data) {
1517    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25;
1518    let $block = 0;
1519    while (true) {
1520      switch ($block) {
1521        case 0: {
1522          $t0_1 = bech32HRPExpand(hrp);
1523          $t1_2 = $rt.builtin.appendSlice($t0_1, data);
1524          $t2_3 = { $value: $rt.builtin.makeSlice(6, 6, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1525          $t3_4 = $t2_3.$get().addr(0);
1526          $t3_4.$set(0);
1527          $t4_5 = $t2_3.$get().addr(1);
1528          $t4_5.$set(0);
1529          $t5_6 = $t2_3.$get().addr(2);
1530          $t5_6.$set(0);
1531          $t6_7 = $t2_3.$get().addr(3);
1532          $t6_7.$set(0);
1533          $t7_8 = $t2_3.$get().addr(4);
1534          $t7_8.$set(0);
1535          $t8_9 = $t2_3.$get().addr(5);
1536          $t8_9.$set(0);
1537          $t9_10 = $rt.builtin.sliceSlice($t2_3.$get(), undefined, undefined, undefined);
1538          $t10_11 = $rt.builtin.appendSlice($t1_2, $t9_10);
1539          $t11_12 = bech32Polymod($t10_11);
1540          $t12_13 = (($t11_12 ^ 1) >>> 0);
1541          $t13_14 = { $value: $rt.builtin.makeSlice(6, 6, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1542          $t14_15 = $rt.builtin.sliceSlice($t13_14.$get(), undefined, 6, undefined);
1543          $t15_16 = 0;
1544          $block = 1; break;
1545          break;
1546        }
1547        case 1: {
1548          $t16_17 = ($t15_16 < 6);
1549          if ($t16_17) {
1550            $block = 2; break;
1551          }
1552          else {
1553            $block = 3; break;
1554          }
1555          break;
1556        }
1557        case 2: {
1558          $t17_18 = $t15_16;
1559          $t18_19 = ((5 - $t17_18) >>> 0);
1560          $t19_20 = (Math.imul(5, $t18_19) >>> 0);
1561          $t20_21 = ($t12_13 >>> $t19_20);
1562          $t21_22 = (($t20_21 & 31) >>> 0);
1563          $t22_23 = ($t21_22 & 0xFF);
1564          $t23_24 = $t14_15.addr($t15_16);
1565          $t23_24.$set($t22_23);
1566          $t24_25 = ($t15_16 + 1);
1567          $t15_16 = $t24_25;
1568          $block = 1; break;
1569          break;
1570        }
1571        case 3: {
1572          return $t14_15;
1573          break;
1574        }
1575      }
1576    }
1577  }
1578  
1579  export function bech32Verify(hrp, data) {
1580    let $t0_1, $t1_2, $t2_3, $t3_4;
1581    $t0_1 = bech32HRPExpand(hrp);
1582    $t1_2 = $rt.builtin.appendSlice($t0_1, data);
1583    $t2_3 = bech32Polymod($t1_2);
1584    $t3_4 = ($t2_3 === 1);
1585    return $t3_4;
1586  }
1587  
1588  export function charsetIndex(c) {
1589    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6;
1590    let $block = 0;
1591    while (true) {
1592      switch ($block) {
1593        case 0: {
1594          $t0_1 = 0;
1595          $block = 1; break;
1596          break;
1597        }
1598        case 1: {
1599          $t1_2 = ($t0_1 < 32);
1600          if ($t1_2) {
1601            $block = 2; break;
1602          }
1603          else {
1604            $block = 3; break;
1605          }
1606          break;
1607        }
1608        case 2: {
1609          $t2_3 = 'qpzry9x8gf2tvdw0s3jn54khce6mua7l'.addr($t0_1);
1610          $t3_4 = $t2_3.$get();
1611          $t4_5 = ($t3_4 === c);
1612          if ($t4_5) {
1613            $block = 4; break;
1614          }
1615          else {
1616            $block = 5; break;
1617          }
1618          break;
1619        }
1620        case 3: {
1621          return -1;
1622          break;
1623        }
1624        case 4: {
1625          return $t0_1;
1626          break;
1627        }
1628        case 5: {
1629          $t5_6 = ($t0_1 + 1);
1630          $t0_1 = $t5_6;
1631          $block = 1; break;
1632          break;
1633        }
1634      }
1635    }
1636  }
1637  
1638  export function HexEncode(b) {
1639    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21;
1640    let $block = 0;
1641    while (true) {
1642      switch ($block) {
1643        case 0: {
1644          $t0_1 = $rt.builtin.len(b);
1645          $t1_2 = ($t0_1 * 2);
1646          $t2_3 = $rt.builtin.makeSlice($t1_2, $t1_2, 0);
1647          $t3_4 = $rt.builtin.len(b);
1648          $t4_5 = -1;
1649          $block = 1; break;
1650          break;
1651        }
1652        case 1: {
1653          $t5_6 = ($t4_5 + 1);
1654          $t6_7 = ($t5_6 < $t3_4);
1655          if ($t6_7) {
1656            $block = 2; break;
1657          }
1658          else {
1659            $block = 3; break;
1660          }
1661          break;
1662        }
1663        case 2: {
1664          $t7_8 = b.addr($t5_6);
1665          $t8_9 = $t7_8.$get();
1666          $t9_10 = ($t5_6 * 2);
1667          $t10_11 = (($t8_9 & 0xFF) >> 4);
1668          $t11_12 = '0123456789abcdef'.addr($t10_11);
1669          $t12_13 = $t11_12.$get();
1670          $t13_14 = $t2_3.addr($t9_10);
1671          $t13_14.$set($t12_13);
1672          $t14_15 = ($t5_6 * 2);
1673          $t15_16 = ($t14_15 + 1);
1674          $t16_17 = ($t8_9 & 15);
1675          $t17_18 = '0123456789abcdef'.addr($t16_17);
1676          $t18_19 = $t17_18.$get();
1677          $t19_20 = $t2_3.addr($t15_16);
1678          $t19_20.$set($t18_19);
1679          $t4_5 = $t5_6;
1680          $block = 1; break;
1681          break;
1682        }
1683        case 3: {
1684          $t20_21 = $rt.builtin.bytesToString($t2_3);
1685          return $t20_21;
1686          break;
1687        }
1688      }
1689    }
1690  }
1691  
1692  export function HexDecode(s) {
1693    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24;
1694    let $block = 0;
1695    while (true) {
1696      switch ($block) {
1697        case 0: {
1698          $t0_1 = $rt.builtin.len(s);
1699          $t1_2 = ($t0_1 % 2);
1700          $t2_3 = ($t1_2 !== 0);
1701          if ($t2_3) {
1702            $block = 1; break;
1703          }
1704          else {
1705            $block = 2; break;
1706          }
1707          break;
1708        }
1709        case 1: {
1710          return null;
1711          break;
1712        }
1713        case 2: {
1714          $t3_4 = $rt.builtin.len(s);
1715          $t4_5 = Math.trunc($t3_4 / 2);
1716          $t5_6 = $rt.builtin.makeSlice($t4_5, $t4_5, 0);
1717          $t6_7 = 0;
1718          $block = 3; break;
1719          break;
1720        }
1721        case 3: {
1722          $t7_8 = $rt.builtin.len(s);
1723          $t8_9 = ($t6_7 < $t7_8);
1724          if ($t8_9) {
1725            $block = 4; break;
1726          }
1727          else {
1728            $block = 5; break;
1729          }
1730          break;
1731        }
1732        case 4: {
1733          $t9_10 = s.addr($t6_7);
1734          $t10_11 = $t9_10.$get();
1735          $t11_12 = hexVal($t10_11);
1736          $t12_13 = ($t6_7 + 1);
1737          $t13_14 = s.addr($t12_13);
1738          $t14_15 = $t13_14.$get();
1739          $t15_16 = hexVal($t14_15);
1740          $t16_17 = ($t11_12 < 0);
1741          if ($t16_17) {
1742            $block = 6; break;
1743          }
1744          else {
1745            $block = 8; break;
1746          }
1747          break;
1748        }
1749        case 5: {
1750          return $t5_6;
1751          break;
1752        }
1753        case 6: {
1754          return null;
1755          break;
1756        }
1757        case 7: {
1758          $t17_18 = Math.trunc($t6_7 / 2);
1759          $t18_19 = ($t11_12 << 4);
1760          $t19_20 = ($t18_19 | $t15_16);
1761          $t20_21 = ($t19_20 & 0xFF);
1762          $t21_22 = $t5_6.addr($t17_18);
1763          $t21_22.$set($t20_21);
1764          $t22_23 = ($t6_7 + 2);
1765          $t6_7 = $t22_23;
1766          $block = 3; break;
1767          break;
1768        }
1769        case 8: {
1770          $t23_24 = ($t15_16 < 0);
1771          if ($t23_24) {
1772            $block = 6; break;
1773          }
1774          else {
1775            $block = 7; break;
1776          }
1777          break;
1778        }
1779      }
1780    }
1781  }
1782  
1783  export function HexDecode32(s) {
1784    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27;
1785    let $block = 0;
1786    while (true) {
1787      switch ($block) {
1788        case 0: {
1789          $t0_1 = { $value: $rt.builtin.makeSlice(32, 32, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1790          $t1_2 = $rt.builtin.len(s);
1791          $t2_3 = ($t1_2 !== 64);
1792          if ($t2_3) {
1793            $block = 1; break;
1794          }
1795          else {
1796            $block = 2; break;
1797          }
1798          break;
1799        }
1800        case 1: {
1801          $t3_4 = $t0_1.$get();
1802          $t0_1.$set($rt.builtin.cloneValue($t3_4));
1803          $t4_5 = $t0_1.$get();
1804          return [$t4_5, false];
1805          break;
1806        }
1807        case 2: {
1808          $t5_6 = 0;
1809          $block = 3; break;
1810          break;
1811        }
1812        case 3: {
1813          $t6_7 = ($t5_6 < 32);
1814          if ($t6_7) {
1815            $block = 4; break;
1816          }
1817          else {
1818            $block = 5; break;
1819          }
1820          break;
1821        }
1822        case 4: {
1823          $t7_8 = ($t5_6 * 2);
1824          $t8_9 = s.addr($t7_8);
1825          $t9_10 = $t8_9.$get();
1826          $t10_11 = hexVal($t9_10);
1827          $t11_12 = ($t5_6 * 2);
1828          $t12_13 = ($t11_12 + 1);
1829          $t13_14 = s.addr($t12_13);
1830          $t14_15 = $t13_14.$get();
1831          $t15_16 = hexVal($t14_15);
1832          $t16_17 = ($t10_11 < 0);
1833          if ($t16_17) {
1834            $block = 6; break;
1835          }
1836          else {
1837            $block = 8; break;
1838          }
1839          break;
1840        }
1841        case 5: {
1842          $t17_18 = $t0_1.$get();
1843          $t0_1.$set($rt.builtin.cloneValue($t17_18));
1844          $t18_19 = $t0_1.$get();
1845          return [$t18_19, true];
1846          break;
1847        }
1848        case 6: {
1849          $t19_20 = $t0_1.$get();
1850          $t0_1.$set($rt.builtin.cloneValue($t19_20));
1851          $t20_21 = $t0_1.$get();
1852          return [$t20_21, false];
1853          break;
1854        }
1855        case 7: {
1856          $t21_22 = ($t10_11 << 4);
1857          $t22_23 = ($t21_22 | $t15_16);
1858          $t23_24 = ($t22_23 & 0xFF);
1859          $t24_25 = $t0_1.$get().addr($t5_6);
1860          $t24_25.$set($t23_24);
1861          $t25_26 = ($t5_6 + 1);
1862          $t5_6 = $t25_26;
1863          $block = 3; break;
1864          break;
1865        }
1866        case 8: {
1867          $t26_27 = ($t15_16 < 0);
1868          if ($t26_27) {
1869            $block = 6; break;
1870          }
1871          else {
1872            $block = 7; break;
1873          }
1874          break;
1875        }
1876      }
1877    }
1878  }
1879  
1880  export function hexVal(c) {
1881    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14;
1882    let $block = 0;
1883    while (true) {
1884      switch ($block) {
1885        case 0: {
1886          $t0_1 = (c >= 48);
1887          if ($t0_1) {
1888            $block = 4; break;
1889          }
1890          else {
1891            $block = 3; break;
1892          }
1893          break;
1894        }
1895        case 1: {
1896          $t1_2 = ((c - 48) & 0xFF);
1897          $t2_3 = $t1_2;
1898          return $t2_3;
1899          break;
1900        }
1901        case 2: {
1902          $t3_4 = ((c - 97) & 0xFF);
1903          $t4_5 = (($t3_4 + 10) & 0xFF);
1904          $t5_6 = $t4_5;
1905          return $t5_6;
1906          break;
1907        }
1908        case 3: {
1909          $t6_7 = (c >= 97);
1910          if ($t6_7) {
1911            $block = 7; break;
1912          }
1913          else {
1914            $block = 6; break;
1915          }
1916          break;
1917        }
1918        case 4: {
1919          $t7_8 = (c <= 57);
1920          if ($t7_8) {
1921            $block = 1; break;
1922          }
1923          else {
1924            $block = 3; break;
1925          }
1926          break;
1927        }
1928        case 5: {
1929          $t8_9 = ((c - 65) & 0xFF);
1930          $t9_10 = (($t8_9 + 10) & 0xFF);
1931          $t10_11 = $t9_10;
1932          return $t10_11;
1933          break;
1934        }
1935        case 6: {
1936          $t11_12 = (c >= 65);
1937          if ($t11_12) {
1938            $block = 9; break;
1939          }
1940          else {
1941            $block = 8; break;
1942          }
1943          break;
1944        }
1945        case 7: {
1946          $t12_13 = (c <= 102);
1947          if ($t12_13) {
1948            $block = 2; break;
1949          }
1950          else {
1951            $block = 6; break;
1952          }
1953          break;
1954        }
1955        case 8: {
1956          return -1;
1957          break;
1958        }
1959        case 9: {
1960          $t13_14 = (c <= 70);
1961          if ($t13_14) {
1962            $block = 5; break;
1963          }
1964          else {
1965            $block = 8; break;
1966          }
1967          break;
1968        }
1969      }
1970    }
1971  }
1972  
1973  export function JsonString(s) {
1974    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36;
1975    let $block = 0;
1976    while (true) {
1977      switch ($block) {
1978        case 0: {
1979          $t0_1 = '"';
1980          $t1_2 = 0;
1981          $t2_3 = 0;
1982          $block = 1; break;
1983          break;
1984        }
1985        case 1: {
1986          $t3_4 = $rt.builtin.len(s);
1987          $t4_5 = ($t2_3 < $t3_4);
1988          if ($t4_5) {
1989            $block = 2; break;
1990          }
1991          else {
1992            $block = 4; break;
1993          }
1994          break;
1995        }
1996        case 2: {
1997          $t5_6 = s.addr($t2_3);
1998          $t6_7 = $t5_6.$get();
1999          $t7_8 = ($t6_7 === 34);
2000          if ($t7_8) {
2001            $block = 6; break;
2002          }
2003          else {
2004            $block = 8; break;
2005          }
2006          break;
2007        }
2008        case 3: {
2009          $t10_11 = ($t2_3 + 1);
2010          $t0_1 = $t8_9;
2011          $t1_2 = $t9_10;
2012          $t2_3 = $t10_11;
2013          $block = 1; break;
2014          break;
2015        }
2016        case 4: {
2017          $t11_12 = $rt.builtin.stringSlice(s, $t1_2, undefined);
2018          $t12_13 = ($t0_1 + $t11_12);
2019          $t13_14 = ($t12_13 + '"');
2020          return $t13_14;
2021          break;
2022        }
2023        case 5: {
2024          $t15_16 = $rt.builtin.stringSlice(s, $t1_2, $t2_3);
2025          $t16_17 = ($t15_16 + $t14_15);
2026          $t17_18 = ($t0_1 + $t16_17);
2027          $t18_19 = ($t2_3 + 1);
2028          $t8_9 = $t17_18;
2029          $t9_10 = $t18_19;
2030          $block = 3; break;
2031          break;
2032        }
2033        case 6: {
2034          $t14_15 = '\\"';
2035          $block = 5; break;
2036          break;
2037        }
2038        case 7: {
2039          $t14_15 = '\\\\';
2040          $block = 5; break;
2041          break;
2042        }
2043        case 8: {
2044          $t19_20 = ($t6_7 === 92);
2045          if ($t19_20) {
2046            $block = 7; break;
2047          }
2048          else {
2049            $block = 10; break;
2050          }
2051          break;
2052        }
2053        case 9: {
2054          $t14_15 = '\\n';
2055          $block = 5; break;
2056          break;
2057        }
2058        case 10: {
2059          $t20_21 = ($t6_7 === 10);
2060          if ($t20_21) {
2061            $block = 9; break;
2062          }
2063          else {
2064            $block = 12; break;
2065          }
2066          break;
2067        }
2068        case 11: {
2069          $t14_15 = '\\r';
2070          $block = 5; break;
2071          break;
2072        }
2073        case 12: {
2074          $t21_22 = ($t6_7 === 13);
2075          if ($t21_22) {
2076            $block = 11; break;
2077          }
2078          else {
2079            $block = 14; break;
2080          }
2081          break;
2082        }
2083        case 13: {
2084          $t14_15 = '\\t';
2085          $block = 5; break;
2086          break;
2087        }
2088        case 14: {
2089          $t22_23 = ($t6_7 === 9);
2090          if ($t22_23) {
2091            $block = 13; break;
2092          }
2093          else {
2094            $block = 16; break;
2095          }
2096          break;
2097        }
2098        case 15: {
2099          $t14_15 = '\\b';
2100          $block = 5; break;
2101          break;
2102        }
2103        case 16: {
2104          $t23_24 = ($t6_7 === 8);
2105          if ($t23_24) {
2106            $block = 15; break;
2107          }
2108          else {
2109            $block = 18; break;
2110          }
2111          break;
2112        }
2113        case 17: {
2114          $t14_15 = '\\f';
2115          $block = 5; break;
2116          break;
2117        }
2118        case 18: {
2119          $t24_25 = ($t6_7 === 12);
2120          if ($t24_25) {
2121            $block = 17; break;
2122          }
2123          else {
2124            $block = 19; break;
2125          }
2126          break;
2127        }
2128        case 19: {
2129          $t25_26 = ($t6_7 < 32);
2130          if ($t25_26) {
2131            $block = 20; break;
2132          }
2133          else {
2134            $t8_9 = $t0_1;
2135            $t9_10 = $t1_2;
2136            $block = 3; break;
2137          }
2138          break;
2139        }
2140        case 20: {
2141          $t26_27 = (($t6_7 & 0xFF) >> 4);
2142          $t27_28 = '0123456789abcdef'.addr($t26_27);
2143          $t28_29 = $t27_28.$get();
2144          $t29_30 = String.fromCodePoint($t28_29);
2145          $t30_31 = ('\\u00' + $t29_30);
2146          $t31_32 = ($t6_7 & 15);
2147          $t32_33 = '0123456789abcdef'.addr($t31_32);
2148          $t33_34 = $t32_33.$get();
2149          $t34_35 = String.fromCodePoint($t33_34);
2150          $t35_36 = ($t30_31 + $t34_35);
2151          $t14_15 = $t35_36;
2152          $block = 5; break;
2153          break;
2154        }
2155      }
2156    }
2157  }
2158  
2159  export function JsonGetString(s, key) {
2160    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74, $t74_75, $t75_76, $t76_77, $t77_78, $t78_79, $t79_80, $t80_81, $t81_82, $t82_83, $t83_84, $t84_85, $t85_86, $t86_87, $t87_88, $t88_89, $t89_90, $t90_91, $t91_92, $t92_93, $t93_94, $t94_95;
2161    let $block = 0;
2162    while (true) {
2163      switch ($block) {
2164        case 0: {
2165          $t0_1 = ('"' + key);
2166          $t1_2 = ($t0_1 + '"');
2167          $t2_3 = $rt.builtin.len($t1_2);
2168          $t3_4 = 0;
2169          $block = 1; break;
2170          break;
2171        }
2172        case 1: {
2173          $t4_5 = $rt.builtin.len(s);
2174          $t5_6 = ($t4_5 - $t2_3);
2175          $t6_7 = ($t3_4 <= $t5_6);
2176          if ($t6_7) {
2177            $block = 2; break;
2178          }
2179          else {
2180            $block = 4; break;
2181          }
2182          break;
2183        }
2184        case 2: {
2185          $t7_8 = ($t3_4 + $t2_3);
2186          $t8_9 = $rt.builtin.stringSlice(s, $t3_4, $t7_8);
2187          $t9_10 = ($t8_9 === $t1_2);
2188          if ($t9_10) {
2189            $block = 5; break;
2190          }
2191          else {
2192            $block = 3; break;
2193          }
2194          break;
2195        }
2196        case 3: {
2197          $t10_11 = ($t3_4 + 1);
2198          $t3_4 = $t10_11;
2199          $block = 1; break;
2200          break;
2201        }
2202        case 4: {
2203          return '';
2204          break;
2205        }
2206        case 5: {
2207          $t11_12 = ($t3_4 + $t2_3);
2208          $t15_16 = $t11_12;
2209          $block = 8; break;
2210          break;
2211        }
2212        case 6: {
2213          $t12_13 = ($t15_16 + 1);
2214          $t15_16 = $t12_13;
2215          $block = 8; break;
2216          break;
2217        }
2218        case 7: {
2219          $t13_14 = $rt.builtin.len(s);
2220          $t14_15 = ($t15_16 >= $t13_14);
2221          if ($t14_15) {
2222            $block = 3; break;
2223          }
2224          else {
2225            $block = 14; break;
2226          }
2227          break;
2228        }
2229        case 8: {
2230          $t16_17 = $rt.builtin.len(s);
2231          $t17_18 = ($t15_16 < $t16_17);
2232          if ($t17_18) {
2233            $block = 9; break;
2234          }
2235          else {
2236            $block = 7; break;
2237          }
2238          break;
2239        }
2240        case 9: {
2241          $t18_19 = s.addr($t15_16);
2242          $t19_20 = $t18_19.$get();
2243          $t20_21 = ($t19_20 === 32);
2244          if ($t20_21) {
2245            $block = 6; break;
2246          }
2247          else {
2248            $block = 12; break;
2249          }
2250          break;
2251        }
2252        case 10: {
2253          $t21_22 = s.addr($t15_16);
2254          $t22_23 = $t21_22.$get();
2255          $t23_24 = ($t22_23 === 13);
2256          if ($t23_24) {
2257            $block = 6; break;
2258          }
2259          else {
2260            $block = 7; break;
2261          }
2262          break;
2263        }
2264        case 11: {
2265          $t24_25 = s.addr($t15_16);
2266          $t25_26 = $t24_25.$get();
2267          $t26_27 = ($t25_26 === 10);
2268          if ($t26_27) {
2269            $block = 6; break;
2270          }
2271          else {
2272            $block = 10; break;
2273          }
2274          break;
2275        }
2276        case 12: {
2277          $t27_28 = s.addr($t15_16);
2278          $t28_29 = $t27_28.$get();
2279          $t29_30 = ($t28_29 === 9);
2280          if ($t29_30) {
2281            $block = 6; break;
2282          }
2283          else {
2284            $block = 11; break;
2285          }
2286          break;
2287        }
2288        case 13: {
2289          $t30_31 = ($t15_16 + 1);
2290          $t37_38 = $t30_31;
2291          $block = 17; break;
2292          break;
2293        }
2294        case 14: {
2295          $t31_32 = s.addr($t15_16);
2296          $t32_33 = $t31_32.$get();
2297          $t33_34 = ($t32_33 !== 58);
2298          if ($t33_34) {
2299            $block = 3; break;
2300          }
2301          else {
2302            $block = 13; break;
2303          }
2304          break;
2305        }
2306        case 15: {
2307          $t34_35 = ($t37_38 + 1);
2308          $t37_38 = $t34_35;
2309          $block = 17; break;
2310          break;
2311        }
2312        case 16: {
2313          $t35_36 = $rt.builtin.len(s);
2314          $t36_37 = ($t37_38 >= $t35_36);
2315          if ($t36_37) {
2316            $block = 3; break;
2317          }
2318          else {
2319            $block = 23; break;
2320          }
2321          break;
2322        }
2323        case 17: {
2324          $t38_39 = $rt.builtin.len(s);
2325          $t39_40 = ($t37_38 < $t38_39);
2326          if ($t39_40) {
2327            $block = 18; break;
2328          }
2329          else {
2330            $block = 16; break;
2331          }
2332          break;
2333        }
2334        case 18: {
2335          $t40_41 = s.addr($t37_38);
2336          $t41_42 = $t40_41.$get();
2337          $t42_43 = ($t41_42 === 32);
2338          if ($t42_43) {
2339            $block = 15; break;
2340          }
2341          else {
2342            $block = 21; break;
2343          }
2344          break;
2345        }
2346        case 19: {
2347          $t43_44 = s.addr($t37_38);
2348          $t44_45 = $t43_44.$get();
2349          $t45_46 = ($t44_45 === 13);
2350          if ($t45_46) {
2351            $block = 15; break;
2352          }
2353          else {
2354            $block = 16; break;
2355          }
2356          break;
2357        }
2358        case 20: {
2359          $t46_47 = s.addr($t37_38);
2360          $t47_48 = $t46_47.$get();
2361          $t48_49 = ($t47_48 === 10);
2362          if ($t48_49) {
2363            $block = 15; break;
2364          }
2365          else {
2366            $block = 19; break;
2367          }
2368          break;
2369        }
2370        case 21: {
2371          $t49_50 = s.addr($t37_38);
2372          $t50_51 = $t49_50.$get();
2373          $t51_52 = ($t50_51 === 9);
2374          if ($t51_52) {
2375            $block = 15; break;
2376          }
2377          else {
2378            $block = 20; break;
2379          }
2380          break;
2381        }
2382        case 22: {
2383          $t52_53 = ($t37_38 + 1);
2384          $t59_60 = $t52_53;
2385          $t60_61 = $t52_53;
2386          $t61_62 = '';
2387          $block = 25; break;
2388          break;
2389        }
2390        case 23: {
2391          $t53_54 = s.addr($t37_38);
2392          $t54_55 = $t53_54.$get();
2393          $t55_56 = ($t54_55 !== 34);
2394          if ($t55_56) {
2395            $block = 3; break;
2396          }
2397          else {
2398            $block = 22; break;
2399          }
2400          break;
2401        }
2402        case 24: {
2403          $t56_57 = s.addr($t59_60);
2404          $t57_58 = $t56_57.$get();
2405          $t58_59 = ($t57_58 === 92);
2406          if ($t58_59) {
2407            $block = 28; break;
2408          }
2409          else {
2410            $block = 27; break;
2411          }
2412          break;
2413        }
2414        case 25: {
2415          $t62_63 = $rt.builtin.len(s);
2416          $t63_64 = ($t59_60 < $t62_63);
2417          if ($t63_64) {
2418            $block = 24; break;
2419          }
2420          else {
2421            $block = 3; break;
2422          }
2423          break;
2424        }
2425        case 26: {
2426          $t64_65 = $rt.builtin.stringSlice(s, $t60_61, $t59_60);
2427          $t65_66 = ($t61_62 + $t64_65);
2428          $t66_67 = ($t59_60 + 1);
2429          $t67_68 = s.addr($t66_67);
2430          $t68_69 = $t67_68.$get();
2431          $t69_70 = ($t68_69 === 34);
2432          if ($t69_70) {
2433            $block = 30; break;
2434          }
2435          else {
2436            $block = 32; break;
2437          }
2438          break;
2439        }
2440        case 27: {
2441          $t70_71 = s.addr($t59_60);
2442          $t71_72 = $t70_71.$get();
2443          $t72_73 = ($t71_72 === 34);
2444          if ($t72_73) {
2445            $block = 40; break;
2446          }
2447          else {
2448            $block = 41; break;
2449          }
2450          break;
2451        }
2452        case 28: {
2453          $t73_74 = ($t59_60 + 1);
2454          $t74_75 = $rt.builtin.len(s);
2455          $t75_76 = ($t73_74 < $t74_75);
2456          if ($t75_76) {
2457            $block = 26; break;
2458          }
2459          else {
2460            $block = 27; break;
2461          }
2462          break;
2463        }
2464        case 29: {
2465          $t77_78 = ($t66_67 + 1);
2466          $t59_60 = $t77_78;
2467          $t60_61 = $t77_78;
2468          $t61_62 = $t76_77;
2469          $block = 25; break;
2470          break;
2471        }
2472        case 30: {
2473          $t78_79 = ($t66_67 + 1);
2474          $t79_80 = $rt.builtin.stringSlice(s, $t66_67, $t78_79);
2475          $t80_81 = ($t65_66 + $t79_80);
2476          $t76_77 = $t80_81;
2477          $block = 29; break;
2478          break;
2479        }
2480        case 31: {
2481          $t81_82 = ($t65_66 + '\n');
2482          $t76_77 = $t81_82;
2483          $block = 29; break;
2484          break;
2485        }
2486        case 32: {
2487          $t82_83 = ($t68_69 === 92);
2488          if ($t82_83) {
2489            $block = 30; break;
2490          }
2491          else {
2492            $block = 33; break;
2493          }
2494          break;
2495        }
2496        case 33: {
2497          $t83_84 = ($t68_69 === 47);
2498          if ($t83_84) {
2499            $block = 30; break;
2500          }
2501          else {
2502            $block = 34; break;
2503          }
2504          break;
2505        }
2506        case 34: {
2507          $t84_85 = ($t68_69 === 110);
2508          if ($t84_85) {
2509            $block = 31; break;
2510          }
2511          else {
2512            $block = 36; break;
2513          }
2514          break;
2515        }
2516        case 35: {
2517          $t85_86 = ($t65_66 + '\r');
2518          $t76_77 = $t85_86;
2519          $block = 29; break;
2520          break;
2521        }
2522        case 36: {
2523          $t86_87 = ($t68_69 === 114);
2524          if ($t86_87) {
2525            $block = 35; break;
2526          }
2527          else {
2528            $block = 38; break;
2529          }
2530          break;
2531        }
2532        case 37: {
2533          $t87_88 = ($t65_66 + '\t');
2534          $t76_77 = $t87_88;
2535          $block = 29; break;
2536          break;
2537        }
2538        case 38: {
2539          $t88_89 = ($t68_69 === 116);
2540          if ($t88_89) {
2541            $block = 37; break;
2542          }
2543          else {
2544            $block = 39; break;
2545          }
2546          break;
2547        }
2548        case 39: {
2549          $t89_90 = ($t66_67 + 1);
2550          $t90_91 = $rt.builtin.stringSlice(s, $t66_67, $t89_90);
2551          $t91_92 = ($t65_66 + $t90_91);
2552          $t76_77 = $t91_92;
2553          $block = 29; break;
2554          break;
2555        }
2556        case 40: {
2557          $t92_93 = $rt.builtin.stringSlice(s, $t60_61, $t59_60);
2558          $t93_94 = ($t61_62 + $t92_93);
2559          return $t93_94;
2560          break;
2561        }
2562        case 41: {
2563          $t94_95 = ($t59_60 + 1);
2564          let $phi0 = $t94_95;
2565          let $phi1 = $t60_61;
2566          let $phi2 = $t61_62;
2567          $t59_60 = $phi0;
2568          $t60_61 = $phi1;
2569          $t61_62 = $phi2;
2570          $block = 25; break;
2571          break;
2572        }
2573      }
2574    }
2575  }
2576  
2577  export function JsonGetValue(s, key) {
2578    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74, $t74_75, $t75_76, $t76_77, $t77_78, $t78_79, $t79_80, $t80_81, $t81_82, $t82_83, $t83_84, $t84_85, $t85_86, $t86_87, $t87_88, $t88_89, $t89_90, $t90_91, $t91_92, $t92_93, $t93_94, $t94_95, $t95_96, $t96_97, $t97_98, $t98_99, $t99_100, $t100_101, $t101_102, $t102_103, $t103_104, $t104_105, $t105_106, $t106_107, $t107_108, $t108_109, $t109_110, $t110_111, $t111_112, $t112_113, $t113_114, $t114_115, $t115_116, $t116_117, $t117_118, $t118_119, $t119_120, $t120_121, $t121_122, $t122_123, $t123_124, $t124_125, $t125_126, $t126_127, $t127_128, $t128_129, $t129_130, $t130_131, $t131_132, $t132_133, $t133_134, $t134_135, $t135_136;
2579    let $block = 0;
2580    while (true) {
2581      switch ($block) {
2582        case 0: {
2583          $t0_1 = ('"' + key);
2584          $t1_2 = ($t0_1 + '"');
2585          $t2_3 = $rt.builtin.len($t1_2);
2586          $t3_4 = 0;
2587          $block = 1; break;
2588          break;
2589        }
2590        case 1: {
2591          $t4_5 = $rt.builtin.len(s);
2592          $t5_6 = ($t4_5 - $t2_3);
2593          $t6_7 = ($t3_4 <= $t5_6);
2594          if ($t6_7) {
2595            $block = 2; break;
2596          }
2597          else {
2598            $block = 4; break;
2599          }
2600          break;
2601        }
2602        case 2: {
2603          $t7_8 = ($t3_4 + $t2_3);
2604          $t8_9 = $rt.builtin.stringSlice(s, $t3_4, $t7_8);
2605          $t9_10 = ($t8_9 !== $t1_2);
2606          if ($t9_10) {
2607            $block = 3; break;
2608          }
2609          else {
2610            $block = 5; break;
2611          }
2612          break;
2613        }
2614        case 3: {
2615          $t10_11 = ($t3_4 + 1);
2616          $t3_4 = $t10_11;
2617          $block = 1; break;
2618          break;
2619        }
2620        case 4: {
2621          return '';
2622          break;
2623        }
2624        case 5: {
2625          $t11_12 = ($t3_4 + $t2_3);
2626          $t15_16 = $t11_12;
2627          $block = 8; break;
2628          break;
2629        }
2630        case 6: {
2631          $t12_13 = ($t15_16 + 1);
2632          $t15_16 = $t12_13;
2633          $block = 8; break;
2634          break;
2635        }
2636        case 7: {
2637          $t13_14 = $rt.builtin.len(s);
2638          $t14_15 = ($t15_16 >= $t13_14);
2639          if ($t14_15) {
2640            $block = 3; break;
2641          }
2642          else {
2643            $block = 14; break;
2644          }
2645          break;
2646        }
2647        case 8: {
2648          $t16_17 = $rt.builtin.len(s);
2649          $t17_18 = ($t15_16 < $t16_17);
2650          if ($t17_18) {
2651            $block = 9; break;
2652          }
2653          else {
2654            $block = 7; break;
2655          }
2656          break;
2657        }
2658        case 9: {
2659          $t18_19 = s.addr($t15_16);
2660          $t19_20 = $t18_19.$get();
2661          $t20_21 = ($t19_20 === 32);
2662          if ($t20_21) {
2663            $block = 6; break;
2664          }
2665          else {
2666            $block = 12; break;
2667          }
2668          break;
2669        }
2670        case 10: {
2671          $t21_22 = s.addr($t15_16);
2672          $t22_23 = $t21_22.$get();
2673          $t23_24 = ($t22_23 === 13);
2674          if ($t23_24) {
2675            $block = 6; break;
2676          }
2677          else {
2678            $block = 7; break;
2679          }
2680          break;
2681        }
2682        case 11: {
2683          $t24_25 = s.addr($t15_16);
2684          $t25_26 = $t24_25.$get();
2685          $t26_27 = ($t25_26 === 10);
2686          if ($t26_27) {
2687            $block = 6; break;
2688          }
2689          else {
2690            $block = 10; break;
2691          }
2692          break;
2693        }
2694        case 12: {
2695          $t27_28 = s.addr($t15_16);
2696          $t28_29 = $t27_28.$get();
2697          $t29_30 = ($t28_29 === 9);
2698          if ($t29_30) {
2699            $block = 6; break;
2700          }
2701          else {
2702            $block = 11; break;
2703          }
2704          break;
2705        }
2706        case 13: {
2707          $t30_31 = ($t15_16 + 1);
2708          $t37_38 = $t30_31;
2709          $block = 17; break;
2710          break;
2711        }
2712        case 14: {
2713          $t31_32 = s.addr($t15_16);
2714          $t32_33 = $t31_32.$get();
2715          $t33_34 = ($t32_33 !== 58);
2716          if ($t33_34) {
2717            $block = 3; break;
2718          }
2719          else {
2720            $block = 13; break;
2721          }
2722          break;
2723        }
2724        case 15: {
2725          $t34_35 = ($t37_38 + 1);
2726          $t37_38 = $t34_35;
2727          $block = 17; break;
2728          break;
2729        }
2730        case 16: {
2731          $t35_36 = $rt.builtin.len(s);
2732          $t36_37 = ($t37_38 >= $t35_36);
2733          if ($t36_37) {
2734            $block = 3; break;
2735          }
2736          else {
2737            $block = 22; break;
2738          }
2739          break;
2740        }
2741        case 17: {
2742          $t38_39 = $rt.builtin.len(s);
2743          $t39_40 = ($t37_38 < $t38_39);
2744          if ($t39_40) {
2745            $block = 18; break;
2746          }
2747          else {
2748            $block = 16; break;
2749          }
2750          break;
2751        }
2752        case 18: {
2753          $t40_41 = s.addr($t37_38);
2754          $t41_42 = $t40_41.$get();
2755          $t42_43 = ($t41_42 === 32);
2756          if ($t42_43) {
2757            $block = 15; break;
2758          }
2759          else {
2760            $block = 21; break;
2761          }
2762          break;
2763        }
2764        case 19: {
2765          $t43_44 = s.addr($t37_38);
2766          $t44_45 = $t43_44.$get();
2767          $t45_46 = ($t44_45 === 13);
2768          if ($t45_46) {
2769            $block = 15; break;
2770          }
2771          else {
2772            $block = 16; break;
2773          }
2774          break;
2775        }
2776        case 20: {
2777          $t46_47 = s.addr($t37_38);
2778          $t47_48 = $t46_47.$get();
2779          $t48_49 = ($t47_48 === 10);
2780          if ($t48_49) {
2781            $block = 15; break;
2782          }
2783          else {
2784            $block = 19; break;
2785          }
2786          break;
2787        }
2788        case 21: {
2789          $t49_50 = s.addr($t37_38);
2790          $t50_51 = $t49_50.$get();
2791          $t51_52 = ($t50_51 === 9);
2792          if ($t51_52) {
2793            $block = 15; break;
2794          }
2795          else {
2796            $block = 20; break;
2797          }
2798          break;
2799        }
2800        case 22: {
2801          $t52_53 = s.addr($t37_38);
2802          $t53_54 = $t52_53.$get();
2803          $t54_55 = ($t53_54 === 123);
2804          if ($t54_55) {
2805            $block = 23; break;
2806          }
2807          else {
2808            $block = 25; break;
2809          }
2810          break;
2811        }
2812        case 23: {
2813          $t55_56 = s.addr($t37_38);
2814          $t56_57 = $t55_56.$get();
2815          $t57_58 = ($t56_57 === 91);
2816          if ($t57_58) {
2817            $block = 27; break;
2818          }
2819          else {
2820            $t61_62 = 125;
2821            $block = 28; break;
2822          }
2823          break;
2824        }
2825        case 24: {
2826          $t58_59 = ($t37_38 + 1);
2827          $t101_102 = $t58_59;
2828          $block = 46; break;
2829          break;
2830        }
2831        case 25: {
2832          $t59_60 = ($t53_54 === 91);
2833          if ($t59_60) {
2834            $block = 23; break;
2835          }
2836          else {
2837            $block = 26; break;
2838          }
2839          break;
2840        }
2841        case 26: {
2842          $t60_61 = ($t53_54 === 34);
2843          if ($t60_61) {
2844            $block = 24; break;
2845          }
2846          else {
2847            $t112_113 = $t37_38;
2848            $block = 52; break;
2849          }
2850          break;
2851        }
2852        case 27: {
2853          $t61_62 = 93;
2854          $block = 28; break;
2855          break;
2856        }
2857        case 28: {
2858          $t62_63 = ($t37_38 + 1);
2859          $t67_68 = $t62_63;
2860          $t68_69 = 1;
2861          $block = 31; break;
2862          break;
2863        }
2864        case 29: {
2865          $t63_64 = s.addr($t67_68);
2866          $t64_65 = $t63_64.$get();
2867          $t65_66 = ($t64_65 === $t56_57);
2868          if ($t65_66) {
2869            $block = 33; break;
2870          }
2871          else {
2872            $block = 35; break;
2873          }
2874          break;
2875        }
2876        case 30: {
2877          $t66_67 = $rt.builtin.stringSlice(s, $t37_38, $t67_68);
2878          return $t66_67;
2879          break;
2880        }
2881        case 31: {
2882          $t69_70 = $rt.builtin.len(s);
2883          $t70_71 = ($t67_68 < $t69_70);
2884          if ($t70_71) {
2885            $block = 32; break;
2886          }
2887          else {
2888            $block = 30; break;
2889          }
2890          break;
2891        }
2892        case 32: {
2893          $t71_72 = ($t68_69 > 0);
2894          if ($t71_72) {
2895            $block = 29; break;
2896          }
2897          else {
2898            $block = 30; break;
2899          }
2900          break;
2901        }
2902        case 33: {
2903          $t72_73 = ($t68_69 + 1);
2904          $t73_74 = $t67_68;
2905          $t74_75 = $t72_73;
2906          $block = 34; break;
2907          break;
2908        }
2909        case 34: {
2910          $t75_76 = ($t73_74 + 1);
2911          $t67_68 = $t75_76;
2912          $t68_69 = $t74_75;
2913          $block = 31; break;
2914          break;
2915        }
2916        case 35: {
2917          $t76_77 = s.addr($t67_68);
2918          $t77_78 = $t76_77.$get();
2919          $t78_79 = ($t77_78 === $t61_62);
2920          if ($t78_79) {
2921            $block = 36; break;
2922          }
2923          else {
2924            $block = 37; break;
2925          }
2926          break;
2927        }
2928        case 36: {
2929          $t79_80 = ($t68_69 - 1);
2930          $t73_74 = $t67_68;
2931          $t74_75 = $t79_80;
2932          $block = 34; break;
2933          break;
2934        }
2935        case 37: {
2936          $t80_81 = s.addr($t67_68);
2937          $t81_82 = $t80_81.$get();
2938          $t82_83 = ($t81_82 === 34);
2939          if ($t82_83) {
2940            $block = 38; break;
2941          }
2942          else {
2943            $t73_74 = $t67_68;
2944            $t74_75 = $t68_69;
2945            $block = 34; break;
2946          }
2947          break;
2948        }
2949        case 38: {
2950          $t83_84 = ($t67_68 + 1);
2951          $t87_88 = $t83_84;
2952          $block = 40; break;
2953          break;
2954        }
2955        case 39: {
2956          $t84_85 = s.addr($t87_88);
2957          $t85_86 = $t84_85.$get();
2958          $t86_87 = ($t85_86 === 92);
2959          if ($t86_87) {
2960            $block = 42; break;
2961          }
2962          else {
2963            $t94_95 = $t87_88;
2964            $block = 43; break;
2965          }
2966          break;
2967        }
2968        case 40: {
2969          $t88_89 = $rt.builtin.len(s);
2970          $t89_90 = ($t87_88 < $t88_89);
2971          if ($t89_90) {
2972            $block = 41; break;
2973          }
2974          else {
2975            $t73_74 = $t87_88;
2976            $t74_75 = $t68_69;
2977            $block = 34; break;
2978          }
2979          break;
2980        }
2981        case 41: {
2982          $t90_91 = s.addr($t87_88);
2983          $t91_92 = $t90_91.$get();
2984          $t92_93 = ($t91_92 !== 34);
2985          if ($t92_93) {
2986            $block = 39; break;
2987          }
2988          else {
2989            $t73_74 = $t87_88;
2990            $t74_75 = $t68_69;
2991            $block = 34; break;
2992          }
2993          break;
2994        }
2995        case 42: {
2996          $t93_94 = ($t87_88 + 1);
2997          $t94_95 = $t93_94;
2998          $block = 43; break;
2999          break;
3000        }
3001        case 43: {
3002          $t95_96 = ($t94_95 + 1);
3003          $t87_88 = $t95_96;
3004          $block = 40; break;
3005          break;
3006        }
3007        case 44: {
3008          $t96_97 = s.addr($t101_102);
3009          $t97_98 = $t96_97.$get();
3010          $t98_99 = ($t97_98 === 92);
3011          if ($t98_99) {
3012            $block = 48; break;
3013          }
3014          else {
3015            $t108_109 = $t101_102;
3016            $block = 49; break;
3017          }
3018          break;
3019        }
3020        case 45: {
3021          $t99_100 = ($t101_102 + 1);
3022          $t100_101 = $rt.builtin.stringSlice(s, $t37_38, $t99_100);
3023          return $t100_101;
3024          break;
3025        }
3026        case 46: {
3027          $t102_103 = $rt.builtin.len(s);
3028          $t103_104 = ($t101_102 < $t102_103);
3029          if ($t103_104) {
3030            $block = 47; break;
3031          }
3032          else {
3033            $block = 45; break;
3034          }
3035          break;
3036        }
3037        case 47: {
3038          $t104_105 = s.addr($t101_102);
3039          $t105_106 = $t104_105.$get();
3040          $t106_107 = ($t105_106 !== 34);
3041          if ($t106_107) {
3042            $block = 44; break;
3043          }
3044          else {
3045            $block = 45; break;
3046          }
3047          break;
3048        }
3049        case 48: {
3050          $t107_108 = ($t101_102 + 1);
3051          $t108_109 = $t107_108;
3052          $block = 49; break;
3053          break;
3054        }
3055        case 49: {
3056          $t109_110 = ($t108_109 + 1);
3057          $t101_102 = $t109_110;
3058          $block = 46; break;
3059          break;
3060        }
3061        case 50: {
3062          $t110_111 = ($t112_113 + 1);
3063          $t112_113 = $t110_111;
3064          $block = 52; break;
3065          break;
3066        }
3067        case 51: {
3068          $t111_112 = $rt.builtin.stringSlice(s, $t37_38, $t112_113);
3069          return $t111_112;
3070          break;
3071        }
3072        case 52: {
3073          $t113_114 = $rt.builtin.len(s);
3074          $t114_115 = ($t112_113 < $t113_114);
3075          if ($t114_115) {
3076            $block = 59; break;
3077          }
3078          else {
3079            $block = 51; break;
3080          }
3081          break;
3082        }
3083        case 53: {
3084          $t115_116 = s.addr($t112_113);
3085          $t116_117 = $t115_116.$get();
3086          $t117_118 = ($t116_117 !== 13);
3087          if ($t117_118) {
3088            $block = 50; break;
3089          }
3090          else {
3091            $block = 51; break;
3092          }
3093          break;
3094        }
3095        case 54: {
3096          $t118_119 = s.addr($t112_113);
3097          $t119_120 = $t118_119.$get();
3098          $t120_121 = ($t119_120 !== 10);
3099          if ($t120_121) {
3100            $block = 53; break;
3101          }
3102          else {
3103            $block = 51; break;
3104          }
3105          break;
3106        }
3107        case 55: {
3108          $t121_122 = s.addr($t112_113);
3109          $t122_123 = $t121_122.$get();
3110          $t123_124 = ($t122_123 !== 9);
3111          if ($t123_124) {
3112            $block = 54; break;
3113          }
3114          else {
3115            $block = 51; break;
3116          }
3117          break;
3118        }
3119        case 56: {
3120          $t124_125 = s.addr($t112_113);
3121          $t125_126 = $t124_125.$get();
3122          $t126_127 = ($t125_126 !== 32);
3123          if ($t126_127) {
3124            $block = 55; break;
3125          }
3126          else {
3127            $block = 51; break;
3128          }
3129          break;
3130        }
3131        case 57: {
3132          $t127_128 = s.addr($t112_113);
3133          $t128_129 = $t127_128.$get();
3134          $t129_130 = ($t128_129 !== 93);
3135          if ($t129_130) {
3136            $block = 56; break;
3137          }
3138          else {
3139            $block = 51; break;
3140          }
3141          break;
3142        }
3143        case 58: {
3144          $t130_131 = s.addr($t112_113);
3145          $t131_132 = $t130_131.$get();
3146          $t132_133 = ($t131_132 !== 125);
3147          if ($t132_133) {
3148            $block = 57; break;
3149          }
3150          else {
3151            $block = 51; break;
3152          }
3153          break;
3154        }
3155        case 59: {
3156          $t133_134 = s.addr($t112_113);
3157          $t134_135 = $t133_134.$get();
3158          $t135_136 = ($t134_135 !== 44);
3159          if ($t135_136) {
3160            $block = 58; break;
3161          }
3162          else {
3163            $block = 51; break;
3164          }
3165          break;
3166        }
3167      }
3168    }
3169  }
3170  
3171  export function Itoa(n) {
3172    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20;
3173    let $block = 0;
3174    while (true) {
3175      switch ($block) {
3176        case 0: {
3177          $t0_1 = (n === 0n);
3178          if ($t0_1) {
3179            $block = 1; break;
3180          }
3181          else {
3182            $block = 2; break;
3183          }
3184          break;
3185        }
3186        case 1: {
3187          return '0';
3188          break;
3189        }
3190        case 2: {
3191          $t1_2 = (n < 0n);
3192          if ($t1_2) {
3193            $block = 3; break;
3194          }
3195          else {
3196            $t3_4 = n;
3197            $t4_5 = false;
3198            $block = 4; break;
3199          }
3200          break;
3201        }
3202        case 3: {
3203          $t2_3 = -n;
3204          $t3_4 = $t2_3;
3205          $t4_5 = true;
3206          $block = 4; break;
3207          break;
3208        }
3209        case 4: {
3210          $t5_6 = { $value: $rt.builtin.makeSlice(20, 20, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
3211          $t12_13 = $t3_4;
3212          $t13_14 = 20;
3213          $block = 7; break;
3214          break;
3215        }
3216        case 5: {
3217          $t6_7 = ($t13_14 - 1);
3218          $t7_8 = ($t12_13 % 10n);
3219          $t8_9 = BigInt.asIntN(64, 48n + $t7_8);
3220          $t9_10 = (Number($t8_9) & 0xFF);
3221          $t10_11 = $t5_6.$get().addr($t6_7);
3222          $t10_11.$set($t9_10);
3223          $t11_12 = BigInt.asIntN(64, $t12_13 / 10n);
3224          $t12_13 = $t11_12;
3225          $t13_14 = $t6_7;
3226          $block = 7; break;
3227          break;
3228        }
3229        case 6: {
3230          if ($t4_5) {
3231            $block = 8; break;
3232          }
3233          else {
3234            $t17_18 = $t13_14;
3235            $block = 9; break;
3236          }
3237          break;
3238        }
3239        case 7: {
3240          $t14_15 = ($t12_13 > 0n);
3241          if ($t14_15) {
3242            $block = 5; break;
3243          }
3244          else {
3245            $block = 6; break;
3246          }
3247          break;
3248        }
3249        case 8: {
3250          $t15_16 = ($t13_14 - 1);
3251          $t16_17 = $t5_6.$get().addr($t15_16);
3252          $t16_17.$set(45);
3253          $t17_18 = $t15_16;
3254          $block = 9; break;
3255          break;
3256        }
3257        case 9: {
3258          $t18_19 = $rt.builtin.sliceSlice($t5_6.$get(), $t17_18, undefined, undefined);
3259          $t19_20 = $rt.builtin.bytesToString($t18_19);
3260          return $t19_20;
3261          break;
3262        }
3263      }
3264    }
3265  }
3266  
3267