Files
Sprinter-SDCC/applications/PoP/poc/res/sound/s2.bin
T
snark13 47a4b084c4 Меню, статус-строка и оболочка игры: title/intro/cutscene/HoF, POP.CFG, палитры
Эта сессия (меню + текст в служебных полосах):

* Меню: рамка выделения считается от силуэта текста (SEL_PAD сверху и
  снизу), а не «на глаз»; все экраны центрируются в игровых 200 строках
  (UI_CENTER_TOP/UI_CENTER_FIELD) и в них помещаются; Enter и Space —
  равноправные клавиши действия (ui_action_down).
* Settings: убраны SHOW SPRINTER SCREEN и BACK, добавлены DEBUG BAR и
  ABOUT.  About показывает тот же текст, что стартовый Sprinter screen,
  минус строка про клавиши — общий about_text(), чтобы экраны не
  разъехались.  CONTROLS собирается таблицей и центрируется по
  фактическому числу строк.
* GAME PAUSED переехала в нижнюю статус-строку, как в оригинале
  (SDLPoP rect_bottom_text = {193,70,202,250}): это состояние программы,
  а не пункт меню.  POP_HP_Y вынесен в pop_cdraw.h — полосу делят два
  модуля.
* pop_status.c (банк 9) — текст в обеих служебных полосах.  Нижняя:
  порт display_text_bottom + таймера (QUICKSAVE/QUICKLOAD/SOUND ON/OFF,
  24 тика).  Верхняя отладочная переведена с палочек на текст
  «Level ##, Room ##, Speed: …, Sound: …, Immortal #» малым шрифтом, с
  своим форматированием чисел (без printf и без деления).
  Заявка сообщения — запись одного байта pop_status_msg: резидент W1/W2
  не растёт, весь рендер в банке.  Бюджет после правок не изменился
  (_CODE 23981, куча 267 Б).
* Цена вывода: блит глифа ~4,6 тыс. тактов независимо от размера, поэтому
  всё change-driven, отладочная строка перерисовывается ПО ПОЛЯМ, пробелы
  не блитятся вовсе, а вход в комнату заливает только игровое поле
  (pop_screen_fill_field) — борта от комнаты к комнате не меняются.
* Интро: в PV-сцене зазвучали пропавшие эффекты оригинала — закрытие
  ворот (4) и открытие двери покоев (51), из которой входит Джафар.
* docs/status_line_text.md — полная инвентаризация ВСЕХ текстов SDLPoP в
  статус-строке: геометрия, семантика text_time_total как идентификатора
  сообщения, мигание, рестарт по истечении 36/288.

Вместе с этим выкладывается накопленная работа по оболочке полной игры:
автомат состояний (pop_app), title, intro/PV и cutscene, attract-demo,
Hall of Fame, глобальный таймер, настройки и POP.CFG, модуль палитр и
fade, звуковой набор, host-тесты на новые швы.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-25 13:58:36 +03:00

2 lines
16 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
o穫NZv丕盾l]fhfl|團怒SPr楸藁Ge動骸e制ゥ身Yr滋都]n愆塗HZ屋「€_Rbv葛i[v惘」穎fs|xr恂ナ[i研罵Zq数}kv健越k`bjqu~сekt|ы昼|sy困桁噴ェ耕iΕ「弓苧㍊Z[k}獅mfx麹=轄ドQYk~|mc^U_w蕗fv涸ウ€。冽巨理陣porkwvsghk|ы利殉uャ掃x応刋cP\y漠k”k峡イ嘛]q答㌶IDYsygSUo澄怒hl|пx○アウ「’k。衡m€屐確coqtx€~yz}燕厭hbu到酢pz{jegs°鶏or|mjv遠鋼qr~е`QZs級sbev叶v訣{g_fy似救想s腰准hmヴ図rx顎v徐毎xjagi_UR\v刻yk曝覧又劫{rrw|}vmmy≒合nhjxypmt~sow此椏жv~zulkr}зnvь庶崇нww′迫}塩「恣巨貢rphfe[U\]dpbbfh{€|unhq||~ur~〟q」・。剿ヮ葬閲wzロ紫沫悦qt{ztkfefjlkigipuoikpz€€i詞″繭酪告鋳鯨vuvvnhgks|f鰹署合×h喝}}}{yy~eミ{}€メzvtwvrrxリ瑞∴詞кwy}{smlsz~~€~~{y{|∞級マ}{}щ緒球b|usvxxvu{ヨ{z{||{{{}|xy}€=ヤ~wrpruuttx€тaч刻詞渇㊤р€<モヤ€}z€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ャbф沿ц雌沫桝球~voh`Z[]^_cfjou{レ樗沫蘭泊髄服ヲューョィ恁~vof\OB855;GT`hov~竃。ゥョッェ」泛ィオソテトチケェ嚥vgS=( -?KQYftキニヒフノナヌマリ゚゚ラヒソカッヲ搏gTC91'
*6CQ[clvィョーイエカスヌモ゚裘リマニスカアォ沚w_J8% "2@Qf{召イチマルヷ粫韆籘ムニコッヲ泓香seXK?4* (5@MYco贈ョコトフヤレン゚珎ヨヘトコイォ」寳жi]SKD=60+'# (3?JU`js}汚ヲイセノモルワワレヨムノタケウォ「剌tld^WQLHD@<950,-3;BKU]ciq{ァケネモレン゙ンワリムハツコイゥ膜Zrlhd`\XTRPLHDA=:89>DLQUY_goxァケニマユリルラヤマノテスオョ・恍yupligeb_][YUPJE?:89=AFKOSY`it€惚ゥキテフムヤヤメホネチコエュヲ棊痩yuspnljfb\XSNID<62//38=AFKQX`hr¢ャキセツナテタスケオッェ・棊翠{xuromlifda]WPIB?<8423679<BJRZbnz⊥ヲオツヒマムマフノナタサエョァ剪欠р}||zxuroje_ZXVPJFEEFHKPX_flt~」ウチフモヨヨヤメミヘハナセキーゥ」撕濫綜級渇€}yrlgc`\XURMHDCEJPV\aflt魚ゥオスチトナヌネネヌニテシカーォァ、。椦箔涛湯錐~zwurokgd`^]^aeimqtw}椨カセテニヌネハヒヒネトシオョィ」泝嵐拷|xtpkgd`[VROJEA=;:<?CHKOSX_gr渠圉。」、ヲァァ・。恂虫括ミyusqrsrokfa\XVSPLGB>:753112359=AFKOU]hvヮ繭擒。」、、「泅拍喝{vsqpruwwurmigeedb_[WTSSROMLLOT[aglpu}洒キソテニネハヒフヒネテスキアォヲ」泅舞詞糾ム|yvrnjfb_\YVSPNKJIKMPSTVX\agoyk著悛」・ァァヲ・」盗決ャャa|yvtsrokgeca`_\YVUWY]bgknrv|ы里ャオサタトヌノハノヌトチスケカウッォァ」椢淘庶笈ミyuqmhda\XTOKHDA?>>>>@BFIMQU[bjt}苧剱棕」、・」。沾悍尹箔鋳駐酎曙怨±zxtpkhedb`^\[[ZY\_cgjmpsw|レ駁」ィャョーイオキカオエアュゥヲ」。椦衷豪糾沿~zvsqnljfb_\YXWVVVVVVWZ^cgkorvz€㍼理。」・ァゥォャュュォィ、撥囮亦曙р€|yvtpmkigdb`^\ZYXXZ[[[[Z[]afknprtw|ル貯泪ヲィォーウカキキオウイーョュォゥヲ「沱悍囮剿盗豪{ywtqnkhfdbaa`_^]\[[[\^_aaabcfjouy|葛訣穴沿~|{zyyyyyyyxwvutsrrqpnmkihffffghhijkkllmnoqsuwz|~€ц倹痘屎泯「」、・、」。沱囓泊詞括сa÷€€}{zxwusrpnmlljhgggghhhijjjkkklmoqstuwy{~f燕嵩履悄。」、、」「「。沱悍囮部酎随詩穴援~|zxxxwwvvuuuvuuuuvvuutssssstttuwxz{}~€d葛給給糾演a=÷€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€~~}}||{zzxutroke\K:-+^丶」イケュzP\效道ォ牡トtDGlkウ糢')5F[eal冠ョfUW]\TXo剳豪求ww}牛莫椢投pf^\]^`ejouy|=≠bbヤтモ}}|{}{xjf|㊦味沮sg_abdinu兜屁睡~oh^TPPU^kv′灯迄抹総笈マzvrnjmruxyuojebdjs€鰹球}tkhgebbhpxh葛vnllmptwy|j麹恰±|}~~|xtqtx|~|wux鴛。、。来ypkjnw}€€>㈱濠ropsvxwuuy㊦㊤メc~|zyyxwttwz~zwsrsqnklnrx崇荘暑~}|{{~€€f㊦℡zvtssuxxwz}≦褐活}zwttuw|€ョ褐轟р{ywvvx}≦㊧援ャャ€|xvvvvxzzyz{}€÷~|z{~f煙糾援~{xwwx{~€e㊨沿㊤ム}{xvuuvxy}f煙試球±yvuttwx|克穴掩{xxxyz{}||zyxz{|~€≠ャa~||||||{yz{{~с~€€€€€€≠a€~||}~~€€×vu}пyvz|}€xw{zwz~€€÷~€~|}}}~€=€~∴вhnnNm{wz€yno~桁vq{ztw€〝utzz~€≠€|ut|vu℃翠vajy昼qasメペgiv褐whp|燕恰{qvヴ蓄nv∠枕倹争dйrt㏍}~ャ÷{ohlu~xx€㊥€y{h援~蒲落syы撃ogkuoqя鶏ikquv~給∠絡ztzh賜註鴻yyxtnijnyャ~€хz€腰乱角iup泣}zlinmjlnkn}渚炎vz}yhgmtv}nv柏脂|rqy~wnowчкxя獅sr紙}xvehxxgcs〈`g{jmx㊤{}ц鎗膜|y¥警t{zz{{|щ喝㈲y額v活nm|」khu€xlgl}д`f}着qgw綜zq{}wwswzxy€除末秤噛椁麿囎瀦相wyrklgZ^htqeagotvx}€塩剳血乱~w|≡綜緒錐㍻|y{{mdqn`bp~zijz{nq€иu¢博㈹〟}㍻€}xxtqqrsuy€≡悼o尠轄圀嵐円リ濠еi∞{kalrsvio}pZcmjwjbeiowkuzь∴灯撥辧。寔恤酔io×qfqvoj_hw~ytx~~zy|ogghiknv}yx㊦煙猪葺悚雷g猪推wvwtvz{{{э㊥蒼急ыyмyr〟yw{tbaghdejjfjx》y剳ム鞄白旨|撫}t延mzlw{iitu~|kpyyvмp}±$決轟桝ョ肢zpy€qjt}€op堰kn€項v°㊤€xv€Vlw€xvvthdktzmjqwwvzц~′副這」・柾送撕涛注yutuspcXZ_cghf`\alkekposz}拒慢ェ寞武忠福}痩сu㊥pzzv延usヤ『i{~qswtrmut\faquknvvpu~vz諮∠払浴%普憲着嵩z濠€€vrwz{ypjjr{{qfky}pkzygnャsx~ム|~♀剛汚桃蕗酔葬-褐xx援wpryyrqprxヤvj|掛v㊦rx号ムuuヤykr~sm}uin}wsu€|€飼褐ь嚔|懸遵閲€焔€t割€~vtz}uus}€wqsuqvvqvrllssuztrsrw|yv{~}∞奄掩倹註演薯究沿援∞合モ≧л{€€~}xw||vsuurrsnloqmjlrplpsrswzuty€≠÷ュ鰹恰去拷穀翠告葛瑞ф窮~~с~€zxuz~|{}{xv{}xx~zy{y|zxx{wwyywxz{xx{|z{~{z||{|~}|{~=∞窮㈲潔㊧炎渇㊥㊦тャ}|}~|{zxx{xvxxvtvyxvwwvxzyyxy{{|}}|}~≠€b€≠÷±{=€~|~=メ~}€€ム}|~~=~|<メ~€€ユム€>メ€~{|€€€€}|z~~yvzzyy|}y{~|yy{||~}}€€<÷bdacメ€=€=€€}zy{~€~{z{|~}{zz|}~}{}<÷€≠ャメ€<ャメ~~€€÷~|}||}||}~|z~€}zy{|~}~€€€メ€€≠с≠ヤa~}~~}€€~|||z{||zyyz{|{{|}€=≠モ€≠b÷<b×|}€€~}€{xz}}~}{z|~€~}|{}~€€€€≠€≠a÷≠a÷~~~€€€}~~}zz{{|}|{{||}}}~~≠€<モ≠€=~~=€~€~~~€~|{||}|~~{}€~~~€||€€€€€bャ×€€|€€€€~||}~{{}}}}|}}|~~€€~~€=€€≠ャメ€€€≠÷€€€€~}||||||{{|}}|}~}||}€€€=÷=€<ab÷≠÷€€~}~~|{|||~~|||~~~~|~~€€€€a≠÷€cb€≠b€€€€€}~~}}|||~|{{||}}|}~~~€€€€€€€=€≠b÷€≠÷€€€€€€€~€~}|}~~~||}~~~}~€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€~~~~€≠bム׀}~|~}~€€€€€€€€€€€€€€€€€€=€€€~|{{}€<㊤ム~zvuuu{ヨ去~}}{zxz}~€{zyyzz}€ヤ{y{z|~€e=}=€}€€×~za€矧€xpuqy~ч件〟xurkrq♂枢至€xurpy}°喋梭€qkkjpuxl褐yqlnr}鞄棗。矧}m`ZYjxl徐搗dZYct。ゥ「哩tmc\^fx券、ェ怺ymgbfgoxヱ國rmgimvz~健落去pXYas椛。椦梭oecdeh柱掩rjnp}d拍争€wbWYly・キオ泓{_[SPdy∮椢撫㎎_Rds藤」ォ椥瑛HBFZb乾、「「膜zla]mx$圄蘭須l^^iu∑椡ッ「橘[VU]js{飼延ypkhn▲ウキエ桿eLDISmt。棟囓eadp∟寰≠㊤|srw}|}v<e褐帥z{zwgqzw♀結寳pknoq{}炎粋|upwnv}児恊詞lnmuu芙勝sケ|s悍eukNo\コ_降FウR@挌萩[l|w]a巡ヵj延p}V`榔[血暑穎fcAF瑛t搆€n、u菊k價コ魔ィ<恫rェfдVェd〔絢g逗彷サ_惚9リI」熟・kサ「l錘€{iコ6ケ駿・?ヌM榔萱\。]aカFm百、ooォt・{sヲ疎|怨布€湛噎~渋都剛l値x賭氏怨tолй媒t荒оqc給{様jpt刪luy部krm}香m」斯怒jm搖vhq{x脚洋t構ー_℡R拉zu事Vx蛎tf相Z繭Y€`€}掵{{Wァg畜X殿逗f抒¢i{uP€u|ts㈱qupwqbwS彬|鰭テyzwug獅bqt翼{rrg【吸rwiw|ヨw{€€z|uv~y陣諏k進鷲|F屍杯y}tssimヱ悦U煙b【tゥ~xpUオcァppカY」dэf穎映行z啼ヲVメoッU訊q挈抑_、j蝿i歿ミ掃ボw・y人eイf揺mョw歔qx★{}d郭|遅|€°tZr垂罫z閲諏笠u緒иz≦y准w卜推~ヲl€l€r㍗x倍師q|z㈱k」_田{。c啖w、ST距ss⊿セ♂o。gurv・rw姿ヱ`徂淑jッZ親|述掃yc壬|タ腕智l頻徒s郊}|z畜r〔遵j暑zp」枚y越f€t舜}tуz÷q~|沿t橿€喪s究俳t蓉池閤郭迎メ却w汲徂詣{鍍杷{項葉{㍊麾sヲn丘z賓デt睦b找ナk延_カ\、y~郭~ヤyx套~t{兜}e€l處㊧[釦」un恵od割較X斯€yW€v党n劫лlсm}x牛€zv+z€€x「準【z迅zu€購}z€】氏}w′~笠tb几s背慾c救ュpv}z鰍蒜タq秒挧毎h浜窯z駅掛<o∫zq支{知聾遥t售歔嚆h溝嬖休fwz・w{fk‥遂t〕延|暖z}兎ホw〈b奔v{荒}pv㎡~想w~rペmn}€誌v~l処i指純z煤€合㍻z|準Zu掻侮n遭r江党ぅh喇草m途靭ポ掩|祇羊梏r篭・{P地兇W瀕t壮~堰wwx拡救|啻甑o甜援wc€€∫yzモwo泣kjеs|o㍾wポuл€脂u}h着|ナ豪myu炎zvョ{弓y廓葉濠_銃刋h敬斧}€€gur閲i弛∫[歇鋳a櫑、ボ僭貧試k|p宴疫wjv更止v票創|」h人€様橘фz赫|e€{x士~t凹m洩藷v憩ョnv|遠{x|}穴{xpn€}m€u穴p}q傑s}ロkャ剛q砧翠w嫡~筑㊨`酔kxs去sk藻x ̄~僵楊協_装s暫℃jv撃枝g革粥egc讃h「_сz拮|wyrvn耕}j於w兄∴◇d{yΓn}r|r施gm€{ヶx€k|€客zъ革w€nvt盗€xg衰穴cY瀦q|k歯€{l~処иs泣劫f衷k駐vЬ月~絞~qrzuuU島x又q撚号x」T{z王i{l}蓄l総笠^苑_i橘}泳p垂経p悦s+宴p~qыt|j{}子qx{ps|中pj牛頚j~~沿ruq椛z}pユ|㎜zт経o~}駅v》急v}lz€m㍻~zz∮s~nt着Lg遂頚b郊涛fm劃}。品n学壮qs逗x㎜滑t㈱m丘r衛{逗屍s畜t{z芙z{q括}㊥桂u€ヰwwrv醇Qr㊦迎v|z号|{w~ポ掛dx}r~wx~|vu号иpтn~{u~o㌫z閤w~€糟w}uуy壬ar穆㊥l出炎l遡€詣妬u鶏tx≒q}b渠v港劇頬~r踊{tp槍iq【z額€yu㎡}}x}uf€|swbкs~}割swvyyo}沿аu括uvt~ャзu€ф「+хyx鶏йw救桁w~r㈲~wt}喝q純hг螺y(腐朽i園処t{{}普v~v早xj休q輩€t香ユv~ル諏wxz中ベm級pマ視xxp『q€窮『xф項v{v演~v掩€м|【€|оuzラ悦zy~プw汲岳q~}迎r}中xyuムnu恰蛍vн倒}zo想n楽汲uxャwSャ|術±€瓶~xv倍悦m宮oホ昼qvu塩wフy駿背qз奴u|x℡ax駅ポ~мブe=ye{ポ=w{橿€~|сz€}{|w€сжx}}ura}Y~н€€к劇yボ朽~дfs~vx丘€ペ客~旬€フ樫~㏄нlo€y€迅÷y〟p朽ow€~|~z迎{€w~プ}€е|Yмy}}}~x€}×}x×~|׀||||〟||{モ=w}{}x~ё€閲{|z【℡~プ€u樫yX枝w閲yi≠r~№~鶏€||【wwュ樫z~∴y}~|sy香зtミ弓s||泣z{x€}w~メ€w{x}∞y|~vvz=оw|~℡uy{ф}~u|вy<岳xx}割}wxх€€u€iv吸ボ|香yャ≠x÷€詣マфv益dz}〝w~~褐wzユ€{ュ岳{±掛€€x㍻лwyуv{}♂yzxzw|}z}{±×}}€÷~~|~~€€€ポ€|{€{}€y}€<~xz€z|w}〝㎞|斯×y奄|п~о×|{鋼頚{}ポ€ミ{€h|∴bwwy}}~yxaポ~|ヤyメ}€{|ホz}€|{|±|€×~€~€{~н{~{z€€z}€}y|aペ±{y{xс{{€w|ュYz~ミ-€ヘ~+€{e}v÷w|}』y{×ボ~z€z{ボw}чvyz{延€zxп〝|}~||~z{€zz}モ€|y€y|€п}{}|z}}{{v}|{w|рホz€e}yz}ム|x€€~{|~|vz{|榎{y€€|€€ミ}y}v}xzzx~~顎~z{}€ム{||{x€|с~}x≠÷||÷€~}€{~н~}|~≦€~~€€a}÷~}€×€~マ}€€||}€€z€ポ€€€}×-€|Z€€жл€ミz~€≠€}}a~}׀{b~】€z€ミ{ミ~}||÷~€y~||{|b÷|~|~~€≠€€€€~}-{}~}=~€÷~|~=×}ャ€|~zнz€{ポ|}€€~׀±|~}-п÷}€÷~メモz|~z×}}{±}}}÷€}{}€€€€~€~×÷~€}×~€€€~≠€|~€ム€}}€c}||€a-~с€€z】ミ<÷=~€€×€×=|м}€{м}-岳ボ~ホ<~€zミモ}×モ{±€}=€~×м€|~~}}~}÷€€~|€€~|}×}{÷€~~÷|}€€~€€~€€}€}€~~|€€{~€€}÷÷{±€€}н|±}~≠~€€€€±ホ€|~ミ|}}€c~|€~~ミ}~€€€}÷€~÷€}}÷~~€}~€~~{~€€~|~}}€b~~{€€|=±~}€÷}==}×}€~€|~€€}€}€€~€}€€€}€€€~~}€€€}~€€€~€}€€€}€€€~€€€€€€~€€}€€€€€€€€€€€€€€€€€€€€€€€€€€€=≠b~}}}|{{{}€dсa}}|{{zzz|}~€≠a€€==€€€€~€€≠|wuwy}<㈹緒究+tmiimu}劒推}zywtqsy}}{}j瀦槽{wusqruz∞轟」rv}ч括』tvzミ|c€}|{|}|yx{}bm嗇mdffp}鞄囿止qh`Z_i~討ァ汳€phccp|ィシカ幌aVSW`is覧中rbXYd|蓑スハチゥ匝Y?06Sq「エケヲ㌧F22Gj式ナミトュ渓WE8;Ot妙ハモコ叢YKDJP]o愛キスエァ瑛aXNP\lt密エサョ恫嚮sV4.Ai牒セスコカ従HGGHX|旧綜叙ィ、剳SWcwヮ「、桴”D,5Wt乾ヘナ・sC1$$Hq妾コキォ沚d;*Co・ツハフネト桧-O独フナタョ埠V@@Xo│カクーャ孩T==Qm姓ツワ゚ト振5*+;Td{勠ー」塘r`UO\嫁銜羶,Zスィ「イョ恥LAHb正カ凾ь革dcpzzuq€㊥株悃tvgS`pq%辨ャヲーー痴_WY^dr序桴vgcgcj~楫エ「尨逆^Z_j€等}}xnlnu♀ペ}uqw⊥椶梛~ynilpqy去沿喝va]lw{∞葛倦又中qcenvvrq~払「枝z}qljefmolsь舞詞傑xmo|渚決Ytrwurtytsx≧視z}炎sryxuvс~z€|~|}>сsicisy~魚・ァ」揄|{zngdcfp~遠博演㍻wrmhlx>ャ焔級zy}d€wmnxヨ}}ы窓Yrw|zww~dミzxz}g㊥р€}|{yvtv{xv{шメ~|~ystz€ャ€€~{wzь壕ャwpmip|レ所cュ€yvtwwxyz~€€cсуzxzxz~dфс€~∞掩ミxtssuy~≠a€|{z{zz}≠ャュ€÷}{z{~~~}||~}{{}~||~≠÷~|z{~メa}{y|>р{zzzz{|}>㊧~≠€|{{{|~~~~€dтс€}}~~~~~<сb=÷~~~~~}}~€≠モa=÷~~€≠b€~}}}}}}}}€≠==÷€€€€€€€€€€斧€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€vxpbn梁ルホ・mE&N河靨ハ捫€{倦クシ」J
%kサ鰈碗h扶F.F[eRC>AQgu|shnz而ケトニナペワメノナツケゥ敷nknoqof`\XQIJP\n~}薗・ァ、泱決z{{|{yzl覧剛{~竃尸水‥K<BNF@CKTRLLOSTROYb`]fqn`Vajc`ixъ藻桝決п~~€€~wqmnpoqvxx|~÷vkbbhrz~i崇炊xlfgqyラ健濫劫yg[\j菅泛」。尠紙f黒」オナノセョ嚆ugak乙ラ鈑モゥuSCCRh€嵜ン゚ハ・vN;?Qi悪ツノネハニィwKA_ロ倦這~京ーオゥ㍑]cr€拠酢onyzg^fjjt~vhZNUelnqygYlZJ@>I^lqwxurpl`SR[j{хлoWC:=CN]v渠欄ZJEObs~vl^RMQ\iu~推rc]Z[_fnw~€|umfceho@ヲィ沁zcTOUbp|tw′楓香z}+}箔随濠滑ョ麹艶」ヲ剴葺悛撈沮譜∞猪y}c、ゥ・沱≒利注結服。摧初|rnqx」ョウイァ刪ztlks恰€{zxuv{{z}∴数撈窒smkfb_^`fr虚乢ゥャゥ刮}rbQFEP_n~腰尸伯〟ug`^aegnx~|xtojmqx~tifcXOKSam{塩尨搭paZXXY]gsxusrpot|≠|uniilosvz{|zvokhijmqtvy}}€~{xwusqoquxwxxyz|~}xrorttssuvwwusronptvusu{~|{|{yvttqnprrsuwyvrttrpnouxz€ョ巨苧圄撩沱圄囀淘沿€xyyz~}y}€€ヨ煙詩訣月視ф㊦渇給件詩級血誌麹糾旧笈モbュ=b≠==€€=bヤр÷~}~~|~€÷€÷}{xuuvz~ヤ±|}}|{}€€~~~€=фa€~{wtqrruxxxyxxwxyzxxyz{zyyzzxxy}~{{||}}}~€cb=÷~~€=€€~|||zxvuvvttuwz|}}}~}{yxwvuttuvwxxxz{||{}€€}{zz{{{{|~<тa€|zyxxxy{}~р€~}|zxxxxyz}€bュ㊧葛旧給活㊥€~|zyxxy||~€€d葛糾滑渇演㊥メ}}~€<ууメ€€€=bャモ÷€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€