| 1 | /* |
| 2 | * Copyright (c) 2008 Apple Inc. All rights reserved. |
| 3 | * |
| 4 | * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ |
| 5 | * |
| 6 | * This file contains Original Code and/or Modifications of Original Code |
| 7 | * as defined in and that are subject to the Apple Public Source License |
| 8 | * Version 2.0 (the 'License'). You may not use this file except in |
| 9 | * compliance with the License. The rights granted to you under the License |
| 10 | * may not be used to create, or enable the creation or redistribution of, |
| 11 | * unlawful or unlicensed copies of an Apple operating system, or to |
| 12 | * circumvent, violate, or enable the circumvention or violation of, any |
| 13 | * terms of an Apple operating system software license agreement. |
| 14 | * |
| 15 | * Please obtain a copy of the License at |
| 16 | * http://www.opensource.apple.com/apsl/ and read it before using this file. |
| 17 | * |
| 18 | * The Original Code and all software distributed under the License are |
| 19 | * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER |
| 20 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, |
| 21 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, |
| 22 | * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. |
| 23 | * Please see the License for the specific language governing rights and |
| 24 | * limitations under the License. |
| 25 | * |
| 26 | * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ |
| 27 | */ |
| 28 | /* header created automatically with -DGEN_TREES_H */ |
| 29 | |
| 30 | local const ct_data static_ltree[L_CODES+2] = { |
| 31 | {{ 12},{ .dad: 8}}, {{.freq: 140},{ .dad: 8}}, {{ .freq: 76},{ .dad: 8}}, {{.freq: 204},{ .dad: 8}}, {{ .freq: 44},{ .dad: 8}}, |
| 32 | {{.freq: 172},{ .dad: 8}}, {{.freq: 108},{ .dad: 8}}, {{.freq: 236},{ .dad: 8}}, {{ .freq: 28},{ .dad: 8}}, {{.freq: 156},{ .dad: 8}}, |
| 33 | {{ .freq: 92},{ .dad: 8}}, {{.freq: 220},{ .dad: 8}}, {{ .freq: 60},{ .dad: 8}}, {{.freq: 188},{ .dad: 8}}, {{.freq: 124},{ .dad: 8}}, |
| 34 | {{.freq: 252},{ .dad: 8}}, {{ .freq: 2},{ .dad: 8}}, {{.freq: 130},{ .dad: 8}}, {{ .freq: 66},{ .dad: 8}}, {{.freq: 194},{ .dad: 8}}, |
| 35 | {{ .freq: 34},{ .dad: 8}}, {{.freq: 162},{ .dad: 8}}, {{ .freq: 98},{ .dad: 8}}, {{.freq: 226},{ .dad: 8}}, {{ .freq: 18},{ .dad: 8}}, |
| 36 | {{.freq: 146},{ .dad: 8}}, {{ .freq: 82},{ .dad: 8}}, {{.freq: 210},{ .dad: 8}}, {{ .freq: 50},{ .dad: 8}}, {{.freq: 178},{ .dad: 8}}, |
| 37 | {{.freq: 114},{ .dad: 8}}, {{.freq: 242},{ .dad: 8}}, {{ .freq: 10},{ .dad: 8}}, {{.freq: 138},{ .dad: 8}}, {{ .freq: 74},{ .dad: 8}}, |
| 38 | {{.freq: 202},{ .dad: 8}}, {{ .freq: 42},{ .dad: 8}}, {{.freq: 170},{ .dad: 8}}, {{.freq: 106},{ .dad: 8}}, {{.freq: 234},{ .dad: 8}}, |
| 39 | {{ .freq: 26},{ .dad: 8}}, {{.freq: 154},{ .dad: 8}}, {{ .freq: 90},{ .dad: 8}}, {{.freq: 218},{ .dad: 8}}, {{ .freq: 58},{ .dad: 8}}, |
| 40 | {{.freq: 186},{ .dad: 8}}, {{.freq: 122},{ .dad: 8}}, {{.freq: 250},{ .dad: 8}}, {{ .freq: 6},{ .dad: 8}}, {{.freq: 134},{ .dad: 8}}, |
| 41 | {{ .freq: 70},{ .dad: 8}}, {{.freq: 198},{ .dad: 8}}, {{ .freq: 38},{ .dad: 8}}, {{.freq: 166},{ .dad: 8}}, {{.freq: 102},{ .dad: 8}}, |
| 42 | {{.freq: 230},{ .dad: 8}}, {{ .freq: 22},{ .dad: 8}}, {{.freq: 150},{ .dad: 8}}, {{ .freq: 86},{ .dad: 8}}, {{.freq: 214},{ .dad: 8}}, |
| 43 | {{ .freq: 54},{ .dad: 8}}, {{.freq: 182},{ .dad: 8}}, {{.freq: 118},{ .dad: 8}}, {{.freq: 246},{ .dad: 8}}, {{ .freq: 14},{ .dad: 8}}, |
| 44 | {{.freq: 142},{ .dad: 8}}, {{ .freq: 78},{ .dad: 8}}, {{.freq: 206},{ .dad: 8}}, {{ .freq: 46},{ .dad: 8}}, {{.freq: 174},{ .dad: 8}}, |
| 45 | {{.freq: 110},{ .dad: 8}}, {{.freq: 238},{ .dad: 8}}, {{ .freq: 30},{ .dad: 8}}, {{.freq: 158},{ .dad: 8}}, {{ .freq: 94},{ .dad: 8}}, |
| 46 | {{.freq: 222},{ .dad: 8}}, {{ .freq: 62},{ .dad: 8}}, {{.freq: 190},{ .dad: 8}}, {{.freq: 126},{ .dad: 8}}, {{.freq: 254},{ .dad: 8}}, |
| 47 | {{ .freq: 1},{ .dad: 8}}, {{.freq: 129},{ .dad: 8}}, {{ .freq: 65},{ .dad: 8}}, {{.freq: 193},{ .dad: 8}}, {{ .freq: 33},{ .dad: 8}}, |
| 48 | {{.freq: 161},{ .dad: 8}}, {{ .freq: 97},{ .dad: 8}}, {{.freq: 225},{ .dad: 8}}, {{ .freq: 17},{ .dad: 8}}, {{.freq: 145},{ .dad: 8}}, |
| 49 | {{ .freq: 81},{ .dad: 8}}, {{.freq: 209},{ .dad: 8}}, {{ .freq: 49},{ .dad: 8}}, {{.freq: 177},{ .dad: 8}}, {{.freq: 113},{ .dad: 8}}, |
| 50 | {{.freq: 241},{ .dad: 8}}, {{ .freq: 9},{ .dad: 8}}, {{.freq: 137},{ .dad: 8}}, {{ .freq: 73},{ .dad: 8}}, {{.freq: 201},{ .dad: 8}}, |
| 51 | {{ .freq: 41},{ .dad: 8}}, {{.freq: 169},{ .dad: 8}}, {{.freq: 105},{ .dad: 8}}, {{.freq: 233},{ .dad: 8}}, {{ .freq: 25},{ .dad: 8}}, |
| 52 | {{.freq: 153},{ .dad: 8}}, {{ .freq: 89},{ .dad: 8}}, {{.freq: 217},{ .dad: 8}}, {{ .freq: 57},{ .dad: 8}}, {{.freq: 185},{ .dad: 8}}, |
| 53 | {{.freq: 121},{ .dad: 8}}, {{.freq: 249},{ .dad: 8}}, {{ .freq: 5},{ .dad: 8}}, {{.freq: 133},{ .dad: 8}}, {{ .freq: 69},{ .dad: 8}}, |
| 54 | {{.freq: 197},{ .dad: 8}}, {{ .freq: 37},{ .dad: 8}}, {{.freq: 165},{ .dad: 8}}, {{.freq: 101},{ .dad: 8}}, {{.freq: 229},{ .dad: 8}}, |
| 55 | {{ .freq: 21},{ .dad: 8}}, {{.freq: 149},{ .dad: 8}}, {{ .freq: 85},{ .dad: 8}}, {{.freq: 213},{ .dad: 8}}, {{ .freq: 53},{ .dad: 8}}, |
| 56 | {{.freq: 181},{ .dad: 8}}, {{.freq: 117},{ .dad: 8}}, {{.freq: 245},{ .dad: 8}}, {{ .freq: 13},{ .dad: 8}}, {{.freq: 141},{ .dad: 8}}, |
| 57 | {{ .freq: 77},{ .dad: 8}}, {{.freq: 205},{ .dad: 8}}, {{ .freq: 45},{ .dad: 8}}, {{.freq: 173},{ .dad: 8}}, {{.freq: 109},{ .dad: 8}}, |
| 58 | {{.freq: 237},{ .dad: 8}}, {{ .freq: 29},{ .dad: 8}}, {{.freq: 157},{ .dad: 8}}, {{ .freq: 93},{ .dad: 8}}, {{.freq: 221},{ .dad: 8}}, |
| 59 | {{ .freq: 61},{ .dad: 8}}, {{.freq: 189},{ .dad: 8}}, {{.freq: 125},{ .dad: 8}}, {{.freq: 253},{ .dad: 8}}, {{ .freq: 19},{ .dad: 9}}, |
| 60 | {{.freq: 275},{ .dad: 9}}, {{.freq: 147},{ .dad: 9}}, {{.freq: 403},{ .dad: 9}}, {{ .freq: 83},{ .dad: 9}}, {{.freq: 339},{ .dad: 9}}, |
| 61 | {{.freq: 211},{ .dad: 9}}, {{.freq: 467},{ .dad: 9}}, {{ .freq: 51},{ .dad: 9}}, {{.freq: 307},{ .dad: 9}}, {{.freq: 179},{ .dad: 9}}, |
| 62 | {{.freq: 435},{ .dad: 9}}, {{.freq: 115},{ .dad: 9}}, {{.freq: 371},{ .dad: 9}}, {{.freq: 243},{ .dad: 9}}, {{.freq: 499},{ .dad: 9}}, |
| 63 | {{ .freq: 11},{ .dad: 9}}, {{.freq: 267},{ .dad: 9}}, {{.freq: 139},{ .dad: 9}}, {{.freq: 395},{ .dad: 9}}, {{ .freq: 75},{ .dad: 9}}, |
| 64 | {{.freq: 331},{ .dad: 9}}, {{.freq: 203},{ .dad: 9}}, {{.freq: 459},{ .dad: 9}}, {{ .freq: 43},{ .dad: 9}}, {{.freq: 299},{ .dad: 9}}, |
| 65 | {{.freq: 171},{ .dad: 9}}, {{.freq: 427},{ .dad: 9}}, {{.freq: 107},{ .dad: 9}}, {{.freq: 363},{ .dad: 9}}, {{.freq: 235},{ .dad: 9}}, |
| 66 | {{.freq: 491},{ .dad: 9}}, {{ .freq: 27},{ .dad: 9}}, {{.freq: 283},{ .dad: 9}}, {{.freq: 155},{ .dad: 9}}, {{.freq: 411},{ .dad: 9}}, |
| 67 | {{ .freq: 91},{ .dad: 9}}, {{.freq: 347},{ .dad: 9}}, {{.freq: 219},{ .dad: 9}}, {{.freq: 475},{ .dad: 9}}, {{ .freq: 59},{ .dad: 9}}, |
| 68 | {{.freq: 315},{ .dad: 9}}, {{.freq: 187},{ .dad: 9}}, {{.freq: 443},{ .dad: 9}}, {{.freq: 123},{ .dad: 9}}, {{.freq: 379},{ .dad: 9}}, |
| 69 | {{.freq: 251},{ .dad: 9}}, {{.freq: 507},{ .dad: 9}}, {{ .freq: 7},{ .dad: 9}}, {{.freq: 263},{ .dad: 9}}, {{.freq: 135},{ .dad: 9}}, |
| 70 | {{.freq: 391},{ .dad: 9}}, {{ .freq: 71},{ .dad: 9}}, {{.freq: 327},{ .dad: 9}}, {{.freq: 199},{ .dad: 9}}, {{.freq: 455},{ .dad: 9}}, |
| 71 | {{ .freq: 39},{ .dad: 9}}, {{.freq: 295},{ .dad: 9}}, {{.freq: 167},{ .dad: 9}}, {{.freq: 423},{ .dad: 9}}, {{.freq: 103},{ .dad: 9}}, |
| 72 | {{.freq: 359},{ .dad: 9}}, {{.freq: 231},{ .dad: 9}}, {{.freq: 487},{ .dad: 9}}, {{ .freq: 23},{ .dad: 9}}, {{.freq: 279},{ .dad: 9}}, |
| 73 | {{.freq: 151},{ .dad: 9}}, {{.freq: 407},{ .dad: 9}}, {{ .freq: 87},{ .dad: 9}}, {{.freq: 343},{ .dad: 9}}, {{.freq: 215},{ .dad: 9}}, |
| 74 | {{.freq: 471},{ .dad: 9}}, {{ .freq: 55},{ .dad: 9}}, {{.freq: 311},{ .dad: 9}}, {{.freq: 183},{ .dad: 9}}, {{.freq: 439},{ .dad: 9}}, |
| 75 | {{.freq: 119},{ .dad: 9}}, {{.freq: 375},{ .dad: 9}}, {{.freq: 247},{ .dad: 9}}, {{.freq: 503},{ .dad: 9}}, {{ .freq: 15},{ .dad: 9}}, |
| 76 | {{.freq: 271},{ .dad: 9}}, {{.freq: 143},{ .dad: 9}}, {{.freq: 399},{ .dad: 9}}, {{ .freq: 79},{ .dad: 9}}, {{.freq: 335},{ .dad: 9}}, |
| 77 | {{.freq: 207},{ .dad: 9}}, {{.freq: 463},{ .dad: 9}}, {{ .freq: 47},{ .dad: 9}}, {{.freq: 303},{ .dad: 9}}, {{.freq: 175},{ .dad: 9}}, |
| 78 | {{.freq: 431},{ .dad: 9}}, {{.freq: 111},{ .dad: 9}}, {{.freq: 367},{ .dad: 9}}, {{.freq: 239},{ .dad: 9}}, {{.freq: 495},{ .dad: 9}}, |
| 79 | {{ .freq: 31},{ .dad: 9}}, {{.freq: 287},{ .dad: 9}}, {{.freq: 159},{ .dad: 9}}, {{.freq: 415},{ .dad: 9}}, {{ .freq: 95},{ .dad: 9}}, |
| 80 | {{.freq: 351},{ .dad: 9}}, {{.freq: 223},{ .dad: 9}}, {{.freq: 479},{ .dad: 9}}, {{ .freq: 63},{ .dad: 9}}, {{.freq: 319},{ .dad: 9}}, |
| 81 | {{.freq: 191},{ .dad: 9}}, {{.freq: 447},{ .dad: 9}}, {{.freq: 127},{ .dad: 9}}, {{.freq: 383},{ .dad: 9}}, {{.freq: 255},{ .dad: 9}}, |
| 82 | {{.freq: 511},{ .dad: 9}}, {{ 0},{ 7}}, {{ 64},{ 7}}, {{ 32},{ 7}}, {{ 96},{ 7}}, |
| 83 | {{ 16},{ 7}}, {{ 80},{ 7}}, {{ 48},{ 7}}, {{112},{ 7}}, {{ 8},{ 7}}, |
| 84 | {{ 72},{ 7}}, {{ 40},{ 7}}, {{104},{ 7}}, {{ 24},{ 7}}, {{ 88},{ 7}}, |
| 85 | {{ 56},{ 7}}, {{120},{ 7}}, {{ 4},{ 7}}, {{ 68},{ 7}}, {{ 36},{ 7}}, |
| 86 | {{100},{ 7}}, {{ 20},{ 7}}, {{ 84},{ 7}}, {{ 52},{ 7}}, {{116},{ 7}}, |
| 87 | {{ 3},{ 8}}, {{131},{ 8}}, {{ 67},{ 8}}, {{195},{ 8}}, {{ 35},{ 8}}, |
| 88 | {{163},{ 8}}, {{ 99},{ 8}}, {{227},{ 8}} |
| 89 | }; |
| 90 | |
| 91 | local const ct_data static_dtree[D_CODES] = { |
| 92 | {{ 0},{ 5}}, {{16},{ 5}}, {{ 8},{ 5}}, {{24},{ 5}}, {{ 4},{ 5}}, |
| 93 | {{20},{ 5}}, {{12},{ 5}}, {{28},{ 5}}, {{ 2},{ 5}}, {{18},{ 5}}, |
| 94 | {{10},{ 5}}, {{26},{ 5}}, {{ 6},{ 5}}, {{22},{ 5}}, {{14},{ 5}}, |
| 95 | {{30},{ 5}}, {{ 1},{ 5}}, {{17},{ 5}}, {{ 9},{ 5}}, {{25},{ 5}}, |
| 96 | {{ 5},{ 5}}, {{21},{ 5}}, {{13},{ 5}}, {{29},{ 5}}, {{ 3},{ 5}}, |
| 97 | {{19},{ 5}}, {{11},{ 5}}, {{27},{ 5}}, {{ 7},{ 5}}, {{23},{ 5}} |
| 98 | }; |
| 99 | |
| 100 | const uch _dist_code[DIST_CODE_LEN] = { |
| 101 | 0, 1, 2, 3, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, |
| 102 | 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, |
| 103 | 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, |
| 104 | 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
| 105 | 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, |
| 106 | 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
| 107 | 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
| 108 | 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
| 109 | 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
| 110 | 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, |
| 111 | 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
| 112 | 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
| 113 | 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 16, 17, |
| 114 | 18, 18, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, |
| 115 | 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, |
| 116 | 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, |
| 117 | 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, |
| 118 | 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, |
| 119 | 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, |
| 120 | 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, |
| 121 | 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, |
| 122 | 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, |
| 123 | 28, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, |
| 124 | 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, |
| 125 | 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, |
| 126 | 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29 |
| 127 | }; |
| 128 | |
| 129 | const uch _length_code[MAX_MATCH-MIN_MATCH+1]= { |
| 130 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 12, 12, |
| 131 | 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, |
| 132 | 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, |
| 133 | 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, |
| 134 | 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, |
| 135 | 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, |
| 136 | 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, |
| 137 | 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, |
| 138 | 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, |
| 139 | 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, |
| 140 | 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, |
| 141 | 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, |
| 142 | 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28 |
| 143 | }; |
| 144 | |
| 145 | local const int base_length[LENGTH_CODES] = { |
| 146 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, 28, 32, 40, 48, 56, |
| 147 | 64, 80, 96, 112, 128, 160, 192, 224, 0 |
| 148 | }; |
| 149 | |
| 150 | local const int base_dist[D_CODES] = { |
| 151 | 0, 1, 2, 3, 4, 6, 8, 12, 16, 24, |
| 152 | 32, 48, 64, 96, 128, 192, 256, 384, 512, 768, |
| 153 | 1024, 1536, 2048, 3072, 4096, 6144, 8192, 12288, 16384, 24576 |
| 154 | }; |
| 155 | |
| 156 | |