forked from csev/py4e
-
-
Notifications
You must be signed in to change notification settings - Fork 5
/
soa.eps
1439 lines (1386 loc) · 66.4 KB
/
soa.eps
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
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
%!PS-Adobe-3.0 EPSF-3.0
%%HiResBoundingBox: 0.000000 0.000000 488.000000 326.000000
%APL_DSC_Encoding: UTF8
%APLProducer: (Version 10.15.5 (Build 19F101) Quartz PS Context)
%%Title: (Unknown)
%%Creator: (Unknown)
%%CreationDate: (Unknown)
%%For: (Unknown)
%%DocumentData: Clean7Bit
%%LanguageLevel: 2
%%Pages: 1
%%BoundingBox: 0 0 488 326
%%EndComments
%%BeginProlog
%%BeginFile: cg-pdf.ps
%%Copyright: Copyright 2000-2004 Apple Computer Incorporated.
%%Copyright: All Rights Reserved.
currentpacking true setpacking
/cg_md 141 dict def
cg_md begin
/L3? languagelevel 3 ge def
/bd{bind def}bind def
/ld{load def}bd
/xs{exch store}bd
/xd{exch def}bd
/cmmtx matrix def
mark
/sc/setcolor
/scs/setcolorspace
/dr/defineresource
/fr/findresource
/T/true
/F/false
/d/setdash
/w/setlinewidth
/J/setlinecap
/j/setlinejoin
/M/setmiterlimit
/i/setflat
/rc/rectclip
/rf/rectfill
/rs/rectstroke
/f/fill
/f*/eofill
/sf/selectfont
/s/show
%/as/ashow
/xS/xshow
/yS/yshow
/xyS/xyshow
/S/stroke
/m/moveto
/l/lineto
/c/curveto
/h/closepath
/n/newpath
/q/gsave
/Q/grestore
counttomark 2 idiv
%dup (number of ld's = )print == flush % *** how many
{ld}repeat pop
/SC{ % CSname
/ColorSpace fr scs
}bd
/sopr /setoverprint where{pop/setoverprint}{/pop}ifelse ld
/soprm /setoverprintmode where{pop/setoverprintmode}{/pop}ifelse ld
/cgmtx matrix def
/sdmtx{cgmtx currentmatrix pop}bd
/CM {cgmtx setmatrix}bd % pop the ctm: our gstate ctm on host is now identity
/cm {cmmtx astore CM concat}bd % reset the matrix and then concat
/W{clip newpath}bd
/W*{eoclip newpath}bd
statusdict begin product end dup (HP) anchorsearch{
pop pop pop % pop off the search results
true
}{
pop % previous search result
(hp) anchorsearch{
pop pop true
}{
pop false
}ifelse
}ifelse
{ % HP is the product: we use this method of stroking because of a bug in their clone printers with certain T3 fonts
{
{ % charCode Wx Wy
pop pop % charCode
(0)dup 0 4 -1 roll put
F charpath
}cshow
}
}{
{F charpath}
}ifelse
/cply exch bd
/cps {cply stroke}bd
/pgsave 0 def
/bp{/pgsave save store}bd
/ep{pgsave restore showpage}def % dont' bind
/re{4 2 roll m 1 index 0 rlineto 0 exch rlineto neg 0 rlineto h}bd
/scrdict 10 dict def
/scrmtx matrix def
/patarray 0 def
/createpat{patarray 3 1 roll put}bd
/makepat{
scrmtx astore pop
gsave
initgraphics
CM
patarray exch get
scrmtx
makepattern
grestore
setpattern
}bd
/cg_BeginEPSF{
userdict save/cg_b4_Inc_state exch put
userdict/cg_endepsf/cg_EndEPSF load put
count userdict/cg_op_count 3 -1 roll put
countdictstack dup array dictstack userdict/cg_dict_array 3 -1 roll put
3 sub{end}repeat
/showpage {} def
0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin
10 setmiterlimit [] 0 setdash newpath
false setstrokeadjust false setoverprint % don't use F
}bd
/cg_EndEPSF{
countdictstack 3 sub { end } repeat
cg_dict_array 3 1 index length 3 sub getinterval
{begin}forall
count userdict/cg_op_count get sub{pop}repeat
userdict/cg_b4_Inc_state get restore
F setpacking
}bd
/cg_biproc{currentfile/RunLengthDecode filter}bd
/cg_aiproc{currentfile/ASCII85Decode filter/RunLengthDecode filter}bd
/ImageDataSource 0 def
L3?{
/cg_mibiproc{pop pop/ImageDataSource{cg_biproc}def}bd
/cg_miaiproc{pop pop/ImageDataSource{cg_aiproc}def}bd
}{
/ImageBandMask 0 def
/ImageBandData 0 def
/cg_mibiproc{
string/ImageBandMask xs
string/ImageBandData xs
/ImageDataSource{[currentfile/RunLengthDecode filter dup ImageBandMask/readstring cvx
/pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd
}bd
/cg_miaiproc{
string/ImageBandMask xs
string/ImageBandData xs
/ImageDataSource{[currentfile/ASCII85Decode filter/RunLengthDecode filter
dup ImageBandMask/readstring cvx
/pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd
}bd
}ifelse
/imsave 0 def
/BI{save/imsave xd mark}bd
/EI{imsave restore}bd
/ID{
counttomark 2 idiv
dup 2 add % leave room for imagetype and imagematrix
dict begin
{def} repeat
pop % remove mark
/ImageType 1 def
/ImageMatrix[Width 0 0 Height neg 0 Height]def
currentdict dup/ImageMask known{ImageMask}{F}ifelse exch
% currentdict on stack
L3?{
dup/MaskedImage known
{
pop
<<
/ImageType 3
/InterleaveType 2
/DataDict currentdict
/MaskDict
<< /ImageType 1
/Width Width
/Height Height
/ImageMatrix ImageMatrix
/BitsPerComponent 1
/Decode [0 1]
currentdict/Interpolate known
{/Interpolate Interpolate}if
>>
>>
}if
}if
exch
{imagemask}{image}ifelse
end % pop imagedict from dict stack
}bd
/cguidfix{statusdict begin mark version end
{cvr}stopped{cleartomark 0}{exch pop}ifelse
2012 lt{dup findfont dup length dict begin
{1 index/FID ne 2 index/UniqueID ne and
{def} {pop pop} ifelse}forall
currentdict end definefont pop
}{pop}ifelse
}bd
/t_array 0 def
/t_i 0 def
/t_c 1 string def
/x_proc{ % x y
exch t_array t_i get add exch moveto
/t_i t_i 1 add store
}bd
/y_proc{ % x y
t_array t_i get add moveto
/t_i t_i 1 add store
}bd
/xy_proc{
% x y
t_array t_i 2 copy 1 add get 3 1 roll get
4 -1 roll add 3 1 roll add moveto
/t_i t_i 2 add store
}bd
/sop 0 def % don't bind sop
/cp_proc/x_proc ld % default moveto proc is for xwidths only
/base_charpath % string array
{
/t_array xs
/t_i 0 def
{ % char
t_c 0 3 -1 roll put
currentpoint
t_c cply sop
cp_proc
}forall
/t_array 0 def
}bd
/sop/stroke ld % default sop is stroke. Done here so we don't bind in /base_charpath
% default sop is stroke
/nop{}def
/xsp/base_charpath ld
/ysp{/cp_proc/y_proc ld base_charpath/cp_proc/x_proc ld}bd
/xysp{/cp_proc/xy_proc ld base_charpath/cp_proc/x_proc ld}bd
/xmp{/sop/nop ld /cp_proc/x_proc ld base_charpath/sop/stroke ld}bd
/ymp{/sop/nop ld /cp_proc/y_proc ld base_charpath/sop/stroke ld}bd
/xymp{/sop/nop ld /cp_proc/xy_proc ld base_charpath/sop/stroke ld}bd
/refnt{ % newname encoding fontname
findfont dup length dict copy dup
/Encoding 4 -1 roll put
definefont pop
}bd
/renmfont{ % newname fontname
findfont dup length dict copy definefont pop
}bd
L3? dup dup{save exch}if
% languagelevel2 ONLY code goes here
/Range 0 def
/DataSource 0 def
/val 0 def
/nRange 0 def
/mulRange 0 def
/d0 0 def
/r0 0 def
/di 0 def
/ri 0 def
/a0 0 def
/a1 0 def
/r1 0 def
/r2 0 def
/dx 0 def
/Nsteps 0 def
/sh3tp 0 def
/ymax 0 def
/ymin 0 def
/xmax 0 def
/xmin 0 def
/setupFunEval % funDict -- % this calculates and sets up a function dict for evaulation.
{
begin
/nRange Range length 2 idiv store
/mulRange % precompute the range data needed to map a sample value from the table to a range value
% this data looks like [ range0mul range0min range1mul range1min ... rangeN-1mul rangeN-1min ]
[
0 1 nRange 1 sub
{ % index
2 mul/nDim2 xd % 2*dimension# we are dealing with
Range nDim2 get % ymin
Range nDim2 1 add get % ymin ymax
1 index sub % ymin (ymax-ymin)
% xmin = 0, xmax = 255 (2^bitspersample - 1)
255 div % ymin (ymax-ymin)/(xmax - xmin)
exch % (ymax-ymin)/(xmax - xmin) ymin
}for
]store
end
}bd
/FunEval % val1 fundict -> comp1 comp2 ... compN
{
begin
% the value passed in is the base index into the table
nRange mul /val xd % compute the actual index to the table
% since there are nRange entries per base index
0 1 nRange 1 sub
{
dup 2 mul/nDim2 xd % dim
val % base value to use to do our lookup
add DataSource exch get % lookedupval
mulRange nDim2 get mul % lookedupval*(ymax-ymin)/(xmax-xmin)
mulRange nDim2 1 add get % lookedupval*(ymax-ymin)/(xmax-xmin) ymin
add % interpolated result
}for % comp1 comp2 ... compN
end
}bd
/max % a b -> max(a, b)
{
2 copy lt
{exch pop}{pop}ifelse
}bd
/sh2
{ % emulation of shading type 2. Assumes shading dictionary is top dictionary on the dict stack
/Coords load aload pop % x0 y0 x1 y1
3 index 3 index translate % origin is now at beginning point of shading
% x0 y0 x1 y1
3 -1 roll sub % x0 x1 y1-y0
3 1 roll exch % y1-y0 x1 x0
sub % y1-y0 x1-x0
2 copy
dup mul exch dup mul add sqrt % length of segment between two points
dup
scale
atan % atan (dy/dx)
%dup (rotation angle = )print ==
rotate % now line between 0,0 and 1,0 is the line perpendicular to which the axial lines are drawn
/Function load setupFunEval % may need to setup function dictionary by calling setupFunEval
% this is now specific to axial shadings. Compute the maximum bounds to fill
clippath {pathbbox}stopped {0 0 0 0}if newpath % x0 y0 x1 y1
/ymax xs
/xmax xs
/ymin xs
/xmin xs
currentdict/Extend known
{
/Extend load 0 get
{
0/Function load FunEval sc % evaluate the function to get a color and set it
xmin ymin xmin abs ymax ymin sub rectfill
}if
}if
% paint the rects. The sampling frequency is that of our table
/Nsteps/Function load/Size get 0 get 1 sub store
/dx 1 Nsteps div store
gsave
/di ymax ymin sub store
/Function load
% loop Nsteps + 1 times, incrementing the index by 1 each time
0 1 Nsteps
{
1 index FunEval sc
0 ymin dx di rectfill
dx 0 translate
}for
pop % pop our function
grestore % origin is back to start point
currentdict/Extend known
{
/Extend load 1 get
{
Nsteps/Function load FunEval sc % last element
1 ymin xmax 1 sub abs ymax ymin sub rectfill
}if
}if
}bd
/shp % this paints our shape for shading type 3
{ % x1 r1 x0 r0 -
4 copy
% fill interior arc
dup 0 gt{
0 exch a1 a0 arc
}{
pop 0 moveto
}ifelse
dup 0 gt{
0 exch a0 a1 arcn
}{
pop 0 lineto
}ifelse
fill
% fill exterior arc
dup 0 gt{
0 exch a0 a1 arc
}{
pop 0 moveto
}ifelse
dup 0 gt{
0 exch a1 a0 arcn
}{
pop 0 lineto
}ifelse
fill
}bd
/calcmaxs
{ % calculate maximum distance vector from origin to corner points
% of bbox
xmin dup mul ymin dup mul add sqrt % (xmin2 + ymin2)
xmax dup mul ymin dup mul add sqrt % (xmax2 + ymin2)
xmin dup mul ymax dup mul add sqrt % (xmin2 + ymax2)
xmax dup mul ymax dup mul add sqrt % (xmax2 + ymax2)
max max max % maximum value
}bd
/sh3
{ % emulation of shading type 3. Assumes shading dictionary is top dictionary on the dict stack
/Coords load aload pop % x0 y0 r1 x1 y1 r2
5 index 5 index translate % origin is now at first circle origin
3 -1 roll 6 -1 roll sub % y0 r1 y1 r2 dx
3 -1 roll 5 -1 roll sub % r1 r2 dx dy
2 copy dup mul exch dup mul add sqrt
/dx xs % r1 r2 dx dy
2 copy 0 ne exch 0 ne or
{
% r1 r2 dx dy
exch atan rotate % we are now rotated so dy is zero and positive values of dx move us as expected
}{
pop pop
}ifelse
% r1 r2
/r2 xs
/r1 xs
/Function load
dup/Size get 0 get 1 sub % this is the size of our table minus 1
/Nsteps xs % at some point we should optimize this better so NSteps is based on needed steps for the device
setupFunEval % may need to setup function dictionary by calling setupFunEval
% determine the case:
% case 0: circle1 inside circle2
% case 1: circle 2 inside circle 1
% case 2: r1 = r2
% case 3: r1 != r2
dx r2 add r1 lt{
% circle 2 inside of circle 1
0
}{
dx r1 add r2 le
{ % circle 1 inside of circle 2
1
}{ % circles don't contain each other
r1 r2 eq
{ % equal
2
}{ % r1 != r2
3
}ifelse
}ifelse
}ifelse
/sh3tp xs % sh3tp has the number of our different cases
clippath {pathbbox}stopped {0 0 0 0}if
newpath % x0 y0 x1 y1
/ymax xs
/xmax xs
/ymin xs
/xmin xs
% Arc angle atan( sqrt((dx*dx + dy*dy) - dr*dr), dr)
dx dup mul r2 r1 sub dup mul sub dup 0 gt
{
sqrt r2 r1 sub atan
/a0 exch 180 exch sub store
/a1 a0 neg store
}{
pop
/a0 0 store
/a1 360 store
}ifelse
currentdict/Extend known
{
/Extend load 0 get r1 0 gt and % no need to extend if the radius of the first end is 0
{
0/Function load FunEval sc % evaluate the function to get a color and set it
% case 0: circle1 inside circle2
% case 1: circle 2 inside circle 1
% case 2: circles don't contain each other and r1 == r2
% case 3: circles don't contain each other and r1 != r2
{
{ % case 0
dx 0 r1 360 0 arcn
xmin ymin moveto
xmax ymin lineto
xmax ymax lineto
xmin ymax lineto
xmin ymin lineto
eofill % for the bigger radius we fill everything except our circle
}
{ % case 1
r1 0 gt{0 0 r1 0 360 arc fill}if
}
{ % case 2
% r1 == r2, extend 0
% r3 = r, x3 = -(abs(minx) + r), x1 = 0
% x(i+1) r(i+1) x(i) r(i) shp
0 r1 xmin abs r1 add neg r1 shp
}
{ % case 3
% no containment, r1 != r2
r2 r1 gt{ % the endpoint we are drawing is that with a circle of zero radius
% x(i+1) r(i+1) x(i) r(i) shp
0 r1
r1 neg r2 r1 sub div dx mul % this is point of beginning circle
0 % point of ending circle
shp % takes x(i+1) r(i+1) x(i) r(i)
}{ % the first circle is the bigger of the two
% we find a circle on our line which is outside the bbox in the
% negative direction
% x(i+1) r(i+1) x(i) r(i) shp
0 r1 calcmaxs % 0 r1 maxs
dup
% calculating xs: (-(maxs+r2)*x2)/(x2-(r1-r2))
r2 add dx mul dx r1 r2 sub sub div
neg % maxs xs'
exch 1 index % xs' maxs xs'
abs exch sub
shp
}ifelse
}
}sh3tp get exec % execute the extend at beginning proc for our shading type
}if
}if
% now do the shading
/d0 0 store
/r0 r1 store
/di dx Nsteps div store
/ri r2 r1 sub Nsteps div store
/Function load
0 1 Nsteps
{ % function t(i)
1 index FunEval sc
d0 di add r0 ri add d0 r0 shp
{
% fill interior arc
d0 0 r0 a1 a0 arc
d0 di add 0 r0 ri add a0 a1 arcn
fill
% fill exterior arc
d0 0 r0 a0 a1 arc
d0 di add 0 r0 ri add a1 a0 arcn
fill
}pop
% advance to next
/d0 d0 di add store
/r0 r0 ri add store
}for
pop % pop our function dict
% handle Extend
currentdict/Extend known
{
/Extend load 1 get r2 0 gt and % no need to extend if the radius of the last end is 0
{
Nsteps/Function load FunEval sc % last element
% case 0: circle1 inside circle2
% case 1: circle 2 inside circle 1
% case 2: circles don't contain each other and r1 == r2
% case 3: circles don't contain each other and r1 != r2
{
{
dx 0 r2 0 360 arc fill
}
{
dx 0 r2 360 0 arcn
xmin ymin moveto
xmax ymin lineto
xmax ymax lineto
xmin ymax lineto
xmin ymin lineto
eofill % for the bigger radius we fill everything except our circle
}
{ % r1 == r2, extend 1
% r3 = r, x3 = (abs(xmax) + r), x1 = dx
% x(i+1) r(i+1) x(i) r(i) shp
xmax abs r1 add r1 dx r1 shp
}
{ % no containment, r1 != r2
r2 r1 gt{
% we find a circle on our line which is outside the bbox in the
% positive direction
% x(i+1) r(i+1) x(i) r(i) shp
calcmaxs dup % maxs maxs
% calculating xs: ((maxs+r1)*x2)/(x2-(r2-r1))
r1 add dx mul dx r2 r1 sub sub div % maxs xs
exch 1 index % xs maxs xs
exch sub
dx r2
shp
}{ % the endpoint we are drawing is that with a circle of zero radius
% x(i+1) r(i+1) x(i) r(i) shp
r1 neg r2 r1 sub div dx mul % this is point of ending circle
0 % radius of ending circle
dx % point of starting circle
r2 % radius of starting circle
shp
}ifelse
}
}
sh3tp get exec % execute the extend at end proc for our shading type
}if
}if
}bd
/sh % emulation of shfill operator for type 2 and type 3 shadings based on type 0 functions
{ % shadingDict --
begin
/ShadingType load dup dup 2 eq exch 3 eq or
{ % shadingtype
gsave
newpath
/ColorSpace load scs
currentdict/BBox known
{
/BBox load aload pop % llx lly urx ury
2 index sub % llx lly urx ury-lly
3 index % llx lly urx ury-lly llx
3 -1 roll exch sub
exch rectclip
}if
2 eq
{sh2}{sh3}ifelse
grestore
}{
% shadingtype
pop
(DEBUG: shading type unimplemented\n)print flush
}ifelse
end
}bd
% end of language level 2 ONLY code
{restore}if not dup{save exch}if
% languagelevel3 ONLY code goes here
L3?{ % we do these loads conditionally or else they will fail on a level 2 printer
/sh/shfill ld
/csq/clipsave ld
/csQ/cliprestore ld
}if
{restore}if
%currentdict dup maxlength exch length sub (number of extra slots in md = )print == flush % *** how many entries are free
end
setpacking
% count 0 ne { pstack(***extras on stack during prolog execution***\n)print flush}if % *** BARK if anything is left on stack
%%EndFile
%%EndProlog
%%BeginSetup
%%EndSetup
%%Page: 1 1
%%PageBoundingBox: 0 0 488 326
%%BeginPageSetup
cg_md begin
bp
sdmtx
%RBIBeginFontSubset: HelveticaNeue
%!FontType1-1.0: HelveticaNeue 1.0000.1.0000
14 dict begin
/FontName /HelveticaNeue def
/PaintType 0 def
/Encoding 256 array 0 1 255 {1 index exch/.notdef put} for
dup 33 /U put
dup 34 /s put
dup 35 /lslash put
dup 36 /u put
dup 37 /g put
dup 38 /a put
dup 39 /space put
dup 40 /w put
dup 41 /y put
dup 42 /p put
dup 43 /o put
dup 44 /zdotaccent put
dup 45 /c put
dup 46 /z put
dup 47 /n put
dup 48 /i put
dup 49 /m put
dup 50 /h put
dup 51 /d put
dup 52 /oacute put
dup 53 /r put
dup 54 /e put
dup 55 /j put
dup 56 /t put
dup 57 /l put
dup 58 /A put
dup 59 /k put
dup 60 /P put
dup 61 /I put
readonly def
42/FontType resourcestatus{pop pop false}{true}ifelse
%APLsfntBegin
{currentfile 0(%APLsfntEnd\n)/SubFileDecode filter flushfile}if
/FontType 42 def
/FontMatrix matrix def
/FontBBox[1000 -951 1 index div -481 2 index div 1987 3 index div 1077 5 -1 roll div]cvx def
/sfnts [<
74727565000900000000000063767420000000000000009C000000186670676D00000000000000B400000428676C796600000000000004DC000014E46865616400000000000019C0000000366868656100000000000019F800000024686D74780000000000001A1C000000846C6F63610000000000001AA0000000446D6178700000000000001AE400000020707265700000000000001B040000004D14000014004B005A00000011FF3A000B0205000C02CA0011B800002C4BB800095058B101018E59B801FF85B844001DB9000900035F5E2DB800012C2020456944B001602DB800022CB800012A212DB800032C2046B003254652582359208A208A49648A204620686164B004254620686164525823658A592F20B00053586920B000545821B040591B6920B000545821B0406559593A2DB800042C2046B00425465258238A592046206A6164B0042546206A61645258238A592FFD2DB800052C4B20B0032650585158B080441BB04044591B21212045B0C05058B0C0441B2159592DB800062C2020456944B001602020457D691844B001602DB800072CB800062A2DB800082C4B20B003265358B0801BB040598A8A20B003265358B0022621B0C08A8A1B8A235920B0032653582321B801008A8A1B8A235920B80003265358B0032545B8014050582321B8014023211BB003254523212321591B2159442DB800092C4B535845441B2121592DB8000A2C4BB800095058B101018E59B801FF85B800441DB9000900035F5E2DB8000B2C2020456944B001602DB8000C2CB8000B2A212DB8000D2C2046B003254652582359208A208A49648A204620686164B004254620686164525823658A592F20B00053586920B000545821B040591B6920B000545821B0406559593A2DB8000E2C2046B00425465258238A592046206A6164B0042546206A61645258238A592FFD2DB8000F2C4B20B0032650585158B080441BB04044591B21212045B0C05058B0C0441B2159592DB800102C2020456944B001602020457D691844B001602DB800112CB800102A2DB800122C4B20B003265358B0801BB040598A8A20B0032653582321B0C08A8A1B8A235920B0032653582321B801008A8A1B8A235920B0032653582321B801408A8A1B8A235920B80003265358B0032545B8018050582321B8018023211BB003254523212321591B2159442DB800132C4B535845441B2121592DB800142C4BB800095058B101018E59B801FF85B800441DB9000900035F5E2DB800152C2020456944B001602DB800162CB800152A212DB800172C2046B003254652582359208A208A49648A204620686164B004254620686164525823658A592F20B00053586920B000545821B040591B6920B000545821B0406559593A2DB800182C2046B00425465258238A592046206A6164B0042546
206A61645258238A592FFD2DB800192C4B20B0032650585158B080441BB04044591B21212045B0C05058B0C0441B2159592DB8001A2C2020456944B001602020457D691844B001602DB8001B2CB8001A2A2DB8001C2C4B20B003265358B0401BB000598A8A20B0032653582321B0808A8A1B8A235920B0032653582321B800C08A8A1B8A235920B0032653582321B801008A8A1B8A235920B0032653582321B801408A8A1B8A235920B80003265358B0032545B8018050582321B8018023211BB003254523212321591B2159442DB8001D2C4B535845441B2121592D00020033000101CC02C8000300070061B800142BB800082FB800002FB8000810B80006D0B800062FB900020003F4B8000010B900040003F400B800014558B800042F1BB90004000A3E59B800014558B800052F1BB9000500043E59B8000410B900000002F4B8000510B900020002F4303101211121131121110199FECD013333FE67029AFD950299FD3902C70002FFFA0000029002CA0003000B002500B800042FB800052FB800092FBA0000000700032BB8000010BA00020005000411123930311B0133130301333721173301C9790277ABFEEA6150012E4E69FEE90127014DFEB301A3FD36D7D702CA000000010052000000B102CA00030017BA0003000000032BB800031000B800012FB800002F303113113311525F02CAFD3602CA0000000002004E0000026202CA000800130089B800152FBA0001000900032BB8000110B8001510B80010DCB80005DC410500DA000500EA000500025D411B0009000500190005002900050039000500490005005900050069000500790005008900050099000500A9000500B9000500C90005000D5DB8000110B8000BD000B8000A2FBA0009000100032BB8000910BA0000000C00032BB800001030311311333216151406270111331133163635342623ADBA514B4B51FEE75FDA6C6F6F6C0174010643404044010156FD360124017064646F000001004AFFF0028802CA0011002FBA000A000B00032BB8000A10BA0001000200032BB800011000B800012FB8000A2FBA0006000F00032BB8000610303101112311140623222635112311141633323602885F5F5B60665F9B8A8792010201C8FE386063636001C8FE388F838900020024FFF5020A02110030004200A0B800142BBB00380003000D00182BBB002A0003001700182BB8001710B80005D0B800052FB8003810B900200003F4B9001F0003F4B8001710B900300003F4B8001710B80031D0B800312F00B800014558B800252F1BB9002500083E59B800014558B800022F1BB9000200043E59B800014558B800082F1BB9000800043E59B8002510B9001C0002F4B8002510B8001FDCB8000210B9002E0002F4B8003DD030312506232226350E0123222E0235343E02373E0335342E0223
220607233E0333321E0215111416333237270E0515141E0233323E0235020A16272127235D36233F2E1B1E313F21233F301C152129143648035502243C4D2C2345382207140B0F8A1034393A2E1D111B24142A3C2612020D252A2A25102237272C3823120607070D19181C2212062939304229120A1F382DFEF61E1C05C70C0B0709142520151D12081723291200000000010024FFF501FA021100230079BA001C000B00032BB8001C10411B0006001C0016001C0026001C0036001C0046001C0056001C0066001C0076001C0086001C0096001C00A6001C00B6001C00C6001C000D5D410500D5001C00E5001C00025D00BA0017001000032BB8001710BA0006002100032BB8000610B80000DCB8001010B80014DC303101332E0323220E0215141E0233323637230E0123222E0235343E02333216019F5805263B4D2C3D5C3D1E1F3D5B3B63730E5708473F283A241110253E2E3640015F2E432C152B4B653A3A61462668603C4220354424274938223600000000020024FFF5020E02CA0013002C00BBB8002D2FBA0015001600032BB8001510B8002D10B80022D0B800222FB80000DC411B0006000000160000002600000036000000460000005600000066000000760000008600000096000000A6000000B6000000C60000000D5D410500D5000000E5000000025DB8001610B8000AD0B8000A2FB8001610B80018D0B800182FB8001610B8002AD0B8002A2FBA002B00220015111239B8001610B8002CD000B800152FBA000F002700032BB8000F10BA001D000500032BB8001D10303137343E0233321E0215140E0223222E0205112311232E0323220E0215141E023332363733157E10243C2B2C3E271211263C2B293D2713019055020E292E2E143B593B1D1E3B593C365A1502FE264838222136472624463722203645DA02CAFEF6171F13082B49623737624A2C262B46000000020024FFF502030211000A0026005BBA0014001F00032BB8001410BA0015000000032BB8001510B8001410B80001D0B8000010B8000CD0B8000C2F00BA000F002400032BB8000F10BA001A000600032BB8001A10BA0001001400032BB8000110B8002410B8000CDC303101213E0333321E0217230E0123222E023721362E0223220E02151E0333323601A7FED702162635212035271754540B45362A3E28120101830215375B4535594124021F3E5B3E587401341E352817172736AE33321C2F3D222F6858392848623B3B6448285800020024FF2F01FE02110028003C00BDBA002E000C00032BB8002E10BA0001000200032BB8000110B8000210B80038D0B800382FBA000400020038111239B8000210B80015D0411B0006002E0016002E0026002E0036002E0046002E0056002E0066002E0076002E0086002E0096002E00A6002E00B6002E00C6002E000D5D41
0500D5002E00E5002E00025DBA0021000C002E111239B800212FB80020DCB8000110B8003EDC00BA001B002600032BB8001B10BA0007003300032BB8000710BA0029001100032BB8002910303125112315232E0123220E0215141E02333236373315140E0223222E0227231E0333323627222E0235343E0233321E0215140E0201FE5001175231435C38181D3A563A3259160211263A2A152E271B015502283D4B247C74EE2A38220E11253A292838231011243B2C01D94A2B2B334F612E355F472A2D30222B48331D091420172A3A24107E98233946232544341F20354222244839230000010040000001EC02CA001A0051BA001A000000032BB8001A10BA000E000B00032BB8000E10B8001A10B80002D0B8001A10B80018D0B800182F00B800002FB800012FB8000C2FBA0013000800032BB8001310BA001900010000111239303113113311343E0233321615113311342E0223220E02072311405513263927313855112A443317312D240A0202CAFD360124233B2C183830FEA201542A45321C0A1521180111000200450000009A02CA00030007002FBA0001000200032BB8000110B8000210B80004D0B8000110B80006D000B800052FBA0001000000032BB800011030311335231D011133119A5555026268685DFDFB0205000002FFF3FF3B009A02CA000300130037BA0004000E00032BB8000410B80000D0B8000410B80002DCB80006D000BA000A001100032BB8000A10BA0001000000032BB80001103031133523151311231114062B0122262715163332369A555555141C120407051417394302626868FD5D0246FDC8281F010149043F0000000100450000020702CA000B0033BA000B000000032BB8000B10B80002D000B800012FB800052FB800002FBA000800010000111239BA000A000100001112393031131133353713330337230711455550B16CDCCD72EC02CAFD36C44AFEF20149BCE201A7000100450000009A02CA00030017BA0003000000032BB800031000B800012FB800002F303113113311455502CAFD3602CA00000000010040000003150211002A00B7BA0003000000032BB8000310B8000DDC4103005F000D00015D4103008F000D00015D41030020000D00015D410300B0000D00015DB80010DCB80018DC4103008F001800015D4103005F001800015D41030020001800015D410300B0001800015DB8001BDCBA0023000D0010111239B8000310B80028D0B800282FBA002900000003111239B8001B10B8002CDC00B800012FB8000E2FB800192FBA0026000800032BB8002610B8000810B80013D0B8002610B80020D0303113113311343E0233321E0215113311343633321E0215113311342E02232206072E01232207233540550F2135251D25160955483F1F27160855192D3F2733551A104E306D3A020205FDFB01
420F2D2A1E111F2A19FEAD01423C48121F2A18FEAD017B283924112E2A3028584C00000000010040000001EC021100170045BA0003000000032BB8000310BA000E000B00032BB8000E10B8000310B80015D0B800152FBA00160000000311123900B800012FB8000C2FBA0013000800032BB8001310303113113311343E0233321615113311342E022322072335405513263927313855112A44337335020205FDFB0124233B2C183830FEA201542A45321C5E520000020024FFF5021A02110013002700CBB800282FB800292FB8002810B80014D0B800142FB80000DC411B0006000000160000002600000036000000460000005600000066000000760000008600000096000000A6000000B6000000C60000000D5D410500D5000000E5000000025DB8002910B8001EDCB8000ADC410500DA000A00EA000A00025D411B0009000A0019000A0029000A0039000A0049000A0059000A0069000A0079000A0089000A0099000A00A9000A00B9000A00C9000A000D5D00BA000F001900032BB8000F10BA0023000500032BB8002310303113343E0233321E0215140E0223222E0227141E0233323E0235342E0223220E027E192C3B21213B2C19192C3B21213B2C195A20405E3D3E5D402020405D3E3D5E402001022F49321A1A32492F2F49311A1A31492F39624929294962393963492A2A4963000000020043FF3B022D02110018002C00ADB8002E2FBA0018000000032BB8001810B80002D0B8001810B80004D0B800042FB8002E10B8000EDCB8001810B80016D0B800162FB8000E10B80019DC410500DA001900EA001900025D411B0009001900190019002900190039001900490019005900190069001900790019008900190099001900A9001900B9001900C90019000D5DB8001810B80023D0B800232F00B800012FBA0013002800032BB8001310BA001E000900032BB8001E10303113113311331E0333323E0235342E0223220607233505140E0223222E0235343E0233321E024355020E292E2F133B593B1D1E3B593C365A1502013B10243B2C2C3E271211263C2B293D27130205FD36010A171F12082A49623737624B2C272B46FE2648382221364726244637222036450000000001003D0000014D0213000E0027BA0003000100032BB8000310B8000DD0B8000D2F00B800012FBA0009000800032BB8000910303113113335343E02333526060723353D55142C4833455A1F020205FDFBE6324D361C5A023C3F6D000001001FFFF501D60211003A00ABBA0000000100032BBA0020001F00032BB8002010BA0031001F0020111239B800312F410500DA003100EA003100025D411B0009003100190031002900310039003100490031005900310069003100790031008900310099003100A9003100B9003100C90031000D5DB8000BDCB8000010B800
2ADCB80015DCB8000B10B8003CDC00BA0036000600032BB8003610BA0025001A00032BB8002510B8000610B80000DCB8002510B8001FDC303137231E0333323E0235342E02272E0335343E0233321E0217332E0323220E0215141E0415140E0223222E02745502243C4E2B274F3F271D2F3D201E3C301F142027131529221602550322394A2C22453723324B584B3218252C141A312718A3304329120F263E2F2532211407070D131D1614190F06091421192F3F250F1123382732381F11152221181F10060A1727000100090000011D02A00017005BBA0001000200032BB8000110B8000210B80006D0B8000310B80007D0B8000210B80017DCB8000DD0B8000110B80014D000B800012FBA000F000C00032BB8000F10BA0004000500032BB8000410B80000D0B8000510B80015D030311335231523153311141E023B013523222E0235113335B65558580E1D2F21412714190E056702059B9B4BFEB7242C18094B030A120F01414B00000000010040FFF501EC020500180051BA000C000D00032BB8000C10BA0001000200032BB8000110B8000210B80016D0B800162FBA001700020001111239B8000210B80018D0B800182F00B800012FB8000C2FBA0008001300032BB8000810303121112311140E0223222635112311141E0233323637331501EC5513263927313855112A443339541B020205FEDC233B2C183830015EFEAC2A45321B2D305200000000010011000002E50205000F003500B800012FB800052FB800092FB800002FB8000B2FBA000400000001111239BA000800000001111239BA000E000000011112393031211323032303230323032313331333130240A55874026C5D6802755EA65C6802690205FE5901A7FE5901A7FDFB019BFE6500010008FF3101EC020500160040B800142B00B800014558B800112F1BB9001100083E59B800014558B800152F1BB9001500083E59B800014558B800052F1BB9000500063E59B9000C0002F43031050E0323222627351E013332363F01033313331333010B0F1D232B1C0F1E0E0B1D0A1A230923CD609702915A452634210F04054E05071917570202FE5901A700000000010016000001CA02050009001B00BA0004000100032BB8000410BA0007000800032BB80007103031371521352101352115211601B4FEB6013CFE6E012441414B01803A4B000000FFFF0024FFF5021A03020222001200000003001C00AA000000010032026000FF03020003000FB800142B00B800002FB800012F303113072337FF8D40600302A2A200000000010042026E009C02D600030028B800142BBB00030003000000182B00B800014558B800012F1BB90001000A3E59B900000002F4303113353315425A026E686800010000000000E002CA000B0057BA0003000A00032BB8000310B80009DCB80000D0B800
0910B80004DCB8000310B80006D000B800072FB800012FBA000000010007111239BA000500010007111239BA000600010007111239BA000B0001000711123930311311331137350735231107154555464655450141FEBF0185384738FEFEBF3847000000FFFF0016000001CA02E40222001A00000003001D0081000E00010036000002BB031D003000B8B800142BBB00110003001F00182BBB000C0003000D00182BBB00050003000600182BBB00000003000100182BB8001110B80019DCB8000D10B80023D0B8000C10B80025D0B8000610B8002AD0B8000510B8002CD000B800242FB8002B2FB800014558B800172F1BB9001700043E59BB00280002000900182BB8000910B8000BD0B8000B2FB8001710B900150002F4B80019D0B800192FB8001AD0B8001A2FB8002810B80026D0B800262FB8002810B8002AD0B8002A2F30310123342627112311262322071123110E0115141E013B0115213533352E0235343E0137353315363332173533151E0202BB5F3D48371217161137493C3B704DE3FDFA6D34482437674537180F0F1A37466737016168891CFEF301180403FEE7010C1C88684D7D494E4B04185C733A46886415665B02025B6615638C000000000100000001000037DECA9F5F0F3CF5011103E800000000B643600000000000D8B9A5E0FC49FE1F07C304350000000900020000000000000001000003B8FF2B001C08B1FC49FE8007C300010000000000000000000000000000002101F40033011600000288FFFA010300520288004E02D2004A02190024021900240251002402190024023E0024022C004000DE004500DEFFF30207004500DE004503550040022C0040023E002402510043014D003D01F4001F013B0009022C004002F6001101F4000801E00016023E002400DE003200DE004200DE000001E0001602E500360000004600460076009000F8012E01DA024C02EA035204040456048004BE04F0050A05A405EC068C0724075207F60848089808D2091A093E094A0960098009C409D00A720001000000210096000900680004000200000000001E00000200042800030001B800142B01BA0002000200162B01BF0003003E0037002B001F00130000001C2B00BF0002004A0037002B001F00130000001C2B00BA00040004001B2BB8000120457D691844B8000A2BB800002B000000
00>] def
/CharStrings 33 dict dup begin
/.notdef 0 def
/space 1 def
/A 2 def
/I 3 def
/P 4 def
/U 5 def
/a 6 def
/c 7 def
/d 8 def
/e 9 def
/g 10 def
/h 11 def
/i 12 def
/j 13 def
/k 14 def
/l 15 def
/m 16 def
/n 17 def
/o 18 def
/p 19 def
/r 20 def
/s 21 def
/t 22 def
/u 23 def
/w 24 def
/y 25 def
/z 26 def
/oacute 27 def
/acute 28 def
/dotaccent 29 def
/lslash 30 def
/zdotaccent 31 def
/uni20BE 32 def
end readonly def
currentdict dup/FontName get exch definefont pop end
%APLsfntEnd
42/FontType resourcestatus{pop pop true}{false}ifelse
{currentfile 0(%APLT1End\n)/SubFileDecode filter flushfile}if
/FontType 1 def
/FontMatrix [ 0.001 0 0 0.001 0 0 ] readonly def
/FontBBox {-951 -481 1987 1077} readonly def
/UniqueID 4445087 def
currentdict end
currentfile eexec
54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA55675454E59AEC12A68C73C6F0377546FC27B43A9CFBF6A2D3E00DA2A9CE18394D7C9656736545C48C8FFE21C1111BBC89602329F9404F77E0DF8CA812BEA664C6ADF2B82F8C094AFE29E6BDB417B9B257E3874D88D4EE5AB5FE458013C599F146A9F9DF54383D9DB68F66A3A67557C26952F13077BD962B792521796732EE7F2A481AFA0EFC4ECCAA19B925ECA9D4EA1E480E26CD756815F10268438B783CD349891CF51C0749167A9F7DEE00C44EFC0F9C1E0BF380022631318B4C8A9644F92196ED562B5BD51BF8101B538D6943538C447D841C61B1914C116F77E0CA2EC5E875F84CCC77A04C8CED7B293B65D6A87A84CB78DA6529ACA2457103BB20F275077A239EBBCE3C63F5204AC1273423500065E6CF464ED60F4A12FF5DAA38D8D1AF578B61A3C4FC2C2631B508FD0C8C8A954AE9F27A031D1FFEBFADE51EA44C5DAC762566AC9954E534BC22299DA9B470B644E94F32AB16AE9E69C917E0953FCFB3328102FEE038E500C4AFCACCB912A950A0E70CBD599649D014C2FB6E25DCEE06092DA700D71E021190C7DEC3EEF81BE0B3DD4255859B3F2DA42537DE550F10E4AFBB67764D955A2AB48C2CF4BF8E8F45B964C6D9FDB1F6B880E47481FDD76DF58E4DC562CB2AF0272CFE45AC4C64002C8AA57ED32217A00B18E45C9942F22FDEEA2A04342759690DD4F599926F55E1D7158D7B839CC4223FB19109C86469FB4EFD5FB284DE6E4D4E2DD84B8E22FC8BC27D4101242670150BCFC5147EF8095E8A1BABC507CA097F0BA77FA0E5E489D5DD9DA3E2C6BE213F11AF1DC5DBF3A9D226113CE0239E36F111A4983844
D2E11362384D0B037643074AAC7791E539780B9776379D911AE2F21E020909676B0F6EB6D7EB2735E8E80A930D8181AA2421EF9BB63AD54437C426270CD7AF883363266DF43BC13AFA498EB38D4B1F24D35F89313385058CA880F7A2F2E6F1DF950F063E195532BDD192D000CC1BFBC0CBAF41EB54E923266822B14AED768388F43F99212BC147C950BB144ED9EF2F13DD92FD4781D52306ED146D2FA4C838BF4E3FA3FED436809BC1FA6710974D971ED07A0D6E9A675AF7A301EF5857069C176077D4BA85124F5B2EAAC243F7FCD700821124E10F5C0E78DF0438A0F86F43DFC466106F2E3DE78D83B6B4F901DA5ED4BD38476B571FCAB29F241E6972D4264BD222B30A331DBB186F9B24ED04893BFEF91EFBFDBE0A635DF406C45930D427F5A5CE24AA554F8C36A1AF6A9D70A30E6534CD863DA426F159B27BE780EE68B1150AD9C5C0057F799FFAFBDBB28163457AF2C0F2760F779DA73A7E07B51568872A5ACFE6AC45154B2102640D0004275619A98A45AF061B5A64805DA50E044A5FF4396138FB1AEF0D7E47712FF3ECAFAEF250C7621D765130160E4C3C7E909B100AF7095A220854825353FFE559837F7565F49F455220E06A6AEC30360BA42412E35D77DEDC90E1039AB32A870212B17E75BE60B11F4860C69CDE52D59160A39692CAD0A3A6CB3C6CCD67F21A15893121080F837EADE6B5FF51D55B5CE60750216FBBD646ED3AB7BBDF278305608B7375D4FBF474D1CA554000E532ADA218C32B237BF09B5636CF28E4D49A7CD594BDBDCFCC88B2DFB142F613E8B07C2EDD574157CF26A5A7A93B7D7553CDB759011E97768984DC8A2BC656624DE62B2DFF2104E4749DFEAB6971D36F6ABBFED4B41083C48726A34416DB08E273C4C849693F9AC947CF36101BB6DAFE1F78FD5EEF089AF1953C281893EB652ECAAA1C5E18A6E3F8144AEC28988A38D5E66873A9C26F0AB5C32F772DA9F580357BF936721F1F67E41D8959E90A9D6BB1F7E791776065E2C47C4032B90A2EC0CAC373483D73B9FBB5372E04F203469943AEAC91111960430A290AFB23B72326EB9C435FD792BBDB4806F0B4AA753C1AA8177BC0F8F55037B0D944CB99A605E51C91ABAE00A8F06B935E24B095EEC7A666335A66DD07CF8299E4CC0CD1103EFA18ED822E7476454989D2B582F2181EA8B529D263DDA18324A0BCB289BE14C86F261445026A13F081B72CB957271AB2E22966FC1F5D37E8495C242F36A4F342AB9B36775AF2FB6CCEEE5C5989336477391812E8FAB3E0C6F23F02975B903961319DEC4F6FB2B3D4EFBB71AF028217E07C2D162189A77A958E99C55BC19A1DB01D53C01ADB653EC1381990121880F1E814D39FB465BDADF07F8F73C52764704AAF19975B7AE000F99319BA368B9579EC2521DDB58A17E37087CF8CB704ABB58477E77C4907F18ECE6947
AF2C80B4A310BED8B8C9CDC8CF1FAA712877548E251D91E637F4A9AE3EFB43C18A4D7A0C81F89189746BC5874E9793B78125D39868D76705A53E58564CAA8263FA17AD633202D151121397C5747AB16275DF2B1D9D700C5E830E722F78DE8508BAC1607F7E769C285108D60E21E5B9C5F0FF5B314B8B5485B9822A9C7BC8861AFBB4F4FA205FA743D21D745CA5FA5031B31EAA28C1E3DDD11BDE862ABB3B76513797EEF701759435571BB714EF07FB927905ABF5FEAC55795014A1890A297B17666F7FB76F720018ACECA03D06EED80F6EE36A3800C59FFB050A166BBB9E40E17FAA853D489523EAB4F97A0D5441EA4548E929ED3B78CDEE31BB75D06E6BF1C2B89F6E8840A477F4778ACEAFDF52FC59D2A754BCE958776E0C2F1B40C72995F3E4B0666618CD8BBC1D483ED05510926E268A7076A104380122C452878F2FF4583895102122AE30BBCB0D5E52FCF8A32616BC978EDEDB76E456003117A0D1685F2BDDC614EF4EB07AA46124242E7EA10C05C467E91220562228B359A0C81F1188470A900DD53C7832BE3B98FB0C24DE3D8135FE91CBE518EDE1F2EFE0EB7FA427D3B99C56BCB3D13DBA357A3EEBBEF4D4C687FB234FB4FCB511D0A4997F834EBA4007000D4D895974269CD7203464568839558E415EF24DEE998D05B1F31D0CEF57590622AECC068D74628AF9C12201D59136A9F645ECF5B7129290F60C9C304CE870227DD21AB7C23F5EFF8B5768EF82C0EF6A0829E6F3B50C21BED8123BEE6B273E7CEAAA8F0C75947F93178A89DE5EEFF12CF5C59848705163209F8A8C84419A9A634B75533906F82BC9842CB7DD7F76DAE74A4827902CCC04980C7E47B8B919B3582EAE65D72B2FDCBCB1AAFB6EC6023617748AB69DE4803C06ECC232093EBB342D3476FC233F15C9A3282DCC7ABF1B83E739830C7E27B40290918A6511DFE17947FA63B341738192C2680C34465DAB3C8D3467AEC47904DA17B14B79311641FC174E3E38F5785D4F61DDFAB399C3FF92431573F0F9A8953F918ACD0D701A9A44CEBFDF8177F40F1D4036871DC20AEA078E81C2DA2A947987248A074D07AE5DDA134D68CE48F6FA549FD6F68FE36E659E039920251327BD85C778EB9658F7DDAEC6C31B74988BC54F067E9974E92DBAC7A54E305C99989B9DF4483BA1B6F630CDFC5AD0AA5DC3FE08BBE3E3B2FB53DDABC00BD0242D3DC8D6BE12DF172B1F53BD9F5166E413D055BE5C3CECF68EBE0E6AFE037B89D208E5DE0BC4924C277C76A3F1140F5919F76D8294C24279F0105FF13B4EB48D7EC106FA1E8F228E6AC98D5E30DAB3D84437D7B9E96F3F9864C8069C3C6B006760B6B0069BC5BB2FD4E7667CB31688207DD638D0B699E37F30C47CA8AA27F66934479A29BCBAE06F58B00FABD47DDE0BFAE3C973940A640288F93B03724C886378481A437DA474AACB20
7F32706A1BB332F0DF047137388B8440287F10AD1F875E6DB29B6BBB3511640F8EB347C95734271C419E84B4C69EBA0B8007DFB2F828488A46ABC5A91328BC185A8D711AEA348EA141539EFD09DEA578A40B97B3E7250278F037DC1B0AD2DAEB217898C1AA20365EED0291C40FFEF7AA0F9BFE7147F9762D21FFD388FF2270570DCFE9781FFC0E2B64F26DB09021C02E54F2E37D4C0E1DCB4194655AB5DF27A11B31B742B80D6D5E999ED771FA43BF4A504FEDF94A53D91989F30BF2D52F9BCD673FB3ECCB968C1E40709DBBB9C1676AEC69C0A61C540ED17D3056A81C55B507CEBE28F3F26C2E57B1CF115447C26B967E7ABCF45BC469D033214CC4A4407FA75FA1C4FBBC55C7D9019B2173E0F2222AE43ADAD14834872ED7AC1297F5AE5229E9B53AFE9673F1836286E8E493E610C0E71A8038D71D7B3F16179CC3B5B1DA9084E1FB7B6C06C9A18DA947B881E1B5651FC1DBCCEA3317300A30CD7AD9F7B2B65C91205CC66312BC4C647C1DAD1038BBC1A5524BD9D1E7595AB0695A8909020C2673BBCF5B14B51F01E56AB301BF152D28CA5E7D169BD4D116C73EF25A46667BD0F53FDE157A1272FD16D45EAEE4ACFA2FD77E90BAE7FC2B4FC95538ADD5A2E48E454C8AAFB9C191526A7C5D886A28BAE72B2DECF1272C68EBA73EC5DE660F2C310F2C6AA0833CE5A9AD31865C5201375E88B4699C533F1FA621465C6E594AD82F8166358F8A3983C5CCDB0BC7FE55576809EEBA46F9BF285541E81693C037AFC19B3C2F7565C1896C8DE90908541F4B765D227E81032A4D3D21170639AC1782EF156ADA0FDBC318890C1DE91B55C11D9143D142E172E3D77B31B06D81F519072199F68A9E540D6073981664D5D91EC421D22F46CB25BB0C4E8F50EEB5570E0DAC628C3088AE38E886CE83FCDDDC7B02389FB73034FD0ACD2AB8279D31D56431B3750BF3E5D521E2E870915E6E3571A24A8D64E2ACCA37181926A35CB4A56C048428851239647FC8E9C10A5709ACE4D7F8DEC061861C8CED5923E7EC032B2E096A34A2DFAB4449154D63890C453F88C33F525DAEA6D13EBDC2AECB8561389D5F0B1363150734269FBF2DC00F3E78E5F6CABCE11B6CC820126A1D8CB7E7C515B7D4C91FFE02894A622A62BA3738AB20929B8CA87CA5B4373CC443DC89060B3028F42135E378C8D899FF6916A6209E2E5BE8549EF0006623F6D2A3BC9488EF1E6A2953B27D8FBBD3B44FA4322045273FA091205564E880BEE49F3162F3ADCBA500BDACDB11AD54F309A3CE5D15FE7B8F16456144F79843F8EC19911197BBB3F8CE20AB3B3B5B0D24C47443DA22D895FA3D021462F784BFE5D37748D2B314ED62A398A164C5B7A79684936B862C8FA610F4B0F8CDEF1B69D8009716CC7E493756578145B7DA503C5AD80F20FDD95445028B2F10FFBDDA0615281F1E86034A87ADF1
DCCCAACE85675B2FA5B0D1E1371C79F9E71CDD425A97408A2EAA9CE30B7A35005749FB2D53F295CE87331E80A18BB3B77395371CFFD328719105738EAB8351EF0DD097F8B04EF01E7D87D16D327CF79828EF3221936A9E936CB3B9AB48E5151AAC484173F4562DDE1E125247E1CE0F503C1F8224CA741BC9A109E6A84464FF6C2BEF650E2183FEDC287D559AA6EB93A33E421B7060AB0B5097D5230FC70D5AD372CD27BB6CD8E9E0D41E7548C0DFFC838C0AF28C7DB1D37C05395204EF461F4A9AB88C35021215B8E494631E3404CEC14EA15C7BD56442A4D592A6BB6A045DB5F08C8C66CD3D5CF0C076F77C14D71444F50275FCE24DBB2DD50E7215D9B1B9184F5044486F20B6B201C2A03B9F7A3124C50B5A23DA5E65704F4E7D5C07939797C36248BAE2B00E80E1C2ECED497D22CAE336A3B5F9B7CECEFFFE3811B8CA050D7FC6580A8EAE968A92DBD3D988F9069EA6886D1D38B439349416C7004535CB2D964752A3D8791D481D0D803EBB6FD6043C9C9A60D901704198C29A2A3A58F6A8D6E6DCCE23109CEF9A9E7EAAE759AF9660E33D4B77D5AB96CB41E10C414963F2DB78FCFD5AF9AE4A22179BDAD248FBC7F71B1428D5D05960C4C214C66785D22A6AA0D91C7B449A7C3129249C06441E7037BDA90112C02B874BBE5E757C0675D65672D75C1AD38BBE7E997882FA2A2936CAF2B5AA911FBDCE3FA1F6D3D6723747EBD5FC6F76386E01C268A095DF6289A138BD702941B800C7BD75FFF06401E3521757285F15D1B4DBF2DF6FE4F308052898D84C1E0F10C6AE1C701FCE14071D9FFC51086694B9960BA5C2CF48C3DF5E911E3C81F48FF5B081D3EFBBE3D6262A0868293B35775BFC0C4F1847D557D2EAC6DE881175689998E70A9C4D684856C63765C077D66C36CC373D963BE9326222AFE21EF31100EC1F08DE028BCD96B87E48227D99CF85F8606D460D4BEC943B79390E7EF271E08FFF5589118021A2D6E9E053627CFC1683CD717CC34F4BD4CEB86A5D08F19DACE982D9034B4A167CF2C3890DD5D8423A2315322A04147FFEFDAE77AC9BD5C9FDDD039F0F9552B0863F8908FBBF55B5C91009FA67C2907913F2F49ADCD0107E3387D62290FDCA9EC1A8ABF6BE54DEA3E6D8B0263ABCBCA879EB63AAB545DEBF1D9D1EFB97210A104B41712D9FED76B036C1D539A9DD18AC8974C4FD77269F836D50B935A87D42A150476EE65BB4ACDAED5C4251964216FD5AC81066B3FF6116EDE810E70A2E467F2C39CB1E9738890C4AC7DBEA499ACCFBA130A0830B361F0791074220F6D78E43CDB40067EACEF5F88BF52F2CBAA24B85DF7276368542DA9072E47F0230AE726B6D724C7CE32C6697395F6C2E29E8D7919E93B9A1C9E17BF86E7D7FE3F2F7C20771DA823896F141733BFAC034920D3B6F3FFD44CD296FF1A159FD3A6A543795BB3AB0EF51
7E58ACF8300938CA4010DC5AB5197E4B9448
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark end
%APLT1End
%RBIEndFontSubset
/HelveticaNeue cguidfix
/F1.1/HelveticaNeue renmfont
[ /CIEBasedA 5 dict dup begin /WhitePoint [ 0.9505 1.0000 1.0891 ] def
/DecodeA {
{ 1.0 0.0 3 -1 roll 1 index 1 index le { exch pop} { pop } ifelse
1 index 1 index ge { exch pop } { pop } ifelse <
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000001010101010101010101010101
0101010101010101010101010101010101010101010101020202020202020202
0202020202020202020202020202020202030303030303030303030303030303
0303030303030304040404040404040404040404040404040404050505050505
0505050505050505050506060606060606060606060606060607070707070707
0707070707070708080808080808080808080808090909090909090909090909
0a0a0a0a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0c0c0c0c0c0c0c0c0c0c
0d0d0d0d0d0d0d0d0d0d0e0e0e0e0e0e0e0e0e0f0f0f0f0f0f0f0f0f10101010
1010101010111111111111111112121212121212121313131313131313141414
1414141414151515151515151616161616161616171717171717171818181818
18181919191919191a1a1a1a1a1a1a1b1b1b1b1b1b1c1c1c1c1c1c1c1d1d1d1d
1d1d1e1e1e1e1e1e1f1f1f1f1f1f202020202020212121212121222222222223
2323232323242424242425252525252526262626262727272727282828282829
292929292a2a2a2a2a2b2b2b2b2b2c2c2c2c2c2d2d2d2d2d2e2e2e2e2e2f2f2f
2f2f303030303131313131323232323333333333343434343535353535363636
36373737373838383839393939393a3a3a3a3b3b3b3b3c3c3c3c3d3d3d3d3e3e
3e3e3f3f3f3f4040404041414141424242424343434444444445454545464646
4647474748484848494949494a4a4a4b4b4b4b4c4c4c4d4d4d4d4e4e4e4f4f4f
4f50505051515151525252535353535454545555555656565657575758585859
59595a5a5a5a5b5b5b5c5c5c5d5d5d5e5e5e5f5f5f6060606061616162626263
63636464646565656666666767676868686969696a6a6a6b6b6b6c6c6d6d6d6e
6e6e6f6f6f707070717171727273737374747475757576767677777878787979
797a7a7b7b7b7c7c7c7d7d7e7e7e7f7f7f808081818182828283838484848585
86868687878888888989898a8a8b8b8b8c8c8d8d8d8e8e8f8f90909091919292
9293939494949595969697979798989999999a9a9b9b9c9c9c9d9d9e9e9f9f9f
a0a0a1a1a2a2a3a3a3a4a4a5a5a6a6a6a7a7a8a8a9a9aaaaabababacacadadae
aeafafb0b0b0b1b1b2b2b3b3b4b4b5b5b6b6b6b7b7b8b8b9b9bababbbbbcbcbd
bdbebebebfbfc0c0c1c1c2c2c3c3c4c4c5c5c6c6c7c7c8c8c9c9cacacbcbcccc
cdcdcececfcfd0d0d1d1d2d2d3d3d4d4d5d5d6d6d7d7d8d8d9d9dadadbdcdcdd
dddededfdfe0e0e1e1e2e2e3e3e4e4e5e6e6e7e7e8e8e9e9eaeaebebecededee
eeefeff0f0f1f1f2f3f3f4f4f5f5f6f6f7f8f8f9f9fafafbfcfcfdfdfefeffff
> dup length 1 sub 3 -1 roll mul dup dup floor cvi exch ceiling
cvi 3 index exch get 4 -1 roll 3 -1 roll get
dup 3 1 roll sub 3 -1 roll dup floor cvi sub mul add 255 div } bind
exec} bind
def
/MatrixA [ 0.9642 1.0000 0.8249 ] def
/RangeLMN [ 0.0 2.0000 0.0 2.0000 0.0 2.0000 ] def
/DecodeLMN [ { 0.9857 mul} bind { 1.0000 mul} bind { 1.3202 mul} bind ] def
end ] /Cs1 exch/ColorSpace dr pop
[ /CIEBasedABC 4 dict dup begin
/WhitePoint [ 0.9505 1.0000 1.0891 ] def
/DecodeABC [
{ 1.0 0.0 3 -1 roll 1 index 1 index le { exch pop} { pop } ifelse
1 index 1 index ge { exch pop } { pop } ifelse <
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000001010101010101010101010101
0101010101010101010101010101010101010101010101020202020202020202
0202020202020202020202020202020202030303030303030303030303030303
0303030303030304040404040404040404040404040404040404050505050505
0505050505050505050506060606060606060606060606060607070707070707
0707070707070708080808080808080808080808090909090909090909090909
0a0a0a0a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0c0c0c0c0c0c0c0c0c0c
0d0d0d0d0d0d0d0d0d0d0e0e0e0e0e0e0e0e0e0f0f0f0f0f0f0f0f0f10101010
1010101010111111111111111112121212121212121313131313131313141414
1414141414151515151515151616161616161616171717171717171818181818
18181919191919191a1a1a1a1a1a1a1b1b1b1b1b1b1c1c1c1c1c1c1c1d1d1d1d
1d1d1e1e1e1e1e1e1f1f1f1f1f1f202020202020212121212121222222222223
2323232323242424242425252525252526262626262727272727282828282829
292929292a2a2a2a2a2b2b2b2b2b2c2c2c2c2c2d2d2d2d2d2e2e2e2e2e2f2f2f
2f2f303030303131313131323232323333333333343434343535353535363636
36373737373838383839393939393a3a3a3a3b3b3b3b3c3c3c3c3d3d3d3d3e3e
3e3e3f3f3f3f4040404041414141424242424343434444444445454545464646
4647474748484848494949494a4a4a4b4b4b4b4c4c4c4d4d4d4d4e4e4e4f4f4f
4f50505051515151525252535353535454545555555656565657575758585859
59595a5a5a5a5b5b5b5c5c5c5d5d5d5e5e5e5f5f5f6060606061616162626263
63636464646565656666666767676868686969696a6a6a6b6b6b6c6c6d6d6d6e
6e6e6f6f6f707070717171727273737374747475757576767677777878787979
797a7a7b7b7b7c7c7c7d7d7e7e7e7f7f7f808081818182828283838484848585
86868687878888888989898a8a8b8b8b8c8c8d8d8d8e8e8f8f90909091919292
9293939494949595969697979798989999999a9a9b9b9c9c9c9d9d9e9e9f9f9f
a0a0a1a1a2a2a3a3a3a4a4a5a5a6a6a6a7a7a8a8a9a9aaaaabababacacadadae
aeafafb0b0b0b1b1b2b2b3b3b4b4b5b5b6b6b6b7b7b8b8b9b9bababbbbbcbcbd
bdbebebebfbfc0c0c1c1c2c2c3c3c4c4c5c5c6c6c7c7c8c8c9c9cacacbcbcccc
cdcdcececfcfd0d0d1d1d2d2d3d3d4d4d5d5d6d6d7d7d8d8d9d9dadadbdcdcdd
dddededfdfe0e0e1e1e2e2e3e3e4e4e5e6e6e7e7e8e8e9e9eaeaebebecededee
eeefeff0f0f1f1f2f3f3f4f4f5f5f6f6f7f8f8f9f9fafafbfcfcfdfdfefeffff
> dup length 1 sub 3 -1 roll mul dup dup floor cvi exch ceiling
cvi 3 index exch get 4 -1 roll 3 -1 roll get
dup 3 1 roll sub 3 -1 roll dup floor cvi sub mul add 255 div } bind
{ 1.0 0.0 3 -1 roll 1 index 1 index le { exch pop} { pop } ifelse
1 index 1 index ge { exch pop } { pop } ifelse <
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000001010101010101010101010101
0101010101010101010101010101010101010101010101020202020202020202
0202020202020202020202020202020202030303030303030303030303030303
0303030303030304040404040404040404040404040404040404050505050505
0505050505050505050506060606060606060606060606060607070707070707
0707070707070708080808080808080808080808090909090909090909090909
0a0a0a0a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0c0c0c0c0c0c0c0c0c0c
0d0d0d0d0d0d0d0d0d0d0e0e0e0e0e0e0e0e0e0f0f0f0f0f0f0f0f0f10101010
1010101010111111111111111112121212121212121313131313131313141414
1414141414151515151515151616161616161616171717171717171818181818
18181919191919191a1a1a1a1a1a1a1b1b1b1b1b1b1c1c1c1c1c1c1c1d1d1d1d
1d1d1e1e1e1e1e1e1f1f1f1f1f1f202020202020212121212121222222222223
2323232323242424242425252525252526262626262727272727282828282829
292929292a2a2a2a2a2b2b2b2b2b2c2c2c2c2c2d2d2d2d2d2e2e2e2e2e2f2f2f
2f2f303030303131313131323232323333333333343434343535353535363636
36373737373838383839393939393a3a3a3a3b3b3b3b3c3c3c3c3d3d3d3d3e3e
3e3e3f3f3f3f4040404041414141424242424343434444444445454545464646
4647474748484848494949494a4a4a4b4b4b4b4c4c4c4d4d4d4d4e4e4e4f4f4f
4f50505051515151525252535353535454545555555656565657575758585859
59595a5a5a5a5b5b5b5c5c5c5d5d5d5e5e5e5f5f5f6060606061616162626263
63636464646565656666666767676868686969696a6a6a6b6b6b6c6c6d6d6d6e
6e6e6f6f6f707070717171727273737374747475757576767677777878787979
797a7a7b7b7b7c7c7c7d7d7e7e7e7f7f7f808081818182828283838484848585
86868687878888888989898a8a8b8b8b8c8c8d8d8d8e8e8f8f90909091919292
9293939494949595969697979798989999999a9a9b9b9c9c9c9d9d9e9e9f9f9f
a0a0a1a1a2a2a3a3a3a4a4a5a5a6a6a6a7a7a8a8a9a9aaaaabababacacadadae
aeafafb0b0b0b1b1b2b2b3b3b4b4b5b5b6b6b6b7b7b8b8b9b9bababbbbbcbcbd
bdbebebebfbfc0c0c1c1c2c2c3c3c4c4c5c5c6c6c7c7c8c8c9c9cacacbcbcccc
cdcdcececfcfd0d0d1d1d2d2d3d3d4d4d5d5d6d6d7d7d8d8d9d9dadadbdcdcdd
dddededfdfe0e0e1e1e2e2e3e3e4e4e5e6e6e7e7e8e8e9e9eaeaebebecededee
eeefeff0f0f1f1f2f3f3f4f4f5f5f6f6f7f8f8f9f9fafafbfcfcfdfdfefeffff
> dup length 1 sub 3 -1 roll mul dup dup floor cvi exch ceiling
cvi 3 index exch get 4 -1 roll 3 -1 roll get
dup 3 1 roll sub 3 -1 roll dup floor cvi sub mul add 255 div } bind
{ 1.0 0.0 3 -1 roll 1 index 1 index le { exch pop} { pop } ifelse
1 index 1 index ge { exch pop } { pop } ifelse <
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000001010101010101010101010101
0101010101010101010101010101010101010101010101020202020202020202
0202020202020202020202020202020202030303030303030303030303030303
0303030303030304040404040404040404040404040404040404050505050505
0505050505050505050506060606060606060606060606060607070707070707
0707070707070708080808080808080808080808090909090909090909090909
0a0a0a0a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0c0c0c0c0c0c0c0c0c0c
0d0d0d0d0d0d0d0d0d0d0e0e0e0e0e0e0e0e0e0f0f0f0f0f0f0f0f0f10101010
1010101010111111111111111112121212121212121313131313131313141414
1414141414151515151515151616161616161616171717171717171818181818
18181919191919191a1a1a1a1a1a1a1b1b1b1b1b1b1c1c1c1c1c1c1c1d1d1d1d
1d1d1e1e1e1e1e1e1f1f1f1f1f1f202020202020212121212121222222222223
2323232323242424242425252525252526262626262727272727282828282829
292929292a2a2a2a2a2b2b2b2b2b2c2c2c2c2c2d2d2d2d2d2e2e2e2e2e2f2f2f
2f2f303030303131313131323232323333333333343434343535353535363636
36373737373838383839393939393a3a3a3a3b3b3b3b3c3c3c3c3d3d3d3d3e3e
3e3e3f3f3f3f4040404041414141424242424343434444444445454545464646
4647474748484848494949494a4a4a4b4b4b4b4c4c4c4d4d4d4d4e4e4e4f4f4f
4f50505051515151525252535353535454545555555656565657575758585859
59595a5a5a5a5b5b5b5c5c5c5d5d5d5e5e5e5f5f5f6060606061616162626263
63636464646565656666666767676868686969696a6a6a6b6b6b6c6c6d6d6d6e
6e6e6f6f6f707070717171727273737374747475757576767677777878787979
797a7a7b7b7b7c7c7c7d7d7e7e7e7f7f7f808081818182828283838484848585
86868687878888888989898a8a8b8b8b8c8c8d8d8d8e8e8f8f90909091919292
9293939494949595969697979798989999999a9a9b9b9c9c9c9d9d9e9e9f9f9f
a0a0a1a1a2a2a3a3a3a4a4a5a5a6a6a6a7a7a8a8a9a9aaaaabababacacadadae
aeafafb0b0b0b1b1b2b2b3b3b4b4b5b5b6b6b6b7b7b8b8b9b9bababbbbbcbcbd
bdbebebebfbfc0c0c1c1c2c2c3c3c4c4c5c5c6c6c7c7c8c8c9c9cacacbcbcccc
cdcdcececfcfd0d0d1d1d2d2d3d3d4d4d5d5d6d6d7d7d8d8d9d9dadadbdcdcdd
dddededfdfe0e0e1e1e2e2e3e3e4e4e5e6e6e7e7e8e8e9e9eaeaebebecededee
eeefeff0f0f1f1f2f3f3f4f4f5f5f6f6f7f8f8f9f9fafafbfcfcfdfdfefeffff
> dup length 1 sub 3 -1 roll mul dup dup floor cvi exch ceiling
cvi 3 index exch get 4 -1 roll 3 -1 roll get
dup 3 1 roll sub 3 -1 roll dup floor cvi sub mul add 255 div } bind
] def
/MatrixABC [ 0.4124 0.2126 0.0193 0.3576 0.7151 0.1192 0.1805 0.0722 0.9508 ] def
/RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def
end ] /Cs2 exch/ColorSpace dr pop
[ /CIEBasedABC 4 dict dup begin
/WhitePoint [ 0.9505 1.0000 1.0891 ] def
/DecodeABC [
{ 1.0 0.0 3 -1 roll 1 index 1 index le { exch pop} { pop } ifelse
1 index 1 index ge { exch pop } { pop } ifelse <
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000001010101010101010101010101
0101010101010101010101010101010101010101010101020202020202020202
0202020202020202020202020202020202030303030303030303030303030303
0303030303030304040404040404040404040404040404040404050505050505
0505050505050505050506060606060606060606060606060607070707070707
0707070707070708080808080808080808080808090909090909090909090909
0a0a0a0a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0c0c0c0c0c0c0c0c0c0c
0d0d0d0d0d0d0d0d0d0d0e0e0e0e0e0e0e0e0e0f0f0f0f0f0f0f0f0f10101010
1010101010111111111111111112121212121212121313131313131313141414
1414141414151515151515151616161616161616171717171717171818181818
18181919191919191a1a1a1a1a1a1a1b1b1b1b1b1b1c1c1c1c1c1c1c1d1d1d1d
1d1d1e1e1e1e1e1e1f1f1f1f1f1f202020202020212121212121222222222223
2323232323242424242425252525252526262626262727272727282828282829
292929292a2a2a2a2a2b2b2b2b2b2c2c2c2c2c2d2d2d2d2d2e2e2e2e2e2f2f2f
2f2f303030303131313131323232323333333333343434343535353535363636
36373737373838383839393939393a3a3a3a3b3b3b3b3c3c3c3c3d3d3d3d3e3e
3e3e3f3f3f3f4040404041414141424242424343434444444445454545464646
4647474748484848494949494a4a4a4b4b4b4b4c4c4c4d4d4d4d4e4e4e4f4f4f
4f50505051515151525252535353535454545555555656565657575758585859
59595a5a5a5a5b5b5b5c5c5c5d5d5d5e5e5e5f5f5f6060606061616162626263
63636464646565656666666767676868686969696a6a6a6b6b6b6c6c6d6d6d6e
6e6e6f6f6f707070717171727273737374747475757576767677777878787979
797a7a7b7b7b7c7c7c7d7d7e7e7e7f7f7f808081818182828283838484848585
86868687878888888989898a8a8b8b8b8c8c8d8d8d8e8e8f8f90909091919292
9293939494949595969697979798989999999a9a9b9b9c9c9c9d9d9e9e9f9f9f
a0a0a1a1a2a2a3a3a3a4a4a5a5a6a6a6a7a7a8a8a9a9aaaaabababacacadadae
aeafafb0b0b0b1b1b2b2b3b3b4b4b5b5b6b6b6b7b7b8b8b9b9bababbbbbcbcbd
bdbebebebfbfc0c0c1c1c2c2c3c3c4c4c5c5c6c6c7c7c8c8c9c9cacacbcbcccc
cdcdcececfcfd0d0d1d1d2d2d3d3d4d4d5d5d6d6d7d7d8d8d9d9dadadbdcdcdd