1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619

use crate::VertexSource;
use crate::path_storage::Vertex;
#[derive(Debug,PartialEq)]
enum TextStatus {
    Initial,
    NextChar,
    StartGlyph,
    Glyph,
}
#[derive(Debug,Default)]
pub struct GsvText {
    x: f64,
    y: f64,
    start_x: f64,
    width: f64,
    height: f64,
    space: f64,
    line_space: f64,
    //chr: [u8;2],
    text: String,
    //text_buf: String,
    font: Vec<u8>,
    //loaded_font: Vec<u8>,
    //status: TextStatus,
    big_endian: bool,
    flip: bool,
    //indices: Vec<u8>,
    //glyphs: Vec<i8>,
    //bglyphs: Vec<i8>,
    //eglyphs: Vec<i8>,
    //w: f64,
    //h: f64,
}

impl GsvText {
    pub fn new() -> Self {
        Self {
            x: 0.0, y: 0.0, start_x: 0.0, width: 10.0, height: 0.0,
            space: 0.0, line_space: 0.0, font: GsvDefaultFont::get().to_vec(),
            //status: TextStatus::Initial,
            flip: false, big_endian: false,
            //chr: [0_u8;2],
            text: String::new(),
            //w: 1.0, h: 1.0,
        }
    }
    pub fn size(&mut self, height: f64, width: f64) {
        self.height = height;
        self.width = width;
    }
    pub fn space(&mut self, space: f64) {
        self.space = space;
    }
    pub fn line_space(&mut self, line_space: f64) {
        self.line_space = line_space;
    }
    pub fn start_point(&mut self, x: f64, y: f64) {
        self.x = x;
        self.start_x = x;
        self.y = y;
    }
    pub fn flip(&mut self, flip: bool) {
        self.flip = flip;
    }
    pub fn text(&mut self, text: &str) {
        self.text = text.to_string();
    }
}

impl VertexSource for GsvText {
    fn rewind(&self) {
    }
    fn xconvert(&self) -> Vec<Vertex<f64>> {
        let mut out = vec![];
        let mut chars = self.text.char_indices();
        let mut b : usize = 0;
        let mut e : usize = 0;
        let mut x = self.start_x;
        let mut y = self.y;
        let indices = value(&self.font[0..]) as usize;
        let glyphs = indices + 257*2;

        let mut status = TextStatus::Initial;
        let base_height : f64 = f64::from(value(&self.font[4..]));
        let mut hi = self.height / base_height;
        let wi = if self.width == 0.0 {
            hi
        } else {
            self.width / base_height
        };
        if self.flip {
            hi *= -1.0;
        }

        loop {
            match status {
                TextStatus::Initial => {
                    status = TextStatus::NextChar;
                },
                TextStatus::NextChar => {
                    match chars.next() {
                        None => break,
                        Some((_,chr)) => {
                            if chr == '\n' {
                                x = self.start_x;
                                y -= if self.flip {
                                    -(self.height + self.line_space)
                                } else {
                                    self.height + self.line_space
                                };
                            }
                            let mut idx = chr as usize & 0xFF;
                            idx *= 2;
                            b = glyphs + value(&self.font[indices+idx..]) as usize;
                            e = glyphs + value(&self.font[indices+idx+2..]) as usize;
                            status = TextStatus::StartGlyph;
                        }
                    }
                },
                TextStatus::StartGlyph => {
                    out.push(Vertex::move_to(x, y));
                    status = TextStatus::Glyph;
                },
                TextStatus::Glyph => {
                    for i in (b..e).step_by(2) {
                        let dx = i32::from(self.font[i] as i8);
                        let mut yc = self.font[i+1] as i8;
                        let yf = (self.font[i+1] & 0x80) as i8;
                        yc <<= 1;
                        yc >>= 1;
                        let dy = i32::from(yc);
                        x += wi * f64::from(dx);
                        y += hi * f64::from(dy);
                        if yf != 0 {
                            out.push(Vertex::move_to(x, y));
                        } else {
                            out.push(Vertex::line_to(x, y));
                        }
                    }
                    status = TextStatus::NextChar;
                }
            }
        }
        //for v in &out {
        //    println!("TEXT: {:?}", v);
        //}
        out
    }
}


fn value(v: &[u8]) -> i16 {
    unsafe { std::mem::transmute::<[u8;2],i16>([v[0],v[1]]) }
}

pub struct GsvDefaultFont();

impl GsvDefaultFont {
    pub fn get() -> &'static [u8] {
        &GSV_DEFAULT_FONT_DATA
    }
}

const GSV_DEFAULT_FONT_DATA: [u8; 4526] = [
        0x40,0x00,0x6c,0x0f,0x15,0x00,0x0e,0x00,0xf9,0xff,
        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
        0x0d,0x0a,0x0d,0x0a,0x46,0x6f,0x6e,0x74,0x20,0x28,
        0x63,0x29,0x20,0x4d,0x69,0x63,0x72,0x6f,0x50,0x72,
        0x6f,0x66,0x20,0x32,0x37,0x20,0x53,0x65,0x70,0x74,
        0x65,0x6d,0x62,0x2e,0x31,0x39,0x38,0x39,0x00,0x0d,
        0x0a,0x0d,0x0a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
        0x02,0x00,0x12,0x00,0x34,0x00,0x46,0x00,0x94,0x00,
        0xd0,0x00,0x2e,0x01,0x3e,0x01,0x64,0x01,0x8a,0x01,
        0x98,0x01,0xa2,0x01,0xb4,0x01,0xba,0x01,0xc6,0x01,
        0xcc,0x01,0xf0,0x01,0xfa,0x01,0x18,0x02,0x38,0x02,
        0x44,0x02,0x68,0x02,0x98,0x02,0xa2,0x02,0xde,0x02,
        0x0e,0x03,0x24,0x03,0x40,0x03,0x48,0x03,0x52,0x03,
        0x5a,0x03,0x82,0x03,0xec,0x03,0xfa,0x03,0x26,0x04,
        0x4c,0x04,0x6a,0x04,0x7c,0x04,0x8a,0x04,0xb6,0x04,
        0xc4,0x04,0xca,0x04,0xe0,0x04,0xee,0x04,0xf8,0x04,
        0x0a,0x05,0x18,0x05,0x44,0x05,0x5e,0x05,0x8e,0x05,
        0xac,0x05,0xd6,0x05,0xe0,0x05,0xf6,0x05,0x00,0x06,
        0x12,0x06,0x1c,0x06,0x28,0x06,0x36,0x06,0x48,0x06,
        0x4e,0x06,0x60,0x06,0x6e,0x06,0x74,0x06,0x84,0x06,
        0xa6,0x06,0xc8,0x06,0xe6,0x06,0x08,0x07,0x2c,0x07,
        0x3c,0x07,0x68,0x07,0x7c,0x07,0x8c,0x07,0xa2,0x07,
        0xb0,0x07,0xb6,0x07,0xd8,0x07,0xec,0x07,0x10,0x08,
        0x32,0x08,0x54,0x08,0x64,0x08,0x88,0x08,0x98,0x08,
        0xac,0x08,0xb6,0x08,0xc8,0x08,0xd2,0x08,0xe4,0x08,
        0xf2,0x08,0x3e,0x09,0x48,0x09,0x94,0x09,0xc2,0x09,
        0xc4,0x09,0xd0,0x09,0xe2,0x09,0x04,0x0a,0x0e,0x0a,
        0x26,0x0a,0x34,0x0a,0x4a,0x0a,0x66,0x0a,0x70,0x0a,
        0x7e,0x0a,0x8e,0x0a,0x9a,0x0a,0xa6,0x0a,0xb4,0x0a,
        0xd8,0x0a,0xe2,0x0a,0xf6,0x0a,0x18,0x0b,0x22,0x0b,
        0x32,0x0b,0x56,0x0b,0x60,0x0b,0x6e,0x0b,0x7c,0x0b,
        0x8a,0x0b,0x9c,0x0b,0x9e,0x0b,0xb2,0x0b,0xc2,0x0b,
        0xd8,0x0b,0xf4,0x0b,0x08,0x0c,0x30,0x0c,0x56,0x0c,
        0x72,0x0c,0x90,0x0c,0xb2,0x0c,0xce,0x0c,0xe2,0x0c,
        0xfe,0x0c,0x10,0x0d,0x26,0x0d,0x36,0x0d,0x42,0x0d,
        0x4e,0x0d,0x5c,0x0d,0x78,0x0d,0x8c,0x0d,0x8e,0x0d,
        0x90,0x0d,0x92,0x0d,0x94,0x0d,0x96,0x0d,0x98,0x0d,
        0x9a,0x0d,0x9c,0x0d,0x9e,0x0d,0xa0,0x0d,0xa2,0x0d,
        0xa4,0x0d,0xa6,0x0d,0xa8,0x0d,0xaa,0x0d,0xac,0x0d,
        0xae,0x0d,0xb0,0x0d,0xb2,0x0d,0xb4,0x0d,0xb6,0x0d,
        0xb8,0x0d,0xba,0x0d,0xbc,0x0d,0xbe,0x0d,0xc0,0x0d,
        0xc2,0x0d,0xc4,0x0d,0xc6,0x0d,0xc8,0x0d,0xca,0x0d,
        0xcc,0x0d,0xce,0x0d,0xd0,0x0d,0xd2,0x0d,0xd4,0x0d,
        0xd6,0x0d,0xd8,0x0d,0xda,0x0d,0xdc,0x0d,0xde,0x0d,
        0xe0,0x0d,0xe2,0x0d,0xe4,0x0d,0xe6,0x0d,0xe8,0x0d,
        0xea,0x0d,0xec,0x0d,0x0c,0x0e,0x26,0x0e,0x48,0x0e,
        0x64,0x0e,0x88,0x0e,0x92,0x0e,0xa6,0x0e,0xb4,0x0e,
        0xd0,0x0e,0xee,0x0e,0x02,0x0f,0x16,0x0f,0x26,0x0f,
        0x3c,0x0f,0x58,0x0f,0x6c,0x0f,0x6c,0x0f,0x6c,0x0f,
        0x6c,0x0f,0x6c,0x0f,0x6c,0x0f,0x6c,0x0f,0x6c,0x0f,
        0x6c,0x0f,0x6c,0x0f,0x6c,0x0f,0x6c,0x0f,0x6c,0x0f,
        0x6c,0x0f,0x6c,0x0f,0x6c,0x0f,0x6c,0x0f,0x10,0x80,
        0x05,0x95,0x00,0x72,0x00,0xfb,0xff,0x7f,0x01,0x7f,
        0x01,0x01,0xff,0x01,0x05,0xfe,0x05,0x95,0xff,0x7f,
        0x00,0x7a,0x01,0x86,0xff,0x7a,0x01,0x87,0x01,0x7f,
        0xfe,0x7a,0x0a,0x87,0xff,0x7f,0x00,0x7a,0x01,0x86,
        0xff,0x7a,0x01,0x87,0x01,0x7f,0xfe,0x7a,0x05,0xf2,
        0x0b,0x95,0xf9,0x64,0x0d,0x9c,0xf9,0x64,0xfa,0x91,
        0x0e,0x00,0xf1,0xfa,0x0e,0x00,0x04,0xfc,0x08,0x99,
        0x00,0x63,0x04,0x9d,0x00,0x63,0x04,0x96,0xff,0x7f,
        0x01,0x7f,0x01,0x01,0x00,0x01,0xfe,0x02,0xfd,0x01,
        0xfc,0x00,0xfd,0x7f,0xfe,0x7e,0x00,0x7e,0x01,0x7e,
        0x01,0x7f,0x02,0x7f,0x06,0x7e,0x02,0x7f,0x02,0x7e,
        0xf2,0x89,0x02,0x7e,0x02,0x7f,0x06,0x7e,0x02,0x7f,
        0x01,0x7f,0x01,0x7e,0x00,0x7c,0xfe,0x7e,0xfd,0x7f,
        0xfc,0x00,0xfd,0x01,0xfe,0x02,0x00,0x01,0x01,0x01,
        0x01,0x7f,0xff,0x7f,0x10,0xfd,0x15,0x95,0xee,0x6b,
        0x05,0x95,0x02,0x7e,0x00,0x7e,0xff,0x7e,0xfe,0x7f,
        0xfe,0x00,0xfe,0x02,0x00,0x02,0x01,0x02,0x02,0x01,
        0x02,0x00,0x02,0x7f,0x03,0x7f,0x03,0x00,0x03,0x01,
        0x02,0x01,0xfc,0xf2,0xfe,0x7f,0xff,0x7e,0x00,0x7e,
        0x02,0x7e,0x02,0x00,0x02,0x01,0x01,0x02,0x00,0x02,
        0xfe,0x02,0xfe,0x00,0x07,0xf9,0x15,0x8d,0xff,0x7f,
        0x01,0x7f,0x01,0x01,0x00,0x01,0xff,0x01,0xff,0x00,
        0xff,0x7f,0xff,0x7e,0xfe,0x7b,0xfe,0x7d,0xfe,0x7e,
        0xfe,0x7f,0xfd,0x00,0xfd,0x01,0xff,0x02,0x00,0x03,
        0x01,0x02,0x06,0x04,0x02,0x02,0x01,0x02,0x00,0x02,
        0xff,0x02,0xfe,0x01,0xfe,0x7f,0xff,0x7e,0x00,0x7e,
        0x01,0x7d,0x02,0x7d,0x05,0x79,0x02,0x7e,0x03,0x7f,
        0x01,0x00,0x01,0x01,0x00,0x01,0xf1,0xfe,0xfe,0x01,
        0xff,0x02,0x00,0x03,0x01,0x02,0x02,0x02,0x00,0x86,
        0x01,0x7e,0x08,0x75,0x02,0x7e,0x02,0x7f,0x05,0x80,
        0x05,0x93,0xff,0x01,0x01,0x01,0x01,0x7f,0x00,0x7e,
        0xff,0x7e,0xff,0x7f,0x06,0xf1,0x0b,0x99,0xfe,0x7e,
        0xfe,0x7d,0xfe,0x7c,0xff,0x7b,0x00,0x7c,0x01,0x7b,
        0x02,0x7c,0x02,0x7d,0x02,0x7e,0xfe,0x9e,0xfe,0x7c,
        0xff,0x7d,0xff,0x7b,0x00,0x7c,0x01,0x7b,0x01,0x7d,
        0x02,0x7c,0x05,0x85,0x03,0x99,0x02,0x7e,0x02,0x7d,
        0x02,0x7c,0x01,0x7b,0x00,0x7c,0xff,0x7b,0xfe,0x7c,
        0xfe,0x7d,0xfe,0x7e,0x02,0x9e,0x02,0x7c,0x01,0x7d,
        0x01,0x7b,0x00,0x7c,0xff,0x7b,0xff,0x7d,0xfe,0x7c,
        0x09,0x85,0x08,0x95,0x00,0x74,0xfb,0x89,0x0a,0x7a,
        0x00,0x86,0xf6,0x7a,0x0d,0xf4,0x0d,0x92,0x00,0x6e,
        0xf7,0x89,0x12,0x00,0x04,0xf7,0x06,0x81,0xff,0x7f,
        0xff,0x01,0x01,0x01,0x01,0x7f,0x00,0x7e,0xff,0x7e,
        0xff,0x7f,0x06,0x84,0x04,0x89,0x12,0x00,0x04,0xf7,
        0x05,0x82,0xff,0x7f,0x01,0x7f,0x01,0x01,0xff,0x01,
        0x05,0xfe,0x00,0xfd,0x0e,0x18,0x00,0xeb,0x09,0x95,
        0xfd,0x7f,0xfe,0x7d,0xff,0x7b,0x00,0x7d,0x01,0x7b,
        0x02,0x7d,0x03,0x7f,0x02,0x00,0x03,0x01,0x02,0x03,
        0x01,0x05,0x00,0x03,0xff,0x05,0xfe,0x03,0xfd,0x01,
        0xfe,0x00,0x0b,0xeb,0x06,0x91,0x02,0x01,0x03,0x03,
        0x00,0x6b,0x09,0x80,0x04,0x90,0x00,0x01,0x01,0x02,
        0x01,0x01,0x02,0x01,0x04,0x00,0x02,0x7f,0x01,0x7f,
        0x01,0x7e,0x00,0x7e,0xff,0x7e,0xfe,0x7d,0xf6,0x76,
        0x0e,0x00,0x03,0x80,0x05,0x95,0x0b,0x00,0xfa,0x78,
        0x03,0x00,0x02,0x7f,0x01,0x7f,0x01,0x7d,0x00,0x7e,
        0xff,0x7d,0xfe,0x7e,0xfd,0x7f,0xfd,0x00,0xfd,0x01,
        0xff,0x01,0xff,0x02,0x11,0xfc,0x0d,0x95,0xf6,0x72,
        0x0f,0x00,0xfb,0x8e,0x00,0x6b,0x07,0x80,0x0f,0x95,
        0xf6,0x00,0xff,0x77,0x01,0x01,0x03,0x01,0x03,0x00,
        0x03,0x7f,0x02,0x7e,0x01,0x7d,0x00,0x7e,0xff,0x7d,
        0xfe,0x7e,0xfd,0x7f,0xfd,0x00,0xfd,0x01,0xff,0x01,
        0xff,0x02,0x11,0xfc,0x10,0x92,0xff,0x02,0xfd,0x01,
        0xfe,0x00,0xfd,0x7f,0xfe,0x7d,0xff,0x7b,0x00,0x7b,
        0x01,0x7c,0x02,0x7e,0x03,0x7f,0x01,0x00,0x03,0x01,
        0x02,0x02,0x01,0x03,0x00,0x01,0xff,0x03,0xfe,0x02,
        0xfd,0x01,0xff,0x00,0xfd,0x7f,0xfe,0x7e,0xff,0x7d,
        0x10,0xf9,0x11,0x95,0xf6,0x6b,0xfc,0x95,0x0e,0x00,
        0x03,0xeb,0x08,0x95,0xfd,0x7f,0xff,0x7e,0x00,0x7e,
        0x01,0x7e,0x02,0x7f,0x04,0x7f,0x03,0x7f,0x02,0x7e,
        0x01,0x7e,0x00,0x7d,0xff,0x7e,0xff,0x7f,0xfd,0x7f,
        0xfc,0x00,0xfd,0x01,0xff,0x01,0xff,0x02,0x00,0x03,
        0x01,0x02,0x02,0x02,0x03,0x01,0x04,0x01,0x02,0x01,
        0x01,0x02,0x00,0x02,0xff,0x02,0xfd,0x01,0xfc,0x00,
        0x0c,0xeb,0x10,0x8e,0xff,0x7d,0xfe,0x7e,0xfd,0x7f,
        0xff,0x00,0xfd,0x01,0xfe,0x02,0xff,0x03,0x00,0x01,
        0x01,0x03,0x02,0x02,0x03,0x01,0x01,0x00,0x03,0x7f,
        0x02,0x7e,0x01,0x7c,0x00,0x7b,0xff,0x7b,0xfe,0x7d,
        0xfd,0x7f,0xfe,0x00,0xfd,0x01,0xff,0x02,0x10,0xfd,
        0x05,0x8e,0xff,0x7f,0x01,0x7f,0x01,0x01,0xff,0x01,
        0x00,0xf4,0xff,0x7f,0x01,0x7f,0x01,0x01,0xff,0x01,
        0x05,0xfe,0x05,0x8e,0xff,0x7f,0x01,0x7f,0x01,0x01,
        0xff,0x01,0x01,0xf3,0xff,0x7f,0xff,0x01,0x01,0x01,
        0x01,0x7f,0x00,0x7e,0xff,0x7e,0xff,0x7f,0x06,0x84,
        0x14,0x92,0xf0,0x77,0x10,0x77,0x04,0x80,0x04,0x8c,
        0x12,0x00,0xee,0xfa,0x12,0x00,0x04,0xfa,0x04,0x92,
        0x10,0x77,0xf0,0x77,0x14,0x80,0x03,0x90,0x00,0x01,
        0x01,0x02,0x01,0x01,0x02,0x01,0x04,0x00,0x02,0x7f,
        0x01,0x7f,0x01,0x7e,0x00,0x7e,0xff,0x7e,0xff,0x7f,
        0xfc,0x7e,0x00,0x7d,0x00,0xfb,0xff,0x7f,0x01,0x7f,
        0x01,0x01,0xff,0x01,0x09,0xfe,0x12,0x8d,0xff,0x02,
        0xfe,0x01,0xfd,0x00,0xfe,0x7f,0xff,0x7f,0xff,0x7d,
        0x00,0x7d,0x01,0x7e,0x02,0x7f,0x03,0x00,0x02,0x01,
        0x01,0x02,0xfb,0x88,0xfe,0x7e,0xff,0x7d,0x00,0x7d,
        0x01,0x7e,0x01,0x7f,0x07,0x8b,0xff,0x78,0x00,0x7e,
        0x02,0x7f,0x02,0x00,0x02,0x02,0x01,0x03,0x00,0x02,
        0xff,0x03,0xff,0x02,0xfe,0x02,0xfe,0x01,0xfd,0x01,
        0xfd,0x00,0xfd,0x7f,0xfe,0x7f,0xfe,0x7e,0xff,0x7e,
        0xff,0x7d,0x00,0x7d,0x01,0x7d,0x01,0x7e,0x02,0x7e,
        0x02,0x7f,0x03,0x7f,0x03,0x00,0x03,0x01,0x02,0x01,
        0x01,0x01,0xfe,0x8d,0xff,0x78,0x00,0x7e,0x01,0x7f,
        0x08,0xfb,0x09,0x95,0xf8,0x6b,0x08,0x95,0x08,0x6b,
        0xf3,0x87,0x0a,0x00,0x04,0xf9,0x04,0x95,0x00,0x6b,
        0x00,0x95,0x09,0x00,0x03,0x7f,0x01,0x7f,0x01,0x7e,
        0x00,0x7e,0xff,0x7e,0xff,0x7f,0xfd,0x7f,0xf7,0x80,
        0x09,0x00,0x03,0x7f,0x01,0x7f,0x01,0x7e,0x00,0x7d,
        0xff,0x7e,0xff,0x7f,0xfd,0x7f,0xf7,0x00,0x11,0x80,
        0x12,0x90,0xff,0x02,0xfe,0x02,0xfe,0x01,0xfc,0x00,
        0xfe,0x7f,0xfe,0x7e,0xff,0x7e,0xff,0x7d,0x00,0x7b,
        0x01,0x7d,0x01,0x7e,0x02,0x7e,0x02,0x7f,0x04,0x00,
        0x02,0x01,0x02,0x02,0x01,0x02,0x03,0xfb,0x04,0x95,
        0x00,0x6b,0x00,0x95,0x07,0x00,0x03,0x7f,0x02,0x7e,
        0x01,0x7e,0x01,0x7d,0x00,0x7b,0xff,0x7d,0xff,0x7e,
        0xfe,0x7e,0xfd,0x7f,0xf9,0x00,0x11,0x80,0x04,0x95,
        0x00,0x6b,0x00,0x95,0x0d,0x00,0xf3,0xf6,0x08,0x00,
        0xf8,0xf5,0x0d,0x00,0x02,0x80,0x04,0x95,0x00,0x6b,
        0x00,0x95,0x0d,0x00,0xf3,0xf6,0x08,0x00,0x06,0xf5,
        0x12,0x90,0xff,0x02,0xfe,0x02,0xfe,0x01,0xfc,0x00,
        0xfe,0x7f,0xfe,0x7e,0xff,0x7e,0xff,0x7d,0x00,0x7b,
        0x01,0x7d,0x01,0x7e,0x02,0x7e,0x02,0x7f,0x04,0x00,
        0x02,0x01,0x02,0x02,0x01,0x02,0x00,0x03,0xfb,0x80,
        0x05,0x00,0x03,0xf8,0x04,0x95,0x00,0x6b,0x0e,0x95,
        0x00,0x6b,0xf2,0x8b,0x0e,0x00,0x04,0xf5,0x04,0x95,
        0x00,0x6b,0x04,0x80,0x0c,0x95,0x00,0x70,0xff,0x7d,
        0xff,0x7f,0xfe,0x7f,0xfe,0x00,0xfe,0x01,0xff,0x01,
        0xff,0x03,0x00,0x02,0x0e,0xf9,0x04,0x95,0x00,0x6b,
        0x0e,0x95,0xf2,0x72,0x05,0x85,0x09,0x74,0x03,0x80,
        0x04,0x95,0x00,0x6b,0x00,0x80,0x0c,0x00,0x01,0x80,
        0x04,0x95,0x00,0x6b,0x00,0x95,0x08,0x6b,0x08,0x95,
        0xf8,0x6b,0x08,0x95,0x00,0x6b,0x04,0x80,0x04,0x95,
        0x00,0x6b,0x00,0x95,0x0e,0x6b,0x00,0x95,0x00,0x6b,
        0x04,0x80,0x09,0x95,0xfe,0x7f,0xfe,0x7e,0xff,0x7e,
        0xff,0x7d,0x00,0x7b,0x01,0x7d,0x01,0x7e,0x02,0x7e,
        0x02,0x7f,0x04,0x00,0x02,0x01,0x02,0x02,0x01,0x02,
        0x01,0x03,0x00,0x05,0xff,0x03,0xff,0x02,0xfe,0x02,
        0xfe,0x01,0xfc,0x00,0x0d,0xeb,0x04,0x95,0x00,0x6b,
        0x00,0x95,0x09,0x00,0x03,0x7f,0x01,0x7f,0x01,0x7e,
        0x00,0x7d,0xff,0x7e,0xff,0x7f,0xfd,0x7f,0xf7,0x00,
        0x11,0xf6,0x09,0x95,0xfe,0x7f,0xfe,0x7e,0xff,0x7e,
        0xff,0x7d,0x00,0x7b,0x01,0x7d,0x01,0x7e,0x02,0x7e,
        0x02,0x7f,0x04,0x00,0x02,0x01,0x02,0x02,0x01,0x02,
        0x01,0x03,0x00,0x05,0xff,0x03,0xff,0x02,0xfe,0x02,
        0xfe,0x01,0xfc,0x00,0x03,0xef,0x06,0x7a,0x04,0x82,
        0x04,0x95,0x00,0x6b,0x00,0x95,0x09,0x00,0x03,0x7f,
        0x01,0x7f,0x01,0x7e,0x00,0x7e,0xff,0x7e,0xff,0x7f,
        0xfd,0x7f,0xf7,0x00,0x07,0x80,0x07,0x75,0x03,0x80,
        0x11,0x92,0xfe,0x02,0xfd,0x01,0xfc,0x00,0xfd,0x7f,
        0xfe,0x7e,0x00,0x7e,0x01,0x7e,0x01,0x7f,0x02,0x7f,
        0x06,0x7e,0x02,0x7f,0x01,0x7f,0x01,0x7e,0x00,0x7d,
        0xfe,0x7e,0xfd,0x7f,0xfc,0x00,0xfd,0x01,0xfe,0x02,
        0x11,0xfd,0x08,0x95,0x00,0x6b,0xf9,0x95,0x0e,0x00,
        0x01,0xeb,0x04,0x95,0x00,0x71,0x01,0x7d,0x02,0x7e,
        0x03,0x7f,0x02,0x00,0x03,0x01,0x02,0x02,0x01,0x03,
        0x00,0x0f,0x04,0xeb,0x01,0x95,0x08,0x6b,0x08,0x95,
        0xf8,0x6b,0x09,0x80,0x02,0x95,0x05,0x6b,0x05,0x95,
        0xfb,0x6b,0x05,0x95,0x05,0x6b,0x05,0x95,0xfb,0x6b,
        0x07,0x80,0x03,0x95,0x0e,0x6b,0x00,0x95,0xf2,0x6b,
        0x11,0x80,0x01,0x95,0x08,0x76,0x00,0x75,0x08,0x95,
        0xf8,0x76,0x09,0xf5,0x11,0x95,0xf2,0x6b,0x00,0x95,
        0x0e,0x00,0xf2,0xeb,0x0e,0x00,0x03,0x80,0x03,0x93,
        0x00,0x6c,0x01,0x94,0x00,0x6c,0xff,0x94,0x05,0x00,
        0xfb,0xec,0x05,0x00,0x02,0x81,0x00,0x95,0x0e,0x68,
        0x00,0x83,0x06,0x93,0x00,0x6c,0x01,0x94,0x00,0x6c,
        0xfb,0x94,0x05,0x00,0xfb,0xec,0x05,0x00,0x03,0x81,
        0x03,0x87,0x08,0x05,0x08,0x7b,0xf0,0x80,0x08,0x04,
        0x08,0x7c,0x03,0xf9,0x01,0x80,0x10,0x00,0x01,0x80,
        0x06,0x95,0xff,0x7f,0xff,0x7e,0x00,0x7e,0x01,0x7f,
        0x01,0x01,0xff,0x01,0x05,0xef,0x0f,0x8e,0x00,0x72,
        0x00,0x8b,0xfe,0x02,0xfe,0x01,0xfd,0x00,0xfe,0x7f,
        0xfe,0x7e,0xff,0x7d,0x00,0x7e,0x01,0x7d,0x02,0x7e,
        0x02,0x7f,0x03,0x00,0x02,0x01,0x02,0x02,0x04,0xfd,
        0x04,0x95,0x00,0x6b,0x00,0x8b,0x02,0x02,0x02,0x01,
        0x03,0x00,0x02,0x7f,0x02,0x7e,0x01,0x7d,0x00,0x7e,
        0xff,0x7d,0xfe,0x7e,0xfe,0x7f,0xfd,0x00,0xfe,0x01,
        0xfe,0x02,0x0f,0xfd,0x0f,0x8b,0xfe,0x02,0xfe,0x01,
        0xfd,0x00,0xfe,0x7f,0xfe,0x7e,0xff,0x7d,0x00,0x7e,
        0x01,0x7d,0x02,0x7e,0x02,0x7f,0x03,0x00,0x02,0x01,
        0x02,0x02,0x03,0xfd,0x0f,0x95,0x00,0x6b,0x00,0x8b,
        0xfe,0x02,0xfe,0x01,0xfd,0x00,0xfe,0x7f,0xfe,0x7e,
        0xff,0x7d,0x00,0x7e,0x01,0x7d,0x02,0x7e,0x02,0x7f,
        0x03,0x00,0x02,0x01,0x02,0x02,0x04,0xfd,0x03,0x88,
        0x0c,0x00,0x00,0x02,0xff,0x02,0xff,0x01,0xfe,0x01,
        0xfd,0x00,0xfe,0x7f,0xfe,0x7e,0xff,0x7d,0x00,0x7e,
        0x01,0x7d,0x02,0x7e,0x02,0x7f,0x03,0x00,0x02,0x01,
        0x02,0x02,0x03,0xfd,0x0a,0x95,0xfe,0x00,0xfe,0x7f,
        0xff,0x7d,0x00,0x6f,0xfd,0x8e,0x07,0x00,0x03,0xf2,
        0x0f,0x8e,0x00,0x70,0xff,0x7d,0xff,0x7f,0xfe,0x7f,
        0xfd,0x00,0xfe,0x01,0x09,0x91,0xfe,0x02,0xfe,0x01,
        0xfd,0x00,0xfe,0x7f,0xfe,0x7e,0xff,0x7d,0x00,0x7e,
        0x01,0x7d,0x02,0x7e,0x02,0x7f,0x03,0x00,0x02,0x01,
        0x02,0x02,0x04,0xfd,0x04,0x95,0x00,0x6b,0x00,0x8a,
        0x03,0x03,0x02,0x01,0x03,0x00,0x02,0x7f,0x01,0x7d,
        0x00,0x76,0x04,0x80,0x03,0x95,0x01,0x7f,0x01,0x01,
        0xff,0x01,0xff,0x7f,0x01,0xf9,0x00,0x72,0x04,0x80,
        0x05,0x95,0x01,0x7f,0x01,0x01,0xff,0x01,0xff,0x7f,
        0x01,0xf9,0x00,0x6f,0xff,0x7d,0xfe,0x7f,0xfe,0x00,
        0x09,0x87,0x04,0x95,0x00,0x6b,0x0a,0x8e,0xf6,0x76,
        0x04,0x84,0x07,0x78,0x02,0x80,0x04,0x95,0x00,0x6b,
        0x04,0x80,0x04,0x8e,0x00,0x72,0x00,0x8a,0x03,0x03,
        0x02,0x01,0x03,0x00,0x02,0x7f,0x01,0x7d,0x00,0x76,
        0x00,0x8a,0x03,0x03,0x02,0x01,0x03,0x00,0x02,0x7f,
        0x01,0x7d,0x00,0x76,0x04,0x80,0x04,0x8e,0x00,0x72,
        0x00,0x8a,0x03,0x03,0x02,0x01,0x03,0x00,0x02,0x7f,
        0x01,0x7d,0x00,0x76,0x04,0x80,0x08,0x8e,0xfe,0x7f,
        0xfe,0x7e,0xff,0x7d,0x00,0x7e,0x01,0x7d,0x02,0x7e,
        0x02,0x7f,0x03,0x00,0x02,0x01,0x02,0x02,0x01,0x03,
        0x00,0x02,0xff,0x03,0xfe,0x02,0xfe,0x01,0xfd,0x00,
        0x0b,0xf2,0x04,0x8e,0x00,0x6b,0x00,0x92,0x02,0x02,
        0x02,0x01,0x03,0x00,0x02,0x7f,0x02,0x7e,0x01,0x7d,
        0x00,0x7e,0xff,0x7d,0xfe,0x7e,0xfe,0x7f,0xfd,0x00,
        0xfe,0x01,0xfe,0x02,0x0f,0xfd,0x0f,0x8e,0x00,0x6b,
        0x00,0x92,0xfe,0x02,0xfe,0x01,0xfd,0x00,0xfe,0x7f,
        0xfe,0x7e,0xff,0x7d,0x00,0x7e,0x01,0x7d,0x02,0x7e,
        0x02,0x7f,0x03,0x00,0x02,0x01,0x02,0x02,0x04,0xfd,
        0x04,0x8e,0x00,0x72,0x00,0x88,0x01,0x03,0x02,0x02,
        0x02,0x01,0x03,0x00,0x01,0xf2,0x0e,0x8b,0xff,0x02,
        0xfd,0x01,0xfd,0x00,0xfd,0x7f,0xff,0x7e,0x01,0x7e,
        0x02,0x7f,0x05,0x7f,0x02,0x7f,0x01,0x7e,0x00,0x7f,
        0xff,0x7e,0xfd,0x7f,0xfd,0x00,0xfd,0x01,0xff,0x02,
        0x0e,0xfd,0x05,0x95,0x00,0x6f,0x01,0x7d,0x02,0x7f,
        0x02,0x00,0xf8,0x8e,0x07,0x00,0x03,0xf2,0x04,0x8e,
        0x00,0x76,0x01,0x7d,0x02,0x7f,0x03,0x00,0x02,0x01,
        0x03,0x03,0x00,0x8a,0x00,0x72,0x04,0x80,0x02,0x8e,
        0x06,0x72,0x06,0x8e,0xfa,0x72,0x08,0x80,0x03,0x8e,
        0x04,0x72,0x04,0x8e,0xfc,0x72,0x04,0x8e,0x04,0x72,
        0x04,0x8e,0xfc,0x72,0x07,0x80,0x03,0x8e,0x0b,0x72,
        0x00,0x8e,0xf5,0x72,0x0e,0x80,0x02,0x8e,0x06,0x72,
        0x06,0x8e,0xfa,0x72,0xfe,0x7c,0xfe,0x7e,0xfe,0x7f,
        0xff,0x00,0x0f,0x87,0x0e,0x8e,0xf5,0x72,0x00,0x8e,
        0x0b,0x00,0xf5,0xf2,0x0b,0x00,0x03,0x80,0x09,0x99,
        0xfe,0x7f,0xff,0x7f,0xff,0x7e,0x00,0x7e,0x01,0x7e,
        0x01,0x7f,0x01,0x7e,0x00,0x7e,0xfe,0x7e,0x01,0x8e,
        0xff,0x7e,0x00,0x7e,0x01,0x7e,0x01,0x7f,0x01,0x7e,
        0x00,0x7e,0xff,0x7e,0xfc,0x7e,0x04,0x7e,0x01,0x7e,
        0x00,0x7e,0xff,0x7e,0xff,0x7f,0xff,0x7e,0x00,0x7e,
        0x01,0x7e,0xff,0x8e,0x02,0x7e,0x00,0x7e,0xff,0x7e,
        0xff,0x7f,0xff,0x7e,0x00,0x7e,0x01,0x7e,0x01,0x7f,
        0x02,0x7f,0x05,0x87,0x04,0x95,0x00,0x77,0x00,0xfd,
        0x00,0x77,0x04,0x80,0x05,0x99,0x02,0x7f,0x01,0x7f,
        0x01,0x7e,0x00,0x7e,0xff,0x7e,0xff,0x7f,0xff,0x7e,
        0x00,0x7e,0x02,0x7e,0xff,0x8e,0x01,0x7e,0x00,0x7e,
        0xff,0x7e,0xff,0x7f,0xff,0x7e,0x00,0x7e,0x01,0x7e,
        0x04,0x7e,0xfc,0x7e,0xff,0x7e,0x00,0x7e,0x01,0x7e,
        0x01,0x7f,0x01,0x7e,0x00,0x7e,0xff,0x7e,0x01,0x8e,
        0xfe,0x7e,0x00,0x7e,0x01,0x7e,0x01,0x7f,0x01,0x7e,
        0x00,0x7e,0xff,0x7e,0xff,0x7f,0xfe,0x7f,0x09,0x87,
        0x03,0x86,0x00,0x02,0x01,0x03,0x02,0x01,0x02,0x00,
        0x02,0x7f,0x04,0x7d,0x02,0x7f,0x02,0x00,0x02,0x01,
        0x01,0x02,0xee,0xfe,0x01,0x02,0x02,0x01,0x02,0x00,
        0x02,0x7f,0x04,0x7d,0x02,0x7f,0x02,0x00,0x02,0x01,
        0x01,0x03,0x00,0x02,0x03,0xf4,0x10,0x80,0x03,0x80,
        0x07,0x15,0x08,0x6b,0xfe,0x85,0xf5,0x00,0x10,0xfb,
        0x0d,0x95,0xf6,0x00,0x00,0x6b,0x0a,0x00,0x02,0x02,
        0x00,0x08,0xfe,0x02,0xf6,0x00,0x0e,0xf4,0x03,0x80,
        0x00,0x15,0x0a,0x00,0x02,0x7e,0x00,0x7e,0x00,0x7d,
        0x00,0x7e,0xfe,0x7f,0xf6,0x00,0x0a,0x80,0x02,0x7e,
        0x01,0x7e,0x00,0x7d,0xff,0x7d,0xfe,0x7f,0xf6,0x00,
        0x10,0x80,0x03,0x80,0x00,0x15,0x0c,0x00,0xff,0x7e,
        0x03,0xed,0x03,0xfd,0x00,0x03,0x02,0x00,0x00,0x12,
        0x02,0x03,0x0a,0x00,0x00,0x6b,0x02,0x00,0x00,0x7d,
        0xfe,0x83,0xf4,0x00,0x11,0x80,0x0f,0x80,0xf4,0x00,
        0x00,0x15,0x0c,0x00,0xff,0xf6,0xf5,0x00,0x0f,0xf5,
        0x04,0x95,0x07,0x76,0x00,0x0a,0x07,0x80,0xf9,0x76,
        0x00,0x75,0xf8,0x80,0x07,0x0c,0x09,0xf4,0xf9,0x0c,
        0x09,0xf4,0x03,0x92,0x02,0x03,0x07,0x00,0x03,0x7d,
        0x00,0x7b,0xfc,0x7e,0x04,0x7d,0x00,0x7a,0xfd,0x7e,
        0xf9,0x00,0xfe,0x02,0x06,0x89,0x02,0x00,0x06,0xf5,
        0x03,0x95,0x00,0x6b,0x0c,0x15,0x00,0x6b,0x02,0x80,
        0x03,0x95,0x00,0x6b,0x0c,0x15,0x00,0x6b,0xf8,0x96,
        0x03,0x00,0x07,0xea,0x03,0x80,0x00,0x15,0x0c,0x80,
        0xf7,0x76,0xfd,0x00,0x03,0x80,0x0a,0x75,0x03,0x80,
        0x03,0x80,0x07,0x13,0x02,0x02,0x03,0x00,0x00,0x6b,
        0x02,0x80,0x03,0x80,0x00,0x15,0x09,0x6b,0x09,0x15,
        0x00,0x6b,0x03,0x80,0x03,0x80,0x00,0x15,0x00,0xf6,
        0x0d,0x00,0x00,0x8a,0x00,0x6b,0x03,0x80,0x07,0x80,
        0xfd,0x00,0xff,0x03,0x00,0x04,0x00,0x07,0x00,0x04,
        0x01,0x02,0x03,0x01,0x06,0x00,0x03,0x7f,0x01,0x7e,
        0x01,0x7c,0x00,0x79,0xff,0x7c,0xff,0x7d,0xfd,0x00,
        0xfa,0x00,0x0e,0x80,0x03,0x80,0x00,0x15,0x0c,0x00,
        0x00,0x6b,0x02,0x80,0x03,0x80,0x00,0x15,0x0a,0x00,
        0x02,0x7f,0x01,0x7d,0x00,0x7b,0xff,0x7e,0xfe,0x7f,
        0xf6,0x00,0x10,0xf7,0x11,0x8f,0xff,0x03,0xff,0x02,
        0xfe,0x01,0xfa,0x00,0xfd,0x7f,0xff,0x7e,0x00,0x7c,
        0x00,0x79,0x00,0x7b,0x01,0x7e,0x03,0x00,0x06,0x00,
        0x02,0x00,0x01,0x03,0x01,0x02,0x03,0xfb,0x03,0x95,
        0x0c,0x00,0xfa,0x80,0x00,0x6b,0x09,0x80,0x03,0x95,
        0x00,0x77,0x06,0x7a,0x06,0x06,0x00,0x09,0xfa,0xf1,
        0xfa,0x7a,0x0e,0x80,0x03,0x87,0x00,0x0b,0x02,0x02,
        0x03,0x00,0x02,0x7e,0x01,0x02,0x04,0x00,0x02,0x7e,
        0x00,0x75,0xfe,0x7e,0xfc,0x00,0xff,0x01,0xfe,0x7f,
        0xfd,0x00,0xfe,0x02,0x07,0x8e,0x00,0x6b,0x09,0x80,
        0x03,0x80,0x0e,0x15,0xf2,0x80,0x0e,0x6b,0x03,0x80,
        0x03,0x95,0x00,0x6b,0x0e,0x00,0x00,0x7d,0xfe,0x98,
        0x00,0x6b,0x05,0x80,0x03,0x95,0x00,0x75,0x02,0x7d,
        0x0a,0x00,0x00,0x8e,0x00,0x6b,0x02,0x80,0x03,0x95,
        0x00,0x6b,0x10,0x00,0x00,0x15,0xf8,0x80,0x00,0x6b,
        0x0a,0x80,0x03,0x95,0x00,0x6b,0x10,0x00,0x00,0x15,
        0xf8,0x80,0x00,0x6b,0x0a,0x00,0x00,0x7d,0x02,0x83,
        0x10,0x80,0x03,0x95,0x00,0x6b,0x09,0x00,0x03,0x02,
        0x00,0x08,0xfd,0x02,0xf7,0x00,0x0e,0x89,0x00,0x6b,
        0x03,0x80,0x03,0x95,0x00,0x6b,0x09,0x00,0x03,0x02,
        0x00,0x08,0xfd,0x02,0xf7,0x00,0x0e,0xf4,0x03,0x92,
        0x02,0x03,0x07,0x00,0x03,0x7d,0x00,0x70,0xfd,0x7e,
        0xf9,0x00,0xfe,0x02,0x03,0x89,0x09,0x00,0x02,0xf5,
        0x03,0x80,0x00,0x15,0x00,0xf5,0x07,0x00,0x00,0x08,
        0x02,0x03,0x06,0x00,0x02,0x7d,0x00,0x70,0xfe,0x7e,
        0xfa,0x00,0xfe,0x02,0x00,0x08,0x0c,0xf6,0x0f,0x80,
        0x00,0x15,0xf6,0x00,0xfe,0x7d,0x00,0x79,0x02,0x7e,
        0x0a,0x00,0xf4,0xf7,0x07,0x09,0x07,0xf7,0x03,0x8c,
        0x01,0x02,0x01,0x01,0x05,0x00,0x02,0x7f,0x01,0x7e,
        0x00,0x74,0x00,0x86,0xff,0x01,0xfe,0x01,0xfb,0x00,
        0xff,0x7f,0xff,0x7f,0x00,0x7c,0x01,0x7e,0x01,0x00,
        0x05,0x00,0x02,0x00,0x01,0x02,0x03,0xfe,0x04,0x8e,
        0x02,0x01,0x04,0x00,0x02,0x7f,0x01,0x7e,0x00,0x77,
        0xff,0x7e,0xfe,0x7f,0xfc,0x00,0xfe,0x01,0xff,0x02,
        0x00,0x09,0x01,0x02,0x02,0x02,0x03,0x01,0x02,0x01,
        0x01,0x01,0x01,0x02,0x02,0xeb,0x03,0x80,0x00,0x15,
        0x03,0x00,0x02,0x7e,0x00,0x7b,0xfe,0x7e,0xfd,0x00,
        0x03,0x80,0x04,0x00,0x03,0x7e,0x00,0x78,0xfd,0x7e,
        0xf9,0x00,0x0c,0x80,0x03,0x8c,0x02,0x02,0x02,0x01,
        0x03,0x00,0x02,0x7f,0x01,0x7d,0xfe,0x7e,0xf9,0x7d,
        0xff,0x7e,0x00,0x7d,0x03,0x7f,0x02,0x00,0x03,0x01,
        0x02,0x01,0x02,0xfe,0x0d,0x8c,0xff,0x02,0xfe,0x01,
        0xfc,0x00,0xfe,0x7f,0xff,0x7e,0x00,0x77,0x01,0x7e,
        0x02,0x7f,0x04,0x00,0x02,0x01,0x01,0x02,0x00,0x0f,
        0xff,0x02,0xfe,0x01,0xf9,0x00,0x0c,0xeb,0x03,0x88,
        0x0a,0x00,0x00,0x02,0x00,0x03,0xfe,0x02,0xfa,0x00,
        0xff,0x7e,0xff,0x7d,0x00,0x7b,0x01,0x7c,0x01,0x7f,
        0x06,0x00,0x02,0x02,0x03,0xfe,0x03,0x8f,0x06,0x77,
        0x06,0x09,0xfa,0x80,0x00,0x71,0xff,0x87,0xfb,0x79,
        0x07,0x87,0x05,0x79,0x02,0x80,0x03,0x8d,0x02,0x02,
        0x06,0x00,0x02,0x7e,0x00,0x7d,0xfc,0x7d,0x04,0x7e,
        0x00,0x7d,0xfe,0x7e,0xfa,0x00,0xfe,0x02,0x04,0x85,
        0x02,0x00,0x06,0xf9,0x03,0x8f,0x00,0x73,0x01,0x7e,
        0x07,0x00,0x02,0x02,0x00,0x0d,0x00,0xf3,0x01,0x7e,
        0x03,0x80,0x03,0x8f,0x00,0x73,0x01,0x7e,0x07,0x00,
        0x02,0x02,0x00,0x0d,0x00,0xf3,0x01,0x7e,0xf8,0x90,
        0x03,0x00,0x08,0xf0,0x03,0x80,0x00,0x15,0x00,0xf3,
        0x02,0x00,0x06,0x07,0xfa,0xf9,0x07,0x78,0x03,0x80,
        0x03,0x80,0x04,0x0c,0x02,0x03,0x04,0x00,0x00,0x71,
        0x02,0x80,0x03,0x80,0x00,0x0f,0x06,0x77,0x06,0x09,
        0x00,0x71,0x02,0x80,0x03,0x80,0x00,0x0f,0x0a,0xf1,
        0x00,0x0f,0xf6,0xf8,0x0a,0x00,0x02,0xf9,0x05,0x80,
        0xff,0x01,0xff,0x04,0x00,0x05,0x01,0x03,0x01,0x02,
        0x06,0x00,0x02,0x7e,0x00,0x7d,0x00,0x7b,0x00,0x7c,
        0xfe,0x7f,0xfa,0x00,0x0b,0x80,0x03,0x80,0x00,0x0f,
        0x00,0xfb,0x01,0x03,0x01,0x02,0x05,0x00,0x02,0x7e,
        0x01,0x7d,0x00,0x76,0x03,0x80,0x10,0x80,0x10,0x80,
        0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,
        0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,
        0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,
        0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,
        0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,
        0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,
        0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,
        0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,
        0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,
        0x10,0x80,0x0a,0x8f,0x02,0x7f,0x01,0x7e,0x00,0x76,
        0xff,0x7f,0xfe,0x7f,0xfb,0x00,0xff,0x01,0xff,0x01,
        0x00,0x0a,0x01,0x02,0x01,0x01,0x05,0x00,0xf9,0x80,
        0x00,0x6b,0x0c,0x86,0x0d,0x8a,0xff,0x03,0xfe,0x02,
        0xfb,0x00,0xff,0x7e,0xff,0x7d,0x00,0x7b,0x01,0x7c,
        0x01,0x7f,0x05,0x00,0x02,0x01,0x01,0x03,0x03,0xfc,
        0x03,0x80,0x00,0x0f,0x00,0xfb,0x01,0x03,0x01,0x02,
        0x04,0x00,0x01,0x7e,0x01,0x7d,0x00,0x76,0x00,0x8a,
        0x01,0x03,0x02,0x02,0x03,0x00,0x02,0x7e,0x01,0x7d,
        0x00,0x76,0x03,0x80,0x03,0x8f,0x00,0x74,0x01,0x7e,
        0x02,0x7f,0x04,0x00,0x02,0x01,0x01,0x01,0x00,0x8d,
        0x00,0x6e,0xff,0x7e,0xfe,0x7f,0xfb,0x00,0xfe,0x01,
        0x0c,0x85,0x03,0x8d,0x01,0x02,0x03,0x00,0x02,0x7e,
        0x01,0x02,0x03,0x00,0x02,0x7e,0x00,0x74,0xfe,0x7f,
        0xfd,0x00,0xff,0x01,0xfe,0x7f,0xfd,0x00,0xff,0x01,
        0x00,0x0c,0x06,0x82,0x00,0x6b,0x08,0x86,0x03,0x80,
        0x0a,0x0f,0xf6,0x80,0x0a,0x71,0x03,0x80,0x03,0x8f,
        0x00,0x73,0x01,0x7e,0x07,0x00,0x02,0x02,0x00,0x0d,
        0x00,0xf3,0x01,0x7e,0x00,0x7e,0x03,0x82,0x03,0x8f,
        0x00,0x79,0x02,0x7e,0x08,0x00,0x00,0x89,0x00,0x71,
        0x02,0x80,0x03,0x8f,0x00,0x73,0x01,0x7e,0x03,0x00,
        0x02,0x02,0x00,0x0d,0x00,0xf3,0x01,0x7e,0x03,0x00,
        0x02,0x02,0x00,0x0d,0x00,0xf3,0x01,0x7e,0x03,0x80,
        0x03,0x8f,0x00,0x73,0x01,0x7e,0x03,0x00,0x02,0x02,
        0x00,0x0d,0x00,0xf3,0x01,0x7e,0x03,0x00,0x02,0x02,
        0x00,0x0d,0x00,0xf3,0x01,0x7e,0x00,0x7e,0x03,0x82,
        0x03,0x8d,0x00,0x02,0x02,0x00,0x00,0x71,0x08,0x00,
        0x02,0x02,0x00,0x06,0xfe,0x02,0xf8,0x00,0x0c,0xf6,
        0x03,0x8f,0x00,0x71,0x07,0x00,0x02,0x02,0x00,0x06,
        0xfe,0x02,0xf9,0x00,0x0c,0x85,0x00,0x71,0x02,0x80,
        0x03,0x8f,0x00,0x71,0x07,0x00,0x03,0x02,0x00,0x06,
        0xfd,0x02,0xf9,0x00,0x0c,0xf6,0x03,0x8d,0x02,0x02,
        0x06,0x00,0x02,0x7e,0x00,0x75,0xfe,0x7e,0xfa,0x00,
        0xfe,0x02,0x04,0x85,0x06,0x00,0x02,0xf9,0x03,0x80,
        0x00,0x0f,0x00,0xf8,0x04,0x00,0x00,0x06,0x02,0x02,
        0x04,0x00,0x02,0x7e,0x00,0x75,0xfe,0x7e,0xfc,0x00,
        0xfe,0x02,0x00,0x05,0x0a,0xf9,0x0d,0x80,0x00,0x0f,
        0xf7,0x00,0xff,0x7e,0x00,0x7b,0x01,0x7e,0x09,0x00,
        0xf6,0xfa,0x04,0x06,0x08,0xfa
];