yading@10
|
1 /*
|
yading@10
|
2 * LucasArts Smush video decoder
|
yading@10
|
3 * Copyright (c) 2006 Cyril Zorin
|
yading@10
|
4 *
|
yading@10
|
5 * This file is part of FFmpeg.
|
yading@10
|
6 *
|
yading@10
|
7 * FFmpeg is free software; you can redistribute it and/or
|
yading@10
|
8 * modify it under the terms of the GNU Lesser General Public
|
yading@10
|
9 * License as published by the Free Software Foundation; either
|
yading@10
|
10 * version 2.1 of the License, or (at your option) any later version.
|
yading@10
|
11 *
|
yading@10
|
12 * FFmpeg is distributed in the hope that it will be useful,
|
yading@10
|
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
yading@10
|
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
yading@10
|
15 * Lesser General Public License for more details.
|
yading@10
|
16 *
|
yading@10
|
17 * You should have received a copy of the GNU Lesser General Public
|
yading@10
|
18 * License along with FFmpeg; if not, write to the Free Software
|
yading@10
|
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
yading@10
|
20 */
|
yading@10
|
21
|
yading@10
|
22 #ifndef AVCODEC_SANM_DATA_H
|
yading@10
|
23 #define AVCODEC_SANM_DATA_H
|
yading@10
|
24
|
yading@10
|
25 #include <stdint.h>
|
yading@10
|
26
|
yading@10
|
27 #define GLYPH_COORD_VECT_SIZE 16
|
yading@10
|
28
|
yading@10
|
29 static const int8_t glyph4_x[GLYPH_COORD_VECT_SIZE] =
|
yading@10
|
30 { 0, 1, 2, 3, 3, 3, 3, 2, 1, 0, 0, 0, 1, 2, 2, 1 };
|
yading@10
|
31 static const int8_t glyph4_y[GLYPH_COORD_VECT_SIZE] =
|
yading@10
|
32 { 0, 0, 0, 0, 1, 2, 3, 3, 3, 3, 2, 1, 1, 1, 2, 2 };
|
yading@10
|
33 static const int8_t glyph8_x[GLYPH_COORD_VECT_SIZE] =
|
yading@10
|
34 { 0, 2, 5, 7, 7, 7, 7, 7, 7, 5, 2, 0, 0, 0, 0, 0 };
|
yading@10
|
35 static const int8_t glyph8_y[GLYPH_COORD_VECT_SIZE] =
|
yading@10
|
36 { 0, 0, 0, 0, 1, 3, 4, 6, 7, 7, 7, 7, 6, 4, 3, 1 };
|
yading@10
|
37
|
yading@10
|
38 static const int8_t motion_vectors[256][2] =
|
yading@10
|
39 {
|
yading@10
|
40 { 0, 0}, { -1, -43}, { 6, -43}, { -9, -42}, { 13, -41},
|
yading@10
|
41 {-16, -40}, { 19, -39}, {-23, -36}, { 26, -34}, { -2, -33},
|
yading@10
|
42 { 4, -33}, {-29, -32}, { -9, -32}, { 11, -31}, {-16, -29},
|
yading@10
|
43 { 32, -29}, { 18, -28}, {-34, -26}, {-22, -25}, { -1, -25},
|
yading@10
|
44 { 3, -25}, { -7, -24}, { 8, -24}, { 24, -23}, { 36, -23},
|
yading@10
|
45 {-12, -22}, { 13, -21}, {-38, -20}, { 0, -20}, {-27, -19},
|
yading@10
|
46 { -4, -19}, { 4, -19}, {-17, -18}, { -8, -17}, { 8, -17},
|
yading@10
|
47 { 18, -17}, { 28, -17}, { 39, -17}, {-12, -15}, { 12, -15},
|
yading@10
|
48 {-21, -14}, { -1, -14}, { 1, -14}, {-41, -13}, { -5, -13},
|
yading@10
|
49 { 5, -13}, { 21, -13}, {-31, -12}, {-15, -11}, { -8, -11},
|
yading@10
|
50 { 8, -11}, { 15, -11}, { -2, -10}, { 1, -10}, { 31, -10},
|
yading@10
|
51 {-23, -9}, {-11, -9}, { -5, -9}, { 4, -9}, { 11, -9},
|
yading@10
|
52 { 42, -9}, { 6, -8}, { 24, -8}, {-18, -7}, { -7, -7},
|
yading@10
|
53 { -3, -7}, { -1, -7}, { 2, -7}, { 18, -7}, {-43, -6},
|
yading@10
|
54 {-13, -6}, { -4, -6}, { 4, -6}, { 8, -6}, {-33, -5},
|
yading@10
|
55 { -9, -5}, { -2, -5}, { 0, -5}, { 2, -5}, { 5, -5},
|
yading@10
|
56 { 13, -5}, {-25, -4}, { -6, -4}, { -3, -4}, { 3, -4},
|
yading@10
|
57 { 9, -4}, {-19, -3}, { -7, -3}, { -4, -3}, { -2, -3},
|
yading@10
|
58 { -1, -3}, { 0, -3}, { 1, -3}, { 2, -3}, { 4, -3},
|
yading@10
|
59 { 6, -3}, { 33, -3}, {-14, -2}, {-10, -2}, { -5, -2},
|
yading@10
|
60 { -3, -2}, { -2, -2}, { -1, -2}, { 0, -2}, { 1, -2},
|
yading@10
|
61 { 2, -2}, { 3, -2}, { 5, -2}, { 7, -2}, { 14, -2},
|
yading@10
|
62 { 19, -2}, { 25, -2}, { 43, -2}, { -7, -1}, { -3, -1},
|
yading@10
|
63 { -2, -1}, { -1, -1}, { 0, -1}, { 1, -1}, { 2, -1},
|
yading@10
|
64 { 3, -1}, { 10, -1}, { -5, 0}, { -3, 0}, { -2, 0},
|
yading@10
|
65 { -1, 0}, { 1, 0}, { 2, 0}, { 3, 0}, { 5, 0},
|
yading@10
|
66 { 7, 0}, {-10, 1}, { -7, 1}, { -3, 1}, { -2, 1},
|
yading@10
|
67 { -1, 1}, { 0, 1}, { 1, 1}, { 2, 1}, { 3, 1},
|
yading@10
|
68 {-43, 2}, {-25, 2}, {-19, 2}, {-14, 2}, { -5, 2},
|
yading@10
|
69 { -3, 2}, { -2, 2}, { -1, 2}, { 0, 2}, { 1, 2},
|
yading@10
|
70 { 2, 2}, { 3, 2}, { 5, 2}, { 7, 2}, { 10, 2},
|
yading@10
|
71 { 14, 2}, {-33, 3}, { -6, 3}, { -4, 3}, { -2, 3},
|
yading@10
|
72 { -1, 3}, { 0, 3}, { 1, 3}, { 2, 3}, { 4, 3},
|
yading@10
|
73 { 19, 3}, { -9, 4}, { -3, 4}, { 3, 4}, { 7, 4},
|
yading@10
|
74 { 25, 4}, {-13, 5}, { -5, 5}, { -2, 5}, { 0, 5},
|
yading@10
|
75 { 2, 5}, { 5, 5}, { 9, 5}, { 33, 5}, { -8, 6},
|
yading@10
|
76 { -4, 6}, { 4, 6}, { 13, 6}, { 43, 6}, {-18, 7},
|
yading@10
|
77 { -2, 7}, { 0, 7}, { 2, 7}, { 7, 7}, { 18, 7},
|
yading@10
|
78 {-24, 8}, { -6, 8}, {-42, 9}, {-11, 9}, { -4, 9},
|
yading@10
|
79 { 5, 9}, { 11, 9}, { 23, 9}, {-31, 10}, { -1, 10},
|
yading@10
|
80 { 2, 10}, {-15, 11}, { -8, 11}, { 8, 11}, { 15, 11},
|
yading@10
|
81 { 31, 12}, {-21, 13}, { -5, 13}, { 5, 13}, { 41, 13},
|
yading@10
|
82 { -1, 14}, { 1, 14}, { 21, 14}, {-12, 15}, { 12, 15},
|
yading@10
|
83 {-39, 17}, {-28, 17}, {-18, 17}, { -8, 17}, { 8, 17},
|
yading@10
|
84 { 17, 18}, { -4, 19}, { 0, 19}, { 4, 19}, { 27, 19},
|
yading@10
|
85 { 38, 20}, {-13, 21}, { 12, 22}, {-36, 23}, {-24, 23},
|
yading@10
|
86 { -8, 24}, { 7, 24}, { -3, 25}, { 1, 25}, { 22, 25},
|
yading@10
|
87 { 34, 26}, {-18, 28}, {-32, 29}, { 16, 29}, {-11, 31},
|
yading@10
|
88 { 9, 32}, { 29, 32}, { -4, 33}, { 2, 33}, {-26, 34},
|
yading@10
|
89 { 23, 36}, {-19, 39}, { 16, 40}, {-13, 41}, { 9, 42},
|
yading@10
|
90 { -6, 43}, { 1, 43}, { 0, 0}, { 0, 0}, { 0, 0},
|
yading@10
|
91 };
|
yading@10
|
92
|
yading@10
|
93 static const int8_t c37_mv[] = {
|
yading@10
|
94 0, 0, 1, 0, 2, 0, 3, 0, 5, 0,
|
yading@10
|
95 8, 0, 13, 0, 21, 0, -1, 0, -2, 0,
|
yading@10
|
96 -3, 0, -5, 0, -8, 0, -13, 0, -17, 0,
|
yading@10
|
97 -21, 0, 0, 1, 1, 1, 2, 1, 3, 1,
|
yading@10
|
98 5, 1, 8, 1, 13, 1, 21, 1, -1, 1,
|
yading@10
|
99 -2, 1, -3, 1, -5, 1, -8, 1, -13, 1,
|
yading@10
|
100 -17, 1, -21, 1, 0, 2, 1, 2, 2, 2,
|
yading@10
|
101 3, 2, 5, 2, 8, 2, 13, 2, 21, 2,
|
yading@10
|
102 -1, 2, -2, 2, -3, 2, -5, 2, -8, 2,
|
yading@10
|
103 -13, 2, -17, 2, -21, 2, 0, 3, 1, 3,
|
yading@10
|
104 2, 3, 3, 3, 5, 3, 8, 3, 13, 3,
|
yading@10
|
105 21, 3, -1, 3, -2, 3, -3, 3, -5, 3,
|
yading@10
|
106 -8, 3, -13, 3, -17, 3, -21, 3, 0, 5,
|
yading@10
|
107 1, 5, 2, 5, 3, 5, 5, 5, 8, 5,
|
yading@10
|
108 13, 5, 21, 5, -1, 5, -2, 5, -3, 5,
|
yading@10
|
109 -5, 5, -8, 5, -13, 5, -17, 5, -21, 5,
|
yading@10
|
110 0, 8, 1, 8, 2, 8, 3, 8, 5, 8,
|
yading@10
|
111 8, 8, 13, 8, 21, 8, -1, 8, -2, 8,
|
yading@10
|
112 -3, 8, -5, 8, -8, 8, -13, 8, -17, 8,
|
yading@10
|
113 -21, 8, 0, 13, 1, 13, 2, 13, 3, 13,
|
yading@10
|
114 5, 13, 8, 13, 13, 13, 21, 13, -1, 13,
|
yading@10
|
115 -2, 13, -3, 13, -5, 13, -8, 13, -13, 13,
|
yading@10
|
116 -17, 13, -21, 13, 0, 21, 1, 21, 2, 21,
|
yading@10
|
117 3, 21, 5, 21, 8, 21, 13, 21, 21, 21,
|
yading@10
|
118 -1, 21, -2, 21, -3, 21, -5, 21, -8, 21,
|
yading@10
|
119 -13, 21, -17, 21, -21, 21, 0, -1, 1, -1,
|
yading@10
|
120 2, -1, 3, -1, 5, -1, 8, -1, 13, -1,
|
yading@10
|
121 21, -1, -1, -1, -2, -1, -3, -1, -5, -1,
|
yading@10
|
122 -8, -1, -13, -1, -17, -1, -21, -1, 0, -2,
|
yading@10
|
123 1, -2, 2, -2, 3, -2, 5, -2, 8, -2,
|
yading@10
|
124 13, -2, 21, -2, -1, -2, -2, -2, -3, -2,
|
yading@10
|
125 -5, -2, -8, -2, -13, -2, -17, -2, -21, -2,
|
yading@10
|
126 0, -3, 1, -3, 2, -3, 3, -3, 5, -3,
|
yading@10
|
127 8, -3, 13, -3, 21, -3, -1, -3, -2, -3,
|
yading@10
|
128 -3, -3, -5, -3, -8, -3, -13, -3, -17, -3,
|
yading@10
|
129 -21, -3, 0, -5, 1, -5, 2, -5, 3, -5,
|
yading@10
|
130 5, -5, 8, -5, 13, -5, 21, -5, -1, -5,
|
yading@10
|
131 -2, -5, -3, -5, -5, -5, -8, -5, -13, -5,
|
yading@10
|
132 -17, -5, -21, -5, 0, -8, 1, -8, 2, -8,
|
yading@10
|
133 3, -8, 5, -8, 8, -8, 13, -8, 21, -8,
|
yading@10
|
134 -1, -8, -2, -8, -3, -8, -5, -8, -8, -8,
|
yading@10
|
135 -13, -8, -17, -8, -21, -8, 0, -13, 1, -13,
|
yading@10
|
136 2, -13, 3, -13, 5, -13, 8, -13, 13, -13,
|
yading@10
|
137 21, -13, -1, -13, -2, -13, -3, -13, -5, -13,
|
yading@10
|
138 -8, -13, -13, -13, -17, -13, -21, -13, 0, -17,
|
yading@10
|
139 1, -17, 2, -17, 3, -17, 5, -17, 8, -17,
|
yading@10
|
140 13, -17, 21, -17, -1, -17, -2, -17, -3, -17,
|
yading@10
|
141 -5, -17, -8, -17, -13, -17, -17, -17, -21, -17,
|
yading@10
|
142 0, -21, 1, -21, 2, -21, 3, -21, 5, -21,
|
yading@10
|
143 8, -21, 13, -21, 21, -21, -1, -21, -2, -21,
|
yading@10
|
144 -3, -21, -5, -21, -8, -21, -13, -21, -17, -21,
|
yading@10
|
145 0, 0, -8, -29, 8, -29, -18, -25, 17, -25,
|
yading@10
|
146 0, -23, -6, -22, 6, -22, -13, -19, 12, -19,
|
yading@10
|
147 0, -18, 25, -18, -25, -17, -5, -17, 5, -17,
|
yading@10
|
148 -10, -15, 10, -15, 0, -14, -4, -13, 4, -13,
|
yading@10
|
149 19, -13, -19, -12, -8, -11, -2, -11, 0, -11,
|
yading@10
|
150 2, -11, 8, -11, -15, -10, -4, -10, 4, -10,
|
yading@10
|
151 15, -10, -6, -9, -1, -9, 1, -9, 6, -9,
|
yading@10
|
152 -29, -8, -11, -8, -8, -8, -3, -8, 3, -8,
|
yading@10
|
153 8, -8, 11, -8, 29, -8, -5, -7, -2, -7,
|
yading@10
|
154 0, -7, 2, -7, 5, -7, -22, -6, -9, -6,
|
yading@10
|
155 -6, -6, -3, -6, -1, -6, 1, -6, 3, -6,
|
yading@10
|
156 6, -6, 9, -6, 22, -6, -17, -5, -7, -5,
|
yading@10
|
157 -4, -5, -2, -5, 0, -5, 2, -5, 4, -5,
|
yading@10
|
158 7, -5, 17, -5, -13, -4, -10, -4, -5, -4,
|
yading@10
|
159 -3, -4, -1, -4, 0, -4, 1, -4, 3, -4,
|
yading@10
|
160 5, -4, 10, -4, 13, -4, -8, -3, -6, -3,
|
yading@10
|
161 -4, -3, -3, -3, -2, -3, -1, -3, 0, -3,
|
yading@10
|
162 1, -3, 2, -3, 4, -3, 6, -3, 8, -3,
|
yading@10
|
163 -11, -2, -7, -2, -5, -2, -3, -2, -2, -2,
|
yading@10
|
164 -1, -2, 0, -2, 1, -2, 2, -2, 3, -2,
|
yading@10
|
165 5, -2, 7, -2, 11, -2, -9, -1, -6, -1,
|
yading@10
|
166 -4, -1, -3, -1, -2, -1, -1, -1, 0, -1,
|
yading@10
|
167 1, -1, 2, -1, 3, -1, 4, -1, 6, -1,
|
yading@10
|
168 9, -1, -31, 0, -23, 0, -18, 0, -14, 0,
|
yading@10
|
169 -11, 0, -7, 0, -5, 0, -4, 0, -3, 0,
|
yading@10
|
170 -2, 0, -1, 0, 0, -31, 1, 0, 2, 0,
|
yading@10
|
171 3, 0, 4, 0, 5, 0, 7, 0, 11, 0,
|
yading@10
|
172 14, 0, 18, 0, 23, 0, 31, 0, -9, 1,
|
yading@10
|
173 -6, 1, -4, 1, -3, 1, -2, 1, -1, 1,
|
yading@10
|
174 0, 1, 1, 1, 2, 1, 3, 1, 4, 1,
|
yading@10
|
175 6, 1, 9, 1, -11, 2, -7, 2, -5, 2,
|
yading@10
|
176 -3, 2, -2, 2, -1, 2, 0, 2, 1, 2,
|
yading@10
|
177 2, 2, 3, 2, 5, 2, 7, 2, 11, 2,
|
yading@10
|
178 -8, 3, -6, 3, -4, 3, -2, 3, -1, 3,
|
yading@10
|
179 0, 3, 1, 3, 2, 3, 3, 3, 4, 3,
|
yading@10
|
180 6, 3, 8, 3, -13, 4, -10, 4, -5, 4,
|
yading@10
|
181 -3, 4, -1, 4, 0, 4, 1, 4, 3, 4,
|
yading@10
|
182 5, 4, 10, 4, 13, 4, -17, 5, -7, 5,
|
yading@10
|
183 -4, 5, -2, 5, 0, 5, 2, 5, 4, 5,
|
yading@10
|
184 7, 5, 17, 5, -22, 6, -9, 6, -6, 6,
|
yading@10
|
185 -3, 6, -1, 6, 1, 6, 3, 6, 6, 6,
|
yading@10
|
186 9, 6, 22, 6, -5, 7, -2, 7, 0, 7,
|
yading@10
|
187 2, 7, 5, 7, -29, 8, -11, 8, -8, 8,
|
yading@10
|
188 -3, 8, 3, 8, 8, 8, 11, 8, 29, 8,
|
yading@10
|
189 -6, 9, -1, 9, 1, 9, 6, 9, -15, 10,
|
yading@10
|
190 -4, 10, 4, 10, 15, 10, -8, 11, -2, 11,
|
yading@10
|
191 0, 11, 2, 11, 8, 11, 19, 12, -19, 13,
|
yading@10
|
192 -4, 13, 4, 13, 0, 14, -10, 15, 10, 15,
|
yading@10
|
193 -5, 17, 5, 17, 25, 17, -25, 18, 0, 18,
|
yading@10
|
194 -12, 19, 13, 19, -6, 22, 6, 22, 0, 23,
|
yading@10
|
195 -17, 25, 18, 25, -8, 29, 8, 29, 0, 31,
|
yading@10
|
196 0, 0, -6, -22, 6, -22, -13, -19, 12, -19,
|
yading@10
|
197 0, -18, -5, -17, 5, -17, -10, -15, 10, -15,
|
yading@10
|
198 0, -14, -4, -13, 4, -13, 19, -13, -19, -12,
|
yading@10
|
199 -8, -11, -2, -11, 0, -11, 2, -11, 8, -11,
|
yading@10
|
200 -15, -10, -4, -10, 4, -10, 15, -10, -6, -9,
|
yading@10
|
201 -1, -9, 1, -9, 6, -9, -11, -8, -8, -8,
|
yading@10
|
202 -3, -8, 0, -8, 3, -8, 8, -8, 11, -8,
|
yading@10
|
203 -5, -7, -2, -7, 0, -7, 2, -7, 5, -7,
|
yading@10
|
204 -22, -6, -9, -6, -6, -6, -3, -6, -1, -6,
|
yading@10
|
205 1, -6, 3, -6, 6, -6, 9, -6, 22, -6,
|
yading@10
|
206 -17, -5, -7, -5, -4, -5, -2, -5, -1, -5,
|
yading@10
|
207 0, -5, 1, -5, 2, -5, 4, -5, 7, -5,
|
yading@10
|
208 17, -5, -13, -4, -10, -4, -5, -4, -3, -4,
|
yading@10
|
209 -2, -4, -1, -4, 0, -4, 1, -4, 2, -4,
|
yading@10
|
210 3, -4, 5, -4, 10, -4, 13, -4, -8, -3,
|
yading@10
|
211 -6, -3, -4, -3, -3, -3, -2, -3, -1, -3,
|
yading@10
|
212 0, -3, 1, -3, 2, -3, 3, -3, 4, -3,
|
yading@10
|
213 6, -3, 8, -3, -11, -2, -7, -2, -5, -2,
|
yading@10
|
214 -4, -2, -3, -2, -2, -2, -1, -2, 0, -2,
|
yading@10
|
215 1, -2, 2, -2, 3, -2, 4, -2, 5, -2,
|
yading@10
|
216 7, -2, 11, -2, -9, -1, -6, -1, -5, -1,
|
yading@10
|
217 -4, -1, -3, -1, -2, -1, -1, -1, 0, -1,
|
yading@10
|
218 1, -1, 2, -1, 3, -1, 4, -1, 5, -1,
|
yading@10
|
219 6, -1, 9, -1, -23, 0, -18, 0, -14, 0,
|
yading@10
|
220 -11, 0, -7, 0, -5, 0, -4, 0, -3, 0,
|
yading@10
|
221 -2, 0, -1, 0, 0, -23, 1, 0, 2, 0,
|
yading@10
|
222 3, 0, 4, 0, 5, 0, 7, 0, 11, 0,
|
yading@10
|
223 14, 0, 18, 0, 23, 0, -9, 1, -6, 1,
|
yading@10
|
224 -5, 1, -4, 1, -3, 1, -2, 1, -1, 1,
|
yading@10
|
225 0, 1, 1, 1, 2, 1, 3, 1, 4, 1,
|
yading@10
|
226 5, 1, 6, 1, 9, 1, -11, 2, -7, 2,
|
yading@10
|
227 -5, 2, -4, 2, -3, 2, -2, 2, -1, 2,
|
yading@10
|
228 0, 2, 1, 2, 2, 2, 3, 2, 4, 2,
|
yading@10
|
229 5, 2, 7, 2, 11, 2, -8, 3, -6, 3,
|
yading@10
|
230 -4, 3, -3, 3, -2, 3, -1, 3, 0, 3,
|
yading@10
|
231 1, 3, 2, 3, 3, 3, 4, 3, 6, 3,
|
yading@10
|
232 8, 3, -13, 4, -10, 4, -5, 4, -3, 4,
|
yading@10
|
233 -2, 4, -1, 4, 0, 4, 1, 4, 2, 4,
|
yading@10
|
234 3, 4, 5, 4, 10, 4, 13, 4, -17, 5,
|
yading@10
|
235 -7, 5, -4, 5, -2, 5, -1, 5, 0, 5,
|
yading@10
|
236 1, 5, 2, 5, 4, 5, 7, 5, 17, 5,
|
yading@10
|
237 -22, 6, -9, 6, -6, 6, -3, 6, -1, 6,
|
yading@10
|
238 1, 6, 3, 6, 6, 6, 9, 6, 22, 6,
|
yading@10
|
239 -5, 7, -2, 7, 0, 7, 2, 7, 5, 7,
|
yading@10
|
240 -11, 8, -8, 8, -3, 8, 0, 8, 3, 8,
|
yading@10
|
241 8, 8, 11, 8, -6, 9, -1, 9, 1, 9,
|
yading@10
|
242 6, 9, -15, 10, -4, 10, 4, 10, 15, 10,
|
yading@10
|
243 -8, 11, -2, 11, 0, 11, 2, 11, 8, 11,
|
yading@10
|
244 19, 12, -19, 13, -4, 13, 4, 13, 0, 14,
|
yading@10
|
245 -10, 15, 10, 15, -5, 17, 5, 17, 0, 18,
|
yading@10
|
246 -12, 19, 13, 19, -6, 22, 6, 22, 0, 23,
|
yading@10
|
247 };
|
yading@10
|
248 #endif /* AVCODEC_SANM_DATA_H */
|