aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDichenZhang1 <140119224+DichenZhang1@users.noreply.github.com>2024-05-10 12:51:56 -0700
committerGitHub <noreply@github.com>2024-05-10 12:51:56 -0700
commit6b5acee2fb863507515398442dbc9b5fd08eba87 (patch)
tree6ea05eb241f400f2042e03a92e66d32c22853893 /tests
parent1839c8f1fe00d792c02844ea60924c523289dfa2 (diff)
downloadlibultrahdr-6b5acee2fb863507515398442dbc9b5fd08eba87.tar.gz
Support ISO 21496-1 gain map metadata encode and decode (#132)
* Support ISO 21496-1 gain map metadata encode and decode * Update gainmapmetadata_test.cpp * Add support for multi-channel gain map encode and decode * Add support for multi-channel gain map encode and decode
Diffstat (limited to 'tests')
-rw-r--r--tests/data/minnie-320x240-rgb.jpgbin0 -> 20200 bytes
-rw-r--r--tests/data/minnie-320x240.rgb3680
-rw-r--r--tests/gainmapmetadata_test.cpp77
-rw-r--r--tests/jpegdecoderhelper_test.cpp29
-rw-r--r--tests/jpegencoderhelper_test.cpp16
-rw-r--r--tests/jpegr_test.cpp2
6 files changed, 3802 insertions, 2 deletions
diff --git a/tests/data/minnie-320x240-rgb.jpg b/tests/data/minnie-320x240-rgb.jpg
new file mode 100644
index 0000000..e4d3fad
--- /dev/null
+++ b/tests/data/minnie-320x240-rgb.jpg
Binary files differ
diff --git a/tests/data/minnie-320x240.rgb b/tests/data/minnie-320x240.rgb
new file mode 100644
index 0000000..cd5f2bd
--- /dev/null
+++ b/tests/data/minnie-320x240.rgb
@@ -0,0 +1,3680 @@
+׿־־־ӽклѼнϼͺ̹λϼ˷Ʋ®ǴɶʷɶɶɶǴðıŲȵɶʷ̹λнοξο;̽˼˼̽˻˻ʺɹǷƶķķŸŸķµvyssomnjnj}nizkfwjdnn~ll{iiygg{ghklik|fhxdexde{ii}kkqaaxhhsstt÷ĸöµ³ôŶǸǸƷƷƷȷɸɸɸȸǷŶĵôôĵĵĵĵŶǸɺ̽ξϿӾ˸Ųð¯ðİzƴijîƱƱǪqONO,*׿־־ӽкιϺλϼϼϼϼнκʶű®ƳȵɶɶɶɶǴŲıƳȵɶʷ̹ϼѾο;;̼̼˻ʺȸǷŸŸŸķöµg\dD7>?03@01B0.D2.E3/C4/B5/B41>/,>/,>/,@.,A/-C/.@,+<(';'&@.,2 :+(8)&9+(A2/?330',PIPøŹƺŸöôĵŶƷǸǸƷǸɸɸɸɸɹȸƷĵôôôĵĵŶƷȹʻ;ԿѼʷŲðıŲyųòŰȳDz©ȫ¤onS1/־־ӽк͸̷ʷ˺ͼͼͼνмϻȴïƲȴɵɵɶɶȵƳŲƳǴɶʷ̹ϼѾϿο;̼̼˻ɹǷǷŸƹƹķµµµunv4)1WJQ|mroprrsqspspsptqsmtnuoupwruqqmmiqmvqyjeylf{nhk`Zl_YbXVRLP&!(YT[øźƻƺƺŹ¶ŶƷǸƷȹȹǸǸɸʹʹɸʺɹǸŶĵôĵĵŶƷǸɺ˼ҽϺȵııı³³Ųw°ƱɴƱ¬ǭʮbCA־־ԾкͷʶǴƵǶȷʹ̻мм͹ƲƲȴʶɵɶɶȵƳŲŲƳȵʷ̹ϼнοο;̼̽˻ʺȸƶƶķŸǺķµµööB:E<2;74;:5<øźƻǼƺƺĸµǸɺȹǸɺȹǸȹɸʹʹɸʺɹǸŶĵĵŶŶƷǸȹɺ̽л̷ƳððóĵŴ¯ű|İDzîȯ˱Ȫecռսӽѻθ̸Ǵò±Ŵɸ̻ͼѽ˷űïdzɵʶɵȴȴȵƳŲŲŲǴɶ̹λϼϿξξξοοο;̼˻ʺȸŸķŸƹȻŸöµ·ø91<TJSx|E:>LKS309µŸǺǺǺǺĹĺöƹȻɺȹɺȹȹȹɺɺɺɺɺȹƷŶŶŶƷƷǸȹɺ˼;λɶ¯¯¯¯óòòı­{İŲɳʲǫԻӺѺϹθ͹ȷòijȷʹѽϻ˷dz®Ŵʶ˷ʶȴȴȵǴŲŲŲƳɶ̹λϼӿξξοοͽͽ̼ʺǺƹǺǺȻƹķķøøø·µµµµ80;^T_\PZ:.8xlvDAJ)&/spwķǺȻȻƹŹŻùµŸǺǺɺȹȹǸǸǸȹɺɺɺȹǸƷŶŶŶƷǸȹȹʻ̽Ѿ̹Ƴ¯²ĵijŴŰy~İŲ˷ɳֽӺѸηͷͷκʹĵij˷ϻϻɵů¬ijǶɸǶƵƵǶƵŴijŲǴʷͺϼнϿξϿϿξ˾˾ʽɼȻǺǺȻȻǺźĹĹøøĹ··3+6bXcRFRmaoTHVGBI$&3.4NGNngnöķƹȻɼȻƺŹĺöŸƹƹƹŸŸǸǸƷǸȹɺʻʻȹǸƷŶĵŶƷƷǸɺ˼οϼɶ𯯯ƷƷŴƵ­x®Ʊɶ̸Ĭ׿ؿռҹз̵ʴ̶͹ɸŶİ̸мʶưů¬|òǶɸǶƵƵǶǶƵijƳǴ˸λнѽϿξϿϿξϿϿξ̼ʽʽʽɼȻǺǺǺȻȻƻźĹøĹź·80=dZeh\hg[gH<H839*#*@9@/(/.%*5+3^T\øƹƹȻȻȻȻǻƺùöŸǺǺƹķöķƷƷƷǸȹɺʻʻȹǸƷĵĵĵŶŶǸɺ̽ҿͺƳ¯ıŲ¯³ȹŶòŲ{­ƱǴͺսԻռӼйͶ˵˵ʶʹȷijİʶ͹ʶİŵƶ²ijŴijŴŴŴdzȴ˷κѽӿпϿξξϿϿϿϿϿϿξξ˾˾˾ɼƹķķŸźźƻƻƻźĹĹø1+7qivI<CWJQgZaA4;w~3-1<38x}]RVA6<*%6)0_T\}źøƹɼ˾ʽʽɼǻĸ¶÷ŸǺɼɼǺŸŸƹƹƹɺʻʻʻȹǸȻƹö³³ĵŶǸ˼пνʹððôƷƷòzîįȵɶįѹиѹսԻӺйη̵˵ʵɴʶǶij®ȴʶdz¬ƶƶĴƵƵŴƵijŴȴɵ˷͹ϻмξξͽξϿϿϿξ̿̿˾ɼƹķķķźƻƻƻƻźźĹ·4.:xp}zpq^RV}qswyXLNcTW2).E<A~k_cC6=8+26)2PCLxlvźĹɼʽʽɼɼȻƺ÷÷ĸƹǺȻȻǺƹƹǺŸƹɺ˼̽̽ʻɺǺŸöµôĵƷǸʻοпʹŴıðĵƷŶıyîįɵ˸ƱŭĬŭʲϷҺԽԽѺηͶͶ̶ʵȳȴdzƲïdzȴïŵǷŵǷǷƵƵijŴɵ˷̸͹κκ̿˾˾̿̿̿̿˾ɼǺŸĹźƻƻƻƻźźźźø·····71=z{ruhY^/$,TIOpafTGND7@4(2K?ImamŻùźǼ̿˾ɾǼǼǼŶķŸǼǼǼƻǺǺƹƹƹƹȻʽ;̽˼ɺŸķöµöŸʺ̼ξͼŶ³òŶŶĵ¯zzŰį˷ͺDzŭªƮʲͷһԽһйηͷ̶ʵȳȴdzİ®İİĴǷƶȸȸƵƵŴƵɵ˷̸͹κϻ̿˾ʽɼȻǺǺǼǼǼƻƻźźźźźźĹø····82>}*'^S[|pzaU_2&2XNYŻŻǼ̿̿ɾǼȽǼ·ĸŸŸȽǼǼǼȻǺƹķǺǺɼʽ;˼ɺǸŸķööŸȻͽϿϾ̻ô³ôòóŶô³yŰî̸κɴɳ¬DZͶѺѺѺйͷʵɴɴʵȳưĮ®ñŸķȸȸŵĴƵƵɵʶ̸κмѽпͿ̿˾ʽȻȻƻǼǼȽǼƻƻźĺĺĺĺƻźø···z71=vs}%$g]fqfl[P^4,7ùŻƼɾʿʿʿɾȽǾżµŸƹƹȽȽȽȽǼźķµƹǺȻɼɼȻƹķŸŸķķƹɼξп̽ɺµ³Ĵôy|±Űűθкʲ«θĮíɳ˴Ͷϸη˵ɴDzDzȳȳDZDZűŵķķȸȸŵĴƵƵȴȴʶκѽӿп̿̿̾ͿͿ̿̿ʽȻǺƻƻƻƻƻƻƻƻŻĺĺĺźĹ·uo{4.:JI[0HGY}s~%&pfqrgm6+1ynvumz5-:ĺùŻǽʿǼȽɾȽƽż¹öƹȻǺȽȽȽǼƻĹöµķķŸƹǺǺƹŸŸŸķķƹɼξνɺŶµµ³ówòðdzϹϹɱɴůǰɲ˴̶̶ɴDzŰǰǰưưưĮöķɹɹƶŵŴŴŴŴʶ͹мҾ̿̿̾̾̾̿̿ʽȻƹźƻƻƻƻƻǼǼŻŻĺĺø·keq1+7<>M. -(*7LNZrju%*vn{}s{RHP[QYvZTbB:G¸ŻǻȼǼǼȽƽĻŸȻɼȻǼȽǼƻĹøķŸķķķŸƹƹŸŸĹøöķƹɼξп˺Ŷµµµóózz²ò¬˵иϷɯ¨Ϲ¬ŮƯȱ˵ͷ̷ȳŰŰį¬®Įï²²ñöķɹɹƶƶijijijŴǶʹκν̾̾̾̿˾ȽǺźźƻǼǼƻƻǼǼƼŻĺù····¶¶f`l0*6NLY(!#/')5$'0 )jjrjdp*$2~vNEJsiqxnwICQ_YeŻŻǻǻɾǼȽƽ¹·ƹɼʽɼǼǼƻĹ··ŸȻƹŸŸŸŸŸķöø·öķƹɼξνɸôµµóŵôwóijĮ̶ϹζƮ־˳Ĭªë¬¬ĮĮïƲȴɵdzű®®ǷijþŵƶȸȸŵŵĴóóŵɹͽϾξʾɽȼɾƼźùĺĺŻƼǽǽƼƼƼƼŻĺ¸d]m60>zqv% '$%"+.+4# '%")538d^l)%3SIJG=>tz_T\wx60<ž»»ĽȾȾȾɿƼƼĺ¿·ĹƻȽɾʿʿȽȽǼĹĹƻĹźźĹĹøĹĹŸķöķŸǺ̿οʻĵĴƶŵĵôijòŴ±{zôŴ±dz̸ϻкȲϷƮëŭĮíįî®İƲƲűïòɸ̻ƵǬóŵǷȸƶƶŵŵĴƶɹͽϿ˿ɽȼȼȾƼŻĺĺŻƼǽƼŻŻƼǽǽǽǽĺ¸c\n:3CLAE*#*618,'."#(#)4/5*%)}x|b^m+'6e][tjhmbfF;CsöWO^LFRƿľüƿɿɿȾǽù·ĹǼɾǼƻźø·ĹƻƻƻƻźĹĹźźŸööķƹɼ̽ɺĵóŵĴô³ƵĴ²z|ĴŴ±ȴ˷κ͹ƲԼȰĬǯDZĮį­ïï®Ƶ̻ǶȵóǷȸǷǷƶǷǷȸɹ̼Ͽ˿ʾɽȼǽƼŻŻƼǽȾȾǽƼŻƼǽǽǽǽù^Wi?8H:/5' '' (+$+2+2,%,3-12,0yswVRa73Bznx~øȣ=5D{uƿľĽƿǽŻÿƻɾʿƻźø··ĹźźȽǼƻźźźźźŸķöŸȻ̿ξɺŶóŵĴ³ĴƵĴzŴŴɵ˷͹̸ű˳ƮɱɳůŰî²ƶȸǷǷǷȸɹɹɹ˻Ͽ˿ʾɽǽƼŻŻǽȾɿɿɿȾǽƼƼƼƼŻ¸¸VOaE>Ne\a:3::3;+$+/(/;59715KEIVOa62CskzB:IžľĽžɿɿȾǽù¹ǼʿɾȽƻĹ··ĹƻƻźƻźøøøĹĹźŸķķǺ˾̼ɺ³²ĴĴô³ƶŴóx|±Ƶò°˷̸͹̸İζȰʲʴưƱį||ŶǸƷǸƷȹɺɺɺ˼˿ʾʾʾǽƼƼƼǽȾɿɿɿȾǽƼƼƼŻĺûº»»QH]NEVrkrf_f=6=:3:d^bvptWPb40AøƶG>OmetĽĽĽžǽŻùǼɾʿɾǻźĹ·øźĹø··øøķķƹʽ̼ǷóĴŶĵ³óóòw²òij°̸͹κ̸ïҺ˳ʲɳȲDzŰ®{w}~z|ŶǸƷƷŶǸɺɺʻ˼ο˿ʾɽȼȼǽƼƼƼƼǽǽǽǽƼƼƼǽƼŻŻŽûG>SSJ]LEL:3:RJ_?:NøȄy8/@¼žƿƿƿǽù¸ùƻȽȽǼŹĹ··ø··ķķƹ̿ϿʺóôĴŶĵôó~{óñ̸͹͹˷®־ζʲɳʴȳƱİï®xxzy{~ŶǸƷƷŶǸɺʻ˼;ʾȾǽǽǽȾǽƼŻŻƼŻŻĺŻŻƼǽǽƼ弻>5JUL_@:>=7;NF[E@TcXi_VgƿĽ¸ùĺŻƼƼŻŹĹ··ööƹ˾ʺŵôĵĵĵô³óz²ó²IJ̸̸̸ʶиʲɳ˵DzƱİİï|uvyyy~ŶȹǸǸŶƷɺ˼̽ο˿ɿȾȾȾȾǽƼŻŻŻĺùĺĺŻǽǽǽŻùü»»ĽĽĽüüü;1IXOb±{{IAXFAWűğB7H¼ƿüľùù寯ŻŻƺź¸¹¹¹¹·ø·ööŸʽ̼ŵ³ôĵôôĵóxxĴĴ²ų̸˷ʶȴѹȰDZ̶ɴƱï®®ysxywyôǸŶȹǸƷƷɺ˼̽οɿɿȾȾȾƼŻƼǽȾǽƼŻŻƼǽǽŻĺĽĽüüüü»»ûûºſ¾9/Ge\odzH@WRMcum|I@QŽüü»ŻŻŻŻƼƼŻĺ¹¹÷ĸŹĸȻʽ̿Ͽɹ²ôô³{|~²²Ĵǵȶ˷˷ʶdzӻʲȲ˵ȳƱï®wsstvzƷŶȹǸŶƷȹʻ˼;ϿȾƼŻƼǽǽƼŻŻŻƼǽƼŻĺĽĽüüüüüüþ>5Jsj}Ƨ@;QZUkŻõG>OmduļļƿžƿüŻĺĺĺŻĺù¸···øŹǻǻǻ̼̿ƶ³wz}óó²²ǵɷ̸˷ɵİ׿͵ȲɳDzƱ®uqrsuz|~ŵĴǷǷŵŵǷɹʺ̼ϿƿĽĽĽžžĽüüüĽĽĽü»ĽĽüüüüûûººþœ91F{tºǣohpƸx=8N`[qöė5,=ſĽºüžĽüĺĺĺù¸¸ùĺùŹƺȼʾʾʾ̼Ƿ~w|ĴĴ²ȶʸ͹̸ȴ®׿ϷȲDZƱŰ®tpsrvyyĴóŵƶŵƶɹʺʺ̼ϿϿžĽžžžĽüĽĽĽžĽĽĽĽĽĽüüüļļƾŽûƿ¾¾ė2*?~wŽʱUNVwpx~vvn}ibr>9Ob]s²þƾ^Vc^Veļľ»þ¼ĽžĽĽĺĺù¸¸¸ĺĺƺȼɽ˿˿ͽǷ²z{óĴIJʸʸ̸̸ȴ־ϷɳDZƱį{ptqstsz²óŵƶȸ˻̼˻ͽϿǿŽŽƾƾŽļŽŽƾƾƾƾƾƾĿĿþ½¼¼ýýſľ¼ƿþĿžļȕ0(=}ƾngoUNV|tF>Mç;3Jc[rɶʭ?9EŽƿľž¼ýýýý¼ù¸¸ùĺƺȼɽ˿˿ɹĴy²²ƴͻʸ˷˷ɵ®սζDZůŰî~xtp~p|n}{mzt²ŵƶɹ̼ͽ̼ξʿƾŽŽƾƾƾŽƾǿǿǿǿǿǿþ½¼¼¼ýſþ¾ĿſŻƒ2+=ƽd]ed\k5-Dg_v˵ĿpjtUO[žľſü¼¼¸ĺǻɽʾ˿ͽǷzzȶͻʸʶʶdzҺ̴ů¬Ű­||}|zxy}sqqzl{wivq~}óƶƶȸ˻̼̼ƾŽļļƾƾŽļƾǿǿǿĿþ¼¼¼¼ƾ¾¾ĽýÿžĻČ.*;ZSZ^Va|µ0(?phŲˬJDNĽýɿýýý¼ĺƼɽ˿ͽɹô~x{IJȶ̺ʸ˷ɵïؿ׿ռѹ͵ʲưĮį{{z}~{s~uro|px{xssrzl{vhuq~{~ŵƶƶȸɹʺ̼ŽĽûļŽƾŽļƾǿǿǿĿþ¼¼¼ƾ¿þĽþľľĹċ+'6c]gE?K÷+'8wr¿~{QKUºĿ¼ƾ»¾ľľľý¼¹úúúü½ü»»üŻȾȻŵzy~ŴǶʸ̸̸ɵɲDZŮDZɳʴDZĮ~yuz{yuq|n}{m|}o~rrq~{m||n{xjwwivveu|k{z}|²Ƿȸɹʺ˻ͽʿƿ½½ĿſľľľľľýľĿĿþ½Āz0*8zw-+8ywʽƺεKHSyv¾ſľľ¼Ƽ¼ýľſſſľľƽƽżżżżżƽǽĽĺùĺŻƼƼ˿ʿƻy}²ɵ̸˷̶̶ɳůDZDZů}wy~~zwro|zl{ykxzlyzlyxlxwkwykxykxtfsrdqqanxhux~}ŵƶȸʺ˻ͽͿƿ½½ĿĿĿľľľľſſľľľ¼Ŀÿľ¾½+#0ZR_Ǯ~/,5ʾͽȕ:6DŽ¼ſȿǾǾƽɿǽƼŻŻƼǽȾ˿ʿƻ|}ijʶ͹ι͸ʴưĮůưxw{{xvp{~nyzlyxkuvisuhrrfpqeosgqthrpcmnakm]hscnv{}óƶɹ˻ͽ̾þþĿĿýýýľſſľľĿÿĿþ½WRX)$*LELSLSibimhnwrxxv{wuz®]S[LGNžso}LHVľſŽ½ĿȾǽɿǽǽȾɿʿɾźzǶ̹ͺϺ̷Dzíůwu~wxwu}q{oy{nwxktuhqsfoqfnpemnblpdnnakm`jk[fo_jq|v}Ĵȸ̽οϿ̾ʾ˿ĿþĿýýľľſľý¼ƿÿÿÿĽhcgA;=HBD=777119335//50-4/,7302.-76;:9A=<DA@HEBKHENNHRQKUTLWTMUSLTPFN]TYVKQJ?CH?DȼĺLHVtp~ſýǿüþɿȾɿȾȾɾǼź}|ijɸͺͺ͸ɴîíî{w}v|v|v|u{t{ry|ovxkruhosfmqflqflmbjnckl_hk^geXah[d|lvt~|ķȻ˾̾˽ɽʾ˿ſſſĿĿĿþ¾¾¿Ľyve\W@72:1*;2+:1*6-&;2-KB=VNKWOMUMKWNOWQS^XZc]a]X\jeikfjz~ϕ?9Eý½ĽþɿȾɿɿɿŻĹ·}z|Ƕʹ̹˸ʷŲŰ|w}v|u{tztyqv{oswkouhosfmqflpekodjmbhi\eeXa^QZbU^yisu|{öȻͿ˽ʼȼȼɽɽ˿Ŀþ½¿¾¾¿Ž¶½~so^SMF8/=/$E7.fYPy¿ȿe_k[UaſýĿƿɿƼù·z{~ôɸ˺̹ʷʷıưĮ{~wzvyuxtwps|mryjouhosfmodlmbjmbjk`hdYa`U]ZMV]PYtgpszy~Ǻ˿ɽɽȼȼǻȼǽǽɿĿ½ÿ»¾ľĿžļ»ĵõýñohYGCD50D65SGGpfgĺ¼ƺſ˶ǯHBLſſýɿȾĺ|y~Ǹʹ˺˸ɶɶð̶ȲĮ|wzvyvysvps{lqyjoviptgnodlk`hh]eh]ecX``U]YLU\OXqdm|oxv}{µɼ˿ʾȼǻǻȼȼȼƼƼƼȾɿþ½ÿþľľļ»ȴ¸ù{qpVLMA8;<38<5<aZa|w~ľĿ̀zJDNſþý½ȾƼ¸wyŶɺ˺˺˸ɶǴ¯ʵDzƲȴűwxsvru~ot{lszkrwjsrenl`jj^hg[eg[ecWa`T^VJTRFPeZbzmvr|wȼ˿ɿȾƼŻƼǽɿƼŻĺùĺ寯ùĺŻǽȾȾǽǽȾɿ¿Ŀþ½žĽû¾ľļ¾Ľûgb_NIF>63B86ODB^SQynlE@G~þŽŻ¸vy~ƷȹʹɸȷƵŲ̷ȴïz{twqv}nszkrzkrvirqdmk_ii]gg[gcWc^R\ZNXSGQQFNcX`wltpzt~¸¸¸¸ùùùùĺŻƼǽǽǽƼŻƼǽ¿Ŀýýûüºþ{mjbUOQB=H=;@7<VQWSNUQLSupw½ĿɿǽŻztyǸȹɸȷƵij¯²˸ȷ{~vypu|mtzjtyisvisqdnk_kh\hf\g_U`WMVSIRNDLMCK^S[vks~nxp{ĺŻƼǽȾǽǽƼƼǽȾ¿Ⱦľļ»»³ȷ˸ȶķý¿ʿzu||w~ƻȾƼĺ¸|q|r}yĴǸȹȷȷŴòóòƵ±~z}u{qx|mtyisxhruhrpcmk_ki]ie[f]S\VLUPFNLBJJAFXMSvkq|ox~nyùĺŻǽȾɿɿɿȾȾɿ¿¿ƾľĿžĻƷɺ˽̾ʻǺĻº¿ȼ¶¿ƿžļ¼¾¼¼¼¼ľſɿȾǽŻùu|~nxt{²ŵǷȹɸȷƵò²~|x~u{sz~ovyjqwhosfopcll`jj^hcYb\R[VLTNEJI@CE<=OFGtjk~qxoyùŻƼǽȾȾɿɿɿɿ¿¿ǾĻ¿ĽƿſǼȽŽ¿ɼöǾĻ¹¼ľƿǽƼŻĺ~rypzzĴǷȸǷȷǶŴ±~ytzty~ovyjqvgnrennajj^hh\f_U^XNVSJOH?BD;<>64E=;ndctxsz¸ùĺĺŻǽǽȾɿƽû¾Ŀ½¿̽ƻķ¿ǾĻ½þƿžƿƼĺùrw~ots}}óĴǷȸȸǷƵŴ±|}~ytzqv|mrwhmufkqdkl_ff[ccYa[QYQHMKBE?67=5380-<5/g][uwty»»üüŽƾȿƽļýĽĽľĿþþż¿̺ù÷ǿŽùĽžžžžü»|zkpqvvóŵƶƶȸȸǷŵijò{|xvv|~|}x~sy}nqzknvglsgkpdhi^dcX^_V[XORKBEC:;7/-80-3,&5.(bXVuwu|»ĽĽ»üļƾǿǿſȿǿĽüüþþ¿ʽƾƼӾǽƼź÷ɿƽùüĽ»¿sv{lqw~|ôƶǷǷǷǷƶƶŵóò±xq{t|xv|u{w}{~}vyqt}nsvjnpdfk_ai]_e[\\RSTJKJB@G?==85<73:51/*$4/)NFC~qxuýſľſǾξĿĿĿ»¾Ŀ¿ɾƼķĿǽƵ{os|ovwóŵȸɹɷǵǵǵųƴƴųŴijvs{rzqwrxu{yy{|vyrupssdinbfl`bj^`bXYXNOPFGNDCNFDJB?A96;62:5161+:51LDBwjqs~ýľſϺƾȼĻĿĿĿüǽ˿ȻĸĽĻznru{yĴŵƶǷɷȶǵųǵȶȶƴij~u|owowpxqyrxrxtzx~qwwhmqbgg[_`TX\PTUIMMACKABPFGLBCIA?E=;D<:C;9C;8C;9F<=k^eoy}ýľ׼окȹǻǿ˿ɻǸ·»ûýѾν˼ȹŵ|ptz~Ĵó²óŵƶĴ²ǵȶȶIJ~}~yrzqypxnvmspvtzv|y|uzuimfZ^^RVYMQTHLQFJQGHSHLNDEMCDKBCI?@F=>E;<B7;aT[{kuz¼ĿܽTQba^okh{zw̷ƻʸȻ˺ɹȹȻʼ̾οϻʺɹȹȹȻɽ˾Կμ˹ȶŵĵô³uy}óó²ųƴų~{{|z{ur|nvjrotrtrwrwsxuzz~}szuimj]daUYZNRUJNPDHLAEMAENAH[NWtgpv~½ÿ¼þݬ=;I:8F3/@0,;41<ᨥսѿѿѾмιͷ͵˸͵Ȳıôƺʼ̽͹տзȯ}}|~uyĴųIJ°}yxyw{|yurzmuhnnpnplqmrnsputxvzx~yz}zvircV]UHQPCLXKTnajr{|ſþþĿĿݘ75B><I@<JB>L;8A䷴kh{?<M;9FA>IB?FGEJWUXχedruwºվԻҶ˶ɷ̻;ҽϻӿм¿ЕtsX\gPW_FMU>EM8?G6:C26?/3<57C15@.2=/3>26A3:D5<F6<HS[fJJTEEQGIUHJWHLXHLXIKXLLXOOYSS_Z]n`exms|vxvzó}zvuuvwxv~s{muio~jl~jlkmlnmqmqnrnrpvsyv~z}~{nwfYc\OXWLTg\bxmu{ûü½þĿ¿ۅ:8CDBM>;F?<E=7AΛFBS)%495C<9D=7AA<CTOUjjv**6&(5+/;37B9=FEITQXbbfqqu~ĿοՔ21?$#1!!-%)2"'-#)"("(")!( '##&''&%%/6@``h!" &#*:<Ijlyx|~}{vq{q|q|s|xyv|oulo}ik}ik}ik}ik}jnlpnrosntntowowqxryu|w~xw~y~{{t~m`jaT^XMSbW]ujpzxv97BHGO=:CB?HFAHܫfdr,*72.<B?J>8BA<CB=Dfagddp,,835A/1=.1:-07,/6*-4),3++5--7//9,,6.1:33=33=00://900<33?·//;55A.1:,/4)-0%),$(+'(,&'+$#("!&"!&! % %$##%&37@YZ^ $!# !! %" % #"#(!!)&HHT}}yxur~o{p{pysyuzxztwnqmo{hjyfhzgi|im|imyilyilyhnyhnyjqzkr{ls{ls{ls{ls|ov}pw~qzr{~qz|oxzmvxktwjtzmwzmwwjtuiuqeqh\h]Q[QFLZOSshlx~¿¿hhr;:BEDL:9A?>DEBIۀ99E:9A85<B=DA<B94:FAE˼XZf13?33?11;01623710588:<:==8>;6<<7>72985<72930796=>;B<;A;:@wz.18.18+.3*+/()+%%% )'(%#$%! "$ $ $ !$ !" #!" #!7:?NNN# ""$ )%$$"#)',#.,:©wsqr~o{oznwosrtuvsuqrlnzgiwdfvcewdhwdhtdgtdgwflwflvgnvgnvgnvgnufmufmrelrelrenqdmpclobkobknajnaknblm`jj^hj^jg]h]Q]RGONCGUKLndevzZZdBBJDCKCBH98>HELݮbds//;0/797<IGJ845;78\XYþͿPR^-/;//9..610620386740/4..7./903;25=49@7<A8=>8<<6:837<7;DBGqty,03.16)-0++-43198640/0,)61.3.++&#(# % "!!" MMOEDB+)*'&$&!(##+$*#*%!# (%,!,.+>ϩĭ}z}sU_|yywq~to{ozmvlpmopqrsrslnzgiubfs`dp`co_bn^an^ao`en_dm^cm^ck^ej]di\ch[bfY`gZah[bh[bf[cf[cf[cg\ddYaaW_^R\[QZ\R[ZS[UKTLBJH>?NBBi]_tx¿ԺGJS<?F77??@E:;@RQYӿՓFG\,.=<<H;:@;9<:97C?<xtq̾ȽɺGIU.0<//9439+).ECF}yx{vstljh^]YOPOEF<15<15<15=47<36602@<=RPShlo*./-25&*+***%#$xts|y|trtljmggkbcfbczxyB>;.0/uwv~yvxr`WNC9- )"1-*0.1)'2'$5IG]ȶ̳²sz|ox{nwr{zJ*/uUZx~|wuup|pynt~ko~jlklnopqmo{hjubfr_cn^ak[^iY\iY\eV[dUZcTYcTYaT[`SZ^QX]PW^QX`SZbU\bW]aV^`U]_T\]S[ZPXXQXVOVTMUSLTOJQFAH?9=7-,>31bVVtv~ձ<?H-09>AH89>-.3TT\̺rs/2E*+=;:H97B87<645DCA¿¿ȿǽǻǶ@BN22>22<98>0.3cadƼ¸`de(,--25&*+//1))+984679cZQ+$-($)(&-,2**6 !5ssԱǼ˷{}uw}pwzmvzmvr{yT1-Q.,uSR~tyv|s{qxpwntlp~jl}ijklmnnp{knvfirbeo^dkZ`gX]fW\aRW_PU[OSZNRZNRYMQVJNTHLUJPVKQWLRXMSXMSVMRTKPQKOPJNPKOOJNHFK@>C649+).% $ -ZOMvvξʿЦ37@37@).4149038KNUƱXZg(*7-/;<<F66>2170.3QMNý¾½ʺƿǴ<<H22>00:55=217hfi¾ľſ¿ĽY]`(,/-05&).&',&',,+)!!!# :=BZSM-(")($224008&(7NOc˱Ļʸ¸wy{oqwkmyjoyjqzkrpwt~{c=2X3*V4+uTOzx}|psuyouovntmqjo}ik~jllnmq{knwgjuehq`fkZ`gX]fW\bSX`QVZNRXLPWKOUIMQEINBFLAGK@FJ?EKBGNEJMGKLFJJEIGBFA?B869++-! "VKGywȼ»¶¶Ÿɖ*.9(,5*/5).2!$+QT]GIX,36=269-.2224:8=gehǹýļ¶þľƭ::D22>22<44>238jin˿ſż¾TW^&)0),3%(/!%0)-8&&&# @DM?<5*)$++),-/.1:;=J̺Ǻÿýľ¼v}{nuwkmuiithhufkwhoyjq}nupzu~^8%hC1S/P."{]Svrpouuqtnsnrmqlp|im|gl|im}jnyhnwflvekragl[agX]eV[cTY`QVZNPXLNVJLSGINDEJ?CD9?B7=?6;A8=C:?@:>:484/3/+,'%&
+
+
+ 
+
+
+ TFCxw¾̾Ƿ!%0!(0#*0'/2 %+'+4/3?+*,8+/0*,'/0+442jhiĽĵ¼ýſŽúŦ77A22<24@25>36=qrwʻƿǼĹžÿȼĽźºQQ[%%/%%/#%1 .'4"!&!!*"HNZNMH45-7:3-/,01522<Һ¿Ƚľ»wzmvtgnrelsgiwiiwiiyhn{jp}ltnvpwt{{]9#]9#_<)U4#U8*x[Svrnlsuprnrms~js{gpyenyenxgmwflvekvekragl[agV\dUXbSX_PS[LOWKMVJLSGINDEJ?C@7<=498267154/3,'+
+
+
+   
+  MB>vt¿ξǵ*#(."&#'',0 '"+-/<&)2)+*-/*00.vvvùþļŠ55?-/;13@/1=-09sv}νǹƹȸȸȸǺǹƹƽʻȷķö»Ÿ·NNX##- * $/$1&2uty"#(! )"T\g__]&'"02-24167;..6ͺÿǼ~qx{kutdnpcjrelthluiivhh{lo|mr~ovpw~ovqxx~vu]:&_>+^=*T5#M0"Y=2uZStpnmpqrvluwfp{iu|jxr`lscmtelvekvekscfn^aiY\eUVeUX\MPYJMYJMVJNSGKMBFC:?C>B86;536536)'(
+ 
+         D;6{y}}ʽijipz%$("#%!##%&%*#"(*)/''/!!)SS[Ŭő,.:,0<-0?*-<&*6QU`ƴιҺй͸̺θʹǷɴƴö¶²DGL"&"'*!#$ -3~jhm!"!!!'_hoǿZY^327.-276<65=64?˼žǽķyzpqxgmwfnudlqbipcjthlvjnuikznrznrznr{os}pwu|z~zmv|hq~jux^=*W6#X9'^?-R5'H, \A8|c^nlqp}hm}jpp|xfto]mzjwtdnsdktcitcitdgqadmZ\fVW^NO]OO`QT[OQQEIK@DK@FI@E42599;557$$$           
+=31usx{|cjr! % $% " ! %#&""",''3--9ƒ&*6),;*-<&)8.0= ".*,8-/;<?NGM]Y`smtȵBEJ!$%' "$@JLJSXKTYPY`V_hR[dV^i\do[cpckxajy^gvYeunufdi# ##'!'how¸BAI43;43;65==;FECNǿǾŷ}}wwrr}jl{hlzgmudlqbircjtgntimshlxmqxmqynr{ptryv}y{~zp|}ir{hnktw[:'X7$V7%X9'S6(M1%O4)U<5miydakmrv|hsygs}kytbpscmpaho^dp_erbeqadl\_gWZcSV]NQ[LOYMOVJNQFJJ?E=7;:8;666'''
+
+          9/-{pnwz}~|{|}Y`h!&978! %$)""*&%==Grt $0'*9)+:$&3&&0!!)+*2)(0''1 , "1')8)+7(+403<59D6:E/6@.5?ɴAAI#"&  "    "#()');AMa_b " $'&+/$*qx©þȵrp{64?><G54<54<-,4qpxͽ¾þúwwppmmzgiyfjxeksbjqbircjtgnujntimwlpwlpxmqzosryv}yzx|zt}mxyhr{hn}jpoxyV5"\;(Y:(R3!Q4$W:,P4)A&_FA{c_qp~jl|gn~js|htwfpsblo`gm\bm\bn^an^ak[^hY\cTW^RT\PRWMNPEIKBEI@EB<@;9:&&$
+  
+            6-(wljwx~~}|{{zzyzz{}~~~~~MT\#_]^TRS##%$ NNX`bo.$'6')6%%1.-50-4-(.,'-1.52/81.9-+654:23745:/2758?9<C*-4ʲ>=E$&#   !$(&ADM^\] """#$(!$)"+|Ǫ~|,*797D53>98@32:<;Cɼûvuoo~ll{hjvcgsbhq`ho`gpcjsfmujnujnvkovkovkoynr~qxv}yzxyzyt~}lvvfqtcmziopsu{||~xzU6"W8$Y:(Y:(S6&N1#K/#J/$<#aJD~fdlnilydixclzfosbjq`hn]ckZ`iZ_iZ_hY\hY\fWZ^RTYMQSHLLCFICED>B;78! 
+
+   
+ 
+          1(#pectu||}}{yzvzv}w~xyyy~x}w{x{x{x|y}z~z{|x|xzxzx{y}{}~FJS pnq:9>
+  #"!ffpPSb-!%1$&2$$.!%1,2'!%'!-$)*$(.'.3.40,-/.,312000679<=A126ů;8C%&#!"""# '#"(!FEK[ZX%$"$$$#$&$',%)2ʺΧjhv+)7=;H=;H75@43;54<ѹut}ol|llwghtdgq`fo^fn_fobiqdkshltimujpvkq{nuryv}xxxxv~t|s{nvyhpudnudl}lrsvw}y{wyrrY:&T5!T5#X9'T7'M0 J. N2&A&<#[B>~fdjm|fi{djs^csbhraio^dk\aiZ_gX]fWZcWYbVXZPQUJNPGJJDFB<>0*.               -$j_]pqx~y~~~}{y}wvrwszt|v}w}w|v{uyvxuwtwtxuyvyuyuvrvrususwuyw|z}{{w~{>BK
+rps{z%$)$$.uuADS,".!!-"!)+(/}w{x|qfjYPSMDIICE?99:63:97875222/0287<30;"# HFIVUQ('%&&&$%'%&+#&-\`k{ynjy\Xf:8E0.;86D64A86C?=H32:tsyɼ~|rq{mjyiitdetdgq`fm^en_fnahpcjqflshlujpzouv}|}{v~s{u}pxnv~muziqtcktckwfl~mstyv{v}{{}ssooY:&U6"O2 O2 R5#Q4$M0"G+F*B'=$T=7ya_|gfq[]t`bqadn_dm^cl]bj[`eY]`TX[PTRGKULOULOE?A.(*
+
+     
+pnsedi#''325D) ,)&529¹¼+(3!!((&TTRRRPTSQWSRTNPPJLNHJLFHHBDPJLNHJKEGTNRuqrONL('%'''%&(+,0!(!#/#%1((4&$//,7+(331<-+642?75@97B76>xw˳½|{qpzlizjjvfgsdgo`em^en^hobkpcjrgmtioynvu}|~yrzowou|kq{jpzioudjo^dragziozkpszx{~wzqrmnV7#S4 Q4"S6$P3!K.I,L/!F*E)A&=$M40mUQ}ecp\[n^ak\aj[`i]ai]acX\[PTSJMTKNKEG=79%!"
+       
+
+            'bWUykksyu}~{|xzv{wzvyuxtysysxr~ur}wt}ut|srzsrzsq|sq|rp{qozmkxnlyomzpn{rp}sq~sqsq~xtxtwtwtyw~59B  !kinEFH#&43A(,8) +&%63:Ƽ%"+AAAJHI&$%&&&'(*'(,*-4*-6++542=-*37293.541:76>43;32:QPVϽºȼ|{qn{mj}mmzjkqbem^cl\fm`ipclrentiowlrt|y~{t{ownv|kqziozioyhnsbhl[arag|kqwhor|}{vyqtnqT7%S6$Q4"O2 N1!L/K.J-F*H,!H-$C*#>%D-']EAt_\fVWm^ag[]`TV`TXZOSRILQKM602"                 
+   $NCAsssyu}}|~~~}}{{w|xzvxtwsxrxrxr~vs~vs|ts{srzsrzsrzrqyrp{qozomxomxnlyomzpn{rp}rp}rp}so}sp{tq|ur}wu|z7:C pot~}wv|~013"#GFT ".#& "::But|! (IJLQOR$"%((**+/*+0+.3,,4''/+*0,*/3.2504-+0?>Cedi˼ûutzwwt~poykkrcfm^ci\el_hqdmvks}rxw}|v}qxntnt}jp}jpzgkubfp`cqadscfsbhzjts}~u{osmrnsR5#Q4"P3!O2 N1!M0 K.J-M/$H, D)D) A(!@)!D-'G4.XHHUIK\PRYOPPEIRILD>@$ !  
+               
+  A75~ppvyv|~}~~||{}yzvxtysxrwq}tq|tqzrqyqpxqpxrqyrqyrp{rp{omxomxomzpn{qo|qo|qo|qozrozrozsp{ur}vtzx~|03<  xw|{{~~pqu#$(#"%dcq~~'69@jkp" QTYTRW*(-.-201589>,/4BBJJKPWV[`^atpq~ƾȺykj|nkro|nmuggpadj^bi\em`ishpynvu{z{t{~ov|kq|kq{hn{hnwdhr_cn^ap`crberchp`kxjw|{s|ouovqxP3#O2"O2"N1!P0!O/ M- J-H*F*E*E*!@' <%>'!?,&N@?F<;G=<NFDMDE600  
+
+  
+                 
+
+                    
+ 
+     
+                  
+    
+          
+          SIGvx}|~~|~~|}y{wzvxtvruqvs~ur}sp{rozrozrozrozrozuo{uo{tnxvpzys}|v~xy~~~z}|jnw #* )',}|uw~}{z}}}}55=#PPZ~}zyyw}}TUZ.16MPWQS_TVb_cnbisdmtkt}kq}msksnvs}t~v~~|}ABF$*vƱŴĸķõHGL54956;47>58ACGPȽ»}}{zx}yw|{v|zu{zu{ytzxqxwpwyowzpx{qy{qyzowynv{rwwquuostnrvmrwnsypu{rwzqv|sx~uzv{u{v|x~y|}~}{|z~|}{|z{yywwwvvvvvvyyzzwvk]\gYVhZWh][k__i_`i^bj_gnckvkst|{}x|qt{lozjmxhkyfjxeitaeo\`kX\lY]o\`q^bs`drago^fo`gp`jtel{jrqwx~{y~uzpvqwu}zL0$K/#K-"K-"M-"L,!I+ H*C'M2'U=3YB:YE>XE>TC<L?7D=5<92$!
+
+  
+              
+         
+  
+     
+        
+ 
+        
+ 
+ 7-,}st}xw}u}wy{zy|~}{~z~z~z}yzvyuxtwsvrur}vp|uo{xr|{u{zzsv}qt}mpyX[bPPXHGMEDJ@?EEDJ~ss{zzyyzy{zzyttxxefj$hht{{oo{vvDEJ
+   
+ 16<~}~65: )$($ ".!#/"$0$&3$(4-1=&,:.4B)/?7=MǽƸDDF76;67;67<25<aen̼ŷ~||~yy{xxzvvxutyttvsqvsqvsqvsqvtousntslstmtxnvxnvxmuvkquhqtiosjmsjmtknuloulovmpvmpulovkoxmqynrzoszoszos|qu}rv{ru|sv~uvwxut}sq~trxvxvvttr}rpqpqqqqrrrswvtsfXW`USdYWg[[fZ\f[_j_enckshp|qyzwyqtyjmufisdgscfrbep`cjZ]fVYeUXjY_p_etags`fq`fpafqbgwfl~nqvyz{wytvvxqsnstyJ0I/I/ H.!F+ E-#O80YE>dQKaOKZKHVHGSEDL@@@655-+#
+                        
+   4*)macw~|wt{szszv}yzzz|~}|{w{w{w{wzvxtzw}z|~vy~pszmpwmpynqztw~uxxxwwuu}uu}xx{{{{vxzzyyzywv|[Z_%$)%$*powxxuu==E!89>|}}|/.4! ! # !%!"&! %"!'%$*('-%%-((200:(*6)+8/2A.1@ͼͯ<=A;<@<;@<=A56;orw˺ĽǷ~|zx{yw|xv{wuzvtyqqsqqqqqsqqssqtsqtuptupttnrtnrulqtkpshnrgkpekpeipjlpjlpjlqkmrlnrlnsmosmoulovmpxmqxmqxmqxmqynrynrxnozpq{qr|rs}qs|pp{ooznn|pp}qq}qq}qqqqpsps~or~pospwifcXV^RRbVXf[_i^bk`fnckrenuhq~qzz{w~~or}ooxjjrddqccseeqbel]`dUZfW\iZ_n_fqbitcktcksbjtejthl~orz}|w{tyx}sxotryJ0F/E+A*E/$O;2]JDfTPaRO[MLQEEJ>>E;<B89:141+-"!  
+                 
+         -#"fZ\w~zt|qxovovrxt{uzt~xy{}{}y|x{wzvzv~{|~|~{{wwru~qsptpr~qsrtqsrr|rr|vtxvuuwyyx|{~zytrwljofdiXV[QPUEDI<;@YX^xxrr|A?J!?>C}|~-,2"!# # "!!#""$%#&'%()',+).217-,2**200:57C/1>35BȞ9:>56:216105348~׿ſʿɶ}}zz|xvyvtwusxusxspwrpurrtrrrqqqqqqqorqorsnrsnrrlpqkoqhmpglqfjpeiodhmdgkegkghmginhjnhjnhjpjlrlnrilsjmujnvkowlpwlpxmqxmqxnoxnoyopyop{oq{oq{oq{oq{oq{oq{oq|pr~or}nq}ns}nq|nkrlrgccXV_SSeY[h]ck`fmbjpemuhqzmvu~{xsz}mnzjjuggrddpddocck_aeY[bVZdX\i\cm`grbltdnveoufmxin{oswz~x|sxsxpwryzD-C.A*>(D.#M90R?9P>:M>;H:9@44;/18-18-15,/0*,$#!    
+                 
+ 
+ 
+  
+    
+$\PRv}w~r~zoul}sl|tm}vp~vp|vp|{u|vy|~|{{}¾ļº|~wyxz~}}~|{yxwvtvsrsrsrsrtruswsvtyyvx{{}}}|{z~}}{zx}{zutz{zuv{{|uuzziis\\d[Z`SRWJHMCAD8695341/2-+,((*$$& "HGM~)(."!& !! """%%%'')((*#"')(.((033=77A)+79;GȚUV[XY^fgkuvzǽŹò}}xxzvvxttvtrutrutrutrurpupnsrrtqqqrpqqoppnqomppkopkoohomfmkeijdhmdinejmdglcfgachdekegkegjdfjdfmgipjlqhkqhkshltimujnvkovkowlpwmnwmnvlmvlmxlnymoznpznpxlnxlnymoznp|mp{lozknzllzlk~pmujhi^\h\\l`bmbhnciqfnujr|oxt}z|w~~otzjmuefqccrddpdfl`beY]aUYbVZfZ^k^enahrbltdnxgqyjq|mrwyx|qvnsmtu|>+>+<)<(?+"@-&;)%3$!<.-;//<02:01;04<15:14600%$     
+               
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+  
+
+SGIvzr{}q}zo}vn}tm}tn|uo}vp|vp|ys{u~x|ĺ·wyvxy{~}~|}~|{zyyxxwxwxwzw{y{wywx{vv{{}|~}|{}|zyzy{|yz~~zz~~~~~~~}|{xyw||z{y~zx}xv{vuztsxqpupotllneeg``b\\^RQVSRWhgm@?E216.-2438013-.0.0//1013233366688:99;=<AIHMEFKJJROOYYYcuwȿɽϾľƾȲ|}yy{wwyssurrtrpsrpssqtrpsqotpnqqopppppnoomnnlomknojnnimpipmfmlfjmgkrinsjorinnhjjfgkghlfhkegjdfjdfkeglfhqhkqhkrgkshltimujnujnujnvlmvlmukluklvjlwkmxlnxlnvjlvjlwkmxlnzknyjmxilxjjwih~pmzomqeepdfqeipekpekwlt}rzx}~|u|}nswgjrbcoaaqccmacfZ\`TX_SWeY]i]anahpcjscmueo{jt~muqv|~z~uyotkpmtw>, 9'7%9( ;*#9*%9*'9+*;-,<00>24>45?48>58;25600#"   
+
+               
+ 
+ 
+ 
+ 
+ 
+      
+  
+K?Atx}pw|pzzo}wo~vn}vp~vp~wq}wq}xrzt~x}úĹŶ´yywwwwyy{{~~~|}~|~|~~~~~~}}zxyxzy~}xw}xw}zy|{~ͷ|}xw|vuzuuwttvqqsppromnomnnlmnlmpkonloomnonlomnnlmnlonloojpojprmsqlrqlrtouyryztxyswwqurnoplmoikmgimgilfhkegiceofiofiodhpeirgktimtimtimvlmvlmvlmvlmvjlvjlvjluikthjuikuikvjlxilwhkwhkvhhugf}onznnrffpdfqeiqfltiqu}{}v}~ovyjotdgqadn_bo`ch\`_SW^RVbVZh[bl_fpclrentdnwgq~lxr|y~{~swqunulsqz{9+"5'5&9*#;,'9+(;-,>31:..;10<23<23<36<36:145//   
+                
+ 
+ 
+ 
+ 
+ 
+      
+ 
+C77}qsry}q{|r}|qzrxrxr~xr~xr~ysys|v{¼Ƹĵðxxssssttvvxv}~~{z~}Ѷò}}z{wx}utysrwrrtqqsqqsooqomnmklmklmklpkoqmnonlonlomnomnpnqpnqrmsrmstoutouvqwytz|w}~y~x|{vzyuvvrstnpsmorlnqkmnhjkegmdglcfmbfncgqfjshltimtimukluklvlmvlmvjluikthjsgisgisgithjthjvgjvgjufiufiwii}onxllpdfpdhtgnynvt|}v}{osvgltejrbeo_bl]`j[^bVZ\PT_SWfZ^j]dm`gqdmsfovfpzjto{uwzosmqmtnuw4'!4'!6)#8*'9+(6+)7,*6,+;12;23;25<36=47>58:46621 
+         
+     
+ 
+      
+ 
+ 
+ 
+ 
+ 
+ 
+  9/.znpx|yyyyy}w{uztyuxtyu|x~°||wwrp}pn{qozsq|vtxv}|}}ʹò}yxxw}vu{tsysrwqpupprooqpprooqomnomnplmqmnsoptpqrnmsonsoptpqtosuptsqvtrwuryurywt{yv}{y~|z~y~y}}yz|xy{uwztvztvxrtuoqsmopgjnehncgodhrgktimtimtimtimtimtimtimuimthlsgisgirfhrfhrfhqegsdgtehtehtehykk|nnwkmsgixlpryz{u|{nusgkqbgo`co^dm\biZ_eV[^RV\PTaT[h[bl_fnahqdmsfoxhs}mxsy|twmslrnwqz}0%#2)$3(&1'%3(&8.,:0/7/-6-.7./7.17.19039033-/.*)  
+        
+    
+ 
+ 
+      
+ 
+ 
+ 
+ 
+ 
+    3)'wkk|~|y}w|yzvyu{w}{{uussrp}qo|pnyqozus~zx|||ĺºº»ýϾȷ||xvzyxw}vu{rqwpounmrnmrnnpooqmmommoompomnqmnrnosopuqrtpquqpuqrvrsvquwrvvtyvtyyv}zw~{x|y}{~|}}z~{|{}{}y{}wy|vx{uwtknrilqfjqfjshltimtimshlshlshlshlshlthlthlsgisgirfhqegpdfpdfrcfrcfsdgtehwiizlluikvjltx|{szznruimpdfn_bm^am\bjY_eV[aRW\PT^RVdW^i\cl_fnahpclsfoyitozu|y|svmslroxs|.$#-%"/%$.&$0&%/'%/'%-(%*$$)##)##)##*$&)#%'!##                    
+ 
+ 
+ 
+ 
+ 
+     
+  
+
++!pec~~{~{|||~{{xxuurr~wurp}nlwwu{yww¼ȼƾɿȿӾͺǵª~~}}yxzywv~tqxzx}mlqmlqonskjooptklpjkonoqiikooqtruqoruptxtusqrsqrtruusvwuzxv{yv}yv}{x|y{z|{|{}|~z~{|{}{}{}z|~xz|vxvmpsjmrgkshlshlrgkrgktimqfjrgkshlshlsgkrfjrfhsgiqegqegpdfpdfrcfqbeqccqccrdd{mmocerfhtxy}~{u{zmtsgkmaeh\^iZ]k\_kZ`jY_dUZ]NS\PTcW[i\ck^ek^enahqdmtgp{kur|y}~w{quptms~kqqz|&'''''$$'!!& & & '!#& "# 
+                   
+ 
+ 
+ 
+ 
+ 
+    
+      
+) f[Y}|~|~zzwwqq}xxljwqo||zus~|z¸¹Žоʸİx{{zwv~xwtsyvtyomrqpuihmqpulmqdeioptoptqrvmlqooqsqvusvytxwrvvtwwuxxvyywzzx}{y~|y|y}z}z}|}|~}~~{|}{}{}{}{}y{~xzypsvmpujnujntimrgkrgkshlrgkrgkrgkrgksgkrfjrfhrfhqegpdfocenbdpadpadpbbpbbtfftff`TV]QSi]apdhshnmbhodjlagj^bh\`fZ\cWYeWWhZZhW]eTZ_PU]NS^RVeY]j]dl_fl_fnahpclsfozjtr|x{w}qumq~ko}jpkts~|'"'"'"'"'"&!&!&!%!$ ##$ "  
+
+                  
+ 
+ 
+ 
+ 
+ 
+    
+   
+
+
+#TIE~|~~~~{{xxwwqq}yy~~{{fjvSWcLN[IKXCEQMO[^bn|ɽ̮¸ø÷·ļɻȹȿп˹õz~wztw~wv~srxvszspwrpuljmpotfejmnrnosjkppsxorwnqvqrwmnrpouvuz|zyw|{y~{y~|z|z}z~{~}~}}|~}~}~||}{}{}{}{}z|y{~ux{ruynrxmqwlptimshlshlshnrgmqfjqfjsgksgkqeipdhrfhpdfnbdmacn``n``oaaoaaugfm_^VJJOCCVJL\PR]RVXMQ]RX]RX_SWbVZcWYcWWeWWfXXeTZ_NTZKP]NSbVZg[_j]dk^em`gnahpcjsfm{lst{wxqwos~kq|io~jspyz% % % &!&!&!&!&!#"!!!   
+              
+ 
+   
+ 
+  
+ 
+ 
+    
+ 
+ 
+
+ A60~zads8;J*-</1@13@02?02?54B/1>*,9+.=57FFIXuxұǺƲĴǰĴĺźźŹĽʽʾ;;Ͽ˻űy~sv}ruztsypouuryrpusqtrpsnmrwv{fgkTX[Z]bX[``chadiyyz{xwwv|yv}wuz|y}{}z~{~{|~~~}~~|~{}{}{}z|y{x{vy~sw|quzosxmqvkoujnujpshnqfjqfjsgksgkpdhnbfqegocemack_al^^l^^m__n``rdcdVUQFDNBBQEESGISHLUJNYNTZOS^RVbVXdXXdXXeWWdVVbRU\KQYJO_PUcW[fZ^h[bi\cm`gnahpcjtgn}nut{us{msnr~kq|ioluw"#####""   
+              
+ 
+   
+ 
+  
+ 
+ 
+     
+
+
+
+ 1'{pjacp-/<')6)+857C>>J::F88D::F;9F66B55A9;H<;I-/<,.;:>JuyǺɶýʴŻŹùùù÷µŵʽۻ̻̿к˵ƱƹŴƹùĸźǻȺǺǼɽʾͺ־по˹Ƶ}w~mtzw|qt{ruzsrxpotsqvrpuusvqopooqvvx;<@$*\_huxyyvv~yx}|{z{z|{}|~}~~|~{}z|z|y{y{z}y|vzuy~sw}rv{ptynrwlrujpshnshnthlsgkpdhnbfocenbdl``j^^k]]k]]k]]l^]pb_VHEF;7K@>QEEPDDPFGWMNWLPYNR]QU_SUbVVbVVbTS`RR\LOZJMZKPaRWdX\eY]g[_j^bmaeocgrfjwkopwu|rznv}jpjo~ip}honwy##""!! 
+
+
+
+           
+ 
+ 
+   
+ 
+  
+ 
+ 
+     
+ 
+   'f[UͻҜ:<I%'3-0933;44<33;43954:328/.42/687=;:B99A86A66@55?68D06BIO[ҷмƽǿɽǺķùጓpvǽ̻ͮǻǺŻƻȼɼɼɽʿοѿнλʺǵ_dj#(."( '-&-5%,4LSYnu{psxpsxtsxrqvqotpnqhfgmmmvvxYZ\! #cfo|{{tt~us~|{zy{z}|~}{}z|z|z|z|z}{~y}w{w{vztx}rvzouyntwlrvkqvjnuimsgkqeiocenbdmaak__l^^k]]j\\j\[l^[I<6:/+C84MB@OCCMCDTJKSHLUJNYMO[OQ^RR`TT`RQ]ONXHKYIL]NSbSXdX\fZ^h\`j^bl`docgsgkxlpqxszpx|kq}hm~in~ipjqqzy  
+
+ 
+           
+ 
+ 
+   
+ 
+   
+ 
+      
+ 
+    MB<~yͽՇ13B/1@9;G-.266688822210.875@?=CB@@<=<:;869//11/487<98=-07+2<&.9>DPۼο˾Ȼùļƿݦ28D$*8-5B/7D-4Dw׳ŹȷƸƽʽȻȻƼǽȿҝw}syhn~X]p`crѼ̹ɷƴBGK29?krxpsxnqvtsxsrwpnqqorooozzzkkm+,. !$dhsy{xxvvyw}{{{||~|~{}{}{}|~z}|{y}y}y}w{tx}rx|qw{pvzouznrxlpwkovjnthjsgirffpddpbbn``l^^k]\\OI>1)7,&?40F;9LA?KA@QGFPFGSIJWKMZNP]QQ^RR]ONYKJWGJ[KN_PScTWdXZg[]h\^h\^l`docgsgkwko}nsqv~mszio~in~injqnut}z~~   
+
+
+ 
+
+           
+ 
+ 
+   
+ 
+   
+ 
+    
+   
+  :1*~tr~'&4,+9AAM108;;;10,21-MLHyxtggg?=>002779:;@59BAEQ/3>:>I׺MS_-4>5<F)1<5=H19FJR_Ǹ̹ɸǹȽʿ̼ɻȽȿοpw'-9,2@/5C*0@FIXξ;ͻ̸dz¯,03 !'.4mtzrw}lotqrvtsxooqrrrpprrsuFGI $gkvy}||~~|zyw||~~|~|~|~}~z}||{~z~{y}uy~sw~sw~sw}rv{ptynrynrynrymoxlnxllvjjuggrddoaam_^E:65*$:1,>50?53F<:I?>OEDPFGSIJWKMYMO[OO\PPZLKTFFXIL]NQaRUcTWdXZh\^h\^dXZl`docgrfjuim{lq}ns}lrzio|io{hn}jpoxu~z{{        
+
+
+
+
+
+        
+ 
+ 
+ 
+ 
+    
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+  
+     !h^\|{tv,,820;:7@?<C<7;0,+VROǮghl12689>;;E66B;;E**2LMRλӿսu{ '/:BE'/1/7:-4:07A06BҺ̼Ͷ;˿X\g/3>8<H59E14Cbfrпν̹ȷDzqrv#$ !(16howls{lqworwrsuqqqrrrrsu_`d "imxx|}}~~~~~}|{|yzvuwvwxvw{uuztt}tu~uv}sttv}nqrurr|nnwljdYW7-+2*'4,)=52B:8C98G=<NDCMCBPFEUIIYMMZNNYMMUIISGGXLN\PRaUWdXZeY[eY[fZ\g[]m^ao`csdiyjo}lt|ks{jr{jr|ks~mupxrzv~|~~               
+
+
+  
+
+        
+ 
+ 
+ 
+     
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+
+  
+    XPM}¿ނ/.<44>>;D5388264.0{wvͼÁ36;53>@=H('/WV^ʾԼٕ29C)14%.-/85,54-57-4<)/;ekyҲƾϷƼֺHLW15@37B6:E26Bvz˾˿̻ʸǵŰ]\a "+0jszgnxkoxruzoprttrsutxy},03#lp{~~~}{|z{zyzx{y|y{z{zzzz{|}uwx{vyvvrrynl:0.)!,'$3.+941@86C;9G=<H>=LBAOEDTHHXLLYMMWKKTHHRFFWMN[QRaUWeY[g[]g[]h\^i]_m^ao`ctejxinyhpwfnwfpxgq{kupzuy}
+
+ 
+
+
+    
+      
+             
+ 
+ 
+ 
+     
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+  
+  
+   @85zx»ȼ;ܭ37C++733;=:A=;@826ο˹ҽȊ75@.,7femռɹȸ>AP#.+04)//-3/-31-25.2;(,8:=LȽ̿̾٤7;F59D15@6:E37CҽʽʼɸǴð{~DCH  &,cjrmq|imvpszqrvrrrwyxQRV#pt~}{|}||{|}}}~}~{z}{~rr}}YNL #.*'2.+830@;8F><E=;KA@NDCRHGUKJVJJTHHRFFPDDVLMZPQ_UVcYZfZ\g[]h\^h\^k\_n_bsdivglwfnudlwfp{jtp{w
+
+
+
+
+
+   
+
+
+ 
+    
+             
+ 
+ 
+      
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+  
+  
+ 
+
+*"pfd~~mp*.:77C==E=:A758Ͼ˼~ο׸Ǵöil{".-1:',0'-+284,20)//-28-1<.1@ӸϾٌ15@8<G48C6:E6:FϺǺǹƴðvz}vz}|{++-#_fnmq|ps|qqymnsyy{fgi#%sw~~}~}}~|~{~twww~pp&
+&"*&#0,):52B=:F><H@>MCBQGFTJITHHRFFQEEPDDUKLYOP]ST`VWcWYdXZdXZdXZk\_l]`o`erchudlvem{jtoyx 
+
+
+
+
+        
+              
+        
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+   
+
+   
+QIF{z±?BQ,0;00:BCH86;TRU̽ԿѼؿӺ̮nj'+7)-8',2',/175"($&,*066-286:E14CPSbѾͿ̼ɽʽʾ˿uy37@59B7;F59D<@Lʵ³°~y|rvyy}baf]bhloxtwrrznot|{9:> !*y}}|qt}}M??   $#*)%1-*:63B=:G?=KCAPFGRHIRFHPDFPDFQEGTJKVLMZPQ]STaUWbVXbVXbVXl]`j[^k\an_dtckziqpzv
+            
+                      
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+  
+
+    
+5-*{qp{zǠ+/;#'211;238/.3ӿտҾͽټαŹ˩CJT&*5(,5',2*/2(.,9?;9?=-3316<<@I26B47Fؼ˽ʼɼɼɾ̿_cl48A04=6:E48CBFRŰ}}ruzpsxtx{y}ABF >CItwmpyppx}}XW]  %)4pbb    !")($*)%2.+:63B=:IA?OEFPFGPDFNBDOCEQEGSIJUKLXNO[QR_SUbVXcWYcWYj[^gX[gX]l]budl~mux               
+                      
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+    
+
+
+ 
+ "i_]}|‹!-*.9))3)*/327ÿȿ˽ӽӾͿӿ׽ϼҵɶʳnu%/+/803:149.25+/.txy&*-69>8;D35B35Bimyӽ̿̽ʽʽʿ˿ʽMRX26?04=37B26AAEQ~x|}x{orwqtyuy|fjm'(*&') %oowmmuss{oow%%-%'$-1<x{>00
+
+ 
+  &'")*%.-+621@::E??LCDNEFLBCKABNBDQEGSIJTJKVLMZPQ]SR`VUbVVcWWeY[cWYeV[iZ_o`gwhor|z}                                     
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+
+   
+
+
+    WOL~~~}~|y}"-!*##+().438»ѿտԺиμЖ,3=*.7-07-05.25)-0z~Ȧ9=@69>.1:35A8:G=AM½Ϳ̾˾˿ʶCHN15>48A26A15@=AM~uy|sv}qtywzrvyLPS'(*IJL RSXww~~EEM$89;XZY26AhY\      $% +,'10.542=98C==KBCLCDKABJ@AMACPFGTJKUKLVLMXNO[QP^TS`TTaUUeY[dXZdUZdUZdU\hY`q`jzisp{ty~
+
+     
+ 
+ 
+  
+  
+    
+         
+    
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+    
+   
+0(%xv~{{}*&!!) %'&+Ⱦ̿սѻѿը>DP(/9/3<03:349348LMQŰ[_b.1603<04?9=H15@ټ˼ɾ˾ο̫;@F59B04=15@+/:AEP}x}y~wzqt{ruztw|pqv)*.=>Befj )*/wwrrz!!!"&MON =DN0$&
+
+    
+ "''%,+)320;76E??JABH?@J?CK@DLAEODHPFGPGHTJIXNM[QP]SR_SS_SSaUWaUWcTYcTYdU\eV]fW^gWascnwgr}mxp{s~v{
+
+ 
+    
+ 
+  
+  
+                  
+        
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+ 
+     
+     aYV|}~}~~||#,# ''#"(źƽҾӿһϺֻY_k'.8+2:16</27:;@+,0ƴÌ,/69<C15>7;F*.9SWbʾͼɾ˾˾˽Ƚ̠27=26?,09-1<'+6>BM{x|tyv{tw~orypsxruz^_d$HIMsty89=TUZ..6""!Z^aQSR AHRteh
+
+      
+$$"+*(21/954C?>GAAH?@I>BJ?CK@DODHMDENEFQGFTJIXNM[QP\PP\PP`TV`TVbSXbSXdU\fW^hY`j[biYcn^itdo{kvozq|r}s~t~y{ywy|}
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+  
+                      
+
+    
+ 
+ 
+ 
+ 
+
+
+
+
+
+
+
+
+ 
+     
+   
+<41wxwyz||~{}25>#"!MNSȿɺ½̻ƽϾ;л{~(,8'+616<.37+.3()-sv{ϼĸij8=C/4:15>59B07A5<Fͼɿ̿ʾɾɻƼ͓).4/3<(,5(,5#'0;?J~yv{tyqv|sx~ruzorwrsxstyEFKSV[~~^_d ! #%16:PRQ$!JP\>24   
+     ##!+*(10.845B>?F@BE?AH?BJADK@FMBFMDELDBMECPHFVLKYONYONXNM\PP\PP]QS^RTbSXeV[hY`iZao_ip`jrbltdnvfqwgrwgrwgrxfr~lxs}t~t~uy|
+ 
+ 
+ 
+ 
+ 
+ 
+    
+
+
+
+  
+ 
+
+ 
+      
+ 
+ 
+   
+     
+ 
+ 
+ 
+ 
+
+
+
+
+
+
+
+
+ 
+     
+ 
+   $oge{|y{{}z|z~X[d# (ľ˽Ͼο̾ɿ˿ٜ.2>*.9.2;38<(-0+/2CDHƿǴľȿpu{*/56:C+2:07A/6@ipzӼɿ˿ʼǻ̄!&,+/8"&/"&/!*<@K~{yw~szsx~sx~qv|sx~qtyorwtuztuz238`cjzz-,2!!!'!%&puyIJL#$U[g¹hY\ 
+  
+     )(&0/-956B>?E?AD>@JADMDGMBHLAENEFMECLDBOGETJIXNMXNMWMLZNN[OO\PR^RTbSXdUZfW^gX_k[el\fn^hp`jrbmtdovfqwgrzht{iu|kuoyw  
+ 
+ 
+ 
+ 
+ 
+ 
+
+       
+  
+       
+ 
+ 
+ 
+    
+ 
+   
+
+ 
+ 
+ 
+
+
+
+
+
+
+
+
+ 
+  
+   
+   WOM~uv~}{}|~x|~|~(!$%HFSÿӼȽϼԴͽغԷPT` $026?).4.36).19=@̲Ǿʷķĕ(/7/6<(/5-4<+4=;DM¿̿ʾɾɻƹ½uz"(&+1!'!*%AEP~yu~s|ryov|qv|rw}qvzrw{psxorwuv{qrw&',!&mpy}}edj%*!MQZEFH ""&&^dpĿƾþż*   
+
+ 
+ %$"10.;78C?@F@BE?AMDIQHMNEJJADOFGNFDMECOGESIHVLKVLKVLKYMMZNN\PR_SUbSXdUZdU\dU\dU\gX_k\cm^em]gn^hp`krbmweq~lxv     
+ 
+ 
+ 
+        
+  
+        
+ 
+ 
+ 
+        
+
+
+
+ 
+
+
+
+
+
+
+
+
+
+
+       
+
+NFCzqr~y{{}}x|{VXd *$!ZZfºƸſμθȽѻϥʹko{+/;.2=26?*/3$),-33x|ټƶ¹ŵŵJQY'.4,39/8?-6=,4?˽ȼǹķhms"(#(.% )$LP[|xt}r{pw}mtzotzqv|rw{rw{psxpsxvw|jkp !&!#"+w{??A!#&!'3FGI!"&$ )&ciuþþ¸TFF  
+  
+
+
+ 
+ ! 320;78EABHBDGACNEJSJOPGLLCFNEFNFDNFDNFDQGFRHGSIHSIHUIIWKKYMO[OQ_PU`QVaRYaRYeV]fW^gX_hY`iYco_ixhsozy     
+ 
+
+
+ 
+  
+      
+     
+ 
+ 
+ 
+ 
+  
+
+    
+
+
+
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+      
+[SPulm}wy|~y{|~z|}{}35B(('jjvȵdzƿӶ{7?Lsz˸ÿկۏ02?13?25>47>047$(),01Y]`~ƾͼ˾v}*38,5:,5<-6=08CW`i˽ȻĵZ_e"(#)"(#UYdyvt}r{qx~ov|puyrw{rw{rw{ruzruzwx}abg!!%")3zz|$$"$% # &,%_eqMNP $$#,(flz½ýthj$  
+    
+ 
+ 
+ ,('956FBCMGIJDFLFJOIMQHMOFINEFOGEPHFOGEPFDPFDQGERHFSGGTHHVJLXLN[OS]QUaRYbSZdUZeV[hY`n_fwgqt~   
+ 
+ 
+   
+   
+  
+     
+ 
+ 
+ 
+ 
+   
+
+   
+
+
+
+
+ 
+
+
+
+
+
+
+
+  
+     !kc`lcdtknù¶z|{}z||~}tv$&3#(#(
+ MQ\¾ӧZaq&/>08E.2>y}ԻȻȸԪ;=J24@35A25>25:+/2.23'+,$', '*-6:<HMO[fjuqsw{dkq)0618>-6;/8?.7>4=DúɺǶíMRX$"%X\gw~u|s|s|s|szqx~rw{ty}sx|sx~uxvyyz[\a!$()0:SSS!# "%#08CVWY!$$'0)hn|¿üþĻ/%&   
+
+
+    423GCDOKLLFHKEIMGKQHMRILOFGPHFRJHQIGPFEOEDPFERHGTHHUIKVJLYMQ\PT`TXeV]gX_l]bpafwhory{   
+         
+
+
+  
+
+
+
+
+
+
+
+    
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+   
+ 
+ 
+ 
+ 
+   
+ 
+ 
+    
+   ,#mcapfgncg|}{}vxegs&&#) '+7^dpckx1;G$.8-7A19D6:F13@ӽ׼[_k/3>26A48A.39149.25)*,%),%(/$(1%'3&(4(*6),5,,6*-6-09-0703:49=.69-5808;#,1hqxγŬ®<CK#"! 'hlut{qxpypy~qzr|~s}u}u}w|uyy|~~WV^$'*&.9))+#$(+!&,$ow\\Z%&*!*)ehyĽƼJAF   
+
+  
+
+
+ 
+
+
+
+  444GEFIEFOIMQKOPGLQHKSIJZPQYOPTJKWMNZPQZNPYMO\PR_SWcW[fY`j[bl]dpahsdkwhmzkppwu|yzxwxxz}}z   
+ 
+ 
+
+
+ 
+      
+   
+
+
+
+
+
+
+
+    
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+  
+ 
+ 
+       .$"oedoefk`f}s{~|~{}rt\^j%!" #!$)-9?ESOUcZboSYg6>K&,: (3%0&/81:C18B8:G*)9FHWγŻˎ.2=48C26?5:@8=A149.25$%'$(+$'0"&1&(4,.:00:..800:44>66><?F36;/48,4608:,46+36AJQƮ07?&( '+4swuyryqzr{s|t~uwwx|~cbj)-"2(0=#&+!*5<D¬bc^ &'+ #*,`ctáȺsjo
+   
+ 
+ 
+
+
+
+  
+ 534FDED>BE?CMDILCFRGKXNOZPQZPQ_TXbW[aUYaUY_SWbVZeX_h[bl]dn_fpahrcjufkvglxip{ls}nu~ov~nx~nxo{p|q}sw}     
+ 
+ 
+ 
+
+ 
+
+ 
+ 
+       
+ 
+ 
+
+
+
+    
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+  
+ 
+ 
+       3+(qigneff]bsiq|vy~qt}|^aj!  )!& " %!-*!+'.8'.6$+304=)+8@?Mѥ26B59D48C15>;@F-26GJO[_b58?%)2!*%(1-09-09..6119,/636=36;.37.69-58(034<?"+2~Ǫ,09#" .18vyqu~szt{v}xz}llt !!+!0&6(0=JKP"%* $-w~ĩmmk###&'+"%,-VYjǡ·.%(
+  
+
+ 
+
+
+
+
+
+  978?9;=79C:?C:=LAEQGHTJKXNO^TU_UV\QU]RV^RV_SWaUYcW[hY`k\cm^en_fnahnahobkqdmueoxhr{ku}mwoys}vxxz      
+ 
+   
+           
+ 
+
+
+
+    
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+        ;30ulmpgjdZbibi}v~~z}wz{~{~ru~,/8 ( )$$("*$'0#&/%(/'*1$'.IIU϶ĺ]al26A26A6:C=AJ49?.39żíloxUXaJMVBEN??G>>FDGN<?F?DH5:>)1408;/7:$+1"+2DMT~!* $"CFMz}y|vzu|v}xz|~mmu %((2#1!(8%-:/0569@{{y&&&'(,%(/+IL]ȣĻƼULO 
+
+
+
+
+ 
+
+
+   
+
+:67;576-2<36B89E;<G=>LBCSIJTJKTIMXMQZNRZNRZNR\PTbSZeV]hY`iZaj]dk^gl_hnajscmxhr}mwpznxrzy}
+     
+  
+         
+
+    
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+  
+
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+      ?:6vppoikaZad]eqjq~wz}z}JJR !&$!"# (&$!!)!/05``hȲ̅*.7)-67;D-1:=AJ/4:|ɰ¸öǓ-4:&-33:@)06'.6$,uz%$ "%*038-07*.7)-6).4).4(03(02)14)14%,4%,4jny{~%&+"+%3")9!+7pqvx{**,'(,&)0 ->AP¿ȿùyqo  
+ 
+
+
+
+
+  
+
+ 
+
+
+
+
+
+
+ 
+ '#$5125/1824<34>56?67C:;JABMDERHIYOPZNPYMOXLPZNR_PUcTYfW\gX_j]fk^hm`jpcmueoyis~ovryyz}
+   
+
+
+
+
+
+
+             
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+  
+
+ 
+  
+ 
+ 
+  
+ 
+ 
+    
+   E@=xrrojn`[b`[bkdk~w~z}ux|qrwDEJ#!##A@F¢;?H.2;8<E48ACGP!%.RW]ѮмGNT%,2%,2#*0!(0&FMSkpv # ! !%-"eit+.5&)0$*8%,<",8|//1'(-&)0"$169H°ĻH@> 
+ 
+
+
+
+
+
+  
+ 
+
+ 
+
+
+   
+)%&<68935:44A89A89B9:F=>JABOEFVLMZNPZNPZNP[OQ_PUaRUdUZfW\i\el_iqdnuhq{kuqxv}z|
+    
+  
+
+ 
+ 
+                
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+  
+
+    
+ 
+ 
+
+
+
+
+   
+   KGDzvwqlp`]d]Zae`ftmt|{~vy~NQX,/6 (" (+*2GFNwv|uz49?9>D16<16</4:>CI̷̼¾{")1#+'.6!'$*!&,}]bf !  ""%"%%-"elv-28(-3&.;$-<#-9t~Ŭ±446().&)2%'304@ïüſyqn1)&      
+
+
+
+
+
+
+
+ 
+
+ 
+ 
+
+     
+ ,('/+*1-,<66A;;@::C==F@@KBCOFGVLKXNM\PP^RRbSVdVVfWZhY^k^gobluhq{nwr|y}|{ut    
+
+    
+         
+     
+    
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+     
+ 
+
+ 
+  
+    PLI~z{qotbag^[d_Zakdk}x~wzss{uu}zzºŭѿʹĿ̮*19")1#+ &$*V[a~QVZ  %!"""! ! # #%-%dku.39)08&.9#-9",6mwƩ76;().'*3')5+/;®ȿĽha[,% 
+  
+
+ 
+
+
+
+ 
+
+
+
+
+  
+ 
+ 
+  
+ 
+ $ 3/.>88@::D>>ICCMDEPGHTJIXNM_SScWWgYYhZZk]]m^apcjtgpylu~qxu|y~}||rrxdcgSRVC?G2/=*$ 
+   
+
+   
+  
+   
+       
+ 
+   
+    
+
+
+
+ 
+ 
+ 
+ 
+ 
+
+
+
+ 
+ 
+    
+ 
+
+   iedzvwwuzhgoZW`fah_Z`qlr~}¸ûŶμɴNU]  ("! $+04~<AE      ""$,$X_i49?#*2'2#+6'1;blvƯRQW++3+.7(*6(,7½ƴtkdoh`(!   
+  
+  
+
+
+
+
+
+
+ 
+
+
+  
+
+   
+ 
+    !1-,=96E@=LDBOGERHGVLK]RPbWUgYXi[Zj\[j\\k_cpcjuhouhowhmufio_bfVWSAAM98B/+9$44 8!8$ 
+
+        
+
+
+          
+ 
+   
+    
+
+
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+ 
+ 
+ 
+   
+ 
+    lff{wxxv{jiqZYa`[ba\bkfl}~~}~˾ɹƳcjr)08&.!'"!%lqu>CG"#!$#& $' $'#&!&"%,%(/(-1,15.36/793;>6>A:AI>EMryy}Ʊ±µŸƻ}kb[jc[$
+      
+
+
+
+
+
+
+ 
+
+
+   
+    
+ 
+    
+  &"/*'7/-C98F<:LA?PECUGFXJGYKJZLKQBEOCGK?CC7;?03<,-5%&0.0167 8!87!        
+
+  
+ 
+     
+ 
+   
+    
+
+
+ 
+ 
+ 
+ 
+ 
+ 
+
+ 
+ 
+ 
+ 
+   
+
+
+    #pkh|xyyw|lks\[c_Zae`ffagtou}zxy}´°~}w|v{tyinty~}inrsx|uz~w|z|}}|ǮõĻ˵dzóįùöµÿ½ƽldakb[ha[
+ 
+  
+   
+ 
+ 
+
+
+
+
+ 
+ 
+
+    
+ 
+
+
+
+
+  
+ 
+  "&'*+-,()'%',00.0367774
+ 
+   
+
+
+  
+ 
+     
+ 
+   
+    
+
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+  
+
+
+
+    'vnl~xz}x~pmv^[da\cfage`fkfl{»¹~|{z{}z÷ȷȳ¼ɳöŴóóĶǷDZuoog_\uleha[     
+ 
+   
+ 
+ 
+
+
+
+ 
+ 
+ 
+  
+   
+
+
+
+
+
+     !!##%&&''&&+,,01245799hlWp[C\G2K6!:'&
+
+ 
+   
+    
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+
+
+
+
+
+
+    ," {sqx{xuoya[ea\b`[_c^bgbfqjqú¸||~}{z|~ĴĴŴƵĸźǸùĵ¹ƹǵĵĶƴô½{uwh_`mcazqld]W  
+ 
+     
+ 
+ 
+  
+ 
+ 
+ 
+ 
+
+
+
+
+
+
+       
+    ! $%  "%&*-./-/ 379;;:t~clVva2O=#;-'
+  
+       
+ 
+   
+    
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+
+
+
+
+
+
+     1(#wvz}yyq|c]g_Z`]X\d_chcgjcjx½»ú»ø}}~´ĸʹ˹ȻȸŻƻĵķIJ¼e\]jb`rhfzqlc\V  
+ 
+      
+ 
+ 
+
+
+
+ 
+ 
+ 
+
+
+
+
+
+
+   
+  
+   
+ 
+  " # &''))) +- 1468<===~xvw{}~o}Uja5F@
+
+ 
+       
+ 
+   
+    
+
+ 
+ 
+  
+ 
+ 
+     
+
+
+
+        6+'{y|{|tf^i^Y__Z^e_chbfjcjunu¾þü»º´Ĵ°}ƶȴƸǵºƻŹï·źȿ¿ƽofgbYZnfdtjhyome]Z
+ 
+
+ 
+      
+ 
+
+
+ 
+
+
+ 
+
+
+
+   
+
+  
+ 
+    
+       !
+!
+!
+" & ' ( ) , 0 .
+0
+1
+5 ;?C#E%vyxrruxvsy~d{s
+  
+    
+ 
+ 
+   
+    
+ 
+ 
+ 
+   
+ 
+     
+
+
+
+
+
+ 
+ 
+     9.(~|||~vf`j]X^b]ab\`d^bicgkeiysw¿žĽü»ºº¸·źƸĴºȵû˴ůʲʵøƼʾŽxrt^XZjadmdevlkxnlf^[  
+
+
+      
+ 
+
+
+  
+
+
+ 
+ 
+   
+
+              ! ! " " #
+& ) ,,, / 1 78:<@ A!B AvtsstuvvsoyuUsg
+ 
+         
+ 
+ 
+
+
+ 
+  
+ 
+ 
+ 
+ 
+ 
+     
+ 
+     B71~|z~~xjgr_Zaa\`a\`eabiedfbaokl½Ŀƾżĺ»ú¹ŸʵŷĶõĵĴŴųĴó²»ɾƾûd_cb]aohonhlvlksjef_Y 
+
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+     
+
+ 
+
+
+ 
+ 
+ 
+
+     
+  ! " $ % & ( *,-1359;<=@ B E!E!xvsrttusqkkmAcS
+         
+ 
+ 
+
+
+ 
+  
+ 
+ 
+ 
+ 
+        
+    F;5}}}zkiv`]dd_ed_cgcdjfefb_lhg}yx½ľžżĻüĻúº¹¾ȸ¶ů©¬ĸʱ¹ƶŵĵĴóı±þ˾ƻ¸uqrd_efagkfmmgkwomtkfhaY   
+
+
+
+
+
+
+
+
+
+
+ 
+
+
+     
+
+ 
+
+
+ 
+ 
+  
+     
+
+ " " $ % ' ( +,02569:;<@AD D vsqoqqrqplgo2TD
+       
+        
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+     
+
+   
+
+ K@:~{omxa^gdbggbfiefkgfiedkgfsonýľżĻýżļĻûú·ķ˹ѿʾ˾ͰöȶǸɴôôùȶǽ̾˼ĴɻȺκдɴǴǶɸʹ˹ʷƶǵĵĴ󱶶νƹ~gcdfagkfljelnhlyqoulgjc[#    
+
+
+
+
+
+
+
+
+
+
+ 
+
+
+     
+
+ 
+
+
+ 
+ 
+ 
+
+    
+  ! " $ % ' ( * , 026799;<@AAB spnlmoookjhr-R@
+       
+ 
+       
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+     
+
+  
+  
+
+ RH?|tr}_\eb_fechjeimijnjimihnjkxvy½ľżļĽŽżļĻùȹնӺǿ׾Ҹʻͻ̽ιþƽǽȹԿп̿˴Żٽֺѵ̲dzȶɷɶȶǶǵƵĵĴó·ĹƼȽɿ˿ɺ÷rnoc_`hcimhnmhopjnyqoulgkd\(! 
+ 
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+     
+
+ 
+
+
+ 
+ 
+         
+  " % % ( ) * ,.267::<= @ AB B pnkjkl~mmg~d}ho-R@
+
+  
+ 
+   
+ 
+ 
+ 
+       
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+             ZPGyw_^f_^dcbgigjljkomnplmmijojnywzþżļļļļĻú¸BHT=DNqxֻȸſйȽջһܺѹϼиʷȷȷƷƶö²ĶŸŹƺǼ˿Ȼ·yutjfgjfgjeklgmpkrrlpyqotkfkd^,% 
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    
+
+  
+
+ 
+
+
+ 
+ 
+ 
+ 
+     
+! % & ( ) + ,. 256::<<?@ A B!poki}j}i|hzg{f|`ze~g,S@
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+       
+ 
+     
+ 
+ 
+                 cYP}{dbm`_gcbhhglkilnlmqmnmijjeisnrýĽżĻüļĻùbhv#3,2@!-̹Ƽɼмrxgm}joԾƽǵ}flzդ_eq^dtbfY]x[bu_fxjqڵɼлͺ˹ʹȸŹķ´ó²ùƻʽ̾ʾǻĸokjjfgqlpmhnkflqlssmqzrptkfmf`1*$
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+
+
+
+
+    
+
+
+
+ 
+
+ 
+
+
+ 
+ 
+
+ 
+ 
+  
+  # & ( ) + ,. /4579:;>>@@mj~h|f|g{fxevcvd|^y^yc}(R>
+  
+ 
+   
+ 
+ 
+ 
+ 
+     
+ 
+ 
+     
+ 
+                  lbY}iisaakcbhihmjhkljmompljmkflniozu{ýĽżĺ»üļĺĹø¸´¶¶¶´ĵĴôôó²!'7!1!'7!'5Y`jжøú˽ʾZ`l$*:"':/5E~˺Կ9?K+1AGM]١5;G*/B(,E:>W4;M7>N29I&-=+2BU]jҾϽν̽̾ɾɹȸǷƶŶŵĵĴöö÷ĹƺǻȽȽŹ{wxplmkfjojnojpmhnqlswqu|trukinga5.( 
+
+ 
+
+
+
+
+
+
+
+
+
+ 
+
+
+
+
+    
+
+
+
+ 
+
+ 
+
+
+ 
+ 
+
+    
+  # %% & ) + . /4579:;;< > ? g{f{eydzdxbvbt`r_v]vWrb|&P:
+      
+ 
+ 
+ 
+     
+ 
+ 
+     
+ 
+                
+
+ 
+ 
+
+
+
+
+
+
+
+ 
+
+
+
+
+
+
+   
+
+
+
+ 
+
+ 
+
+
+ 
+ 
+ 
+   
+  # %$ %
+) * - /4688:<< = ? ? eze{cybyav`u`t_s\s[vWt`{%Q:
+
+    
+ 
+           
+     # yldrr~aambblfglfejhgligjjhkojpmhnmhoxsyƿƿǿǾƾƾȽǻźĺļƶ³÷õøĺƼȽɽɽɽȾɽʼɺɺɻʼ˼˼˻ʻʺǹƷµð'.8(#1$2 .!-GNVʆ(.:7=M).A/2C),;imxkq+0C06FӻT[c-3?6=PԾԋ39E&,8]cqտտſŽû÷}yzplmoklpkopkopkqqlrwryxz{sig|tq;4.
+ 
+
+
+
+
+ 
+
+ 
+ 
+
+
+
+
+ 
+ 
+ 
+ 
+
+       
+      ! ! $ & ) * - /466 6 9 :< < < < dydzbzax^u]t]r\qYrZuVs\w"N7
+ 
+ 
+ 
+ 
+  
+
+
+
+ 
+
+
+     
+          
+ 
+      %rjtsbbnaakdejcbhedigehigjidjjekidkpkr}ȿʿɾȼƻŻŵøĸķ÷ùźƼȽɽɽɼǼǽʼɻʻʼ˽̼̽˼˻ʺǹƷ¶ȶǵĵĴ]dn&&'-9pv'&&zÎ%+7)/?OTgLOb,/@%)5rvփ).A.4Dhou+2<18JɽՍ)/;'-;|ɾƼ»wstqmnplmpkopkoojpqlryt{{z{tji|tq>71    
+ 
+
+
+
+
+ 
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+
+      
+   
+
+  
+! " # $ & ) + . 246 79 :; < < < czbx_x]v\s[r[o[pXqYuSqVsI5
+ 
+ 
+ 
+  
+     
+
+ 
+ 
+ 
+               
+ 
+      ){sxwddpb`kcbha^edbgechgejfahjelidkidkvtyÿ˿ɽǺĴ¹ŻǺƹŸĸĹŹŻǼȽɽɼǽȾ˽ʽ̼˽̽̿ξͽ̽̽ʼɻƺŵƵƶŵĴ17C!!NR[CGS%"AEN(,7#&7]`s12F69H%)5vzޔ*-@+1Aio{'09,3C~ȼýȽоZ`l&,:HN\ӾȽŻø|}rnormqrmqrmqpkoojpsnt|w~~{~wml}urC<6    
+ 
+
+
+
+
+ 
+
+ 
+ 
+ 
+ 
+ 
+     
+
+
+
+
+
+
+
+    
+  
+ 
+  
+    " ! # & ( * - 0 36 79 :: : : : byay^w[tZsYpZnWnTnXtRpTqH4
+    
+ 
+ 
+ 
+ 
+
+ 
+ 
+                     
+      .$x{zffrcalcbha^ecafcafechfahjelidkhcjnkr}{ƿʽǺijúƻǻǺƸĸĸĸĹŻǼȽɼǽȾ˾˾ͽ̼˼˿ξͽ̽̾˾˾ɽȸɹʹȸǶònt( !%.}rv&' )w|'+6#&7NQdڍ-1=26A"&147H/5CX_i˗-6?07Gemzӿĺѵflz/5C(.<۾̾ʿɽǺ·wstqmntostossnrqlpqlrupv{{~zpowuLE?    
+ 
+  
+
+
+
+
+ 
+ 
+ 
+ 
+ 
+     
+
+
+
+
+
+
+
+
+
+
+
+   
+
+
+ 
+ 
+  
+
+
+
+!  ! $ & ), /1 679::: : : ay`x\uYrWqVnVmUlRlUrQoTqI5
+
+      
+ 
+   
+   
+
+                
+ 
+    
+    /%||{hfscalcbha^eb`ea_db`ed_fgbiebkfcjhelmkp~}ſɿǾȽǽǼƺƸij·øĸķ÷ö·øĹŻǼȹĺŻȼɽ̼˼˻ʾͽ̼˻ʻȻȻƺŶǶǶŴò<BP$#EJPBET'):>G $/!2EH[fht$'0-1:,0;sv7:K+1?FMWǶ£3<E18JJQa̵¿_eu06F!'7պ̿οϿο;̿ͿʾȺĸ´}rmqrmquptupttourmssntzu{{~~ts{yVOI
+   
+ 
+ 
+
+
+
+
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+  
+ 
+
+     
+  ! $& )+ /1 56 89 999 9 `x_x[vXsUoTlTkSkQkSpOmUr K7
+      
+ 
+      
+ 
+ 
+                      
+   
+.$~|igtdbmcbha^eb`e`^c`^cd_fe`gebkgdmfclebiqpvýżĻùø·µøĶĹƻʻʻʺɺɹȸǶŵ´!/,(_djx}vzosVYj)+chnuz(*9<MBEJ# $-"%4),;$*69@J;CN,3F4;MñȽϾӅ05H-2E:?RɳĽʹĽȹȹȺɺɹȹȺɻʽʼɻȻȻȼɻȻȻɺȹŹŹŷõtrupkotosvquvqutousntwrxzz}xy}aYV  
+  
+ 
+
+
+
+
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+
+
+
+
+
+
+
+
+
+ 
+
+ 
+ 
+ 
+         $&),/155899: :! :! _w]vYtVqSmRlRiQiQkQnMlUt K8
+ 
+ 
+ 
+  
+ 
+   
+   
+      
+ 
+             
+ 
+     2(ljwgdofcjb_fcafc^dc^dd_ff`jebmgdmgfnedjjiovu{¹¶²DJX !+&! !/%-'-1<pu{|uz~dhq'+),=#(+!'#'3+ &2/6@@HU%+A'.A³Ŷɪw~49M$8$8Z_rêxvynloqlpuptvquupttoutouzu|y~{|ia^  
+  
+ 
+
+
+
+
+
+ 
+ 
+ 
+ 
+ 
+     
+
+
+
+
+
+
+
+
+
+ 
+
+ 
+
+    
+
+
+ 
+  %'*-02457 99: ;!;!^u\tXsToRnQkQjPhRlOlKjVq!J8
+ 
+ 
+ 
+    
+    
+   
+ 
+     
+ 
+          
+
+ 
+    :-'pnyjgpgdmc`gdbgcafc`gc^edajdajdajgfngflgfljioyx|nt&#(%!#$-$'HLUnsyy~`dm(-%(9~}^cf#".&&05=J,0[cndmvemxFN[4;K-,,-2E|~}zzzz||rpsljmtosvquvquupttouupv|w~x}oec  
+   
+
+
+  
+ 
+          
+
+
+
+
+
+
+
+  
+
+
+  
+   
+  ! %(+-131 4689: ;!;!XnXpVqTpRnPjQjPjNhNkMkPi(R>
+
+
+
+                      
+       
+
+
+
+
+
+
+ 
+  ;,'{zlksgfnjioedj`_e`_e`]da`fcbhcbhfekhglhglediusx»üƽǼƻǻŸ³}|y}x|vzuyuyswquos~nr}ptvx=AM!&%'6NP]W\`W_aW_bV^a[bj\ckBIQ$,!)OV^dks]dn *"*dkuov|otzrypw}:AI ##!Y]fmt|tx,3="(
+   ")!'74:Hciueltipvov|ryu|y}~{~||zzzzxxzzvrssopsnrqorvtyvtytrwpmtwt{~{|odb 
+
+ 
+ 
+        
+
+
+
+
+  
+
+
+   
+  
+   
+    
+
+! ! "
+$ ( +-0. 2579<"=$<#YmWmToSoRnQmPiMgMgJeKhRk.XB
+ 
+            
+
+
+  
+ 
+
+  <-(}|nmujiqlkshgma`ha`f^]c`_ebagbafedjhglihnhglnlq~|¼½ſʽǽǺĶ{x|vzw{w{uyswrvos~ls}mq|jq{lp{lp{ko{imyhlxaeq_an>@M-/>?APOQ`kmzfkqcknail^fi^ekcjp`gmU\dDKS5<DDKUPWa]dn=DN7=I5<F^eodks\ckZaignvbiqCGP*.7'+4'+4RV_aenbfo;?H'+4-1:.5=-4>28D<BPDI\KPcX^nekw_fn`gmcknhpsjqyls}ousys{r{r{t}xzzz{~y|x{yyzzzz~~{{rnmrnotossqvusxtsxsrwqnuyv}}ugf  
+ 
+    
+  
+ 
+
+  
+
+
+
+   
+
+ 
+
+  
+
+   
+ 
+ 
+ " #
+& ( + -/2558;!=#=$XlUkRmQmQnPlNgJdKeFaGdRk3]G
+ 
+ 
+           
+
+ 
+
+ 
+
+  ?0+~rp{nlwpnykjrdbmcbj_^f`_gbaibagcbjfekihpjiogejsqvĿĿοɿɽǺķótxptnr}os~ptosmq}mq}ls}ir{ipzfoxfmwelvcjtbisahr\cm]amX\hX\h^bnZ^j\`lW^hT[cV]eX_gU\dW^f^emahr\cmW^h[blY`j[blRYcX_i^eoY`j^eocjt`gq]dlbiqcjrX_g[bjU\d_cl^bk[_h]ajW[d`dm\ck[blZ`l\bp\at[`s[aq\bp_fp`godkqgntipxjq{lrpvmukt}js|lu~qxszt{szy}~|y|yyzzwz{~vrsoklqlptruvtytrwtsytsytqx{xzlk 
+
+
+ 
+     
+
+
+
+
+
+
+
+
+ 
+
+
+
+   
+ 
+
+
+
+
+
+
+  
+  ! 
+ !" & ' *, /1458;!>#?$WkUkRmQmOlMjLeHbIcE`FbNg3_H
+
+     
+ 
+ 
+           
+ 
+
+   
+  E61wurp{sq|pnyhfqecn`^ia`hbaibaicbjedlhgoihpfcjkinzx}ʾȼƻǸIJx|swos~os~ptosmq}jp|gpyfoxdmvbktajs`ir`gq_fp`gq^eo[bl_fpags_fp`dpZ`l_eqZ`l]cobhtags`gq_eq^eo^eo^eo_fp^eo^eo^eo^eo^eo_fpY`j^eocjt\cmY`h^em`go\ck[bj]ajZ^gX\eaenZ^gZ^gX_gX_iX^jX^lZ`p\at]cs\bp]co^eobiqfmuhoyhnziolrmulu~lu~nwryu|v}v}y|~~|z}y|{{||{~z|plmplmqorusvwuztrwutzvu{xu|~{qn 
+
+  
+    
+ 
+  
+
+  
+
+
+
+
+
+
+   
+ 
+ 
+
+
+    ! ! #
+#
+' )+,/1348: >"?$SiTkRkPjMhJeKdIcH`GbGcGa0]F
+ 
+ 
+           
+
+
+   
+  J;6{yuswutrmkxigtb`mb`kb`kcaldbmecngepihpjgnifmons̿ɿɾȽǽɻǶı|w{rvquptmq}ko{hnzdmvdnwdnwdnwdnweoxfoxgpygpyhqzdmvgpwgpydmtkr|ls}lrhkzfixhkzflzhnzflzagsekwbht\en_hq`ipdmt`ip^gp_hq`hs^fq\do_grajs]foYbk^eo^eo`go[bj]dl^emZaiV]e[bl]dn]coZ`nZ`p]cs_eu_es^dp`gqdkuhoyio{hn|hn~jphnzkr|ovqxt{v}xz~~}}||||}}xrvnimsnrsqvtrwvu{tsyutzwv|zy~tq
+  
+
+
+ 
+
+
+   
+  
+
+
+ 
+
+
+
+ 
+
+
+
+
+
+
+   
+ 
+  
+
+  *%"  " "
+#
+$ ' ),,00379;?"A$RhSjQjOiKfIcJcIcG_G`FbC]3`I
+
+    
+            
+ 
+           
+
+
+    
+
+ O@;~|wuxvxvrp}nlyecpcana_jcaldbmfdohfqjiqlirifmjinutyȾȾȽǾʾʹdz|x|vzswptoslr~nwnxoyoyoyoypypyoxqzqzs|r{lu|kt{ipzpsnqnqmpio}msoujp|io{io{hqzhqzenudmtfovkt}`hsiq|gozaitdlwdlwajsclufmwahrahpZai^em[bj`go`goY`j\cm_eq_eq`ftagudjxekybhtdjvgnxjq{kq}io}iokqlr~pwu|y{}~~||||~~{vzqlpnimtouusxtrwutzvu{tsywv|~vp 
+ 
+
+ 
+
+
+    
+
+
+  
+
+ 
+
+
+
+
+
+   
+ 
+  
+
+
+
+#" .)&"  ! ! #
+#
+' ( +,0158;< ?"B%QfOfMgKfJdIcI`H`G_C\A^D_9iO
+   
+ 
+                   
+         
+
+    
+
+ TE@~wuyw{yvtrp{ljugepb`ka_jcalecngepihpkjrjiojionmszy~˿̻ɶĵñ}}|~~|{{zxvr{t{v}u|u|rvptruswosptoulr~oukr|js|ir{nwmvlu~ir{jt~fp|akwcmyiq|gozdlwemxcluclufoxfoxipxbiqcjrahpcjrcjrelvelvdjvbhtciuekwjq{jq{ls}ovountpvsy~~||{{~~rmsqlrqlrspwwt{vsztsyxw}utzyx~wo   
+
+
+
+ 
+ 
+
+  
+
+ 
+
+
+
+
+
+   
+    
+
+ 
+
+*%""  ! ! ! ! " $ (*+127:=!?!B"E%QfMdJdHcJdIcI`G^G_>W=XFaAqW
+  
+ 
+ 
+                  
+ 
+        
+
+     
+
+YJEwv~zx|{xvts{sq|kjrcala`hb`kcbjecnfemihpkjpkjpjioqpuÿɿͽ˷ŷŴ¯}z~xw~w~v}wr{u~r{vt|oymwpzoyks~nvrznvlu~lu~hqzjs|ipxgnvjqykrzkrzipxjqynu}qxqxt{x{z|~}}{{||wuxqlrtouqnutqxyv}wt{srxyx~wv|{zwo
+
+
+
+
+     
+    
+
+
+
+
+
+
+  
+    
+
+
+! *%"$  " ! ! " " %&*+248=!@"B"D$F&NcJaH`G_G_F^D[BYAXE]@[?}XFx['
+
+     
+ 
+ 
+   
+ 
+     
+       
+         
+
+    
+  VGByx~ts{~|{wv|ts{nmsfema`fa`hcbhedlfemgfnihpkjpmlrpouyx~οͼʺȷűƦ}{z|}{ywy{xu|y{u|}|}~~~}}~~yy||omrolspmtspywt}wv~wv~xwyxyx~|t! 
+
+    
+
+      
+   
+ 
+ 
+         #" +&#"
+! ! " # $ $ ()18?$A%B$G'K)L*NcLaI`G_F^F]EZCX?U@W=W>|WEwZ*
+      
+ 
+   
+ 
+                     
+     
+
+ WHC{zutz~}}|zyvu{qpvihncbha`fbagcbhedjhgoihpkjpkjplkqsrxϿͽ˻ɶIJɺɵĴð||{{{{||||xv{ljopmtspwvs|wt}wv~xwyxzy~}{r! 
+
+
+
+
+
+
+ 
+ 
+     
+ 
+  
+ 
+ 
+ 
+    
+  
+ 
+ %$"-(%$ 
+!  ! " # %%()-6>#B$E%J(O+P,M`K_G^E]F]F[DWBU?U>U:}T={VCuX
+-
+     
+   
+ 
+                          
+   
+XIDwv{}|~}~}zyvu{nmsgflcbha`fbagcbhggohhpkjrkjrkjpnmsxw}¿Ͽ;̻ɸƶ²ùȼ˻ɼʺȹǷŶķŻϿ̾˿ͿʵƿǷƽȸŵĴìȴƭ©}}{{{{||ú}x~pkrpkrqnwvs|xwvu}ut|xwzzzz{q 
+
+
+
+ 
+  
+       
+ 
+ 
+     
+ 
+ 
+ 
+ 
+ 
+  
+#" ,'$'"#
+!
+! " #%&)+-6>#D&H(L+P,R-J]H\D[D[EZEYD~U@}SAU=~S8{P<zUCtW6!
+       
+         
+ 
+         
+
+     
+
+ 
+ 
+ 
+ YJGyx}{z~~{ztsymlrfekbagbaibaieemffnjiqkjrlkqnmsutz{zſϿͽ˻Ǹijƻʽ̾ͽ˵ô½˭ͻƴòǻ̻̺˵ƲĵƵƱóŲį´ƯõƵƶǹʲä͸ɳIJó³ôõķĶô}}||}}~~øļƼĻrmsnipvqxspyxu~zyvu}ut|yx||}}zq
+ 
+
+     
+
+
+    
+ 
+ 
+       
+ 
+ 
+
+ 
+ 
+
+ &%#,&&&!$     ! " $&*,.6?%F)L+P,R-R-H[FZBXBXDYDXD~UB|S@}Q:{P6yN;yRArU@+
+         
+ 
+         
+
+     
+
+  
+ 
+ ]NK|{xw}~~}yxqpxjiqdcka_j`^iccmddnggojjrmltnmurqwwv|~̽ɹŴïùȼ˼˼ɻȷƼϳNR]:>I6:E7;F:>I9@J7>H29C17C29C17C-4>-4<1:A8AHBKRW`g|ٷƷĽʻȺǼ˶ŹȸŸǺɹȶŶŹȻ̵ƻʽ̤w{QUa=AM06B-3?'.6#*0$,/-58:AGDKQhoy׼ͺ˿ʽȼǺŷµ}}y{z|}·ùżȿɽŻzu|mhooiswq{uryxw}zywv~uu}yyxo  
+
+     
+             
+ 
+ 
+ 
+ 
+ 
+
+ *)'/))&!#     !!!" %+./6@$H+P/S0T/U/FYEXCWBVDXEVC|S@zQ@}Q<{N6wM8tN<mP!G2
+ 
+     
+              
+
+          
+cTQ~wv~~{yus~nlwhfqb`k_]h``jaakddlhhplksmltontrqwutz~};ͺɶŵĴò·ƻʼ˺ɸǷĵ±=AL6=G9=H18B3:D3:D28D08C28D2:E39E08C3;F-5@08C4<G)1<$,7BISls}п̵¼ɻƶɶö÷ĸŹȹȸǸǸɹʟcgr48C,0;/3?)-9)/=+1?.4@/6>-4:)06&-3%,4%+7.4BOUcѼɴɽȼǻƺŸö}}{}~»ǻǼȽǿǽù|rmtojqrlvwq{xu|xw}yxxwxx||vm  
+ 
+ 
+ 
+  
+
+
+  
+ 
+          
+ 
+ 
+ 
+  
+
+#" /)),'$(! 
+     ! $*.. 4=!I*P/V1X2Y3ETBS?~S?~S@}SA{R@yP>wL=xL9xK3tJ2nH6gI&L5
+ 
+     
+                  
+
+gXUwu~~}{ywsq~mkxecp`^k^^h^^haakffpjjrkksnmspouqpvxw}оͽ̼˺ɸǸǸǺɺǸŷĶõ²ŶǶǤ/6@(1:.4@+3>/7B.6A-5@.8B08E.8D/7D/9E09J09J09J09J18H07G,4A(0;FMWҼǷùĸúǼɼǷ³lpy04?'+6.2>-1=*.:+.='-=(.>(.<)/;*19+2:,3;,3=.4B5;K,2B'-=OUaʹƴ~~ĻƽɽɼƼƽŹwryqkusmwwozxr|{xxw}wv~zy||~tk
+ 
+ 
+    
+
+
+
+ 
+ 
+ 
+ 
+         
+ 
+ 
+ 
+  
+  '%&&%#)##,'$/%#%
+
+   !" $),03 :E&N-V1Z4^5@}Q?|P=zN=zN>xO>wL<sI9rG3nB1pE.lC.hB2cE+Q:
+ 
+
+
+     
+ 
+    
+ 
+
+
+
+
+ 
+                
+iZWwu}|zxvqo|igtcan]]g]]g__ieeoiiqlltnmspouontts{|yĿпξ;ͺɺɷĵ·ĹƷĴŰ+4=#,5)2;(1:)2;&/8&/8)2;*3<)1<(2<+5A&/>&/@'0A(1B+2B-4D/7D08C)/;/6@͸ôɳ·³²CGP/3>%)4)-9,0<+/;,0<*0>*/B).A)/?)/;)0:*1;)0:)/;/5C+1A,2B*0@ &4-3?nuðúżǽǼƻŻyt{pkrqlsupwwq{vsz}zwv|wv~|{rl
+ 
+
+
+   
+
+
+
+              
+ 
+ 
+ 
+
+ 
+ $$$SQR;78#% .&$&  "#%(*227A$J+S0X4\67yK;zM;xL:uG<sI=tJ:qG2mA2oE/nC-jA2jE2`C2X?
+ 
+   
+  
+ 
+   
+ 
+                     
+  iZW~}|}{yus~mkxgepdck^]e[Zb_^ffemjiqlksmltpowrp{wu}{ϼ˺ɹȹȸɷȴű±Œ$,7",5#,5!*1%SX\{fnyAIT%-8$,9&.;(0;)1<.4@*1;+2<η´ôŲț6=E,3=$*6-3?,2@)/=%+9*0>!'5(.>'.>*2?,4A(.:#)5%+7-3A/5C+1?(.<*0>*-<#&5*.:djvƩ}{|ùžȿɾƼļĺ¸~yqlrrmstrwsrwwv|}||{xw}wx}}~rda 
+  
+
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   
+  
+
+
+#!"536KFJ956 '!#,#$ !#  
+& ,2 35: @%J+Q1U25yJ7yK8uI8qD8oE;pF6mC.i=/lB.kB+e?/eC/\?0W<#
+ 
+ 
+  
+  
+ 
+ 
+ 
+                    
+
+  j\Y|{~|ywqo|kitdck`_e^]e`_gcbjedlhgokjrkitnlwqozvt|zϾͻʹȶǴŰ(2'0(1',#'kpsĨCKV (3)1<%-8&,8,2>'.8:AKɪʣ8?G/6@*0<06B%+9'-;%+9-3A17E`ftxbhv<BP+1?)/=/5C#)7'*9.1@-#1gmy~}|}~úƾȿȼļû}yrypkqqotusxvuzxy}|}|{yx~z{pa^   
+
+
+
+
+
+ 
+ 
+ 
+
+
+
+
+
+
+
+
+
+
+
+       $"#.)-504D?C837$ /)+  " ! % )/038 ?%H+N/P04uJ6uJ7qH4mB5lD7kD3jB.g>.h@)f='a;)_=+X;-T9 &
+ 
+ 
+ 
+  
+  
+ 
+ 
+                  
+   
+
+  m_\}|}{vtomxfemedlcbjbaia`ha`hdckhgoihplksomxqozus~{yѿλʸǶų®%/$-%.$)kpsªbkt"-&.9&,8&,8&-7",V]e«?FL,3;#*4(.:%+717C%+7(.:^dpȶɵȱİ÷ɿѻͲy/5A!'3 &2)-9$(4$(4 ,%1}}}~»ǽɽżúwrxsntqlrrpuwuzzy~{||}|{{z}~~iZW   
+
+ 
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+     
+
+'%&%#$)'(956A=>4.0#")##  " " $ & +/37!?%G*L-M,1oF1pE2lD1h@3gA4hA2f@-d=)c;'a;%]:'Z9'T7*Q6 *
+ 
+ 
+ 
+  
+ 
+ 
+ 
+                  
+
+   
+   qc`}|~ywsq|lksjiqgfndcka`ha`hcbjfemhgokjrnlwpnyrp{vu}|zϾͺɷƵij¯&0%/&/%,!&,rw{ȳW_j$,7(.:!'3&-7)0:")1ŭnu{%-07A'.8+1=#)5!'3(.:Ϭȳƭȸʲñ÷ȼΪIO[ '1#/'( ,":BMŽɾɾĺ{pkqrmstouusxxw||{{|z{{z}||cTQ   
+
+ 
+ 
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  
+
+
+ )'((&',*+'#$2./F@B.(()$!'""  ! " % ( ,16 =#E*K,L+/kE-jA.fA,c<.b>.b<-a=)_;&^9%]8#[8%X7&S6(O4.
+  
+ 
+  
+ 
+   
+
+
+
+
+
+                
+
+   
+   tfc}|}{wuqpxnmuihpedlcbjcbjcbjbaidckhgolksonvpowrqwvu}yx¿пμ˸Ƕų±(4&0&1%.$*lquĨ5<F")3#*4$+5%,6&-5X_gĨ/6>.5=$.$+5!(2!(218B8<E#'2"+%))  u{¸Ļʼ¶}upvpkqtouvtyxv{zy~}||}z{|{~}]NK  
+
+   
+
+
+ 
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+ 
+
+
+ )))+)**())%$*&%40/732-'' $!&!% 
+# !
+%,029"D)L-L-0jD.hB-c?-a=-_<,^;+]:(\8#Y5#Y5"X6$U5%P4(L23
+ 
+ 
+ 
+   
+
+
+
+
+
+                  
+   
+    wif~~}}{vu}rqykjrfemedledlcbja`hbaiedlihpmltontqpvsrxutz~ľϽ̸ǵIJ&3%1%2$."+kpvȰ˯ '1&-7&-7#*4(/7-4<ahn&.$,$+5$.#*4!(2}ģ+/8( %  JP\ļȿȻytzpkqrmsvqwwuzzx}|{~}}~|}~}{XID      
+
+
+
+    
+ 
+   ***)'(('%.*),('($#2.+72/+(#"$ !  ! " (.07 B(J-L-.fC-cA*`>+^=+\<*[;(Y9%X7"U4"U4#T6#Q4%M2'K18
+ 
+ 
+ 
+   
+
+
+
+
+
+                     
+    {mj~{ywupowjiqgfngfnedlbaicbhdcifekihnmlrpouqpurqwwwyy~~н̹ȶŴò%2$1&3%1!%0pszæǬ6=G!(2&-7)0: '1!(2ì=DL"&.!(2")3",V]gbgm !# &+1=ùżʿƻµyw|rpupnstqxuryxu|}z~}~}~}~zO@;     
+
+
+    
+
+
+
+
+
+ 
+   "" ))')(&+*()(&*)%/+(+'$,(%850&## "%%!  &,.5A'I,I,+^=([:&Y8'X8)X8'V6#T4"S3!R2!R2#Q4!N1$L1&J0:"
+ 
+ 
+ 
+   
+
+
+
+
+
+                         }on}|zut|nmujiqihphgoedlbaga`fbagedjihnmlronsontoowss{xx||оͻʹȶŲ$4%5!)6"(4#.ru~ȲT[e#-!(2$.*1;&-7dkuè$+3!(0 '/&0",&-7 %)#  &2yƾǻ¶vtyomrnlqpnsvszvszyv}~{~}|}|}yJ84
+ 
+ 
+ 
+ 
+
+
+
+
+
+
+
+ 
+  ##!))'+*(-,*('#&%!.*'.*'+(#,+&44,&& %!)"" # ),5?(H-G,(Y;&W9%V8'U8&T7#Q4"P3#Q4#Q4L/#P3!L0!H-!E+!A)
+ 
+ 
+   
+   
+ 
+
+
+
+
+          
+ 
+    
+   
+   !~pozxsq|mltihpgfngfngfndck`_e`_edciihnlkqmlrqqyrrzss{vv~zzϾͺǶųŇ '7")9$2%+7!%0|ʵñhow$,$+5!(2&-7")3Zak|$,!(2 *")3$.CJT8=@# ""(4syºǿƹutynlqomrrovtqxxu||y}z|~}|}|}G51
+    
+
+  
+  
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  "#&'"'(#'(#)($*)%*)$)(#)(#('"''44,/,# $!
+  " '/6 A'G-)W:'U8%S6$R5"P3M0L/ M0"O2J-"M1"J/$H.#E,!C*    
+  
+  
+ 
+
+
+
+
+
+          
+
+
+    
+      !zlk~|wurqymltjiqihphgofemcbhbagcbhfekihnkjpoowppxqqyss{vv~{{¿ϿμɸŹʆ"*7%,<#)7&,8&(5´t{!(0%,6&0&-7!(2PWahow'!(2",!(2)U\fAFI! "!'3w}Ǿ˿Ƽø|{potmkpomrspwuryyv}|y~{|~}|~}zC1-
+
+ 
+ 
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   #$'(#'(#'(#)($)($)(#)(#('"('"+,&%&/,#/,#" $    &,3 =&C,(U6%R3#P3!N1L/J-H-J/ K0E+G-E,"F, B)?&
+      
+  
+ 
+
+
+
+
+
+                 
+
+  
+ xji}{xvrp{nlwkitjiqihphgofemdckdckgfnihpmmunnvoowqqyss}vvyy{{¿Ͼʻс$,9'.>(.<'-9)+8ôõ|#(.$+3#+%,6&0HNZRYa# '/!)&0)kr|IMP"%$*6Ļȿƽ¹}rpunlqomrqottqxwt{zy}|~}~}~}x=+'
+
+   
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ %&!()$'("'("'("'("('#('#('#('"&'!&',) 0-$1* % "  !'-6#='(Q3$O1"M1!N1L/J-H-I. H.B)C*A) B)>%;"
+
+ 
+ 
+ 
+ 
+ 
+ 
+  
+ 
+
+
+
+
+                 
+ 
+   %ts|zvtqozmkvljulkskitjiqhfqgfngepgfnkkslltnnvppxrr|tt~uuvvzz||ſͿɼw}'/<*1A-3A(.:-/<Ź÷¶ïpu{#)")1"*#*4$.HNZHOW$#+%$.#-u|DHK!'(+1=ĹȽ̿Ⱦúvtymkpomrsqvusxvszzw~}|~~~x6$" 
+   
+
+    
+
+
+
+
+
+
+
+
+
+
+
+
+
+ &'"()$'("'("&'!&'!'&"'&"'&"'&" !+*%*' )&51(4-#%   $)2 8&&M.#L,#L.!L. K/H,F+G,F,B)@(?' B)=$;" %
+   
+  
+ 
+  
+ 
+
+
+
+                 
+
+
+  9.,~|ywsq|pnymkvljukivljumkxljuigtfdoiiqhkrlltoowqq{ss}tt~tt~xxuuyx˽io{,4A/7D4:H/5A8:Gǻø·µİV[a%!(0"*%/ *RXdJQW!!)%",",ry69>")&8>LļȾŹ{y~rpumkprpuwuzxv{yx~|{~}~~}~|/    
+
+ 
+  
+
+
+
+
+
+
+
+
+
+
+
+
+
+ '("'("'("'("&'!&'!&'"&'"&&$&'"&%!#")&)&)%3/&3.(   !(0 5%#J+"I*!J,!J,H,E)B'A'@'=%<$;#?&9 9 ) 
+
+
+ 
+  
+ 
+ 
+
+
+                     [PN}{xvtr}omzmkxljwmkxnlynlykivggsggqfipjjrmmuppzrr|rr|rr|tt~ss}vu}yx~¾Ŀȿɿ̽Y`j2:E4<I9?M6<HEGTȻö··;@F & '/$,", *flxV]c!) ()'`gq'*/ '%PVdûȼô|{sqvpnspnsusxyw|{y~|{~~}~}~}z(
+  
+
+
+
+ 
+  
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "()#'("'("'("'("&'!&'"&'"&&$%%#('#&%!'$&#&!*&/*$1,&#  #*. "G&F$F&G'E'B&@&@&<#:"9!6;#47+
+ 
+
+
+ 
+  
+  
+
+              
+
+     &xv~|ywsq~rp}om{nlznlznlzmkyllxiisgjqhkrjmtooyqq{rr|rr|qq{ss}ut|ts{utzzyüľƿǿ˽ɼȾʻĺGNX3;F2:G4:H5;GJLY¼ƺ¶$)/#)#+$,!+&0lsy !)!)'$?FPbel&  ' -pvûǾ·z{srwnlqrmstrwwuzzx}|z~}~y||#   
+
+
+
+    
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+"%)*$'("'("'("'("'("'(#&'"&&$%%#&%!+*&&## +& &!% 50*+(##  !%(D#D"C#D$D&B$@%B(=$<$:"69"25-     
+    
+
+  
+          
+
+
+   
+   8./}{xvwutrqo|nlznlypn|qq}llvilsilsknuooyqq{rr|rr|rr~rr|sq|rqysrzvu{xw}xw}¼ľƾʻǹŻǾ̿ͽ˸ñ9@J/7B,4A,2@06BFHT¹ú·[`f!#)&#+"*&-7% ('&'&0ADK $$*"*7Ļʾö~}qrwkjpljotouxv{yw|zx}|y~}xyy     
+
+
+
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+ 
+ #% *+&'("&'"'("'("()#'(#&'"%&!%&!('#$#'&!+(#&#)$+& &!63.,(%" !$%F$D"A@??!?!>#; 74353.)
+  
+ 
+ 
+ 
+  
+ 
+ 
+
+
+
+               
+     
+eY[~~||xxuussrr|qq}qq{ppxoowmmwmmwomzqo|rp}sq~qo}rp}trvtustr}us~xx{~¹úļƾ;̿Ξ4:F'/:'2%+7#*4JLXɽǸ² $-(%"*"FMU)27%%.)!,%0W]ijos &!' &&+CL[¿ʿø~}ts{lltlkspmttqxxu|zw~{x}zûzwwu 
+
+
+
+
+
+
+
+    
+
+
+     
+&&$*)'*)%*)'('#'&"&%!&%!&%!&%!&%!&'"%&!$% %$&% )&!)&!)&!)$ 0+'.)%$!"C!B @?>>=<:74331-'  
+ 
+  
+  
+ 
+ 
+
+
+                
+
+ 
+  /!!||yyvvuuss}ss}uu}tt|ss}ss}trtrsqrp~ussqsqusususwuxxx{|¹ûüĽžȻʿϛ39E-3?'09*1;*.9UWcö¹î15>$#& $w~PY`"()!,("(4(-1"+%% + -vȿķ}ut|nmukkummwqpxuryyv}|y~{}½|y}"
+
+
+
+
+    
+
+
+
+ 
+    
+
+
+
+
+  
+ 
+   '''+*(+*(*)')(&('#'&"'&"'&"'&!&% &'!%& $%%& &% '&!)&!(% (#,'#4,)4,)* #? >>== ;9875321/+'    
+  
+
+  
+ 
+ 
+
+
+               
+ 
+
+ 
+ 
+
+G99~~{{yyxxxxxxxxyyxxwwtsrqsrrqrqutxxyy{{}}}}Ĺΐ.5?18B/6>15>/3<gjsƶ|9=F ""# <CK!*&/%0 +%+7*/3>;>G ) ,$#1*:BOļʿǾ÷}vsznmukjrmmwss}ut|vu}yx|{~~{:0/ 
+ 
+ 
+ 
+
+
+
+    
+
+
+
+
+ 
+  
+ 
+   (((,+),+)*)%)($('#('#('#('#'&!'&!%&%&%&%&''''''&&+(!%"(#2-'4-'(!= <<;;:754310.+ )&   
+
+
+ 
+ 
+ 
+ 
+ 
+
+
+               
+ 
+     h\\{{{{||}}}}||yxxwutvuwvzy}}̀(,526?18@/3</29rrzȺ_cl%)2*" #.#~DMV("-"-*#)5%/3>;;E!#/"$1#.!4,xIJʽŻwt{olslksmltqq{wwxwxwzy}|||~}_UT   
+
+
+
+
+
+    
+
+
+
+
+
+      !!!))),+),+)*)%)($('#('#('#('#'&!''%'%'%'%'''''&&&&+(!%""&!1,&4/)+$9876653210/-+('$ 
+
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+               
+
+
+   &}}~~}~ppz #,,09-28*-4),3ppx{T[c8?I$ %/" ( %QU`&,8&!'3+$0 ,"-'*3mpyoow77A+,+0/0KPdɹ̼ĸ{v|nkrkhomltonvrr|uuxxxxyy||~x|}|rs,#$ 
+   
+  
+ 
+ 
+
+
+
+
+
+
+
+    
+$$"++),+)-,**)%)($('#('#('"('"'&!&&%'%'%'%'''''&&%%$$(()&%"'$/,#1-$*'6521100/.-,*)('$ 
+ 
+
+ 
+  
+ 
+ 
+               
+
+ 
+   
+
+>42^^h&$(1$)/!$+!$+**2@AF@AF@AFADI9>B16:,47!(0!#%$  &  EIUms &2!+%'!)88BNQXru|z}|ux}ilsWZa88@$#, !3)*357P͸ɿѽǷ}x~toukhomjqpowrqyss}uuyyyyzz~~}zULM
+
+
+
+
+
+
+ 
+ 
+ 
+ 
+
+   
+ 
+ 
+  &&$,,*,+)-,*)($)($('#('#('"('"'&!&&%'%'%'&(''''&&%%##&&*')&&#%%,)"//%330///..-+)(('&$ 
+ 
+
+ 
+  
+ 
+ 
+                
+  
+
+   i^\÷NNZ! )&%% )%#$$! #' !"%!/
+"MS_QWc&!-!".*#"+&!'"'-!&,"+!*!* +!.#+24.0GпϿ˹}sqvnlqmjqqnusrzts{tt~wwxxzz||¸}zpq   
+
+
+
+
+
+  
+ 
+ 
+
+
+
+  
+
+
+ !((&,,*,+),+),(%+'$+(#+(#)(#)(#'&!&&&&&'&''(''''&&%%&&####&&''$%&% ()!43110//-+)''''&$    
+ 
+ 
+ 
+  
+ 
+ 
+                
+   
+  )ʿyyww}}~~@BO %!#%#!&!& # #! "(6Z`n~QWc"'!#'!&!'##&'&&)*"0-*?AVȻʾп˺IJ{y~vtyljoljonkrspwsrzsrztt~xxxxzz}}z3)*
+   
+ 
+
+
+
+
+
+    
+
+
+
+
+
+
+ 
+ 
+ 
+   "))',,*,+),+),(%,(%,)$,)$*)$)(#('"''&&&'&&''''''&&$$&&&&&&&% %& &'!'("&'!11/..-,* &&'&$#"     
+ 
+
+ 
+
+
+
+ 
+
+ 
+   
+ 
+ 
+ 
+            
+    C97÷Ǿxzrtoq}rr~uuvvyy}}36E
+# !"%%#" !   "(4LR`u{]am'+7  '#!"%#"$&'&'"0 !*SZjƾ˺òzx{truompnlqqotrovspwsrzrqyvt}}zz|}üyRGK 
+ 
+  
+
+
+
+
+
+
+
+
+
+
+
+ 
+      
+"$!))'++),+',+',(%,(%,)$,)$+(#+(#('"''%%&&''''''''&&%%&&%$#$$% &'"&'"&'"%&!0/-,+*('&%%&$#"!      
+
+
+
+
+ 
+
+ 
+   
+ 
+ 
+ 
+           
+ 
+  
+`USǻƾ|~vxpr~lnzjlxikwllxnnzmmyoo{ssvvxxxxywxxuwsv7=K,"-$%&$! !!!#&#'#)5>DP_eqtzrvBDQ)
+")#''*+*(%&)7?LzưĸȽ˾ȼĶ}{~xvypnqigjmkppnsqnuspwwv~xwvtvv||~özrfj$     
+
+
+ 
+ 
+   
+ 
+
+ 
+
+ !!%'$++)++)+*&*)%-)&-)&-*%,)$,)$+(#('"(( &&''''''''''''''&% &% %&!%&!%&!%&!%%#%%#..+*)'& $$$$$$$"!      
+
+
+
+
+ 
+
+ 
+    
+ 
+ 
+      
+
+     
+  
+zxͿǻȽþôz~uyswos~kozjnyjlxhjvhjvikwkmylnznp|pr~ssssrr~rr~mo~twaguZ`n_gtWamS[hS[hSYgRXfUXgU[iV\jX`m]gscmwovyuwDHS#'2%  !
+" !
+"$!-'1=3=Ifpzª;ƻ¶{y|trupnqompqorsqvusxspwrovvu}xwxvww}}øķ|>45 
+    
+
+
+  
+ 
+ 
+
+ 
+
+
+
+   "" ((&-,*-,*-)&,(%-*%-*%-*%-*%,)$,)$+(!*' (( (( '''''&!'&!('"('"&%!'&"('#'&"%$ $#%$"'&$.-+*)'&$###$$#"! 
+    
+
+
+
+
+
+
+
+ 
+                 
+
+
+ 7,(ȼȽſƵ|txrvrvnr}jnyimxikwgiuegsdfrikwikwkmylnzoo{oo{nnzkmzln{kn}jm|flzgo|hp}fn{lrgm{kn}psuxx~{mq|^eoGO\FP\JQaPZf\froyҼɽŸ}{~vtwpnqljmmknomprpuusxtqxuryvu}vu}xv~|·÷÷zaUW  
+  
+
+
+
+
+  
+ 
+  
+   !!''%,+)-,*-)&-)&.+&.+&.+&-*%-*%,)$+(!+(!(( (( (( (( ('"('"('"('"&% '&!('#'&!&%!%$ &%!'&",+*)((&$""!!!!!      
+
+
+
+
+
+
+
+ 
+    
+           
+  
+ ZOKŷ;ȽźŸ{}txrvkq}imyimyimygkwfjveiugkwgkwikxjlyln{ln{ln{kmzqsimyko{gmydjvekwciuflxhkzikzmo~suxzz}}̼˼ʻö|w{plmjfgjhipnosqtrpsmkpnlqpouvu{{zxwxv}¹·zwy  
+   
+ 
+
+  
+ 
+  
+  !!''%,+',+'.*'/+(.+&.+&.+&.+&-*#,)",)"+(!(( (( +(!+(!+(!+(!*' )&)&(%(% (%)&!*'")&!(% ) ) ( ''&%$"!      
+ 
+ 
+
+
+
+
+
+
+    
+
+       
+
+  
+    !uqùɷ}u{quosnr~lp|jnzimyko{jnzkmzln{np}oq~np}mo|kmzgivnp}quoskq}hnzhlxnp}on|pm~srwvxz|~̽ŷ~~~}yzwrvrnoqmnqopqopqorqortrwrpunmstsy|{|{}{¹¹ºúù{~9/. 
+
+
+
+
+
+  
+ 
+ 
+ 
+
+  ! !##!((&,+',+'.*'/+(.+&.+&.+&.+&-*#,)",)"+(!(( ))!+(!,)",)"+(!*' )&*' (%'$(%*' +(*' )& ( ( ' & &%$ #!        
+ 
+ 
+
+
+
+
+    
+
+
+
+     
+
+  
+   
+ ;-*ǿùļYV]khoŵ´öŧ~zu{pvntosnr~mq}mq}osptosnp}xxttoq}nr}kozkozos~pr~ustruqvrwsxv|{ü˽ǹ||z}~hdeOKLD@A?=>DBCUSVigjljosqvtsytsyyx~»üļ¼{º`TT    
+
+
+
+
+ 
+ 
+  
+  
+
+   ##!))'-,(-,(.*'/+(/*&/*&/*&.)%-*#,)"+(!+(!))))+(+(+(*'*')&)&)'*&*&*&+'*&*&) ( ''&%$"     
+      
+
+ 
+
+
+     
+
+
+          
+
+
+VHEĶʼûƿĖYX`$.+4,)2SPWǶø¹ż˲ij¨|z~x|x|y}y}x|vzrtvxtvvzswos~swoq}xxzx|x{wwuusxx}}ļʿɼƷ~||zzywZXY645$#(MLRhgmyzyy{{¹¼ļ¶{}»}qq
+
+ 
+
+
+
+
+
+ 
+ 
+ 
+   
+
+  
+!!((&-,(-,(,+'/+(.+&.+&.+&-*%-*%,)"+(#+(!** ))+(*'*'*'*'*')&*(,(+'*&)%*&+' &'('& #! !   
+
+
+    
+    
+ 
+
+ 
+  
+        
+   
+   (|jfλļś&(5''3/-:+)465=η´ȾʵȽdzƴ~||}{{z~oq~{}rty{tv{|ûξüx~{twvtXVW*-4cfmz}~ƻĺŸ»ĻĻ{B6:  
+         
+     "%'"*+&,-(+,'+*&+*&+*&+*&-)&.*'.+&-)&,)$,) +)+(,) -*!,) *''$*'*')&*'*' *'*' )&&&% % "!    
+      
+   
+ 
+
+
+  
+        
+
+         2¿ȽƾƝ~~~\^j -$#1&&2)'2BAI̷»¼˿ǴϫǴw}|uyw{tx~x|}ÿǾýztsod}zs[YZ" #"""($(3fjsľɽȻƹºüŻĺ{`TX    
+   
+       
+ 
+    "$&(#*+&,-(+,'+,'*+&*+&*)%*)%-)&-)&-)&-*%-*!,) +(,) -*!-*!+(!)&+(!*' )&)&*'"*' *'"*' $# !    
+ 
+ 
+     
+
+ 
+ 
+ 
+ 
+ 
+  
+        
+
+          D1*ƼǿŞ}|}y}z~.1: )##-$$,)(0LKQƴʽҷQT]69BLLTQQY^^fooy{vz}|~y{}ļοĸ}zvqk}zsd`]*(+! !#"*59D¼˾ɻĺüĽû~~~rv 
+ 
+ 
+ 
+ 
+ 
+  
+ 
+ 
+
+
+   %&!)*%+,'+,'+,'+,'+*&+*&*)%*)%,(%-)&-)&-*%.+$,)"+(!*' +(!,)"+(#*'"+(#*'")&!)&!)%"*'"*&#*'"# !     
+        
+ 
+ 
+ 
+ 
+ 
+ 
+  
+        
+
+     # aNH͹ξȾǿ̿Ġ~{{wyv~x&&&$%*'&,QPU½ƻկ_an.0=57C55A33?00:33=HHR̼ƴ¶İ}üѽƾ¿ɴyz|ghlbchfdo^\iyyt{|vxvqnmif2./$"-%& )$ $#*(=AMƾɿʽƺù¾ĺ|6*, 
+
+
+
+  
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+  &'"*+&*+&*+&*+&*+&+*&*)%)($)($+'$,(%,(%-)&,)$+(!*'"*'"*'"*'"*'")&!*'"*&#)%"*&#*&#*&#*&#)%""!    
+
+
+     
+ 
+ 
+ 
+  
+ 
+ 
+ 
+ 
+ 
+  
+        
+
+
+
+     'pjмĹɿǿ̿ģ¸~{zvwtztzoow!"$!!#TTT¶ȿdfu'(:.0?35D.-=65C99E88DWWaʼϼȸǶŵı¿¼¬;:?"!'$&!,pjv{uvptztv948%"-$ ..8OO[]]i_amXZg:>J+&)$w{ÿʿǽź»ľ¸}WKM     
+ 
+   
+ 
+  
+ 
+   &'"*+&*+&)*%*)%+*&-)&,(%+'$+'$+'$,(%,(%,(%+'$+(#*&#+'$+'$*&#*&#)%")%")%$*&%+'&+'&+'&)%$($#       
+   
+  
+     
+  
+ 
+ 
+  
+        
+
+
+       3!ȼŨù~~zzvwswq}zt~zTT\ PNOûllv/1@01C56H,.=87G21?..:00:~~Ͽλʷƴòru~47@:=FBELPSZnqxŴµȵĻ,*/"%"/-8smyys}}v}TOU"#$*&CBPggs{zsrrtz}cfu'*9"OS_ſʿǽûþufi
+      
+ 
+  
+
+   !&'"*+&*+&)*%*)%+*&-)&,(%+'$+'$,(%,(%,(%,(%,(%,(%,(%,(%,(%,(%+'$+'$)%$)%$*&%+'&+'&+'&)%$($#  
+     
+
+ 
+    
+
+   
+ 
+ 
+  
+          
+
+       L:8ʿ˿ǿū~~||xyuur}spywt}|y>>F978||((202?),;/1@46C32@66B??K::Dο;̺ȶĶ OOY++5,,4119##+EFKõ¶Ĵ´öŵųñ´¶Ķ·ùŻŽǷԼȡeeqVXeHLXBHT=AM6:E15>/29.1://988DTT`}}ӿIJİ$"'"""KJRuoypkrc^e"$"&%&BAQqp~mlznp}vxxzwycgs9=IſɿŽú¼ux9-/  
+    
+   
+ 
+
+
+ 
+!!''%++),+',+'-)&-)&-)&,(%-(%-(%-(%.)&,(%,(%.)&.)&.)&-(%-(%-(%-(%.)&+&#+&#*%"*%"+&#+&#+&#*%"     
+    
+         
+ 
+ 
+  
+    
+      
+
+     cSSμʿŽʿĬºµ}{|xvs~roztqzxu~~{|y44< {|..8'*3(,7'+4*,8,/8//9::D55=CCKʿҾнgjs11;00:--5))1/05/05Ǹ;ʽɾ̻ɻʽ̽ͻ˻˽̠̾ps|LN[:<K56H12F./C-3C,2B-0?,0<+/:+/:*.:*,9')8/1@13@VVbʸvqu#!$$hgmlipwrx507!!;:Jwvon|tsuwy{½˿ż¹~XLN
+ 
+  
+ 
+ 
+ 
+ 
+ 
+
+
+
+
+ "" ''%++)-,(-,(.*'.*'-)&,(%-(%.)&.)&.)&,(%,(%.)&-(%-(%+&#+&#+&#-(%.)&-(%+&#*%")$!*%"+&"+&#,'#
+
+  
+ 
+ 
+       
+ 
+   
+  
+ 
+       
+
+
+
+
+   )˸ʿƾºDZ»~{yyvwttq|qnwspyyv{y~//7IDH44>'&)2"(+03&).(,/01556:106ZY_ƿٍ66B00:11;22:--5:;@./4vu}տН`dm59D+/;7:K/2E,.C02I$)?!&:!(;!&9!'7$*8%+9'-=.1B*-@14G03D+-<ACR[WX! %CBGqqsjhkPNQ! -+8rquwtsyy¾ɿǽûrcf!
+
+  
+ 
+ 
+ 
+ 
+ 
+  
+ ##!++).-+,+)0,+0,+/*'0+(/*'.)&.)&.)&/*&/*&.+&-*%,'#,'#-($/*&/*&/*&-($+&".)%.)%-($,'#,'#+& *%!*%  
+ 
+   
+    
+   
+ 
+ 
+   
+ 
+            
+
+  5'&ѾǿûȲ¼µ~{zwvs~rozpmxtqzus~yw**4!"'$#($#qlpaak() ,"%#!%)*&*)*+-78:446onsľþߙ??K//;55A44>++5//722:89>UT\ܨikx9=I47F6<L16I',?#(<(-C8=SLQghnjqkp`exHN^28H*/B,1D05I%*>*,A.1D'(:869 $%$)__apppigh,*+)``lrttv}}ɿǾļ½vy4(* 
+
+   
+ 
+ 
+ 
+ 
+ 
+
+   ..,431/.,.*).*)/*'1,)/*'/*'.)&.)&.)%/*&.+&-*%,'#,'#-($.)%/*&/*&-($,'#,'#,'#,'#,'#+& +& +& +&
+         
+ "   
+ 
+ 
+ 
+             
+      H88ºdz¶~zwssp{olwpmxnlyqo|vvwwrt),5('-HGM   @;A}x''1'$ "&%#($#%$465222ý½ĿӽբKJX02?&(435A"%./2;(+258?22:54<шEDV23G,.C,.E $="'=8>T^exõηлؿ״͚^ex ': 6*/E&+A!&:lornm "!'@AEpqsmolNNL 75Bvxɿǿž¾½OCG
+ 
+
+     
+
+
+
+
+
+
+
+
+
+
+
+ //-87521//+*-)(/*'3+)2*(1)'0(%/'$.)%/*&/*&/*&,'#,'#-($-($.)%/*&.)#-("+& +& +& +& +& ,'!,'!,'!
+ 
+    
+ "(% "!
+
+
+
+ 
+                
+   `PPλ̿Ƶ~{wvrqnyolwmkxmkxoo{pp|mo{9<E!&%+jio"  rmtVU]""$ ! !#",.-///¼ſϽٰPO],+9/1>24A(*7')5%'3),5'*3(+2**2qpx^Zh-*;<:O-/F.2M#'B.2MagؾоԽӺβȶٰȄ).B',@,fi|ʢOMN $_`elmolnk--+#`_mȾƿžĿŻnbf$    
+
+
+
+
+
+
+
+   --+6536535101++0(&2*(2*(1)'/'$/'$-($.)%/*&/*&-($,'#,'#-($.)%.)%/*&.)#+& +& ,'!,'!,'!,'!,'!,'!  
+  "#)$ *%!,)$1.)-,'  
+ 
+                 
+
+ &mk̿ƾ˾õ{{wusqo|omzmkxkkwmmymo{QT]#$qpvHFK "#><A/.6" #.44 !#$%'335ҽ̶PR^24A-/>+-<*,;&(7*,9+/;#.&*5'*3++5FFPܯMKX-,:89K.0E,.G"=BFaպοͻʿμ̰˷ɂ%(;jm224##')5ps|eijejf '~}ɿɽƿķ}F;A 
+ 
+
+
+
+
+
+   !!!$$$)))/.,653;766001)'2('3)(2('0&$/'$-($.)%/*&/*&-(%-(%,'$,'$-(%.)&.)&.)%-($-($-($-($-($,'#,'#,'#  !%!)%",(%0+'1,(30+41,43.'&!
+   
+ 
+                
+ 
+9*%Ǽʻ~{{yustrpn{llxmmymo{ehq$$. XW]pns#!&nlqont" BGMOTX$!54:ǿѾWYe24@*,;13B13B')8:<K?BQ(,8&*6(,7**600:۳KJX13B+,>/2E%*>&+A_e{־ǼɺĺĸIJ|{lln#$(%&ADSuymqtX\[44@˿ȾȽ¼ɼeZ`   
+
+ !!!!!!!!!"""'''(((+*(21/=779335+*3)(3)(2('1'%0&$0(%/*&/*&/*&.)&-(%-''-(%-''.)&.((.)&.)&.)%.)&-($-(%-($,'#,'#"$ )%$-)(0,+2-*4/+50,2/*54/,+&   
+ 
+     
+             VD@ƻɻ¹zxywvtpp|pp|kmynqz;;E76<zx}QOT97<@?D!'qucgr 43;ü|/1=8:F57F13B-0A>ARᄇ $0)-9%)4++7--9YYeؽZ[o.0E38L*/C&-?&8]dtѿҷȾοžžedi%*'QTe~}PTS$<;Iʾǽǽȷr{3)1   !!!!!! !!!!!!''',,,,*+,*+711:449/.5+*2('2('1'%1'%0(%1)&/*$.)%.((.((-')-''.(*.((-')-''.((.)&.((-(%-'','$,'$,'$%& '!!(""*$$,('1+-3--3.+50,50,/,'74//.)
+ 
+ 
+ 
+     
+      
+     #jWSϻпɿƻɻ¿¼}{}{zxvtrqkjxrr~MMW$!(pnsusx.,/ =@Ibfr 65=ɕ03<:=F-1<79E15A26Bvyԫ15A+/;*.:,.:00<55Aϐ13H*/E+0D*1C(/?DLY̸ɽ̺¶gfl!!-$TZhTXW#$32BʿǽſſŽòTIQ  """" ! &&&000/-.(&'/+,:44<347-,2()1'&1'&0(&1)'/*'/*&.)&.((.(*/&).(*.(*.((-'',&&-''-(%-''-'',&&,&&,'$,'$!$)##-$%/&'1()1()2),2,.5,/4+.8/06.,4/,84163.43. 
+  
+
+  
+
+      
+   +vvȽĹûƼó}~zyvtqqo}`^k "XSY~|`^a
+ "#jjrjly#/.4@BN)-6-1:%,227=).4RW]ĺȻX\h$*606B,0;/1=.0<pp|SUa+1?.4D)/?.1@04@νƿƼùifm$"-$LU\iig!" &32BƿǾľ»ÿry+%  
+
+   
+ 
+ 
+ "!#" &"#%#$"""""")*,+,.--//-01,03-/903<343*-2)*1()1().((,(',('-)(0'(0'(1'(0'(.((.)&-)&-)&,(%,)$,(%,(%-(%.)&-(%-(%!!!!%$")%$+%%,&&1()5,-4*+6,-7-.6,-5,/6-07.17.18/2901822730841671
+    
+
+     
+ :(&ƾøû··ǿĵ}~z{vxtmiw"*GBH{y|lln?@D  !96=wv~~ln{( 0/4qp~%'4"-&*3(/5!(..37ɷy}!'3,2>(,7+/:13?GJSΪ@BN+1='-9)-904???KĻqku% )CNPtsq% $ &$2/üȾ¿zO@E     
+
+ &"!&"!'#$'#$$"#$$$++---/..0/-01,03-18/2:149036-02),0'*/)+/+,/+,-)*0'(1'(1'(0'(.)&.)&,)$,)$,)$,)$,)$,)$.)&.)&-(%,'$('%)(&.*)1-,3--4..8/0<34<15>37>37=26<36>58?6;>58?69C:;C===96@<9=>9220
+
+ 
+        
+
+
+ 
+ K97ƮտȾøľ·øƸ~|~zwu)'20.3trwvuzhim " $WT[~}zyqs $//.354D#"2#%2&*5(,5#,adkʣ/1@*-<(,7)-603<),5ýſʍ/2;+/:&-7'+6-1<RR^Dz{v}"!)'7BD"!%"+%(egvǾsdi
+
+
+
+    
+ 
+($#(""'#$'#$&$%(&'-+,.,-0./3/03-/5,/5,/8-1=26:/34)-/&)1(+3-/1+--')0'*0'*0'(0'(.)&.)&,)$,)$,)$,)$,)$,)$.)%-($,'$+&#*)'*)'.*)1-,3--3--7./9016+/8-1:/3:/3:14<36<38<38>58A8;D;<<66A=:;:6997   
+         
+
+
+  bPNζӽǽĹ·ðø·Ǻ~|}{.,9 &#*nmrxy~ux}ILS &"&&0pmv~|{zz|(,7,+0_]k*+()#36?ON^"$1'+6&*3'*3'*1cbjĻžĽ{{'*3%)2(/7#'2%(1^^hqq{`^i^^fbagYZ^TSXRRTCCE99;99;:9>87=a`f'&.&#+6:.,1 ,+58IOIS_Yeʷ½ɾʾȾż½»¿v{2&*  
+
+
+    
+*$$(""&"#'#$)%&+)*.,-/.,3/04..5,/4+.5*.5*.;/3<048,02'+0%)2),2),-')0'*.(*0'(.((.)&-(%,)$,)$+(#+(#,)$-*%.)%-($+&#*%".*).*)/+,1-.3-/2,.5,/6-03(.6+18-39.4:/5<17;27:16>39;25A89:44@<;542999   
+         
+
+
+   $ssҼǽź·IJ¸ùľ··Żµ10>$"%$,nms{{tw~ux%)4"!,HHR}~.2=++-/-8'&($VW\ws( #,#)!$+'*/439¯pp|"%.#,#(.!*!(YYaCEQ+& (!""#' STY.-5%%"-1B@E /0-bfr}ty*#*"&VR`۴пɼû½ľx}YMQ 
+
+   *$$(""'!!($#*&'.*+1-,2.+4..4/,5,-5+,5)+4(*8),;/1<047+/2&*0%)1&*1(+/)+-)*.(*-)(-)&,(%,)$,)$+(#+(#,)"-*#.)%-($,'#*%!3/.2.-2./3/04.03-/5,/6-09.4<17>39>39>39?4:>5:=49?4:<17A8;<34B<<954978"""
+
+
+          
+
+
+  /!!Ծ˿ǽĹó¿·øƽĸ02A%"$"-powuu|~Y]h%$jhu04?,,.`af%&(}})(0!! #( % lkqnnz , #*#&!(FGL6:F))!*&"VW\52;$(&-w\Z_ )# 3 0$2~3*/&&/)3'%3DBWͽƺþþżýx}{os
+   
+
+ +%%)##(""*$$,&(/+*2.+2.+3.+3.+4,*4*)5)+4(*5&)8,.=15;/36*.2&*2'+3*-/)+.*+-)*-)*-)(,(%,)$,)$,)$,)$,)"-*#.)%.)%-($,'#:468247137139058/48/4905;08=2:>39=28=28>39?4:>39?4:=28D;>:14@:<=9:756***
+
+ 
+         
+
+
+ M>AӾɽȼĺķøźŻ03B"$"",rr|~~y{|~02A87E/3>!))+~348271~{PPR";:?rr~* '"",-228F+'%#!! ^^f85<$($-qz&$/*+1%3(*6B7=$"*#+#-&%5!"7z|ڸĺ»Ŀöý~}>58    
+
+#" -''+%%-$%-''.((0**2/*1.)2-)1,(3+(3+(4*)4*)4(*5)+8,.;12:/35*.3(,3*-.)-,*-+)*+)*+*(*)%,)$,)$,)$,)$-("-(".)#/*$.)%-($A8;=79;57;57=49<38<38=49A6>B7?B7=@5;@5;B7=C8>C8>E:@G<BODH?69G>AICE?;<756           
+
+
+  !n_bȵɻȼƺ¸øƺøƻºǾĸ39G%+##/vv`bq%^\j-1<#%%'kks!"'!470CB>KGDRNKVRO`\Y^][ba_KKK!gejut) \]b~%+9"$#!^^f:7>"("-nu}FEM( 0/"2#.$$,rqwH=A.'/& ,%#1#$668MӵþŻ½¾`WZ
+   
+ &%#/))-''/&'1()/))0+(30+1.'0-(0+'0+'3+(4,*5+*5+,0&'1'(9/0=267.13(,2),.)-,*++)*+*(+*(*)%,)$,)$,)$,)$-("-(".)#/*$/*&/*&C9:A89A8;D;>D;@C:?E;CH>FI>FH=EF;CG<DH=CI>DI=AH<@M@GK@FLAEMDGMDGKEGLGKMKN" %
+ 
+
+  
+           
+<04ijɼƺŹƺĺż·ĹºƼİ+1?*# ,CBR"&1!! %zy~55=+),vu22>!
+ 016yx~~}=AM/3?*.:$(3,0;-1:!*!  #cfo.+2&%$/v}$&3+"4%%)5##-DDLpot}yv\WT2*((!)("."/ 3!4zը¼ųù÷þvz) #
+
+ 
+ ! '%&.((/))0'(2)*2,,2-*0-(..&..&0-&0-(1,(1,)3+)6.,2*(3*+1();23933-$'2,..*+-+,-+,,+)-)(-)&-*%,)$.)%.)%-(",'!-($-($-($,'#B89B89C8<F=@G>CF=BG=EI?GLAIK@HJ?GK@FLAGNCIOCGOCGQDKPCJODHPEINEHPGJTNRYTX4/5  
+
+          qbgòʽȻȺƺŹž·ĹƿżIJ)/= %--7~|)"qpuhhr'    
+"RPS~|}|{GGS"@?E~yx~ps|#  !"mpy.+2(''4ypr~',*#%1$% !&""""!)$(# )+$"71TVkҫ¬ý¼ƹ·ùMBF
+
+ #!"'%&-'',&&.%&0'(0**0,)/.)//'//'//'1.)1.)2-*2-*50-50-8/03*+2,,:447130*,-)*+)*,+)-,*.*'-)&-*%.)%/*&.)%-("-(".)%.)%.)%-($E99D:9G=>K@DLAGLAGLAIMBJSHPSHPSHNTIOVIPWKOXLPYMQSGKTHLUIMTIMQHKSJMXRV^Y_B=D
+
+ 
+    
+ 
+5&-ŴϿ̼ɼɼǻƺ³øƿŽŵkqFJV#%1+)4|}) hgm}~>>H! ""! # !!   !(&)|w}|ywzx~gft*# "
+  IIQ~}}tt|&$"mo{{)&-&*#*:~_co,,! . /*% !#%"#%  $%%1 12PRiɳɯüļǽøĸ¶õ»sfm
+  '%&)'(-')+%'*$$,&&/*'0,)0/*/0*0/*/.)/.)0/*2.+2.+3/,62/=77>884..600=774...*),(',('/+*0+(.)&.)%2*'1)&0(%/'$0(%.)&/*'/*'.)&K??K??MACOEFQFJQFLQFNQFNTIQTIQUJPUJPVJNVJNVJNWKOTHLVJNXLPXLPUJNTKNVLTWPWIBJ 
+   
+         dS[ʹξ̼˻ɼɼȼŹŹ·øƿŽŷz|".#a`f||vr+#%'
+ , &6$ "'!  ""# 
+% KFL|y~~|ywzyxzLP\ # ' FEKzyYYa"(*lnzwry$!*%*%+;RUd'"*'+!*"$$$*(!%(!&,%2^`wԹϦ½žºŶµøŹŹ¶¶ŷĿ|3(.    ""$*(++)*-)*,&(+%%,&&/*'0,)0/*0/*0/*0/*0/*0/+2.+2.+0,)40->88OIIC==/))822<663---)(+'&/*'0+(0(&/'$1)&1)&0(%/'$0(%.)&/*'/*'/*'SEDQFDRFFSGISHLTIMTIORGMUJRVKSWLRXMSYMQXLPYJMXILTHJUIKVJLVJLUJNSJMRHPOHOLEM!    
+        0!&ȴоξ˻ʺɼʽ˿ȼȼ¸ùƽùyz"1! VU]~x~}KGV%$"$':lrtzbgz`fvSThMN`GEZCBT>?S9:L25H*0@+/;%)4! #$idj|~{}{ywsrvxux/5E $$ ";:@vtyrqw%$,"$'&4{zsnu"(&,%*=VXe&$1".-#-!)"( &"*>AR۱ƲŲĽŽĹƺƺĿ¶¶Ķ[NU    ""$*(+*(+,()+'(,&&-''.*'1-*2.+2.+1-*1-*1-*1-,3--3--/))4..:12OFGOFG4+,2)*>569411,),'$/'%1)'1'%0&$0&$2(&1'%/'%/'%.((.((-)(-)(XJIXJIVJJVJJXLPXMQWLRUJPWLTWLRXMSZOS\PT\PR\MPZKNUIKUIKSGIRFHRGKTIMSIQRHPRJU3-7 
+       
+   ]LTмƲ®ͽ˻˻ʽ˾Ϳ˿˿®¸¸¸ùƾĺ¶xy"1 ! HGO{}zv"- $+!@AS~}mq}fht$728{xyvvtzxtsprsvot(-@  ' "OMRQOR" %&.-;mgq &&,%*=roz64A -+!- , ,%+7HN\yĿӱЭŻƺź¼¶¶´}nu"  %$)(&)'%(*&'+'(,&&-''.*'0,)1-*1-*2-*2.+3--2,,2,,2,,1++7./4+,>56I@A=343)*6,-;3150-2*(/'%0&$1'%1'%0&$2(&1'%0(&/'%.((.((-)(-)([ML]ON]OO\PP^RV`TX]RXZOUWLRUJPUJPWLP[OS\PR\MPYKKYKKZLLVJJTHJTIMWLPXNVWMUSKVF@J   
+ 
+        /#'®dzξ̼̼̼ξ̿Ĺdz¸¸¸¸¸ĿŻ÷|}(+<#$"=;F|~}XTe#""!!-giu{|}uytx=@IYV_zwwu{yzysurw|sx*0@"+  $#B<@`W\hbd}xuyurd_\C?>512 ! #VUchbl$&+$)<vv]amPVd\brw~հȻͷƪ¸ŻĺûƼŹö÷÷õõ¼~H;B #!&(',)'*'%()%&*&'+'&,(%.*'1-*1++2,,5,-3--5,-5,-4+,3*+5,-5+,6,-7-.<23?356*,2()6.,91.8.,2(&0%#2'%3(&3(&3)'3)'1)'0(&.((.((-)*,()^PO`RQaSScUUfWZfZ^dX\_RYbU\^QX\PT]QUaUYcW[cTW`QTZKN[OQ\PRYMOWLPZOS\QW[QYRHQRKS   
+
+       XKR̸˷ʽ˻ͽξξɽ˶¶÷¸¸Ƽĺ69H".*$86A{{{1->"$#% AAM}{}{}y{np|!!+! ,*5}{|zzy|{z|z9<M
+ +  #"A?Lifo ))+#&9ǯȶϸ̸ɴ¼ȿȾɿƼȼŸĸĸĶǹŷh[b*%+'%*+).(&+'%(*&'+'(,('/+(4..3*+4+,5,/6-.6-05,-4+,3*+8./1'(=34;/13')8,.6*,5)+2(':0/<214*)/##1%%5))4*)5+*3+)1)'1()/))/))-)*-)*\QO[PN]ON_QQbTTdUXeVYdUZcTYbSX`QX_PWcT[gX_eX_cV]^QXaV\bW[^SW^RVaUYcV]bW_^T\]V]*%+
+
+
+ 
+ 
+   ( ͻϽɻǵ̿ȻɼʽʽʽλøķøŸ÷¶¶ĸźŽýŹ|~vxrtpp|llxhhteeq~zyGFV(); 1!4&&bdq~|||zzyy|~WYf
+&(%()CETRSh,
+ )("  & =;Fggq*!%1$.zyĺɻʾ̹ŵǽº¹ǽȽöĶõŵɹǷIJ~z3'+"-#+-(.+&-+(/+(/*(-)',,()0,+4..4)-4)-4+04+.2,03-/2,.4+.6+/<159-/6'*:+.9*-5)+8,.5)+5)+9-/<027-.1'(0&'3)*1'(2)*3*+/)+.(*/)+.(,,&*WLJXMK[ML\NM\LM]MN^NQ_OR]LR\KQZIQYHPZJT\LVYLUVIRVKSWLTWLRWLR[OS^RV_RY^QX[PX\RZ929
+
+    
+  
+ VGLij˹Ǽ̼˾̿Ƚʿҿīöķķö¶¶ĸĹƻļƼ~|~{}{}z|nscfw}vx36E& '& %(9gixqq11I %&('# *)!GGS^aj #/.<yyƿ̽ȹøºž¸¸¿»ǼƻõĶƶƶɷȶIJ}PAF( 4)1.'.-(/*'0)(0)(.+(/.)-1+-4+,4)-4)/4+02,01,02-12,.2,.6-0=26:.07(+9*-6*,4(*7+-4(,5)-7+/:.29.26+/3(,1&*0'*2),0*,/)+.(*/)+.(*-')WKKZNN_QQ]OO[KNYIL[JP^MSbQWaPV^MU\KSZJTZJTUHQQDM[NWWJSUHOXLP_PU`QV]PW[NU\QY]S[NGN 
+      
+ )°̿̿˾źʰµöķö¶¶÷ĹƼûºźwyorW]mZ`pUZmV[nWZkWZkz|Y[p(*?  # "&%  #QS`dgpCGR[]iuwμƻżƾǽƾûĽǼĹĶŷǷǷǷǷIJrch4(,8-51'/0)1,)0)(0*)/-*11,03-/4+,4)-4)-4+.2,.2./2./1-.2,.8/0=34<028,.9-/7+-5)+6,-3(,3(,3)*6,-:01<236-./&'0'(2)*0**/)).((/)).*),(']QSaUUeVYcTW`PS^NQ_NTbQWkZ`jY_gV^eT\dT^dT^`S\_R[cV_^QX]NSbSXeV[dUZbSZ`SZaT]bX`^W^! 
+ 
+    \PR̺̽ƿñʽ̿ʿϴµķķ¶¶ĸŹŻûºƾķ[^o36G("$ !% (EIUuy̻żǿù¶½ļûǽǼ·ĶƸȸȸǷǷų|K?C:-45+32+30+2,)2-*11,23.24.06-.4*+4+,4+.2,,2./2.-1-.2,,6-.:01;/1:.08,.7+-5+,6,-3)*3)*2()3)*9/0=349012)*0'(1)'/)).)&/))0+(.*'.*'ZNR[OQ^OT]NS[LQZKP[JR\KSdS[aPX^OV^OV`QXaRYaT[aT[cT[_PW`OUdSYgWZdUXdUZcV]aT]bW_`V^/*.
+     
+&˹ȶɼӸµķŸ÷÷ĸŹƼĺƼěwzbevQTe:=L04@04?48CFJVeiu¾̾ȾļǿŻĺ»Ƽǽƻ¶ŷƸȸȸǷȸŵfZ^9,36,41*20+2-*1-*10+11,04.07./5+,4,*4+,3.+2.-0/+1-,2,,4+,6,-:.0;/18,.5)+4*+4*+3)*4*)2*(1)'4,*:20:207/-/*'.)%-(%.)%/+(/,'/,'/,'[OS[OS\MR\MR\MR\MR]LT^MUcRZ`OW\MT[LS\MT\MT[NU_PW_NV_NV_NTaPVaQT`PS`OU`QV^QZ]RZZPX<7=
+   
+    \PRɺɷžǵʽֽåµķŸĸĸĸŹƼŻ»»ºžøǸũŮÿʽýľŽŻļºǽƼø¶ŷƸȸǷǷȸƶ{lq=073*/0)1/*1.)0,*/.)/0*,4+.6-.5+*4,*3.+2.+0/+0/+1-*1-*3--6-.=34@46:.06,-6,-4*+4*)5+*3+)1)'2*(5-+80.:201,(.)%-($/*&/,'/,%.+$.+"eV]eV]eV]dU\dU\eV]fW^gX_m^ej[bgX_fW^dU\cT[cT[eV]cRZfR[fSYeRXeRVcSVbQW`QVbU^^S[[QYJCJ    
+)ƱȶϿʽƪóķŸŷĶĸĸǽƼŻƼŻü³ǶŹúø¼û̵öð¾¼ǿƾŻƽĹƻȼź¿÷ŸƹǷƶŵǷŵ{PCJ5*04*3/*1,'.,'-/(/1+-5,/5,-4,*4,)3.*2/*0/*0/*/.*1-*4/,6.,@65D:9=348./8./4+,4,*3+(3+(2*'1)&2*'4/+83/3.*0+'.)#/*$/,%.+"-*!-+_PW_PW_PW^OV]NU]NU`QXbSZfW^dU\bSZdU\dU\cT[dU\fW^jV_lXalY_kX\n[_q^bn]cjY_l]ddW`cX`UNU  !PDDҾŰϽʺȻĹɭ²öŸĶĶ÷ĸȽǾǽǽƼùĿºúǸſֿɿƾǽĻŸĸŷƱÿľſŽºſ÷ƻȾȼø÷ŸŸƶŵĴƶŵµiZa=077-51*2-&.,'-0*.4.26-05,-4,)3.*3.*2/*0/*0/*/.*1-*0+(2*(>43D:9<238./8/04,*5-*3+(3+(3+(2*'0(%2-)72.50,1,(.)#/*$/,#-*!+)+)TDNWGQXHRXHRYIS\LV]NU[LSZKRWHOXIPYJQWHOXIP]NU^OVdPYbNWaNTaNRcPTdQScSVcRXfW^ZMT[PXVOV+&,
+  
+ $ѽɺͽǼ̱öķķƹƸŹƻǼȽʿʾƼ·û¸¿ƾý½ĽĻĺźŷò¼ÿÿýľǿĺ¶ƺȼŹ}öķķöóó²ƶǷĽõ²x=077,42(01*1.'.2).1(-;045+,4,)2-'2-)1.).-(.-(.-(0-(0+(2*(4*)7-,:0/;10:1291/3+(4-'4-'2+%/'$/'$2*'4,);6250,1,&0+%/+"-) -)/+ UEOZJT]MW\LV\LV\LV\MT[LS[LSZKR^OVaRY]NU[LS]NU^MU^MU`MS_LR^KO^KM_LN_OR`PS`QVZMTZOWVOV=8>    O@Cκƺ°̼Ͽӿ˾ϴöŸƹǹƹĹźǼɾɽȼƺøƽ¹Žÿÿ¿ȾļþžŽĹ´ý¿ſƿǿ¹ŹɽɽĹ~ķŸķöĴóóƶǷĽ´²}VGN9,58-5.$,0)08/42).7,07-.5-*5.(2-)1.)/.).-(/.)1.)/*'2*(4*)6,+9/.:0/;1291/3+(3,&4-'3,&1)&1)&2*'3+(61-61-4/+1,&/*$.*!.*!/+ ZIQ]LT_PW]NU[LS[LSZMTZMT[NU[NUaRYcT[^OT[LQ]LR]LR\KS]LR]LR[KNYIJYIJZJK\LOYJOZMTVKSSLTQLR   &}ȴų̼ͽϽҾиĴķƹǺƹĹĹƻȽʽȼǻŹ½»ƿſľȾļ¹~~{~ſľɿù¸¹ĸɽ˿Ϳɼö¶ŷŷƶŵĴóóƶƵŽĴsdi3&-?4:5+3/%-6-27.39.24*+7-,5-*3.*1.)/.*/.*1-*1-*0+(2*(3)(6**8,,8.-9/.9/-3,&3,$3,&3,&3+(2*'2*(2*(1)'6.+80-5.(1*$/( /( /( aPXaPX^OV[LSZKR[LS\OV^QX_RY]PWaRYaRY[LQYJO]LR^MS]NU]NS\MP\LMZJKYIJZJKZKNWHMYLSTHRRHQ[T[0+1
+ L;A­ɷͽͽμҾӼµŸƹŸƻƻƻǼɼȻƺŹ÷ý¹üǿ¿ý¼ƾļŻĺ¹}{|~~~ſſĺû¸÷ǻʾʾʼǺ|¶÷ŷŷŵĴóóŵƶŴļ´õŵ¾{9,32'-:/7/%-5,16-28-14*+7-,5-*4,*2-*0,).-)1-*2-*3+)3)(4((4((5))7++7-,8.,6/)4-%2+%2+%3+(3+(2*(1)'1)'3+)7/-91.6.+1*$0)#0)!dSYaPV^MS]LR]NS_PU^RV_SWaUY_SWaRW`QV[JPZIO]LR_NT]NSZNRYMO[MM[MM\NM[MM[LOZKP[NUVJTTJS\U]FAG "pvѽɾλξ̼ҾмӽտĦĴǷƹŸǼƻǺȻȻȻǹƸǹĸüŽľľýýºŽ»~}~~|{{~ľƾǼĻƹɼ˽˽˻ȸ²}{¶ĶŷŷĶijò±±ƵƵijŻ¼´ŵ¿TEL ,!)1&.;062'-3'+:.26,-4,*4+,1++0,+0,+0,)1,)4,*4*)5))4((4((4((4*)5+)90+6-&3*%1(#2(&3)(3)*2()6,-3)*6,-<21=327-+3)'4+&_NT\KQ[JP]LR_PU_PU\PT[OS^RV[OS_PU`QV\KQZIO[JPZKPYMQWKMWKMXLL\NM^PO]OO\MPZNR]PWZNXYOX]S\UNV;'0͹Ż­ѾϿ˻ѽϻӽ·Ǫ²ƶƹƹźźƹǺȻɼɻȺȺȺĸúüľľý¼ƾû~}~}}{yy|ÿǿƻüøȻʽ̾˽˻ȸÿ{~ĸƸƸŷõò±±±ǶƵijŻüſĴm^e&#4)/4)/6*.6*.5+,5+,4+,2,,0,+0,+0,)1,)4,*5+*5))4((3''3''4((4*(90+6-&2)$1(#1'&2('3)*3)*5*.1&*1&*8./;128.-4*)3)'\LOZJMZJM]MP^OR]NQZNPZNP\PTXLP\MR^OT\KQ[JP[JPXINWKOVLMVLMWMLYNLYNL[MM[LOYMQ^QXYMWXNWZPYWPX-(/  r]f̶ùįҿϿʺѿмϻҼտĹɮĴŸŸŸŸƹǺ˻˻˻˻ɻɻǻøƾú¹Żǿſýºþ|z||~|{{|»ÿǿʿȾ¸øǼʽʽ˼ʼɹŵ|~ŹǹǹƸĶò±±±ȷǶòĺýöǿŵ~ov.!( !0%+9-12&*6*.5*.5,/3-/2.-1-,1++0**3+)4*)5))6((5''3''4)'5*(6-(4+$2)$1(#1'&2('4(*5)-3&-2%,2%,2&*7+/:.07+-2&&_OR]MP]MP_OR^OR]NQ\PR_SU^RVYMQ\MR^OT]LR]LR^MS[LQXLPXNOYOPXNMWLJVKIYKKZKNWKO]PWSGQSIRUKTRKS@;B4#-ӾԾȲŰҿϿɹϽѽмѻԾƻ˲µöŸŸƹǺ˻˻˻ʺɻʼɽƻøƽºĽɿſýľ~{||~~{{ȿŽʿȾǼʿ˾ɼɺɻƶ²|ƺȺȺƸĶij±±±ȷǶòĺýƹʿǷóİ~zE8? !1%)7+/6*.5*.6+/4.03--1-,1++0**3)(4*)7))6((5''5''4)'6+'3*%3*#2)$1(#1'&2('4(,5)-2%,7*16)00#*4(,=15=133') \ No newline at end of file
diff --git a/tests/gainmapmetadata_test.cpp b/tests/gainmapmetadata_test.cpp
new file mode 100644
index 0000000..fa47a6b
--- /dev/null
+++ b/tests/gainmapmetadata_test.cpp
@@ -0,0 +1,77 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <gtest/gtest.h>
+#include <vector>
+
+#include "ultrahdr/gainmapmetadata.h"
+
+namespace ultrahdr {
+
+class GainMapMetadataTest : public testing::Test {
+ public:
+ GainMapMetadataTest();
+ ~GainMapMetadataTest();
+
+ protected:
+ virtual void SetUp();
+ virtual void TearDown();
+};
+
+GainMapMetadataTest::GainMapMetadataTest() {}
+
+GainMapMetadataTest::~GainMapMetadataTest() {}
+
+void GainMapMetadataTest::SetUp() {}
+
+void GainMapMetadataTest::TearDown() {}
+
+const std::string kIso = "urn:iso:std:iso:ts:21496:-1";
+
+TEST_F(GainMapMetadataTest, encodeMetadataThenDecode) {
+ ultrahdr_metadata_struct expected;
+ expected.version = "1.0";
+ expected.maxContentBoost = 100.5f;
+ expected.minContentBoost = 1.5f;
+ expected.gamma = 1.0f;
+ expected.offsetSdr = 0.0f;
+ expected.offsetHdr = 0.0f;
+ expected.hdrCapacityMin = 1.0f;
+ expected.hdrCapacityMax = expected.maxContentBoost;
+
+ gain_map_metadata metadata;
+ gain_map_metadata::gainmapMetadataFloatToFraction(&expected, &metadata);
+// metadata.dump();
+
+ std::vector<uint8_t> data;
+ gain_map_metadata::encodeGainmapMetadata(&metadata, data);
+
+ gain_map_metadata decodedMetadata;
+ gain_map_metadata::decodeGainmapMetadata(data, &decodedMetadata);
+
+ ultrahdr_metadata_struct decodedUHdrMetadata;
+ gain_map_metadata::gainmapMetadataFractionToFloat(&decodedMetadata, &decodedUHdrMetadata);
+
+ EXPECT_EQ(expected.maxContentBoost, decodedUHdrMetadata.maxContentBoost);
+ EXPECT_EQ(expected.minContentBoost, decodedUHdrMetadata.minContentBoost);
+ EXPECT_EQ(expected.gamma, decodedUHdrMetadata.gamma);
+ EXPECT_EQ(expected.offsetSdr, decodedUHdrMetadata.offsetSdr);
+ EXPECT_EQ(expected.offsetHdr, decodedUHdrMetadata.offsetHdr);
+ EXPECT_EQ(expected.hdrCapacityMin, decodedUHdrMetadata.hdrCapacityMin);
+ EXPECT_EQ(expected.hdrCapacityMax, decodedUHdrMetadata.hdrCapacityMax);
+
+}
+} // namespace ultrahdr
diff --git a/tests/jpegdecoderhelper_test.cpp b/tests/jpegdecoderhelper_test.cpp
index ef6df1d..3795fd6 100644
--- a/tests/jpegdecoderhelper_test.cpp
+++ b/tests/jpegdecoderhelper_test.cpp
@@ -29,14 +29,17 @@ namespace ultrahdr {
// minnie-320x240-yuv-icc.jpg has icc
#ifdef __ANDROID__
#define YUV_IMAGE "/data/local/tmp/minnie-320x240-yuv.jpg"
+#define RGB_IMAGE "/data/local/tmp/minnie-320x240-rgb.jpg"
#define YUV_ICC_IMAGE "/data/local/tmp/minnie-320x240-yuv-icc.jpg"
#define GREY_IMAGE "/data/local/tmp/minnie-320x240-y.jpg"
#else
#define YUV_IMAGE "./data/minnie-320x240-yuv.jpg"
+#define RGB_IMAGE "./data/minnie-320x240-rgb.jpg"
#define YUV_ICC_IMAGE "./data/minnie-320x240-yuv-icc.jpg"
#define GREY_IMAGE "./data/minnie-320x240-y.jpg"
#endif
#define YUV_IMAGE_SIZE 20193
+#define RGB_IMAGE_SIZE 20200
#define YUV_ICC_IMAGE_SIZE 34266
#define GREY_IMAGE_SIZE 20193
#define IMAGE_WIDTH 320
@@ -55,7 +58,7 @@ class JpegDecoderHelperTest : public testing::Test {
virtual void SetUp();
virtual void TearDown();
- Image mYuvImage, mYuvIccImage, mGreyImage;
+ Image mYuvImage, mYuvIccImage, mGreyImage, mRgbImage;
};
JpegDecoderHelperTest::JpegDecoderHelperTest() {}
@@ -88,6 +91,10 @@ void JpegDecoderHelperTest::SetUp() {
FAIL() << "Load file " << GREY_IMAGE << " failed";
}
mGreyImage.size = GREY_IMAGE_SIZE;
+ if (!loadFile(RGB_IMAGE, &mRgbImage)) {
+ FAIL() << "Load file " << RGB_IMAGE << " failed";
+ }
+ mRgbImage.size = RGB_IMAGE_SIZE;
}
void JpegDecoderHelperTest::TearDown() {}
@@ -100,6 +107,14 @@ TEST_F(JpegDecoderHelperTest, decodeYuvImage) {
ULTRAHDR_COLORGAMUT_UNSPECIFIED);
}
+TEST_F(JpegDecoderHelperTest, decodeYuvImageToRgba) {
+ JpegDecoderHelper decoder;
+ EXPECT_TRUE(decoder.decompressImage(mYuvImage.buffer.get(), mYuvImage.size, DECODE_TO_RGBA));
+ ASSERT_GT(decoder.getDecompressedImageSize(), static_cast<uint32_t>(0));
+ EXPECT_EQ(IccHelper::readIccColorGamut(decoder.getICCPtr(), decoder.getICCSize()),
+ ULTRAHDR_COLORGAMUT_UNSPECIFIED);
+}
+
TEST_F(JpegDecoderHelperTest, decodeYuvIccImage) {
JpegDecoderHelper decoder;
EXPECT_TRUE(decoder.decompressImage(mYuvIccImage.buffer.get(), mYuvIccImage.size));
@@ -112,6 +127,18 @@ TEST_F(JpegDecoderHelperTest, decodeGreyImage) {
JpegDecoderHelper decoder;
EXPECT_TRUE(decoder.decompressImage(mGreyImage.buffer.get(), mGreyImage.size));
ASSERT_GT(decoder.getDecompressedImageSize(), static_cast<uint32_t>(0));
+ EXPECT_TRUE(decoder.decompressImage(mGreyImage.buffer.get(), mGreyImage.size,
+ DECODE_TO_GAIN_MAP));
+ ASSERT_GT(decoder.getDecompressedImageSize(), static_cast<uint32_t>(0));
+}
+
+TEST_F(JpegDecoderHelperTest, decodeRgbImageToRgba) {
+ JpegDecoderHelper decoder;
+ EXPECT_TRUE(decoder.decompressImage(mRgbImage.buffer.get(), mRgbImage.size,
+ DECODE_TO_GAIN_MAP));
+ ASSERT_GT(decoder.getDecompressedImageSize(), static_cast<uint32_t>(0));
+ EXPECT_EQ(IccHelper::readIccColorGamut(decoder.getICCPtr(), decoder.getICCSize()),
+ ULTRAHDR_COLORGAMUT_UNSPECIFIED);
}
TEST_F(JpegDecoderHelperTest, getCompressedImageParameters) {
diff --git a/tests/jpegencoderhelper_test.cpp b/tests/jpegencoderhelper_test.cpp
index 23ab3f3..2a15567 100644
--- a/tests/jpegencoderhelper_test.cpp
+++ b/tests/jpegencoderhelper_test.cpp
@@ -29,10 +29,12 @@ namespace ultrahdr {
#define ALIGNED_IMAGE "/data/local/tmp/minnie-320x240.yu12"
#define SINGLE_CHANNEL_IMAGE "/data/local/tmp/minnie-320x240.y"
#define UNALIGNED_IMAGE "/data/local/tmp/minnie-318x240.yu12"
+#define RGB_IMAGE "/data/local/tmp/minnie-320x240.rgb"
#else
#define ALIGNED_IMAGE "./data/minnie-320x240.yu12"
#define SINGLE_CHANNEL_IMAGE "./data/minnie-320x240.y"
#define UNALIGNED_IMAGE "./data/minnie-318x240.yu12"
+#define RGB_IMAGE "./data/minnie-320x240.rgb"
#endif
#define ALIGNED_IMAGE_WIDTH 320
#define ALIGNED_IMAGE_HEIGHT 240
@@ -56,7 +58,7 @@ class JpegEncoderHelperTest : public testing::Test {
virtual void SetUp();
virtual void TearDown();
- Image mAlignedImage, mUnalignedImage, mSingleChannelImage;
+ Image mAlignedImage, mUnalignedImage, mSingleChannelImage, mRgbImage;
};
JpegEncoderHelperTest::JpegEncoderHelperTest() {}
@@ -92,6 +94,11 @@ void JpegEncoderHelperTest::SetUp() {
}
mSingleChannelImage.width = SINGLE_CHANNEL_IMAGE_WIDTH;
mSingleChannelImage.height = SINGLE_CHANNEL_IMAGE_HEIGHT;
+ if (!loadFile(RGB_IMAGE, &mRgbImage)) {
+ FAIL() << "Load file " << RGB_IMAGE << " failed";
+ }
+ mRgbImage.width = ALIGNED_IMAGE_WIDTH;
+ mRgbImage.height = ALIGNED_IMAGE_HEIGHT;
}
void JpegEncoderHelperTest::TearDown() {}
@@ -123,4 +130,11 @@ TEST_F(JpegEncoderHelperTest, encodeSingleChannelImage) {
ASSERT_GT(encoder.getCompressedImageSize(), static_cast<uint32_t>(0));
}
+TEST_F(JpegEncoderHelperTest, encodeRGBImage) {
+ JpegEncoderHelper encoder;
+ EXPECT_TRUE(encoder.compressImage(mRgbImage.buffer.get(), mRgbImage.width,
+ mRgbImage.height, JPEG_QUALITY, NULL, 0));
+ ASSERT_GT(encoder.getCompressedImageSize(), static_cast<uint32_t>(0));
+}
+
} // namespace ultrahdr
diff --git a/tests/jpegr_test.cpp b/tests/jpegr_test.cpp
index 1d03ac1..321b710 100644
--- a/tests/jpegr_test.cpp
+++ b/tests/jpegr_test.cpp
@@ -2263,6 +2263,8 @@ TEST(JpegRTest, ProfileGainMapFuncs) {
map.width = 0;
map.height = 0;
map.colorGamut = ULTRAHDR_COLORGAMUT_UNSPECIFIED;
+ map.pixelFormat = ULTRAHDR_PIX_FMT_MONOCHROME;
+
{
auto rawImg = rawImgP010.getImageHandle();
if (rawImg->luma_stride == 0) rawImg->luma_stride = rawImg->width;