code wiki / (root) / nx_inflate_kat_test.nx

nx_inflate_kat_test.nx source

↩ module page · 572 lines · 17618 B

1// nx_inflate_kat_test.nx -- R4-CMP-001: consolidated DEFLATE inflate KAT 2// (RFC1951). Proves nx_deflate_inflate decodes all THREE block types 3// head-on against python-zlib gold-standard raw-DEFLATE vectors: 4// stored (BTYPE=00) / fixed-huffman (01) / dynamic-huffman (10). 5// Composes the proven inflate engine (nx_deflate.nx) -- not reinvented; 6// this is the named 'inflate-KATs-green' gate the row asks for. The 7// browser keystone (Content-Encoding: gzip/deflate) + e-reader (EPUB=zip) 8// both ride this. Discrimination: three DISTINCT originals via three 9// DISTINCT decode paths, each matched exact length + exact bytes -- a 10// broken/no-op inflate cannot reproduce all three. 11// expect_exit: 0 12// license_tier: ORIGINAL 13 14import "nx_syscalls.nx" 15import "nx_runtime.nx" 16import "nx_deflate.nx" 17 18func main() -> nx_int { 19 // ---- BTYPE=00 stored: 24B -> 19B ---- 20 let in_stored: *u8 = (sys_mmap(32)) as *u8 21 in_stored[0] = 0x01 as u8 22 in_stored[1] = 0x13 as u8 23 in_stored[2] = 0x00 as u8 24 in_stored[3] = 0xec as u8 25 in_stored[4] = 0xff as u8 26 in_stored[5] = 0x4e as u8 27 in_stored[6] = 0x49 as u8 28 in_stored[7] = 0x53 as u8 29 in_stored[8] = 0x48 as u8 30 in_stored[9] = 0x49 as u8 31 in_stored[10] = 0x2d as u8 32 in_stored[11] = 0x73 as u8 33 in_stored[12] = 0x74 as u8 34 in_stored[13] = 0x6f as u8 35 in_stored[14] = 0x72 as u8 36 in_stored[15] = 0x65 as u8 37 in_stored[16] = 0x64 as u8 38 in_stored[17] = 0x2d as u8 39 in_stored[18] = 0x62 as u8 40 in_stored[19] = 0x6c as u8 41 in_stored[20] = 0x6f as u8 42 in_stored[21] = 0x63 as u8 43 in_stored[22] = 0x6b as u8 44 in_stored[23] = 0x21 as u8 45 let exp_stored: *u8 = (sys_mmap(27)) as *u8 46 exp_stored[0] = 0x4e as u8 47 exp_stored[1] = 0x49 as u8 48 exp_stored[2] = 0x53 as u8 49 exp_stored[3] = 0x48 as u8 50 exp_stored[4] = 0x49 as u8 51 exp_stored[5] = 0x2d as u8 52 exp_stored[6] = 0x73 as u8 53 exp_stored[7] = 0x74 as u8 54 exp_stored[8] = 0x6f as u8 55 exp_stored[9] = 0x72 as u8 56 exp_stored[10] = 0x65 as u8 57 exp_stored[11] = 0x64 as u8 58 exp_stored[12] = 0x2d as u8 59 exp_stored[13] = 0x62 as u8 60 exp_stored[14] = 0x6c as u8 61 exp_stored[15] = 0x6f as u8 62 exp_stored[16] = 0x63 as u8 63 exp_stored[17] = 0x6b as u8 64 exp_stored[18] = 0x21 as u8 65 let r_stored: *NxDeflateResult = nx_deflate_inflate(in_stored, 24, 83) 66 if r_stored == (0 as *NxDeflateResult) { return 10 } 67 if r_stored.error_code != NX_DEF_OK { return 11 } 68 if r_stored.output_size != 19 { return 12 } 69 var i_stored: nx_int = 0 70 while i_stored < 19 { 71 let got: nx_int = (r_stored.output_data[i_stored] as nx_int) & 255 72 let want: nx_int = (exp_stored[i_stored] as nx_int) & 255 73 if got != want { return 13 } 74 i_stored = i_stored + 1 75 } 76 77 // ---- BTYPE=01 fixed-huffman: 23B -> 21B ---- 78 let in_fixed: *u8 = (sys_mmap(31)) as *u8 79 in_fixed[0] = 0x4b as u8 80 in_fixed[1] = 0x49 as u8 81 in_fixed[2] = 0x4d as u8 82 in_fixed[3] = 0xcb as u8 83 in_fixed[4] = 0x49 as u8 84 in_fixed[5] = 0x2c as u8 85 in_fixed[6] = 0x49 as u8 86 in_fixed[7] = 0x55 as u8 87 in_fixed[8] = 0x48 as u8 88 in_fixed[9] = 0xcb as u8 89 in_fixed[10] = 0xac as u8 90 in_fixed[11] = 0x48 as u8 91 in_fixed[12] = 0x4d as u8 92 in_fixed[13] = 0x51 as u8 93 in_fixed[14] = 0xc8 as u8 94 in_fixed[15] = 0x28 as u8 95 in_fixed[16] = 0x4d as u8 96 in_fixed[17] = 0x4b as u8 97 in_fixed[18] = 0xcb as u8 98 in_fixed[19] = 0x4d as u8 99 in_fixed[20] = 0xcc as u8 100 in_fixed[21] = 0x03 as u8 101 in_fixed[22] = 0x00 as u8 102 let exp_fixed: *u8 = (sys_mmap(29)) as *u8 103 exp_fixed[0] = 0x64 as u8 104 exp_fixed[1] = 0x65 as u8 105 exp_fixed[2] = 0x66 as u8 106 exp_fixed[3] = 0x6c as u8 107 exp_fixed[4] = 0x61 as u8 108 exp_fixed[5] = 0x74 as u8 109 exp_fixed[6] = 0x65 as u8 110 exp_fixed[7] = 0x20 as u8 111 exp_fixed[8] = 0x66 as u8 112 exp_fixed[9] = 0x69 as u8 113 exp_fixed[10] = 0x78 as u8 114 exp_fixed[11] = 0x65 as u8 115 exp_fixed[12] = 0x64 as u8 116 exp_fixed[13] = 0x20 as u8 117 exp_fixed[14] = 0x68 as u8 118 exp_fixed[15] = 0x75 as u8 119 exp_fixed[16] = 0x66 as u8 120 exp_fixed[17] = 0x66 as u8 121 exp_fixed[18] = 0x6d as u8 122 exp_fixed[19] = 0x61 as u8 123 exp_fixed[20] = 0x6e as u8 124 let r_fixed: *NxDeflateResult = nx_deflate_inflate(in_fixed, 23, 85) 125 if r_fixed == (0 as *NxDeflateResult) { return 30 } 126 if r_fixed.error_code != NX_DEF_OK { return 31 } 127 if r_fixed.output_size != 21 { return 32 } 128 var i_fixed: nx_int = 0 129 while i_fixed < 21 { 130 let got: nx_int = (r_fixed.output_data[i_fixed] as nx_int) & 255 131 let want: nx_int = (exp_fixed[i_fixed] as nx_int) & 255 132 if got != want { return 33 } 133 i_fixed = i_fixed + 1 134 } 135 136 // ---- BTYPE=10 dynamic-huffman: 175B -> 245B ---- 137 let in_dyn: *u8 = (sys_mmap(183)) as *u8 138 in_dyn[0] = 0x3d as u8 139 in_dyn[1] = 0x8e as u8 140 in_dyn[2] = 0x3d as u8 141 in_dyn[3] = 0x8f as u8 142 in_dyn[4] = 0xc2 as u8 143 in_dyn[5] = 0x30 as u8 144 in_dyn[6] = 0x0c as u8 145 in_dyn[7] = 0x86 as u8 146 in_dyn[8] = 0xff as u8 147 in_dyn[9] = 0xca as u8 148 in_dyn[10] = 0xcb as u8 149 in_dyn[11] = 0xce as u8 150 in_dyn[12] = 0xb1 as u8 151 in_dyn[13] = 0x32 as u8 152 in_dyn[14] = 0x30 as u8 153 in_dyn[15] = 0x21 as u8 154 in_dyn[16] = 0x1d as u8 155 in_dyn[17] = 0x27 as u8 156 in_dyn[18] = 0x90 as u8 157 in_dyn[19] = 0x10 as u8 158 in_dyn[20] = 0x53 as u8 159 in_dyn[21] = 0x27 as u8 160 in_dyn[22] = 0x36 as u8 161 in_dyn[23] = 0x37 as u8 162 in_dyn[24] = 0x71 as u8 163 in_dyn[25] = 0x53 as u8 164 in_dyn[26] = 0x8b as u8 165 in_dyn[27] = 0x34 as u8 166 in_dyn[28] = 0xa9 as u8 167 in_dyn[29] = 0xec as u8 168 in_dyn[30] = 0xe4 as u8 169 in_dyn[31] = 0x7a as u8 170 in_dyn[32] = 0xf0 as u8 171 in_dyn[33] = 0xeb as u8 172 in_dyn[34] = 0xaf as u8 173 in_dyn[35] = 0xf4 as u8 174 in_dyn[36] = 0x0e as u8 175 in_dyn[37] = 0x26 as u8 176 in_dyn[38] = 0x7f as u8 177 in_dyn[39] = 0xc8 as u8 178 in_dyn[40] = 0xef as u8 179 in_dyn[41] = 0xe3 as u8 180 in_dyn[42] = 0xa7 as u8 181 in_dyn[43] = 0xe9 as u8 182 in_dyn[44] = 0x19 as u8 183 in_dyn[45] = 0x96 as u8 184 in_dyn[46] = 0xbf as u8 185 in_dyn[47] = 0x59 as u8 186 in_dyn[48] = 0x59 as u8 187 in_dyn[49] = 0x42 as u8 188 in_dyn[50] = 0xc2 as u8 189 in_dyn[51] = 0x45 as u8 190 in_dyn[52] = 0xac as u8 191 in_dyn[53] = 0x17 as u8 192 in_dyn[54] = 0xb4 as u8 193 in_dyn[55] = 0x9a as u8 194 in_dyn[56] = 0x27 as u8 195 in_dyn[57] = 0x63 as u8 196 in_dyn[58] = 0x85 as u8 197 in_dyn[59] = 0xa4 as u8 198 in_dyn[60] = 0x2e as u8 199 in_dyn[61] = 0x52 as u8 200 in_dyn[62] = 0x61 as u8 201 in_dyn[63] = 0x43 as u8 202 in_dyn[64] = 0x78 as u8 203 in_dyn[65] = 0xc8 as u8 204 in_dyn[66] = 0x08 as u8 205 in_dyn[67] = 0x4a as u8 206 in_dyn[68] = 0x1e as u8 207 in_dyn[69] = 0x9e as u8 208 in_dyn[70] = 0x97 as u8 209 in_dyn[71] = 0x0d as u8 210 in_dyn[72] = 0xac as u8 211 in_dyn[73] = 0x28 as u8 212 in_dyn[74] = 0xd3 as u8 213 in_dyn[75] = 0x60 as u8 214 in_dyn[76] = 0xe8 as u8 215 in_dyn[77] = 0x34 as u8 216 in_dyn[78] = 0x0f as u8 217 in_dyn[79] = 0x28 as u8 218 in_dyn[80] = 0x33 as u8 219 in_dyn[81] = 0xa2 as u8 220 in_dyn[82] = 0x27 as u8 221 in_dyn[83] = 0xf5 as u8 222 in_dyn[84] = 0x13 as u8 223 in_dyn[85] = 0x29 as u8 224 in_dyn[86] = 0x43 as u8 225 in_dyn[87] = 0x6b as u8 226 in_dyn[88] = 0x0a as u8 227 in_dyn[89] = 0xa8 as u8 228 in_dyn[90] = 0xe3 as u8 229 in_dyn[91] = 0x1a as u8 230 in_dyn[92] = 0xfc as u8 231 in_dyn[93] = 0xe3 as u8 232 in_dyn[94] = 0x98 as u8 233 in_dyn[95] = 0xbd as u8 234 in_dyn[96] = 0xcc as u8 235 in_dyn[97] = 0xd3 as u8 236 in_dyn[98] = 0x23 as u8 237 in_dyn[99] = 0x4a as u8 238 in_dyn[100] = 0xbb as u8 239 in_dyn[101] = 0xa4 as u8 240 in_dyn[102] = 0xe7 as u8 241 in_dyn[103] = 0xfa as u8 242 in_dyn[104] = 0x0f as u8 243 in_dyn[105] = 0xd8 as u8 244 in_dyn[106] = 0xe0 as u8 245 in_dyn[107] = 0xf3 as u8 246 in_dyn[108] = 0xf0 as u8 247 in_dyn[109] = 0x75 as u8 248 in_dyn[110] = 0xde as u8 249 in_dyn[111] = 0x37 as u8 250 in_dyn[112] = 0x07 as u8 251 in_dyn[113] = 0x54 as u8 252 in_dyn[114] = 0x9b as u8 253 in_dyn[115] = 0xf9 as u8 254 in_dyn[116] = 0xe7 as u8 255 in_dyn[117] = 0xeb as u8 256 in_dyn[118] = 0x76 as u8 257 in_dyn[119] = 0x8b as u8 258 in_dyn[120] = 0x31 as u8 259 in_dyn[121] = 0x56 as u8 260 in_dyn[122] = 0xc3 as u8 261 in_dyn[123] = 0xb1 as u8 262 in_dyn[124] = 0x76 as u8 263 in_dyn[125] = 0xdd as u8 264 in_dyn[126] = 0x40 as u8 265 in_dyn[127] = 0x09 as u8 266 in_dyn[128] = 0x2e as u8 267 in_dyn[129] = 0x3f as u8 268 in_dyn[130] = 0xa3 as u8 269 in_dyn[131] = 0x3b as u8 270 in_dyn[132] = 0xf8 as u8 271 in_dyn[133] = 0x7b as u8 272 in_dyn[134] = 0xa2 as u8 273 in_dyn[135] = 0x41 as u8 274 in_dyn[136] = 0x1c as u8 275 in_dyn[137] = 0xda as u8 276 in_dyn[138] = 0x98 as u8 277 in_dyn[139] = 0xdd as u8 278 in_dyn[140] = 0xcd as u8 279 in_dyn[141] = 0xe0 as u8 280 in_dyn[142] = 0x48 as u8 281 in_dyn[143] = 0xf5 as u8 282 in_dyn[144] = 0xfe as u8 283 in_dyn[145] = 0x7c as u8 284 in_dyn[146] = 0x28 as u8 285 in_dyn[147] = 0x8a as u8 286 in_dyn[148] = 0x3c as u8 287 in_dyn[149] = 0x2d as u8 288 in_dyn[150] = 0x67 as u8 289 in_dyn[151] = 0xfc as u8 290 in_dyn[152] = 0x11 as u8 291 in_dyn[153] = 0x39 as u8 292 in_dyn[154] = 0x85 as u8 293 in_dyn[155] = 0xd2 as u8 294 in_dyn[156] = 0xa3 as u8 295 in_dyn[157] = 0x50 as u8 296 in_dyn[158] = 0x1b as u8 297 in_dyn[159] = 0xd9 as u8 298 in_dyn[160] = 0x36 as u8 299 in_dyn[161] = 0x38 as u8 300 in_dyn[162] = 0xfd as u8 301 in_dyn[163] = 0x59 as u8 302 in_dyn[164] = 0xaf as u8 303 in_dyn[165] = 0x5f as u8 304 in_dyn[166] = 0xfa as u8 305 in_dyn[167] = 0xef as u8 306 in_dyn[168] = 0x66 as u8 307 in_dyn[169] = 0x11 as u8 308 in_dyn[170] = 0x1d as u8 309 in_dyn[171] = 0x29 as u8 310 in_dyn[172] = 0xf0 as u8 311 in_dyn[173] = 0xea as u8 312 in_dyn[174] = 0x17 as u8 313 let exp_dyn: *u8 = (sys_mmap(253)) as *u8 314 exp_dyn[0] = 0x54 as u8 315 exp_dyn[1] = 0x68 as u8 316 exp_dyn[2] = 0x65 as u8 317 exp_dyn[3] = 0x20 as u8 318 exp_dyn[4] = 0x73 as u8 319 exp_dyn[5] = 0x6f as u8 320 exp_dyn[6] = 0x76 as u8 321 exp_dyn[7] = 0x65 as u8 322 exp_dyn[8] = 0x72 as u8 323 exp_dyn[9] = 0x65 as u8 324 exp_dyn[10] = 0x69 as u8 325 exp_dyn[11] = 0x67 as u8 326 exp_dyn[12] = 0x6e as u8 327 exp_dyn[13] = 0x20 as u8 328 exp_dyn[14] = 0x4e as u8 329 exp_dyn[15] = 0x69 as u8 330 exp_dyn[16] = 0x73 as u8 331 exp_dyn[17] = 0x68 as u8 332 exp_dyn[18] = 0x69 as u8 333 exp_dyn[19] = 0x20 as u8 334 exp_dyn[20] = 0x62 as u8 335 exp_dyn[21] = 0x72 as u8 336 exp_dyn[22] = 0x6f as u8 337 exp_dyn[23] = 0x77 as u8 338 exp_dyn[24] = 0x73 as u8 339 exp_dyn[25] = 0x65 as u8 340 exp_dyn[26] = 0x72 as u8 341 exp_dyn[27] = 0x20 as u8 342 exp_dyn[28] = 0x69 as u8 343 exp_dyn[29] = 0x6e as u8 344 exp_dyn[30] = 0x66 as u8 345 exp_dyn[31] = 0x6c as u8 346 exp_dyn[32] = 0x61 as u8 347 exp_dyn[33] = 0x74 as u8 348 exp_dyn[34] = 0x65 as u8 349 exp_dyn[35] = 0x73 as u8 350 exp_dyn[36] = 0x20 as u8 351 exp_dyn[37] = 0x67 as u8 352 exp_dyn[38] = 0x7a as u8 353 exp_dyn[39] = 0x69 as u8 354 exp_dyn[40] = 0x70 as u8 355 exp_dyn[41] = 0x20 as u8 356 exp_dyn[42] = 0x61 as u8 357 exp_dyn[43] = 0x6e as u8 358 exp_dyn[44] = 0x64 as u8 359 exp_dyn[45] = 0x20 as u8 360 exp_dyn[46] = 0x64 as u8 361 exp_dyn[47] = 0x65 as u8 362 exp_dyn[48] = 0x66 as u8 363 exp_dyn[49] = 0x6c as u8 364 exp_dyn[50] = 0x61 as u8 365 exp_dyn[51] = 0x74 as u8 366 exp_dyn[52] = 0x65 as u8 367 exp_dyn[53] = 0x20 as u8 368 exp_dyn[54] = 0x73 as u8 369 exp_dyn[55] = 0x74 as u8 370 exp_dyn[56] = 0x72 as u8 371 exp_dyn[57] = 0x65 as u8 372 exp_dyn[58] = 0x61 as u8 373 exp_dyn[59] = 0x6d as u8 374 exp_dyn[60] = 0x73 as u8 375 exp_dyn[61] = 0x20 as u8 376 exp_dyn[62] = 0x66 as u8 377 exp_dyn[63] = 0x72 as u8 378 exp_dyn[64] = 0x6f as u8 379 exp_dyn[65] = 0x6d as u8 380 exp_dyn[66] = 0x20 as u8 381 exp_dyn[67] = 0x74 as u8 382 exp_dyn[68] = 0x68 as u8 383 exp_dyn[69] = 0x65 as u8 384 exp_dyn[70] = 0x20 as u8 385 exp_dyn[71] = 0x68 as u8 386 exp_dyn[72] = 0x61 as u8 387 exp_dyn[73] = 0x72 as u8 388 exp_dyn[74] = 0x64 as u8 389 exp_dyn[75] = 0x77 as u8 390 exp_dyn[76] = 0x61 as u8 391 exp_dyn[77] = 0x72 as u8 392 exp_dyn[78] = 0x65 as u8 393 exp_dyn[79] = 0x20 as u8 394 exp_dyn[80] = 0x72 as u8 395 exp_dyn[81] = 0x75 as u8 396 exp_dyn[82] = 0x6e as u8 397 exp_dyn[83] = 0x67 as u8 398 exp_dyn[84] = 0x20 as u8 399 exp_dyn[85] = 0x75 as u8 400 exp_dyn[86] = 0x70 as u8 401 exp_dyn[87] = 0x2c as u8 402 exp_dyn[88] = 0x20 as u8 403 exp_dyn[89] = 0x65 as u8 404 exp_dyn[90] = 0x78 as u8 405 exp_dyn[91] = 0x63 as u8 406 exp_dyn[92] = 0x65 as u8 407 exp_dyn[93] = 0x65 as u8 408 exp_dyn[94] = 0x64 as u8 409 exp_dyn[95] = 0x69 as u8 410 exp_dyn[96] = 0x6e as u8 411 exp_dyn[97] = 0x67 as u8 412 exp_dyn[98] = 0x20 as u8 413 exp_dyn[99] = 0x7a as u8 414 exp_dyn[100] = 0x6c as u8 415 exp_dyn[101] = 0x69 as u8 416 exp_dyn[102] = 0x62 as u8 417 exp_dyn[103] = 0x20 as u8 418 exp_dyn[104] = 0x61 as u8 419 exp_dyn[105] = 0x6e as u8 420 exp_dyn[106] = 0x64 as u8 421 exp_dyn[107] = 0x20 as u8 422 exp_dyn[108] = 0x6c as u8 423 exp_dyn[109] = 0x69 as u8 424 exp_dyn[110] = 0x62 as u8 425 exp_dyn[111] = 0x64 as u8 426 exp_dyn[112] = 0x65 as u8 427 exp_dyn[113] = 0x66 as u8 428 exp_dyn[114] = 0x6c as u8 429 exp_dyn[115] = 0x61 as u8 430 exp_dyn[116] = 0x74 as u8 431 exp_dyn[117] = 0x65 as u8 432 exp_dyn[118] = 0x2e as u8 433 exp_dyn[119] = 0x20 as u8 434 exp_dyn[120] = 0x44 as u8 435 exp_dyn[121] = 0x45 as u8 436 exp_dyn[122] = 0x46 as u8 437 exp_dyn[123] = 0x4c as u8 438 exp_dyn[124] = 0x41 as u8 439 exp_dyn[125] = 0x54 as u8 440 exp_dyn[126] = 0x45 as u8 441 exp_dyn[127] = 0x20 as u8 442 exp_dyn[128] = 0x75 as u8 443 exp_dyn[129] = 0x73 as u8 444 exp_dyn[130] = 0x65 as u8 445 exp_dyn[131] = 0x73 as u8 446 exp_dyn[132] = 0x20 as u8 447 exp_dyn[133] = 0x4c as u8 448 exp_dyn[134] = 0x5a as u8 449 exp_dyn[135] = 0x37 as u8 450 exp_dyn[136] = 0x37 as u8 451 exp_dyn[137] = 0x20 as u8 452 exp_dyn[138] = 0x70 as u8 453 exp_dyn[139] = 0x6c as u8 454 exp_dyn[140] = 0x75 as u8 455 exp_dyn[141] = 0x73 as u8 456 exp_dyn[142] = 0x20 as u8 457 exp_dyn[143] = 0x48 as u8 458 exp_dyn[144] = 0x75 as u8 459 exp_dyn[145] = 0x66 as u8 460 exp_dyn[146] = 0x66 as u8 461 exp_dyn[147] = 0x6d as u8 462 exp_dyn[148] = 0x61 as u8 463 exp_dyn[149] = 0x6e as u8 464 exp_dyn[150] = 0x20 as u8 465 exp_dyn[151] = 0x63 as u8 466 exp_dyn[152] = 0x6f as u8 467 exp_dyn[153] = 0x64 as u8 468 exp_dyn[154] = 0x69 as u8 469 exp_dyn[155] = 0x6e as u8 470 exp_dyn[156] = 0x67 as u8 471 exp_dyn[157] = 0x3b as u8 472 exp_dyn[158] = 0x20 as u8 473 exp_dyn[159] = 0x64 as u8 474 exp_dyn[160] = 0x79 as u8 475 exp_dyn[161] = 0x6e as u8 476 exp_dyn[162] = 0x61 as u8 477 exp_dyn[163] = 0x6d as u8 478 exp_dyn[164] = 0x69 as u8 479 exp_dyn[165] = 0x63 as u8 480 exp_dyn[166] = 0x20 as u8 481 exp_dyn[167] = 0x62 as u8 482 exp_dyn[168] = 0x6c as u8 483 exp_dyn[169] = 0x6f as u8 484 exp_dyn[170] = 0x63 as u8 485 exp_dyn[171] = 0x6b as u8 486 exp_dyn[172] = 0x73 as u8 487 exp_dyn[173] = 0x20 as u8 488 exp_dyn[174] = 0x63 as u8 489 exp_dyn[175] = 0x61 as u8 490 exp_dyn[176] = 0x72 as u8 491 exp_dyn[177] = 0x72 as u8 492 exp_dyn[178] = 0x79 as u8 493 exp_dyn[179] = 0x20 as u8 494 exp_dyn[180] = 0x74 as u8 495 exp_dyn[181] = 0x68 as u8 496 exp_dyn[182] = 0x65 as u8 497 exp_dyn[183] = 0x69 as u8 498 exp_dyn[184] = 0x72 as u8 499 exp_dyn[185] = 0x20 as u8 500 exp_dyn[186] = 0x6f as u8 501 exp_dyn[187] = 0x77 as u8 502 exp_dyn[188] = 0x6e as u8 503 exp_dyn[189] = 0x20 as u8 504 exp_dyn[190] = 0x63 as u8 505 exp_dyn[191] = 0x6f as u8 506 exp_dyn[192] = 0x64 as u8 507 exp_dyn[193] = 0x65 as u8 508 exp_dyn[194] = 0x2d as u8 509 exp_dyn[195] = 0x6c as u8 510 exp_dyn[196] = 0x65 as u8 511 exp_dyn[197] = 0x6e as u8 512 exp_dyn[198] = 0x67 as u8 513 exp_dyn[199] = 0x74 as u8 514 exp_dyn[200] = 0x68 as u8 515 exp_dyn[201] = 0x20 as u8 516 exp_dyn[202] = 0x74 as u8 517 exp_dyn[203] = 0x61 as u8 518 exp_dyn[204] = 0x62 as u8 519 exp_dyn[205] = 0x6c as u8 520 exp_dyn[206] = 0x65 as u8 521 exp_dyn[207] = 0x73 as u8 522 exp_dyn[208] = 0x2e as u8 523 exp_dyn[209] = 0x20 as u8 524 exp_dyn[210] = 0x49 as u8 525 exp_dyn[211] = 0x6e as u8 526 exp_dyn[212] = 0x66 as u8 527 exp_dyn[213] = 0x6c as u8 528 exp_dyn[214] = 0x61 as u8 529 exp_dyn[215] = 0x74 as u8 530 exp_dyn[216] = 0x65 as u8 531 exp_dyn[217] = 0x2c as u8 532 exp_dyn[218] = 0x20 as u8 533 exp_dyn[219] = 0x69 as u8 534 exp_dyn[220] = 0x6e as u8 535 exp_dyn[221] = 0x66 as u8 536 exp_dyn[222] = 0x6c as u8 537 exp_dyn[223] = 0x61 as u8 538 exp_dyn[224] = 0x74 as u8 539 exp_dyn[225] = 0x65 as u8 540 exp_dyn[226] = 0x2c as u8 541 exp_dyn[227] = 0x20 as u8 542 exp_dyn[228] = 0x69 as u8 543 exp_dyn[229] = 0x6e as u8 544 exp_dyn[230] = 0x66 as u8 545 exp_dyn[231] = 0x6c as u8 546 exp_dyn[232] = 0x61 as u8 547 exp_dyn[233] = 0x74 as u8 548 exp_dyn[234] = 0x65 as u8 549 exp_dyn[235] = 0x20 as u8 550 exp_dyn[236] = 0x74 as u8 551 exp_dyn[237] = 0x68 as u8 552 exp_dyn[238] = 0x65 as u8 553 exp_dyn[239] = 0x20 as u8 554 exp_dyn[240] = 0x70 as u8 555 exp_dyn[241] = 0x61 as u8 556 exp_dyn[242] = 0x67 as u8 557 exp_dyn[243] = 0x65 as u8 558 exp_dyn[244] = 0x21 as u8 559 let r_dyn: *NxDeflateResult = nx_deflate_inflate(in_dyn, 175, 309) 560 if r_dyn == (0 as *NxDeflateResult) { return 50 } 561 if r_dyn.error_code != NX_DEF_OK { return 51 } 562 if r_dyn.output_size != 245 { return 52 } 563 var i_dyn: nx_int = 0 564 while i_dyn < 245 { 565 let got: nx_int = (r_dyn.output_data[i_dyn] as nx_int) & 255 566 let want: nx_int = (exp_dyn[i_dyn] as nx_int) & 255 567 if got != want { return 53 } 568 i_dyn = i_dyn + 1 569 } 570 571 return 0 572}