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
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
pub const FONT_WIDTH: usize = 8;
pub const FONT_HEIGHT: usize = 16;
#[repr(u8)]
#[derive(Copy, Clone)]
pub enum Glyph {
Null,
SOH,
STX,
ETX,
EOT,
ENQ,
ACK,
BEL,
BS,
HT,
LF,
VT,
FF,
CR,
SO,
SI,
DLE,
DC1,
DC2,
DC3,
DC4,
NAK,
SYN,
ETB,
CAN,
EM,
SUB,
Escape,
FS,
GS,
RS,
US,
Space,
ExclamationMark,
QuotationMark,
NumberSign,
DollarSign,
PercentSign,
Ampersand,
Apostrophe,
LeftParenthesis,
RightParenthesis,
Asterisk,
PlusSign,
Comma,
HyphenMinus,
FullStop,
Solidus,
DigitZero,
DigitOne,
DigitTwo,
DigitThree,
DigitFour,
DigitFive,
DigitSix,
DigitSeven,
DigitEight,
DigitNine,
Colon,
Semicolon,
LessThanSign,
EqualsSign,
GreaterThanSign,
QuestionMark,
CommercialAt,
LatinCapitalLetterA,
LatinCapitalLetterB,
LatinCapitalLetterC,
LatinCapitalLetterD,
LatinCapitalLetterE,
LatinCapitalLetterF,
LatinCapitalLetterG,
LatinCapitalLetterH,
LatinCapitalLetterI,
LatinCapitalLetterJ,
LatinCapitalLetterK,
LatinCapitalLetterL,
LatinCapitalLetterM,
LatinCapitalLetterN,
LatinCapitalLetterO,
LatinCapitalLetterP,
LatinCapitalLetterQ,
LatinCapitalLetterR,
LatinCapitalLetterS,
LatinCapitalLetterT,
LatinCapitalLetterU,
LatinCapitalLetterV,
LatinCapitalLetterW,
LatinCapitalLetterX,
LatinCapitalLetterY,
LatinCapitalLetterZ,
LeftSquareBracket,
ReverseSolidus,
RightSquareBracket,
CircumflexAccent,
LowLine,
GraveAccent,
LatinSmallLetterA,
LatinSmallLetterB,
LatinSmallLetterC,
LatinSmallLetterD,
LatinSmallLetterE,
LatinSmallLetterF,
LatinSmallLetterG,
LatinSmallLetterH,
LatinSmallLetterI,
LatinSmallLetterJ,
LatinSmallLetterK,
LatinSmallLetterL,
LatinSmallLetterM,
LatinSmallLetterN,
LatinSmallLetterO,
LatinSmallLetterP,
LatinSmallLetterQ,
LatinSmallLetterR,
LatinSmallLetterS,
LatinSmallLetterT,
LatinSmallLetterU,
LatinSmallLetterV,
LatinSmallLetterW,
LatinSmallLetterX,
LatinSmallLetterY,
LatinSmallLetterZ,
LeftCurlyBracket,
VerticalLine,
RightCurlyBracket,
Tilde,
Delete,
LatinCapitalLetterCWithCedilla,
LatinSmallLetterUWithDiaeresis,
LatinSmallLetterEWithAcute,
LatinSmallLetterAWithCircumflex,
LatinSmallLetterAWithDiaeresis,
LatinSmallLetterAWithGrave,
LatinSmallLetterAWithRingAbove,
LatinSmallLetterCWithCedilla,
LatinSmallLetterEWithCircumflex,
LatinSmallLetterEWithDiaeresis,
LatinSmallLetterEWithGrave,
LatinSmallLetterIWithDiaeresis,
LatinSmallLetterIWithCircumflex,
LatinSmallLetterIWithGrave,
LatinCapitalLetterAWithDiaeresis,
LatinCapitalLetterAWithRingAbove,
LatinCapitalLetterEWithAcute,
LatinSmallLetterAe,
LatinCapitalLetterAe,
LatinSmallLetterOWithCircumflex,
LatinSmallLetterOWithDiaeresis,
LatinSmallLetterOWithGrave,
LatinSmallLetterUWithCircumflex,
LatinSmallLetterUWithGrave,
LatinSmallLetterYWithDiaeresis,
LatinCapitalLetterOWithDiaeresis,
LatinCapitalLetterUWithDiaeresis,
LatinSmallLetterOWithStroke,
PoundSign,
LatinCapitalLetterOWithStroke,
MultiplicationSign,
LatinSmallLetterFWithHook,
LatinSmallLetterAWithAcute,
LatinSmallLetterIWithAcute,
LatinSmallLetterOWithAcute,
LatinSmallLetterUWithAcute,
LatinSmallLetterNWithTilde,
LatinCapitalLetterNWithTilde,
FeminineOrdinalIndicator,
MasculineOrdinalIndicator,
InvertedQuestionMark,
RegisteredSign,
NotSign,
VulgarFractionOneHalf,
VulgarFractionOneQuarter,
InvertedExclamationMark,
LeftPointingDoubleAngleQuotationMark,
RightPointingDoubleAngleQuotationMark,
LightShade,
MediumShade,
DarkShade,
BoxDrawingsLightVertical,
BoxDrawingsLightVerticalAndLeft,
LatinCapitalLetterAWithAcute,
LatinCapitalLetterAWithCircumflex,
LatinCapitalLetterAWithGrave,
CopyrightSign,
BoxDrawingsDoubleVerticalAndLeft,
BoxDrawingsDoubleVertical,
BoxDrawingsDoubleDownAndLeft,
BoxDrawingsDoubleUpAndLeft,
CentSign,
YenSign,
BoxDrawingsLightDownAndLeft,
BoxDrawingsLightUpAndRight,
BoxDrawingsLightUpAndHorizontal,
BoxDrawingsLightDownAndHorizontal,
BoxDrawingsLightVerticalAndRight,
BoxDrawingsLightHorizontal,
BoxDrawingsLightVerticalAndHorizontal,
LatinSmallLetterAWithTilde,
LatinCapitalLetterAWithTilde,
BoxDrawingsDoubleUpAndRight,
BoxDrawingsDoubleDownAndRight,
BoxDrawingsDoubleUpAndHorizontal,
BoxDrawingsDoubleDownAndHorizontal,
BoxDrawingsDoubleVerticalAndRight,
BoxDrawingsDoubleHorizontal,
BoxDrawingsDoubleVerticalAndHorizontal,
CurrencySign,
LatinSmallLetterEth,
LatinCapitalLetterEth,
LatinCapitalLetterEWithCircumflex,
LatinCapitalLetterEWithDiaeresis,
LatinCapitalLetterEWithGrave,
LatinSmallLetterDotlessI,
LatinCapitalLetterIWithAcute,
LatinCapitalLetterIWithCircumflex,
LatinCapitalLetterIWithDiaeresis,
BoxDrawingsLightUpAndLeft,
BoxDrawingsLightDownAndRight,
FullBlock,
LowerHalfBlock,
BrokenBar,
LatinCapitalLetterIWithGrave,
UpperHalfBlock,
LatinCapitalLetterOWithAcute,
LatinSmallLetterSharpS,
LatinCapitalLetterOWithCircumflex,
LatinCapitalLetterOWithGrave,
LatinSmallLetterOWithTilde,
LatinCapitalLetterOWithTilde,
MicroSign,
LatinSmallLetterThorn,
LatinCapitalLetterThorn,
LatinCapitalLetterUWithAcute,
LatinCapitalLetterUWithCircumflex,
LatinCapitalLetterUWithGrave,
LatinSmallLetterYWithAcute,
LatinCapitalLetterYWithAcute,
Macron,
AcuteAccent,
SoftHyphen,
PlusMinusSign,
DoubleLowLine,
VulgarFractionThreeQuarters,
PilcrowSign,
SectionSign,
DivisionSign,
Cedilla,
DegreeSign,
Diaeresis,
MiddleDot,
SuperscriptOne,
SuperscriptThree,
SuperscriptTwo,
BlackSquare,
NoBreakSpace,
}
impl ::core::default::Default for Glyph {
fn default() -> Glyph {
Glyph::Space
}
}
pub const FONT_DATA: [u8; 256 * 16] = [
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x7e,0x81,0xa5,0x81,0x81,0xbd,0x99,0x81,0x81,0x7e,0x00,0x00,0x00,0x00,
0x00,0x00,0x7e,0xff,0xdb,0xff,0xff,0xc3,0xe7,0xff,0xff,0x7e,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x6c,0xfe,0xfe,0xfe,0xfe,0x7c,0x38,0x10,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x10,0x38,0x7c,0xfe,0x7c,0x38,0x10,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x18,0x3c,0x3c,0xe7,0xe7,0xe7,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x18,0x3c,0x7e,0xff,0xff,0x7e,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x3c,0x3c,0x18,0x00,0x00,0x00,0x00,0x00,0x00,
0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xc3,0xc3,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,
0x00,0x00,0x00,0x00,0x00,0x3c,0x66,0x42,0x42,0x66,0x3c,0x00,0x00,0x00,0x00,0x00,
0xff,0xff,0xff,0xff,0xff,0xc3,0x99,0xbd,0xbd,0x99,0xc3,0xff,0xff,0xff,0xff,0xff,
0x00,0x00,0x1e,0x0e,0x1a,0x32,0x78,0xcc,0xcc,0xcc,0xcc,0x78,0x00,0x00,0x00,0x00,
0x00,0x00,0x3c,0x66,0x66,0x66,0x66,0x3c,0x18,0x7e,0x18,0x18,0x00,0x00,0x00,0x00,
0x00,0x00,0x3f,0x33,0x3f,0x30,0x30,0x30,0x30,0x70,0xf0,0xe0,0x00,0x00,0x00,0x00,
0x00,0x00,0x7f,0x63,0x7f,0x63,0x63,0x63,0x63,0x67,0xe7,0xe6,0xc0,0x00,0x00,0x00,
0x00,0x00,0x00,0x18,0x18,0xdb,0x3c,0xe7,0x3c,0xdb,0x18,0x18,0x00,0x00,0x00,0x00,
0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfe,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x00,0x00,0x00,
0x00,0x02,0x06,0x0e,0x1e,0x3e,0xfe,0x3e,0x1e,0x0e,0x06,0x02,0x00,0x00,0x00,0x00,
0x00,0x00,0x18,0x3c,0x7e,0x18,0x18,0x18,0x7e,0x3c,0x18,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x66,0x66,0x00,0x00,0x00,0x00,
0x00,0x00,0x7f,0xdb,0xdb,0xdb,0x7b,0x1b,0x1b,0x1b,0x1b,0x1b,0x00,0x00,0x00,0x00,
0x00,0x7c,0xc6,0x60,0x38,0x6c,0xc6,0xc6,0x6c,0x38,0x0c,0xc6,0x7c,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xfe,0xfe,0xfe,0x00,0x00,0x00,0x00,
0x00,0x00,0x18,0x3c,0x7e,0x18,0x18,0x18,0x7e,0x3c,0x18,0x7e,0x00,0x00,0x00,0x00,
0x00,0x00,0x18,0x3c,0x7e,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00,
0x00,0x00,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x7e,0x3c,0x18,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x18,0x0c,0xfe,0x0c,0x18,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x30,0x60,0xfe,0x60,0x30,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xc0,0xc0,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x28,0x6c,0xfe,0x6c,0x28,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x10,0x38,0x38,0x7c,0x7c,0xfe,0xfe,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xfe,0xfe,0x7c,0x7c,0x38,0x38,0x10,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x18,0x3c,0x3c,0x3c,0x18,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00,
0x00,0x66,0x66,0x66,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x6c,0x6c,0xfe,0x6c,0x6c,0x6c,0xfe,0x6c,0x6c,0x00,0x00,0x00,0x00,
0x18,0x18,0x7c,0xc6,0xc2,0xc0,0x7c,0x06,0x06,0x86,0xc6,0x7c,0x18,0x18,0x00,0x00,
0x00,0x00,0x00,0x00,0xc2,0xc6,0x0c,0x18,0x30,0x60,0xc6,0x86,0x00,0x00,0x00,0x00,
0x00,0x00,0x38,0x6c,0x6c,0x38,0x76,0xdc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
0x00,0x30,0x30,0x30,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x0c,0x18,0x30,0x30,0x30,0x30,0x30,0x30,0x18,0x0c,0x00,0x00,0x00,0x00,
0x00,0x00,0x30,0x18,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x18,0x30,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x66,0x3c,0xff,0x3c,0x66,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x7e,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x30,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x02,0x06,0x0c,0x18,0x30,0x60,0xc0,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x38,0x6c,0xc6,0xc6,0xd6,0xd6,0xc6,0xc6,0x6c,0x38,0x00,0x00,0x00,0x00,
0x00,0x00,0x18,0x38,0x78,0x18,0x18,0x18,0x18,0x18,0x18,0x7e,0x00,0x00,0x00,0x00,
0x00,0x00,0x7c,0xc6,0x06,0x0c,0x18,0x30,0x60,0xc0,0xc6,0xfe,0x00,0x00,0x00,0x00,
0x00,0x00,0x7c,0xc6,0x06,0x06,0x3c,0x06,0x06,0x06,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x00,0x00,0x0c,0x1c,0x3c,0x6c,0xcc,0xfe,0x0c,0x0c,0x0c,0x1e,0x00,0x00,0x00,0x00,
0x00,0x00,0xfe,0xc0,0xc0,0xc0,0xfc,0x06,0x06,0x06,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x00,0x00,0x38,0x60,0xc0,0xc0,0xfc,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x00,0x00,0xfe,0xc6,0x06,0x06,0x0c,0x18,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00,
0x00,0x00,0x7c,0xc6,0xc6,0xc6,0x7c,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x00,0x00,0x7c,0xc6,0xc6,0xc6,0x7e,0x06,0x06,0x06,0x0c,0x78,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x30,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x06,0x0c,0x18,0x30,0x60,0x30,0x18,0x0c,0x06,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x60,0x30,0x18,0x0c,0x06,0x0c,0x18,0x30,0x60,0x00,0x00,0x00,0x00,
0x00,0x00,0x7c,0xc6,0xc6,0x0c,0x18,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x7c,0xc6,0xc6,0xde,0xde,0xde,0xdc,0xc0,0x7c,0x00,0x00,0x00,0x00,
0x00,0x00,0x10,0x38,0x6c,0xc6,0xc6,0xfe,0xc6,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00,
0x00,0x00,0xfc,0x66,0x66,0x66,0x7c,0x66,0x66,0x66,0x66,0xfc,0x00,0x00,0x00,0x00,
0x00,0x00,0x3c,0x66,0xc2,0xc0,0xc0,0xc0,0xc0,0xc2,0x66,0x3c,0x00,0x00,0x00,0x00,
0x00,0x00,0xf8,0x6c,0x66,0x66,0x66,0x66,0x66,0x66,0x6c,0xf8,0x00,0x00,0x00,0x00,
0x00,0x00,0xfe,0x66,0x62,0x68,0x78,0x68,0x60,0x62,0x66,0xfe,0x00,0x00,0x00,0x00,
0x00,0x00,0xfe,0x66,0x62,0x68,0x78,0x68,0x60,0x60,0x60,0xf0,0x00,0x00,0x00,0x00,
0x00,0x00,0x3c,0x66,0xc2,0xc0,0xc0,0xde,0xc6,0xc6,0x66,0x3a,0x00,0x00,0x00,0x00,
0x00,0x00,0xc6,0xc6,0xc6,0xc6,0xfe,0xc6,0xc6,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00,
0x00,0x00,0x3c,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
0x00,0x00,0x1e,0x0c,0x0c,0x0c,0x0c,0x0c,0xcc,0xcc,0xcc,0x78,0x00,0x00,0x00,0x00,
0x00,0x00,0xe6,0x66,0x66,0x6c,0x78,0x78,0x6c,0x66,0x66,0xe6,0x00,0x00,0x00,0x00,
0x00,0x00,0xf0,0x60,0x60,0x60,0x60,0x60,0x60,0x62,0x66,0xfe,0x00,0x00,0x00,0x00,
0x00,0x00,0xc6,0xee,0xfe,0xfe,0xd6,0xc6,0xc6,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00,
0x00,0x00,0xc6,0xe6,0xf6,0xfe,0xde,0xce,0xc6,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00,
0x00,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x00,0x00,0xfc,0x66,0x66,0x66,0x7c,0x60,0x60,0x60,0x60,0xf0,0x00,0x00,0x00,0x00,
0x00,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xd6,0xde,0x7c,0x0c,0x0e,0x00,0x00,
0x00,0x00,0xfc,0x66,0x66,0x66,0x7c,0x6c,0x66,0x66,0x66,0xe6,0x00,0x00,0x00,0x00,
0x00,0x00,0x7c,0xc6,0xc6,0x60,0x38,0x0c,0x06,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x00,0x00,0x7e,0x7e,0x5a,0x18,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
0x00,0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x00,0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x6c,0x38,0x10,0x00,0x00,0x00,0x00,
0x00,0x00,0xc6,0xc6,0xc6,0xc6,0xd6,0xd6,0xd6,0xfe,0xee,0x6c,0x00,0x00,0x00,0x00,
0x00,0x00,0xc6,0xc6,0x6c,0x7c,0x38,0x38,0x7c,0x6c,0xc6,0xc6,0x00,0x00,0x00,0x00,
0x00,0x00,0x66,0x66,0x66,0x66,0x3c,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
0x00,0x00,0xfe,0xc6,0x86,0x0c,0x18,0x30,0x60,0xc2,0xc6,0xfe,0x00,0x00,0x00,0x00,
0x00,0x00,0x3c,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x3c,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x80,0xc0,0xe0,0x70,0x38,0x1c,0x0e,0x06,0x02,0x00,0x00,0x00,0x00,
0x00,0x00,0x3c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x3c,0x00,0x00,0x00,0x00,
0x10,0x38,0x6c,0xc6,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,0xff,0x00,0x00,
0x00,0x30,0x18,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x78,0x0c,0x7c,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
0x00,0x00,0xe0,0x60,0x60,0x78,0x6c,0x66,0x66,0x66,0x66,0x7c,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0xc0,0xc0,0xc0,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x00,0x00,0x1c,0x0c,0x0c,0x3c,0x6c,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0xfe,0xc0,0xc0,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x00,0x00,0x1c,0x36,0x32,0x30,0x78,0x30,0x30,0x30,0x30,0x78,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x76,0xcc,0xcc,0xcc,0xcc,0xcc,0x7c,0x0c,0xcc,0x78,0x00,
0x00,0x00,0xe0,0x60,0x60,0x6c,0x76,0x66,0x66,0x66,0x66,0xe6,0x00,0x00,0x00,0x00,
0x00,0x00,0x18,0x18,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
0x00,0x00,0x06,0x06,0x00,0x0e,0x06,0x06,0x06,0x06,0x06,0x06,0x66,0x66,0x3c,0x00,
0x00,0x00,0xe0,0x60,0x60,0x66,0x6c,0x78,0x78,0x6c,0x66,0xe6,0x00,0x00,0x00,0x00,
0x00,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xec,0xfe,0xd6,0xd6,0xd6,0xd6,0xc6,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xdc,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xdc,0x66,0x66,0x66,0x66,0x66,0x7c,0x60,0x60,0xf0,0x00,
0x00,0x00,0x00,0x00,0x00,0x76,0xcc,0xcc,0xcc,0xcc,0xcc,0x7c,0x0c,0x0c,0x1e,0x00,
0x00,0x00,0x00,0x00,0x00,0xdc,0x76,0x66,0x60,0x60,0x60,0xf0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0x60,0x38,0x0c,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x00,0x00,0x10,0x30,0x30,0xfc,0x30,0x30,0x30,0x30,0x36,0x1c,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0x6c,0x38,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0xd6,0xd6,0xd6,0xfe,0x6c,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xc6,0x6c,0x38,0x38,0x38,0x6c,0xc6,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7e,0x06,0x0c,0xf8,0x00,
0x00,0x00,0x00,0x00,0x00,0xfe,0xcc,0x18,0x30,0x60,0xc6,0xfe,0x00,0x00,0x00,0x00,
0x00,0x00,0x0e,0x18,0x18,0x18,0x70,0x18,0x18,0x18,0x18,0x0e,0x00,0x00,0x00,0x00,
0x00,0x00,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00,
0x00,0x00,0x70,0x18,0x18,0x18,0x0e,0x18,0x18,0x18,0x18,0x70,0x00,0x00,0x00,0x00,
0x00,0x76,0xdc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x10,0x38,0x6c,0xc6,0xc6,0xc6,0xfe,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x3c,0x66,0xc2,0xc0,0xc0,0xc0,0xc0,0xc2,0x66,0x3c,0x18,0x70,0x00,0x00,
0x00,0x00,0xcc,0x00,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
0x00,0x0c,0x18,0x30,0x00,0x7c,0xc6,0xfe,0xc0,0xc0,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x00,0x10,0x38,0x6c,0x00,0x78,0x0c,0x7c,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
0x00,0x00,0xcc,0x00,0x00,0x78,0x0c,0x7c,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
0x00,0x60,0x30,0x18,0x00,0x78,0x0c,0x7c,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
0x00,0x38,0x6c,0x38,0x00,0x78,0x0c,0x7c,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0xc0,0xc0,0xc0,0xc6,0x7c,0x18,0x70,0x00,0x00,
0x00,0x10,0x38,0x6c,0x00,0x7c,0xc6,0xfe,0xc0,0xc0,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x00,0x00,0xc6,0x00,0x00,0x7c,0xc6,0xfe,0xc0,0xc0,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x00,0x60,0x30,0x18,0x00,0x7c,0xc6,0xfe,0xc0,0xc0,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x00,0x00,0x66,0x00,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
0x00,0x18,0x3c,0x66,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
0x00,0x60,0x30,0x18,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
0x00,0xc6,0x00,0x10,0x38,0x6c,0xc6,0xc6,0xfe,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00,
0x38,0x6c,0x38,0x10,0x38,0x6c,0xc6,0xc6,0xfe,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00,
0x0c,0x18,0x00,0xfe,0x66,0x62,0x68,0x78,0x68,0x62,0x66,0xfe,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xec,0x36,0x36,0x7e,0xd8,0xd8,0x6e,0x00,0x00,0x00,0x00,
0x00,0x00,0x3e,0x6c,0xcc,0xcc,0xfe,0xcc,0xcc,0xcc,0xcc,0xce,0x00,0x00,0x00,0x00,
0x00,0x10,0x38,0x6c,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x00,0x00,0xc6,0x00,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x00,0x60,0x30,0x18,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x00,0x30,0x78,0xcc,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
0x00,0x60,0x30,0x18,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
0x00,0x00,0xc6,0x00,0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7e,0x06,0x0c,0x78,0x00,
0x00,0xc6,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x00,0xc6,0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x7c,0xce,0xde,0xf6,0xe6,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x00,0x38,0x6c,0x64,0x60,0xf0,0x60,0x60,0x60,0x60,0xe6,0xfc,0x00,0x00,0x00,0x00,
0x00,0x04,0x7c,0xce,0xce,0xd6,0xd6,0xd6,0xd6,0xe6,0xe6,0x7c,0x40,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xc6,0x6c,0x38,0x38,0x6c,0xc6,0x00,0x00,0x00,0x00,0x00,
0x00,0x0e,0x1b,0x18,0x18,0x18,0x7e,0x18,0x18,0x18,0xd8,0x70,0x00,0x00,0x00,0x00,
0x00,0x18,0x30,0x60,0x00,0x78,0x0c,0x7c,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
0x00,0x0c,0x18,0x30,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
0x00,0x18,0x30,0x60,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x00,0x18,0x30,0x60,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
0x00,0x00,0x76,0xdc,0x00,0xdc,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
0x76,0xdc,0x00,0xc6,0xe6,0xf6,0xfe,0xde,0xce,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00,
0x00,0x00,0x3c,0x6c,0x6c,0x3e,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x38,0x6c,0x6c,0x38,0x00,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x30,0x30,0x00,0x30,0x30,0x60,0xc0,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x00,0x00,0x7c,0x82,0xb2,0xaa,0xb2,0xaa,0xaa,0x82,0x7c,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x06,0x06,0x06,0x06,0x00,0x00,0x00,0x00,0x00,
0x00,0x60,0xe0,0x62,0x66,0x6c,0x18,0x30,0x60,0xdc,0x86,0x0c,0x18,0x3e,0x00,0x00,
0x00,0x60,0xe0,0x62,0x66,0x6c,0x18,0x30,0x66,0xce,0x9a,0x3f,0x06,0x06,0x00,0x00,
0x00,0x00,0x18,0x18,0x00,0x18,0x18,0x18,0x3c,0x3c,0x3c,0x18,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x36,0x6c,0xd8,0x6c,0x36,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xd8,0x6c,0x36,0x6c,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,
0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44,
0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,
0xdd,0x77,0xdd,0x77,0xdd,0x77,0xdd,0x77,0xdd,0x77,0xdd,0x77,0xdd,0x77,0xdd,0x77,
0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xf8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
0x60,0xc0,0x10,0x38,0x6c,0xc6,0xc6,0xfe,0xc6,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00,
0x7c,0xc6,0x10,0x38,0x6c,0xc6,0xc6,0xfe,0xc6,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00,
0x0c,0x06,0x10,0x38,0x6c,0xc6,0xc6,0xfe,0xc6,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00,
0x00,0x00,0x7c,0x82,0x9a,0xa2,0xa2,0xa2,0x9a,0x82,0x7c,0x00,0x00,0x00,0x00,0x00,
0x36,0x36,0x36,0x36,0x36,0xf6,0x06,0xf6,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
0x00,0x00,0x00,0x00,0x00,0xfe,0x06,0xf6,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
0x36,0x36,0x36,0x36,0x36,0xf6,0x06,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x18,0x18,0x7c,0xc6,0xc0,0xc0,0xc6,0x7c,0x18,0x18,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x66,0x66,0x3c,0x18,0x7e,0x18,0x7e,0x18,0x18,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x1f,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xff,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
0x00,0x00,0x76,0xdc,0x00,0x78,0x0c,0x7c,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
0x76,0xdc,0x00,0x38,0x6c,0xc6,0xc6,0xfe,0xc6,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00,
0x36,0x36,0x36,0x36,0x36,0x37,0x30,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x3f,0x30,0x37,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
0x36,0x36,0x36,0x36,0x36,0xf7,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xff,0x00,0xf7,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
0x36,0x36,0x36,0x36,0x36,0x37,0x30,0x37,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
0x00,0x00,0x00,0x00,0x00,0xff,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x36,0x36,0x36,0x36,0x36,0xf7,0x00,0xf7,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
0x00,0x00,0x00,0x00,0xc6,0x7c,0xc6,0xc6,0xc6,0xc6,0x7c,0xc6,0x00,0x00,0x00,0x00,
0x00,0x00,0x34,0x18,0x2c,0x06,0x3e,0x66,0x66,0x66,0x66,0x3c,0x00,0x00,0x00,0x00,
0x00,0x00,0xf8,0x6c,0x66,0x66,0xf6,0x66,0x66,0x66,0x6c,0xf8,0x00,0x00,0x00,0x00,
0x38,0x6c,0x00,0xfe,0x66,0x62,0x68,0x78,0x68,0x62,0x66,0xfe,0x00,0x00,0x00,0x00,
0x00,0xc6,0x00,0xfe,0x66,0x62,0x68,0x78,0x68,0x62,0x66,0xfe,0x00,0x00,0x00,0x00,
0x30,0x18,0x00,0xfe,0x66,0x62,0x68,0x78,0x68,0x62,0x66,0xfe,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
0x0c,0x18,0x00,0x3c,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
0x3c,0x66,0x00,0x3c,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
0x00,0x66,0x00,0x3c,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0x00,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,
0x30,0x18,0x00,0x3c,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x18,0x30,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x00,0x00,0x78,0xcc,0xcc,0xcc,0xd8,0xcc,0xc6,0xc6,0xc6,0xcc,0x00,0x00,0x00,0x00,
0x38,0x6c,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x30,0x18,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x00,0x00,0x76,0xdc,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x76,0xdc,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x7c,0x60,0x60,0xc0,0x00,
0x00,0x00,0xe0,0x60,0x60,0x7c,0x66,0x66,0x66,0x66,0x66,0x7c,0x60,0x60,0xf0,0x00,
0x00,0x00,0xf0,0x60,0x7c,0x66,0x66,0x66,0x66,0x7c,0x60,0xf0,0x00,0x00,0x00,0x00,
0x18,0x30,0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x38,0x6c,0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x30,0x18,0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,
0x00,0x0c,0x18,0x30,0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7e,0x06,0x0c,0xf8,0x00,
0x0c,0x18,0x00,0x66,0x66,0x66,0x66,0x3c,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,
0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x0c,0x18,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x18,0x18,0x7e,0x18,0x18,0x00,0x00,0x7e,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0xff,0x00,
0x00,0xe0,0x30,0x62,0x36,0xec,0x18,0x30,0x66,0xce,0x9a,0x3f,0x06,0x06,0x00,0x00,
0x00,0x00,0x7f,0xdb,0xdb,0xdb,0x7b,0x1b,0x1b,0x1b,0x1b,0x1b,0x00,0x00,0x00,0x00,
0x00,0x7c,0xc6,0x60,0x38,0x6c,0xc6,0xc6,0x6c,0x38,0x0c,0xc6,0x7c,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x7e,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x0c,0x78,0x00,0x00,
0x00,0x38,0x6c,0x6c,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xc6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x18,0x38,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x7c,0x06,0x3c,0x06,0x06,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x3c,0x66,0x0c,0x18,0x32,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x7e,0x7e,0x7e,0x7e,0x7e,0x7e,0x7e,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
];
impl Glyph {
pub fn map_char(ch: char) -> Glyph {
match ch {
'\u{0000}' => Glyph::Null,
'\u{0001}' => Glyph::SOH,
'\u{0002}' => Glyph::STX,
'\u{0003}' => Glyph::ETX,
'\u{0004}' => Glyph::EOT,
'\u{0005}' => Glyph::ENQ,
'\u{0006}' => Glyph::ACK,
'\u{0007}' => Glyph::BEL,
'\u{0008}' => Glyph::BS,
'\t' => Glyph::HT,
'\n' => Glyph::LF,
'\u{000b}' => Glyph::VT,
'\u{000c}' => Glyph::FF,
'\r' => Glyph::CR,
'\u{000e}' => Glyph::SO,
'\u{000f}' => Glyph::SI,
'\u{0010}' => Glyph::DLE,
'\u{0011}' => Glyph::DC1,
'\u{0012}' => Glyph::DC2,
'\u{0013}' => Glyph::DC3,
'\u{0014}' => Glyph::DC4,
'\u{0015}' => Glyph::NAK,
'\u{0016}' => Glyph::SYN,
'\u{0017}' => Glyph::ETB,
'\u{0018}' => Glyph::CAN,
'\u{0019}' => Glyph::EM,
'\u{001a}' => Glyph::SUB,
'\u{001b}' => Glyph::Escape,
'\u{001c}' => Glyph::FS,
'\u{001d}' => Glyph::GS,
'\u{001e}' => Glyph::RS,
'\u{001f}' => Glyph::US,
' ' => Glyph::Space,
'!' => Glyph::ExclamationMark,
'"' => Glyph::QuotationMark,
'#' => Glyph::NumberSign,
'$' => Glyph::DollarSign,
'%' => Glyph::PercentSign,
'&' => Glyph::Ampersand,
'\'' => Glyph::Apostrophe,
'(' => Glyph::LeftParenthesis,
')' => Glyph::RightParenthesis,
'*' => Glyph::Asterisk,
'+' => Glyph::PlusSign,
',' => Glyph::Comma,
'-' => Glyph::HyphenMinus,
'.' => Glyph::FullStop,
'/' => Glyph::Solidus,
'0' => Glyph::DigitZero,
'1' => Glyph::DigitOne,
'2' => Glyph::DigitTwo,
'3' => Glyph::DigitThree,
'4' => Glyph::DigitFour,
'5' => Glyph::DigitFive,
'6' => Glyph::DigitSix,
'7' => Glyph::DigitSeven,
'8' => Glyph::DigitEight,
'9' => Glyph::DigitNine,
':' => Glyph::Colon,
';' => Glyph::Semicolon,
'<' => Glyph::LessThanSign,
'=' => Glyph::EqualsSign,
'>' => Glyph::GreaterThanSign,
'?' => Glyph::QuestionMark,
'@' => Glyph::CommercialAt,
'A' => Glyph::LatinCapitalLetterA,
'B' => Glyph::LatinCapitalLetterB,
'C' => Glyph::LatinCapitalLetterC,
'D' => Glyph::LatinCapitalLetterD,
'E' => Glyph::LatinCapitalLetterE,
'F' => Glyph::LatinCapitalLetterF,
'G' => Glyph::LatinCapitalLetterG,
'H' => Glyph::LatinCapitalLetterH,
'I' => Glyph::LatinCapitalLetterI,
'J' => Glyph::LatinCapitalLetterJ,
'K' => Glyph::LatinCapitalLetterK,
'L' => Glyph::LatinCapitalLetterL,
'M' => Glyph::LatinCapitalLetterM,
'N' => Glyph::LatinCapitalLetterN,
'O' => Glyph::LatinCapitalLetterO,
'P' => Glyph::LatinCapitalLetterP,
'Q' => Glyph::LatinCapitalLetterQ,
'R' => Glyph::LatinCapitalLetterR,
'S' => Glyph::LatinCapitalLetterS,
'T' => Glyph::LatinCapitalLetterT,
'U' => Glyph::LatinCapitalLetterU,
'V' => Glyph::LatinCapitalLetterV,
'W' => Glyph::LatinCapitalLetterW,
'X' => Glyph::LatinCapitalLetterX,
'Y' => Glyph::LatinCapitalLetterY,
'Z' => Glyph::LatinCapitalLetterZ,
'[' => Glyph::LeftSquareBracket,
'\\' => Glyph::ReverseSolidus,
']' => Glyph::RightSquareBracket,
'^' => Glyph::CircumflexAccent,
'_' => Glyph::LowLine,
'`' => Glyph::GraveAccent,
'a' => Glyph::LatinSmallLetterA,
'b' => Glyph::LatinSmallLetterB,
'c' => Glyph::LatinSmallLetterC,
'd' => Glyph::LatinSmallLetterD,
'e' => Glyph::LatinSmallLetterE,
'f' => Glyph::LatinSmallLetterF,
'g' => Glyph::LatinSmallLetterG,
'h' => Glyph::LatinSmallLetterH,
'i' => Glyph::LatinSmallLetterI,
'j' => Glyph::LatinSmallLetterJ,
'k' => Glyph::LatinSmallLetterK,
'l' => Glyph::LatinSmallLetterL,
'm' => Glyph::LatinSmallLetterM,
'n' => Glyph::LatinSmallLetterN,
'o' => Glyph::LatinSmallLetterO,
'p' => Glyph::LatinSmallLetterP,
'q' => Glyph::LatinSmallLetterQ,
'r' => Glyph::LatinSmallLetterR,
's' => Glyph::LatinSmallLetterS,
't' => Glyph::LatinSmallLetterT,
'u' => Glyph::LatinSmallLetterU,
'v' => Glyph::LatinSmallLetterV,
'w' => Glyph::LatinSmallLetterW,
'x' => Glyph::LatinSmallLetterX,
'y' => Glyph::LatinSmallLetterY,
'z' => Glyph::LatinSmallLetterZ,
'{' => Glyph::LeftCurlyBracket,
'|' => Glyph::VerticalLine,
'}' => Glyph::RightCurlyBracket,
'~' => Glyph::Tilde,
'\u{007f}' => Glyph::Delete,
'Ç' => Glyph::LatinCapitalLetterCWithCedilla,
'ü' => Glyph::LatinSmallLetterUWithDiaeresis,
'é' => Glyph::LatinSmallLetterEWithAcute,
'â' => Glyph::LatinSmallLetterAWithCircumflex,
'ä' => Glyph::LatinSmallLetterAWithDiaeresis,
'à' => Glyph::LatinSmallLetterAWithGrave,
'å' => Glyph::LatinSmallLetterAWithRingAbove,
'ç' => Glyph::LatinSmallLetterCWithCedilla,
'ê' => Glyph::LatinSmallLetterEWithCircumflex,
'ë' => Glyph::LatinSmallLetterEWithDiaeresis,
'è' => Glyph::LatinSmallLetterEWithGrave,
'ï' => Glyph::LatinSmallLetterIWithDiaeresis,
'î' => Glyph::LatinSmallLetterIWithCircumflex,
'ì' => Glyph::LatinSmallLetterIWithGrave,
'Ä' => Glyph::LatinCapitalLetterAWithDiaeresis,
'Å' => Glyph::LatinCapitalLetterAWithRingAbove,
'É' => Glyph::LatinCapitalLetterEWithAcute,
'æ' => Glyph::LatinSmallLetterAe,
'Æ' => Glyph::LatinCapitalLetterAe,
'ô' => Glyph::LatinSmallLetterOWithCircumflex,
'ö' => Glyph::LatinSmallLetterOWithDiaeresis,
'ò' => Glyph::LatinSmallLetterOWithGrave,
'û' => Glyph::LatinSmallLetterUWithCircumflex,
'ù' => Glyph::LatinSmallLetterUWithGrave,
'ÿ' => Glyph::LatinSmallLetterYWithDiaeresis,
'Ö' => Glyph::LatinCapitalLetterOWithDiaeresis,
'Ü' => Glyph::LatinCapitalLetterUWithDiaeresis,
'ø' => Glyph::LatinSmallLetterOWithStroke,
'£' => Glyph::PoundSign,
'Ø' => Glyph::LatinCapitalLetterOWithStroke,
'×' => Glyph::MultiplicationSign,
'ƒ' => Glyph::LatinSmallLetterFWithHook,
'á' => Glyph::LatinSmallLetterAWithAcute,
'í' => Glyph::LatinSmallLetterIWithAcute,
'ó' => Glyph::LatinSmallLetterOWithAcute,
'ú' => Glyph::LatinSmallLetterUWithAcute,
'ñ' => Glyph::LatinSmallLetterNWithTilde,
'Ñ' => Glyph::LatinCapitalLetterNWithTilde,
'ª' => Glyph::FeminineOrdinalIndicator,
'º' => Glyph::MasculineOrdinalIndicator,
'¿' => Glyph::InvertedQuestionMark,
'®' => Glyph::RegisteredSign,
'¬' => Glyph::NotSign,
'½' => Glyph::VulgarFractionOneHalf,
'¼' => Glyph::VulgarFractionOneQuarter,
'¡' => Glyph::InvertedExclamationMark,
'«' => Glyph::LeftPointingDoubleAngleQuotationMark,
'»' => Glyph::RightPointingDoubleAngleQuotationMark,
'░' => Glyph::LightShade,
'▒' => Glyph::MediumShade,
'▓' => Glyph::DarkShade,
'│' => Glyph::BoxDrawingsLightVertical,
'┤' => Glyph::BoxDrawingsLightVerticalAndLeft,
'Á' => Glyph::LatinCapitalLetterAWithAcute,
'Â' => Glyph::LatinCapitalLetterAWithCircumflex,
'À' => Glyph::LatinCapitalLetterAWithGrave,
'©' => Glyph::CopyrightSign,
'╣' => Glyph::BoxDrawingsDoubleVerticalAndLeft,
'║' => Glyph::BoxDrawingsDoubleVertical,
'╗' => Glyph::BoxDrawingsDoubleDownAndLeft,
'╝' => Glyph::BoxDrawingsDoubleUpAndLeft,
'¢' => Glyph::CentSign,
'¥' => Glyph::YenSign,
'┐' => Glyph::BoxDrawingsLightDownAndLeft,
'└' => Glyph::BoxDrawingsLightUpAndRight,
'┴' => Glyph::BoxDrawingsLightUpAndHorizontal,
'┬' => Glyph::BoxDrawingsLightDownAndHorizontal,
'├' => Glyph::BoxDrawingsLightVerticalAndRight,
'─' => Glyph::BoxDrawingsLightHorizontal,
'┼' => Glyph::BoxDrawingsLightVerticalAndHorizontal,
'ã' => Glyph::LatinSmallLetterAWithTilde,
'Ã' => Glyph::LatinCapitalLetterAWithTilde,
'╚' => Glyph::BoxDrawingsDoubleUpAndRight,
'╔' => Glyph::BoxDrawingsDoubleDownAndRight,
'╩' => Glyph::BoxDrawingsDoubleUpAndHorizontal,
'╦' => Glyph::BoxDrawingsDoubleDownAndHorizontal,
'╠' => Glyph::BoxDrawingsDoubleVerticalAndRight,
'═' => Glyph::BoxDrawingsDoubleHorizontal,
'╬' => Glyph::BoxDrawingsDoubleVerticalAndHorizontal,
'¤' => Glyph::CurrencySign,
'ð' => Glyph::LatinSmallLetterEth,
'Ð' => Glyph::LatinCapitalLetterEth,
'Ê' => Glyph::LatinCapitalLetterEWithCircumflex,
'Ë' => Glyph::LatinCapitalLetterEWithDiaeresis,
'È' => Glyph::LatinCapitalLetterEWithGrave,
'ı' => Glyph::LatinSmallLetterDotlessI,
'Í' => Glyph::LatinCapitalLetterIWithAcute,
'Î' => Glyph::LatinCapitalLetterIWithCircumflex,
'Ï' => Glyph::LatinCapitalLetterIWithDiaeresis,
'┘' => Glyph::BoxDrawingsLightUpAndLeft,
'┌' => Glyph::BoxDrawingsLightDownAndRight,
'█' => Glyph::FullBlock,
'▄' => Glyph::LowerHalfBlock,
'¦' => Glyph::BrokenBar,
'Ì' => Glyph::LatinCapitalLetterIWithGrave,
'▀' => Glyph::UpperHalfBlock,
'Ó' => Glyph::LatinCapitalLetterOWithAcute,
'ß' => Glyph::LatinSmallLetterSharpS,
'Ô' => Glyph::LatinCapitalLetterOWithCircumflex,
'Ò' => Glyph::LatinCapitalLetterOWithGrave,
'õ' => Glyph::LatinSmallLetterOWithTilde,
'Õ' => Glyph::LatinCapitalLetterOWithTilde,
'µ' => Glyph::MicroSign,
'þ' => Glyph::LatinSmallLetterThorn,
'Þ' => Glyph::LatinCapitalLetterThorn,
'Ú' => Glyph::LatinCapitalLetterUWithAcute,
'Û' => Glyph::LatinCapitalLetterUWithCircumflex,
'Ù' => Glyph::LatinCapitalLetterUWithGrave,
'ý' => Glyph::LatinSmallLetterYWithAcute,
'Ý' => Glyph::LatinCapitalLetterYWithAcute,
'¯' => Glyph::Macron,
'´' => Glyph::AcuteAccent,
'\u{00ad}' => Glyph::SoftHyphen,
'±' => Glyph::PlusMinusSign,
'‗' => Glyph::DoubleLowLine,
'¾' => Glyph::VulgarFractionThreeQuarters,
'¶' => Glyph::PilcrowSign,
'§' => Glyph::SectionSign,
'÷' => Glyph::DivisionSign,
'¸' => Glyph::Cedilla,
'°' => Glyph::DegreeSign,
'¨' => Glyph::Diaeresis,
'·' => Glyph::MiddleDot,
'¹' => Glyph::SuperscriptOne,
'³' => Glyph::SuperscriptThree,
'²' => Glyph::SuperscriptTwo,
'■' => Glyph::BlackSquare,
'\u{00a0}' => Glyph::NoBreakSpace,
'☺' => Glyph::SOH,
'☻' => Glyph::STX,
'♥' => Glyph::ETX,
'♦' => Glyph::EOT,
'♣' => Glyph::ENQ,
'♠' => Glyph::ACK,
'•' => Glyph::BEL,
'◘' => Glyph::BS,
'○' => Glyph::HT,
'◙' => Glyph::LF,
'♂' => Glyph::VT,
'♀' => Glyph::FF,
'♪' => Glyph::CR,
'♫' => Glyph::SO,
'☼' => Glyph::SI,
'►' => Glyph::DLE,
'◄' => Glyph::DC1,
'↕' => Glyph::DC2,
'‼' => Glyph::DC3,
'▬' => Glyph::SYN,
'↨' => Glyph::ETB,
'↑' => Glyph::CAN,
'↓' => Glyph::EM,
'→' => Glyph::SUB,
'←' => Glyph::Escape,
'∟' => Glyph::FS,
'↔' => Glyph::GS,
'▲' => Glyph::RS,
'▼' => Glyph::US,
_ => Glyph::QuestionMark,
}
}
pub fn from_byte(byte: u8) -> Glyph {
unsafe { ::core::mem::transmute(byte) }
}
pub fn pixels(self, row: usize) -> u8 {
let index = ((self as usize) * FONT_HEIGHT) + row;
FONT_DATA[index]
}
}