// ==UserScript== // @name 雨课堂助手 // @namespace https://github.com/ocsjs // @version 4.5.0 // @description 破解雨课堂的字体混淆:Ctrl-C 复制出正确汉字;并可调用 DeepSeek / 智谱 GLM(带联网搜索)自动作答、自动提交、自动翻页。零依赖单文件。 // @match *://*.yuketang.cn/* // @run-at document-start // @grant GM_registerMenuCommand // @grant GM_getValue // @grant GM_setValue // @grant GM_xmlhttpRequest // @grant unsafeWindow // @connect api.deepseek.com // @connect open.bigmodel.cn // @connect ark.cn-beijing.volces.com // @connect api.openai.com // @connect api.moonshot.cn // @connect dashscope.aliyuncs.com // @connect * // ==/UserScript== /* * 原理 * ---- * 雨课堂接口 /mooc-api/v1/lms/exercise/get_kg_problem_list/{图谱}/{节点}/ 返回 data.font, * 前端把它注册成 @font-face { font-family: "exam-data-decrypt-font" },套在 * .xuetangx-com-encrypted-font 上。DOM 里存的是乱码,字体负责把它渲染成正确的字。 * 前端本身没有任何解密逻辑(反编译全部 979 个 chunk 确认过)。 * * 那个字体是「思源黑体 SC VF」(Source Han Sans SC VF 2.004) 的子集,字形轮廓原样保留, * 只有 cmap(码位 → 字形)被随机置换,每次请求换一套。所以任何静态字表都不可能长期有效 * —— ocsjs CDN 上那张 882 条的表实测只有 1 条碰巧正确,正好是随机置换的期望不动点数。 * * 本脚本的做法:把页面当前加载的字体 fetch 下来,解析 cmap + glyf,对每个字形的轮廓点算 * 哈希,再查内置的「字形哈希 → 汉字」表,现场重建这一次的映射。 * * 内置表覆盖 U+4E00–U+9FFF 全部 20976 个汉字,所以即使雨课堂扩大混淆字符集也照样能还原。 * 另有 881 条几何指纹(轮廓数|端点表|包围盒)作为降级兜底:万一雨课堂换了字体版本,坐标 * 对不上时还能救回一部分。几何指纹里有歧义的条目在生成时已全部丢弃 —— 宁可还原不出来, * 也不能还原错。 * * 注意 * ---- * 请关闭 ocsjs 的「🔤 字体解密」。它用的就是上面那张失效的静态表,开着会把 DOM 里的字改 * 成另一套乱码,改完之后谁也救不回来。 * * 致谢 * ---- * 字形哈希查表这个思路参考了 https://github.com/MZWNET/fuck-yuketang-font * (本脚本不复用其代码:改为零依赖单文件、自带 TTF 解析、只改剪贴板不改 DOM) */ (function () { 'use strict'; var LOG = '[雨课堂助手]'; var SELECTOR = '.xuetangx-com-encrypted-font'; var FONT_FAMILY = 'exam-data-decrypt-font'; var FONT_URL_RE = /(https?:\/\/[^"'\s)]*fe_font\/[^"'\s)]*exam_font[^"'\s)]*\.(?:ttf|otf|woff2?))/i; var STRIP = 'img,video,audio,iframe,script,style,canvas,svg,noscript'; /* ---------- 内置查表(由 Source Han Sans SC VF 2.004 生成) ---------- */ var CHARS = "一丁丂七丄丅丆万丈三上下丌不与丏丐丑丒专且丕世丗丘丙业丛东丝丞丟丠両丢丣两严並丧丨丩个丫丬中丮丯丰丱串丳临丵丶丷丸丹为主丼丽举丿乀乁乂乃乄久乆乇么义乊之乌乍乎乏乐乑乒乓乔乕乖乗乘乙乚乛乜九乞也习乡乢乣乤乥书乧乨乩乪乫乬乭乮乯买乱乲乳乴乵乶乷乸乹乺乻乼乽乾乿亀亁亂亃亄亅了亇予争亊事二亍于亏亐云互亓五井亖亗亘亙亚些亜亝亞亟亠亡亢亣交亥亦产亨亩亪享京亭亮亯亰亱亲亳亴亵亶亷亸亹人亻亼亽亾亿什仁仂仃仄仅仆仇仈仉今介仌仍从仏仐仑仒仓仔仕他仗付仙仚仛仜仝仞仟仠仡仢代令以仦仧仨仩仪仫们仭仮仯仰仱仲仳仴仵件价仸仹仺任仼份仾仿伀企伂伃伄伅伆伇伈伉伊伋伌伍伎伏伐休伒伓伔伕伖众优伙会伛伜伝伞伟传伡伢伣伤伥伦伧伨伩伪伫伬伭伮伯估伱伲伳伴伵伶伷伸伹伺伻似伽伾伿佀佁佂佃佄佅但佇佈佉佊佋佌位低住佐佑佒体佔何佖佗佘余佚佛作佝佞佟你佡佢佣佤佥佦佧佨佩佪佫佬佭佮佯佰佱佲佳佴併佶佷佸佹佺佻佼佽佾使侀侁侂侃侄侅來侇侈侉侊例侌侍侎侏侐侑侒侓侔侕侖侗侘侙侚供侜依侞侟侠価侢侣侤侥侦侧侨侩侪侫侬侭侮侯侰侱侲侳侴侵侶侷侸侹侺侻侼侽侾便俀俁係促俄俅俆俇俈俉俊俋俌俍俎俏俐俑俒俓俔俕俖俗俘俙俚俛俜保俞俟俠信俢俣俤俥俦俧俨俩俪俫俬俭修俯俰俱俲俳俴俵俶俷俸俹俺俻俼俽俾俿倀倁倂倃倄倅倆倇倈倉倊個倌倍倎倏倐們倒倓倔倕倖倗倘候倚倛倜倝倞借倠倡倢倣値倥倦倧倨倩倪倫倬倭倮倯倰倱倲倳倴倵倶倷倸倹债倻值倽倾倿偀偁偂偃偄偅偆假偈偉偊偋偌偍偎偏偐偑偒偓偔偕偖偗偘偙做偛停偝偞偟偠偡偢偣偤健偦偧偨偩偪偫偬偭偮偯偰偱偲偳側偵偶偷偸偹偺偻偼偽偾偿傀傁傂傃傄傅傆傇傈傉傊傋傌傍傎傏傐傑傒傓傔傕傖傗傘備傚傛傜傝傞傟傠傡傢傣傤傥傦傧储傩傪傫催傭傮傯傰傱傲傳傴債傶傷傸傹傺傻傼傽傾傿僀僁僂僃僄僅僆僇僈僉僊僋僌働僎像僐僑僒僓僔僕僖僗僘僙僚僛僜僝僞僟僠僡僢僣僤僥僦僧僨僩僪僫僬僭僮僯僰僱僲僳僴僵僶僷僸價僺僻僼僽僾僿儀儁儂儃億儅儆儇儈儉儊儋儌儍儎儏儐儑儒儓儔儕儖儗儘儙儚儛儜儝儞償儠儡儢儣儤儥儦儧儨儩優儫儬儭儮儯儰儱儲儳儴儵儶儷儸儹儺儻儼儽儾儿兀允兂元兄充兆兇先光兊克兌免兎兏児兑兒兓兔兕兖兗兘兙党兛兜兝兞兟兠兡兢兣兤入兦內全兩兪八公六兮兯兰共兲关兴兵其具典兹兺养兼兽兾兿冀冁冂冃冄内円冇冈冉冊冋册再冎冏冐冑冒冓冔冕冖冗冘写冚军农冝冞冟冠冡冢冣冤冥冦冧冨冩冪冫冬冭冮冯冰冱冲决冴况冶冷冸冹冺冻冼冽冾冿净凁凂凃凄凅准凇凈凉凊凋凌凍凎减凐凑凒凓凔凕凖凗凘凙凚凛凜凝凞凟几凡凢凣凤凥処凧凨凩凪凫凬凭凮凯凰凱凲凳凴凵凶凷凸凹出击凼函凾凿刀刁刂刃刄刅分切刈刉刊刋刌刍刎刏刐刑划刓刔刕刖列刘则刚创刜初刞刟删刡刢刣判別刦刧刨利刪别刬刭刮刯到刱刲刳刴刵制刷券刹刺刻刼刽刾刿剀剁剂剃剄剅剆則剈剉削剋剌前剎剏剐剑剒剓剔剕剖剗剘剙剚剛剜剝剞剟剠剡剢剣剤剥剦剧剨剩剪剫剬剭剮副剰剱割剳剴創剶剷剸剹剺剻剼剽剾剿劀劁劂劃劄劅劆劇劈劉劊劋劌劍劎劏劐劑劒劓劔劕劖劗劘劙劚力劜劝办功加务劢劣劤劥劦劧动助努劫劬劭劮劯劰励劲劳労劵劶劷劸効劺劻劼劽劾势勀勁勂勃勄勅勆勇勈勉勊勋勌勍勎勏勐勑勒勓勔動勖勗勘務勚勛勜勝勞募勠勡勢勣勤勥勦勧勨勩勪勫勬勭勮勯勰勱勲勳勴勵勶勷勸勹勺勻勼勽勾勿匀匁匂匃匄包匆匇匈匉匊匋匌匍匎匏匐匑匒匓匔匕化北匘匙匚匛匜匝匞匟匠匡匢匣匤匥匦匧匨匩匪匫匬匭匮匯匰匱匲匳匴匵匶匷匸匹区医匼匽匾匿區十卂千卄卅卆升午卉半卋卌卍华协卐卑卒卓協单卖南単卙博卛卜卝卞卟占卡卢卣卤卥卦卧卨卩卪卫卬卭卮卯印危卲即却卵卶卷卸卹卺卻卼卽卾卿厀厁厂厃厄厅历厇厈厉厊压厌厍厎厏厐厑厒厓厔厕厖厗厘厙厚厛厜厝厞原厠厡厢厣厤厥厦厧厨厩厪厫厬厭厮厯厰厱厲厳厴厵厶厷厸厹厺去厼厽厾县叀叁参參叄叅叆叇又叉及友双反収叏叐发叒叓叔叕取受变叙叚叛叜叝叞叟叠叡叢口古句另叧叨叩只叫召叭叮可台叱史右叴叵叶号司叹叺叻叼叽叾叿吀吁吂吃各吅吆吇合吉吊吋同名后吏吐向吒吓吔吕吖吗吘吙吚君吜吝吞吟吠吡吢吣吤吥否吧吨吩吪含听吭吮启吰吱吲吳吴吵吶吷吸吹吺吻吼吽吾吿呀呁呂呃呄呅呆呇呈呉告呋呌呍呎呏呐呑呒呓呔呕呖呗员呙呚呛呜呝呞呟呠呡呢呣呤呥呦呧周呩呪呫呬呭呮呯呰呱呲味呴呵呶呷呸呹呺呻呼命呾呿咀咁咂咃咄咅咆咇咈咉咊咋和咍咎咏咐咑咒咓咔咕咖咗咘咙咚咛咜咝咞咟咠咡咢咣咤咥咦咧咨咩咪咫咬咭咮咯咰咱咲咳咴咵咶咷咸咹咺咻咼咽咾咿哀品哂哃哄哅哆哇哈哉哊哋哌响哎哏哐哑哒哓哔哕哖哗哘哙哚哛哜哝哞哟哠員哢哣哤哥哦哧哨哩哪哫哬哭哮哯哰哱哲哳哴哵哶哷哸哹哺哻哼哽哾哿唀唁唂唃唄唅唆唇唈唉唊唋唌唍唎唏唐唑唒唓唔唕唖唗唘唙唚唛唜唝唞唟唠唡唢唣唤唥唦唧唨唩唪唫唬唭售唯唰唱唲唳唴唵唶唷唸唹唺唻唼唽唾唿啀啁啂啃啄啅商啇啈啉啊啋啌啍啎問啐啑啒啓啔啕啖啗啘啙啚啛啜啝啞啟啠啡啢啣啤啥啦啧啨啩啪啫啬啭啮啯啰啱啲啳啴啵啶啷啸啹啺啻啼啽啾啿喀喁喂喃善喅喆喇喈喉喊喋喌喍喎喏喐喑喒喓喔喕喖喗喘喙喚喛喜喝喞喟喠喡喢喣喤喥喦喧喨喩喪喫喬喭單喯喰喱喲喳喴喵営喷喸喹喺喻喼喽喾喿嗀嗁嗂嗃嗄嗅嗆嗇嗈嗉嗊嗋嗌嗍嗎嗏嗐嗑嗒嗓嗔嗕嗖嗗嗘嗙嗚嗛嗜嗝嗞嗟嗠嗡嗢嗣嗤嗥嗦嗧嗨嗩嗪嗫嗬嗭嗮嗯嗰嗱嗲嗳嗴嗵嗶嗷嗸嗹嗺嗻嗼嗽嗾嗿嘀嘁嘂嘃嘄嘅嘆嘇嘈嘉嘊嘋嘌嘍嘎嘏嘐嘑嘒嘓嘔嘕嘖嘗嘘嘙嘚嘛嘜嘝嘞嘟嘠嘡嘢嘣嘤嘥嘦嘧嘨嘩嘪嘫嘬嘭嘮嘯嘰嘱嘲嘳嘴嘵嘶嘷嘸嘹嘺嘻嘼嘽嘾嘿噀噁噂噃噄噅噆噇噈噉噊噋噌噍噎噏噐噑噒噓噔噕噖噗噘噙噚噛噜噝噞噟噠噡噢噣噤噥噦噧器噩噪噫噬噭噮噯噰噱噲噳噴噵噶噷噸噹噺噻噼噽噾噿嚀嚁嚂嚃嚄嚅嚆嚇嚈嚉嚊嚋嚌嚍嚎嚏嚐嚑嚒嚓嚔嚕嚖嚗嚘嚙嚚嚛嚜嚝嚞嚟嚠嚡嚢嚣嚤嚥嚦嚧嚨嚩嚪嚫嚬嚭嚮嚯嚰嚱嚲嚳嚴嚵嚶嚷嚸嚹嚺嚻嚼嚽嚾嚿囀囁囂囃囄囅囆囇囈囉囊囋囌囍囎囏囐囑囒囓囔囕囖囗囘囙囚四囜囝回囟因囡团団囤囥囦囧囨囩囪囫囬园囮囯困囱囲図围囵囶囷囸囹固囻囼国图囿圀圁圂圃圄圅圆圇圈圉圊國圌圍圎圏圐圑園圓圔圕圖圗團圙圚圛圜圝圞土圠圡圢圣圤圥圦圧在圩圪圫圬圭圮圯地圱圲圳圴圵圶圷圸圹场圻圼圽圾圿址坁坂坃坄坅坆均坈坉坊坋坌坍坎坏坐坑坒坓坔坕坖块坘坙坚坛坜坝坞坟坠坡坢坣坤坥坦坧坨坩坪坫坬坭坮坯坰坱坲坳坴坵坶坷坸坹坺坻坼坽坾坿垀垁垂垃垄垅垆垇垈垉垊型垌垍垎垏垐垑垒垓垔垕垖垗垘垙垚垛垜垝垞垟垠垡垢垣垤垥垦垧垨垩垪垫垬垭垮垯垰垱垲垳垴垵垶垷垸垹垺垻垼垽垾垿埀埁埂埃埄埅埆埇埈埉埊埋埌埍城埏埐埑埒埓埔埕埖埗埘埙埚埛埜埝埞域埠埡埢埣埤埥埦埧埨埩埪埫埬埭埮埯埰埱埲埳埴埵埶執埸培基埻埼埽埾埿堀堁堂堃堄堅堆堇堈堉堊堋堌堍堎堏堐堑堒堓堔堕堖堗堘堙堚堛堜堝堞堟堠堡堢堣堤堥堦堧堨堩堪堫堬堭堮堯堰報堲堳場堵堶堷堸堹堺堻堼堽堾堿塀塁塂塃塄塅塆塇塈塉塊塋塌塍塎塏塐塑塒塓塔塕塖塗塘塙塚塛塜塝塞塟塠塡塢塣塤塥塦塧塨塩塪填塬塭塮塯塰塱塲塳塴塵塶塷塸塹塺塻塼塽塾塿墀墁墂境墄墅墆墇墈墉墊墋墌墍墎墏墐墑墒墓墔墕墖増墘墙墚墛墜墝增墟墠墡墢墣墤墥墦墧墨墩墪墫墬墭墮墯墰墱墲墳墴墵墶墷墸墹墺墻墼墽墾墿壀壁壂壃壄壅壆壇壈壉壊壋壌壍壎壏壐壑壒壓壔壕壖壗壘壙壚壛壜壝壞壟壠壡壢壣壤壥壦壧壨壩壪士壬壭壮壯声壱売壳壴壵壶壷壸壹壺壻壼壽壾壿夀夁夂夃处夅夆备夈変夊夋夌复夎夏夐夑夒夓夔夕外夗夘夙多夛夜夝夞够夠夡夢夣夤夥夦大夨天太夫夬夭央夯夰失夲夳头夵夶夷夸夹夺夻夼夽夾夿奀奁奂奃奄奅奆奇奈奉奊奋奌奍奎奏奐契奒奓奔奕奖套奘奙奚奛奜奝奞奟奠奡奢奣奤奥奦奧奨奩奪奫奬奭奮奯奰奱奲女奴奵奶奷奸她奺奻奼好奾奿妀妁如妃妄妅妆妇妈妉妊妋妌妍妎妏妐妑妒妓妔妕妖妗妘妙妚妛妜妝妞妟妠妡妢妣妤妥妦妧妨妩妪妫妬妭妮妯妰妱妲妳妴妵妶妷妸妹妺妻妼妽妾妿姀姁姂姃姄姅姆姇姈姉姊始姌姍姎姏姐姑姒姓委姕姖姗姘姙姚姛姜姝姞姟姠姡姢姣姤姥姦姧姨姩姪姫姬姭姮姯姰姱姲姳姴姵姶姷姸姹姺姻姼姽姾姿娀威娂娃娄娅娆娇娈娉娊娋娌娍娎娏娐娑娒娓娔娕娖娗娘娙娚娛娜娝娞娟娠娡娢娣娤娥娦娧娨娩娪娫娬娭娮娯娰娱娲娳娴娵娶娷娸娹娺娻娼娽娾娿婀婁婂婃婄婅婆婇婈婉婊婋婌婍婎婏婐婑婒婓婔婕婖婗婘婙婚婛婜婝婞婟婠婡婢婣婤婥婦婧婨婩婪婫婬婭婮婯婰婱婲婳婴婵婶婷婸婹婺婻婼婽婾婿媀媁媂媃媄媅媆媇媈媉媊媋媌媍媎媏媐媑媒媓媔媕媖媗媘媙媚媛媜媝媞媟媠媡媢媣媤媥媦媧媨媩媪媫媬媭媮媯媰媱媲媳媴媵媶媷媸媹媺媻媼媽媾媿嫀嫁嫂嫃嫄嫅嫆嫇嫈嫉嫊嫋嫌嫍嫎嫏嫐嫑嫒嫓嫔嫕嫖嫗嫘嫙嫚嫛嫜嫝嫞嫟嫠嫡嫢嫣嫤嫥嫦嫧嫨嫩嫪嫫嫬嫭嫮嫯嫰嫱嫲嫳嫴嫵嫶嫷嫸嫹嫺嫻嫼嫽嫾嫿嬀嬁嬂嬃嬄嬅嬆嬇嬈嬉嬊嬋嬌嬍嬎嬏嬐嬑嬒嬓嬔嬕嬖嬗嬘嬙嬚嬛嬜嬝嬞嬟嬠嬡嬢嬣嬤嬥嬦嬧嬨嬩嬪嬫嬬嬭嬮嬯嬰嬱嬲嬳嬴嬵嬶嬷嬸嬹嬺嬻嬼嬽嬾嬿孀孁孂孃孄孅孆孇孈孉孊孋孌孍孎孏子孑孒孓孔孕孖字存孙孚孛孜孝孞孟孠孡孢季孤孥学孧孨孩孪孫孬孭孮孯孰孱孲孳孴孵孶孷學孹孺孻孼孽孾孿宀宁宂它宄宅宆宇守安宊宋完宍宎宏宐宑宒宓宔宕宖宗官宙定宛宜宝实実宠审客宣室宥宦宧宨宩宪宫宬宭宮宯宰宱宲害宴宵家宷宸容宺宻宼宽宾宿寀寁寂寃寄寅密寇寈寉寊寋富寍寎寏寐寑寒寓寔寕寖寗寘寙寚寛寜寝寞察寠寡寢寣寤寥實寧寨審寪寫寬寭寮寯寰寱寲寳寴寵寶寷寸对寺寻导寽対寿尀封専尃射尅将將專尉尊尋尌對導小尐少尒尓尔尕尖尗尘尙尚尛尜尝尞尟尠尡尢尣尤尥尦尧尨尩尪尫尬尭尮尯尰就尲尳尴尵尶尷尸尹尺尻尼尽尾尿局屁层屃屄居屆屇屈屉届屋屌屍屎屏屐屑屒屓屔展屖屗屘屙屚屛屜屝属屟屠屡屢屣層履屦屧屨屩屪屫屬屭屮屯屰山屲屳屴屵屶屷屸屹屺屻屼屽屾屿岀岁岂岃岄岅岆岇岈岉岊岋岌岍岎岏岐岑岒岓岔岕岖岗岘岙岚岛岜岝岞岟岠岡岢岣岤岥岦岧岨岩岪岫岬岭岮岯岰岱岲岳岴岵岶岷岸岹岺岻岼岽岾岿峀峁峂峃峄峅峆峇峈峉峊峋峌峍峎峏峐峑峒峓峔峕峖峗峘峙峚峛峜峝峞峟峠峡峢峣峤峥峦峧峨峩峪峫峬峭峮峯峰峱峲峳峴峵島峷峸峹峺峻峼峽峾峿崀崁崂崃崄崅崆崇崈崉崊崋崌崍崎崏崐崑崒崓崔崕崖崗崘崙崚崛崜崝崞崟崠崡崢崣崤崥崦崧崨崩崪崫崬崭崮崯崰崱崲崳崴崵崶崷崸崹崺崻崼崽崾崿嵀嵁嵂嵃嵄嵅嵆嵇嵈嵉嵊嵋嵌嵍嵎嵏嵐嵑嵒嵓嵔嵕嵖嵗嵘嵙嵚嵛嵜嵝嵞嵟嵠嵡嵢嵣嵤嵥嵦嵧嵨嵩嵪嵫嵬嵭嵮嵯嵰嵱嵲嵳嵴嵵嵶嵷嵸嵹嵺嵻嵼嵽嵾嵿嶀嶁嶂嶃嶄嶅嶆嶇嶈嶉嶊嶋嶌嶍嶎嶏嶐嶑嶒嶓嶔嶕嶖嶗嶘嶙嶚嶛嶜嶝嶞嶟嶠嶡嶢嶣嶤嶥嶦嶧嶨嶩嶪嶫嶬嶭嶮嶯嶰嶱嶲嶳嶴嶵嶶嶷嶸嶹嶺嶻嶼嶽嶾嶿巀巁巂巃巄巅巆巇巈巉巊巋巌巍巎巏巐巑巒巓巔巕巖巗巘巙巚巛巜川州巟巠巡巢巣巤工左巧巨巩巪巫巬巭差巯巰己已巳巴巵巶巷巸巹巺巻巼巽巾巿帀币市布帄帅帆帇师帉帊帋希帍帎帏帐帑帒帓帔帕帖帗帘帙帚帛帜帝帞帟帠帡帢帣帤帥带帧帨帩帪師帬席帮帯帰帱帲帳帴帵帶帷常帹帺帻帼帽帾帿幀幁幂幃幄幅幆幇幈幉幊幋幌幍幎幏幐幑幒幓幔幕幖幗幘幙幚幛幜幝幞幟幠幡幢幣幤幥幦幧幨幩幪幫幬幭幮幯幰幱干平年幵并幷幸幹幺幻幼幽幾广庀庁庂広庄庅庆庇庈庉床庋庌庍庎序庐庑庒库应底庖店庘庙庚庛府庝庞废庠庡庢庣庤庥度座庨庩庪庫庬庭庮庯庰庱庲庳庴庵庶康庸庹庺庻庼庽庾庿廀廁廂廃廄廅廆廇廈廉廊廋廌廍廎廏廐廑廒廓廔廕廖廗廘廙廚廛廜廝廞廟廠廡廢廣廤廥廦廧廨廩廪廫廬廭廮廯廰廱廲廳廴廵延廷廸廹建廻廼廽廾廿开弁异弃弄弅弆弇弈弉弊弋弌弍弎式弐弑弒弓弔引弖弗弘弙弚弛弜弝弞弟张弡弢弣弤弥弦弧弨弩弪弫弬弭弮弯弰弱弲弳弴張弶強弸弹强弻弼弽弾弿彀彁彂彃彄彅彆彇彈彉彊彋彌彍彎彏彐彑归当彔录彖彗彘彙彚彛彜彝彞彟彠彡形彣彤彥彦彧彨彩彪彫彬彭彮彯彰影彲彳彴彵彶彷彸役彺彻彼彽彾彿往征徂徃径待徆徇很徉徊律後徍徎徏徐徑徒従徔徕徖得徘徙徚徛徜徝從徟徠御徢徣徤徥徦徧徨復循徫徬徭微徯徰徱徲徳徴徵徶德徸徹徺徻徼徽徾徿忀忁忂心忄必忆忇忈忉忊忋忌忍忎忏忐忑忒忓忔忕忖志忘忙忚忛応忝忞忟忠忡忢忣忤忥忦忧忨忩忪快忬忭忮忯忰忱忲忳忴念忶忷忸忹忺忻忼忽忾忿怀态怂怃怄怅怆怇怈怉怊怋怌怍怎怏怐怑怒怓怔怕怖怗怘怙怚怛怜思怞怟怠怡怢怣怤急怦性怨怩怪怫怬怭怮怯怰怱怲怳怴怵怶怷怸怹怺总怼怽怾怿恀恁恂恃恄恅恆恇恈恉恊恋恌恍恎恏恐恑恒恓恔恕恖恗恘恙恚恛恜恝恞恟恠恡恢恣恤恥恦恧恨恩恪恫恬恭恮息恰恱恲恳恴恵恶恷恸恹恺恻恼恽恾恿悀悁悂悃悄悅悆悇悈悉悊悋悌悍悎悏悐悑悒悓悔悕悖悗悘悙悚悛悜悝悞悟悠悡悢患悤悥悦悧您悩悪悫悬悭悮悯悰悱悲悳悴悵悶悷悸悹悺悻悼悽悾悿惀惁惂惃惄情惆惇惈惉惊惋惌惍惎惏惐惑惒惓惔惕惖惗惘惙惚惛惜惝惞惟惠惡惢惣惤惥惦惧惨惩惪惫惬惭惮惯惰惱惲想惴惵惶惷惸惹惺惻惼惽惾惿愀愁愂愃愄愅愆愇愈愉愊愋愌愍愎意愐愑愒愓愔愕愖愗愘愙愚愛愜愝愞感愠愡愢愣愤愥愦愧愨愩愪愫愬愭愮愯愰愱愲愳愴愵愶愷愸愹愺愻愼愽愾愿慀慁慂慃慄慅慆慇慈慉慊態慌慍慎慏慐慑慒慓慔慕慖慗慘慙慚慛慜慝慞慟慠慡慢慣慤慥慦慧慨慩慪慫慬慭慮慯慰慱慲慳慴慵慶慷慸慹慺慻慼慽慾慿憀憁憂憃憄憅憆憇憈憉憊憋憌憍憎憏憐憑憒憓憔憕憖憗憘憙憚憛憜憝憞憟憠憡憢憣憤憥憦憧憨憩憪憫憬憭憮憯憰憱憲憳憴憵憶憷憸憹憺憻憼憽憾憿懀懁懂懃懄懅懆懇懈應懊懋懌懍懎懏懐懑懒懓懔懕懖懗懘懙懚懛懜懝懞懟懠懡懢懣懤懥懦懧懨懩懪懫懬懭懮懯懰懱懲懳懴懵懶懷懸懹懺懻懼懽懾懿戀戁戂戃戄戅戆戇戈戉戊戋戌戍戎戏成我戒戓戔戕或戗战戙戚戛戜戝戞戟戠戡戢戣戤戥戦戧戨戩截戫戬戭戮戯戰戱戲戳戴戵戶户戸戹戺戻戼戽戾房所扁扂扃扄扅扆扇扈扉扊手扌才扎扏扐扑扒打扔払扖扗托扙扚扛扜扝扞扟扠扡扢扣扤扥扦执扨扩扪扫扬扭扮扯扰扱扲扳扴扵扶扷扸批扺扻扼扽找承技抁抂抃抄抅抆抇抈抉把抋抌抍抎抏抐抑抒抓抔投抖抗折抙抚抛抜抝択抟抠抡抢抣护报抦抧抨抩抪披抬抭抮抯抰抱抲抳抴抵抶抷抸抹抺抻押抽抾抿拀拁拂拃拄担拆拇拈拉拊拋拌拍拎拏拐拑拒拓拔拕拖拗拘拙拚招拜拝拞拟拠拡拢拣拤拥拦拧拨择拪拫括拭拮拯拰拱拲拳拴拵拶拷拸拹拺拻拼拽拾拿挀持挂挃挄挅挆指挈按挊挋挌挍挎挏挐挑挒挓挔挕挖挗挘挙挚挛挜挝挞挟挠挡挢挣挤挥挦挧挨挩挪挫挬挭挮振挰挱挲挳挴挵挶挷挸挹挺挻挼挽挾挿捀捁捂捃捄捅捆捇捈捉捊捋捌捍捎捏捐捑捒捓捔捕捖捗捘捙捚捛捜捝捞损捠捡换捣捤捥捦捧捨捩捪捫捬捭据捯捰捱捲捳捴捵捶捷捸捹捺捻捼捽捾捿掀掁掂掃掄掅掆掇授掉掊掋掌掍掎掏掐掑排掓掔掕掖掗掘掙掚掛掜掝掞掟掠採探掣掤接掦控推掩措掫掬掭掮掯掰掱掲掳掴掵掶掷掸掹掺掻掼掽掾掿揀揁揂揃揄揅揆揇揈揉揊揋揌揍揎描提揑插揓揔揕揖揗揘揙揚換揜揝揞揟揠握揢揣揤揥揦揧揨揩揪揫揬揭揮揯揰揱揲揳援揵揶揷揸揹揺揻揼揽揾揿搀搁搂搃搄搅搆搇搈搉搊搋搌損搎搏搐搑搒搓搔搕搖搗搘搙搚搛搜搝搞搟搠搡搢搣搤搥搦搧搨搩搪搫搬搭搮搯搰搱搲搳搴搵搶搷搸搹携搻搼搽搾搿摀摁摂摃摄摅摆摇摈摉摊摋摌摍摎摏摐摑摒摓摔摕摖摗摘摙摚摛摜摝摞摟摠摡摢摣摤摥摦摧摨摩摪摫摬摭摮摯摰摱摲摳摴摵摶摷摸摹摺摻摼摽摾摿撀撁撂撃撄撅撆撇撈撉撊撋撌撍撎撏撐撑撒撓撔撕撖撗撘撙撚撛撜撝撞撟撠撡撢撣撤撥撦撧撨撩撪撫撬播撮撯撰撱撲撳撴撵撶撷撸撹撺撻撼撽撾撿擀擁擂擃擄擅擆擇擈擉擊擋擌操擎擏擐擑擒擓擔擕擖擗擘擙據擛擜擝擞擟擠擡擢擣擤擥擦擧擨擩擪擫擬擭擮擯擰擱擲擳擴擵擶擷擸擹擺擻擼擽擾擿攀攁攂攃攄攅攆攇攈攉攊攋攌攍攎攏攐攑攒攓攔攕攖攗攘攙攚攛攜攝攞攟攠攡攢攣攤攥攦攧攨攩攪攫攬攭攮支攰攱攲攳攴攵收攷攸改攺攻攼攽放政敀敁敂敃敄故敆敇效敉敊敋敌敍敎敏敐救敒敓敔敕敖敗敘教敚敛敜敝敞敟敠敡敢散敤敥敦敧敨敩敪敫敬敭敮敯数敱敲敳整敵敶敷數敹敺敻敼敽敾敿斀斁斂斃斄斅斆文斈斉斊斋斌斍斎斏斐斑斒斓斔斕斖斗斘料斚斛斜斝斞斟斠斡斢斣斤斥斦斧斨斩斪斫斬断斮斯新斱斲斳斴斵斶斷斸方斺斻於施斾斿旀旁旂旃旄旅旆旇旈旉旊旋旌旍旎族旐旑旒旓旔旕旖旗旘旙旚旛旜旝旞旟无旡既旣旤日旦旧旨早旪旫旬旭旮旯旰旱旲旳旴旵时旷旸旹旺旻旼旽旾旿昀昁昂昃昄昅昆昇昈昉昊昋昌昍明昏昐昑昒易昔昕昖昗昘昙昚昛昜昝昞星映昡昢昣昤春昦昧昨昩昪昫昬昭昮是昰昱昲昳昴昵昶昷昸昹昺昻昼昽显昿晀晁時晃晄晅晆晇晈晉晊晋晌晍晎晏晐晑晒晓晔晕晖晗晘晙晚晛晜晝晞晟晠晡晢晣晤晥晦晧晨晩晪晫晬晭普景晰晱晲晳晴晵晶晷晸晹智晻晼晽晾晿暀暁暂暃暄暅暆暇暈暉暊暋暌暍暎暏暐暑暒暓暔暕暖暗暘暙暚暛暜暝暞暟暠暡暢暣暤暥暦暧暨暩暪暫暬暭暮暯暰暱暲暳暴暵暶暷暸暹暺暻暼暽暾暿曀曁曂曃曄曅曆曇曈曉曊曋曌曍曎曏曐曑曒曓曔曕曖曗曘曙曚曛曜曝曞曟曠曡曢曣曤曥曦曧曨曩曪曫曬曭曮曯曰曱曲曳更曵曶曷書曹曺曻曼曽曾替最朁朂會朄朅朆朇月有朊朋朌服朎朏朐朑朒朓朔朕朖朗朘朙朚望朜朝朞期朠朡朢朣朤朥朦朧木朩未末本札朮术朰朱朲朳朴朵朶朷朸朹机朻朼朽朾朿杀杁杂权杄杅杆杇杈杉杊杋杌杍李杏材村杒杓杔杕杖杗杘杙杚杛杜杝杞束杠条杢杣杤来杦杧杨杩杪杫杬杭杮杯杰東杲杳杴杵杶杷杸杹杺杻杼杽松板枀极枂枃构枅枆枇枈枉枊枋枌枍枎枏析枑枒枓枔枕枖林枘枙枚枛果枝枞枟枠枡枢枣枤枥枦枧枨枩枪枫枬枭枮枯枰枱枲枳枴枵架枷枸枹枺枻枼枽枾枿柀柁柂柃柄柅柆柇柈柉柊柋柌柍柎柏某柑柒染柔柕柖柗柘柙柚柛柜柝柞柟柠柡柢柣柤查柦柧柨柩柪柫柬柭柮柯柰柱柲柳柴柵柶柷柸柹柺査柼柽柾柿栀栁栂栃栄栅栆标栈栉栊栋栌栍栎栏栐树栒栓栔栕栖栗栘栙栚栛栜栝栞栟栠校栢栣栤栥栦栧栨栩株栫栬栭栮栯栰栱栲栳栴栵栶样核根栺栻格栽栾栿桀桁桂桃桄桅框桇案桉桊桋桌桍桎桏桐桑桒桓桔桕桖桗桘桙桚桛桜桝桞桟桠桡桢档桤桥桦桧桨桩桪桫桬桭桮桯桰桱桲桳桴桵桶桷桸桹桺桻桼桽桾桿梀梁梂梃梄梅梆梇梈梉梊梋梌梍梎梏梐梑梒梓梔梕梖梗梘梙梚梛梜條梞梟梠梡梢梣梤梥梦梧梨梩梪梫梬梭梮梯械梱梲梳梴梵梶梷梸梹梺梻梼梽梾梿检棁棂棃棄棅棆棇棈棉棊棋棌棍棎棏棐棑棒棓棔棕棖棗棘棙棚棛棜棝棞棟棠棡棢棣棤棥棦棧棨棩棪棫棬棭森棯棰棱棲棳棴棵棶棷棸棹棺棻棼棽棾棿椀椁椂椃椄椅椆椇椈椉椊椋椌植椎椏椐椑椒椓椔椕椖椗椘椙椚椛検椝椞椟椠椡椢椣椤椥椦椧椨椩椪椫椬椭椮椯椰椱椲椳椴椵椶椷椸椹椺椻椼椽椾椿楀楁楂楃楄楅楆楇楈楉楊楋楌楍楎楏楐楑楒楓楔楕楖楗楘楙楚楛楜楝楞楟楠楡楢楣楤楥楦楧楨楩楪楫楬業楮楯楰楱楲楳楴極楶楷楸楹楺楻楼楽楾楿榀榁概榃榄榅榆榇榈榉榊榋榌榍榎榏榐榑榒榓榔榕榖榗榘榙榚榛榜榝榞榟榠榡榢榣榤榥榦榧榨榩榪榫榬榭榮榯榰榱榲榳榴榵榶榷榸榹榺榻榼榽榾榿槀槁槂槃槄槅槆槇槈槉槊構槌槍槎槏槐槑槒槓槔槕槖槗様槙槚槛槜槝槞槟槠槡槢槣槤槥槦槧槨槩槪槫槬槭槮槯槰槱槲槳槴槵槶槷槸槹槺槻槼槽槾槿樀樁樂樃樄樅樆樇樈樉樊樋樌樍樎樏樐樑樒樓樔樕樖樗樘標樚樛樜樝樞樟樠模樢樣樤樥樦樧樨権横樫樬樭樮樯樰樱樲樳樴樵樶樷樸樹樺樻樼樽樾樿橀橁橂橃橄橅橆橇橈橉橊橋橌橍橎橏橐橑橒橓橔橕橖橗橘橙橚橛橜橝橞機橠橡橢橣橤橥橦橧橨橩橪橫橬橭橮橯橰橱橲橳橴橵橶橷橸橹橺橻橼橽橾橿檀檁檂檃檄檅檆檇檈檉檊檋檌檍檎檏檐檑檒檓檔檕檖檗檘檙檚檛檜檝檞檟檠檡檢檣檤檥檦檧檨檩檪檫檬檭檮檯檰檱檲檳檴檵檶檷檸檹檺檻檼檽檾檿櫀櫁櫂櫃櫄櫅櫆櫇櫈櫉櫊櫋櫌櫍櫎櫏櫐櫑櫒櫓櫔櫕櫖櫗櫘櫙櫚櫛櫜櫝櫞櫟櫠櫡櫢櫣櫤櫥櫦櫧櫨櫩櫪櫫櫬櫭櫮櫯櫰櫱櫲櫳櫴櫵櫶櫷櫸櫹櫺櫻櫼櫽櫾櫿欀欁欂欃欄欅欆欇欈欉權欋欌欍欎欏欐欑欒欓欔欕欖欗欘欙欚欛欜欝欞欟欠次欢欣欤欥欦欧欨欩欪欫欬欭欮欯欰欱欲欳欴欵欶欷欸欹欺欻欼欽款欿歀歁歂歃歄歅歆歇歈歉歊歋歌歍歎歏歐歑歒歓歔歕歖歗歘歙歚歛歜歝歞歟歠歡止正此步武歧歨歩歪歫歬歭歮歯歰歱歲歳歴歵歶歷歸歹歺死歼歽歾歿殀殁殂殃殄殅殆殇殈殉殊残殌殍殎殏殐殑殒殓殔殕殖殗殘殙殚殛殜殝殞殟殠殡殢殣殤殥殦殧殨殩殪殫殬殭殮殯殰殱殲殳殴段殶殷殸殹殺殻殼殽殾殿毀毁毂毃毄毅毆毇毈毉毊毋毌母毎每毐毑毒毓比毕毖毗毘毙毚毛毜毝毞毟毠毡毢毣毤毥毦毧毨毩毪毫毬毭毮毯毰毱毲毳毴毵毶毷毸毹毺毻毼毽毾毿氀氁氂氃氄氅氆氇氈氉氊氋氌氍氎氏氐民氒氓气氕氖気氘氙氚氛氜氝氞氟氠氡氢氣氤氥氦氧氨氩氪氫氬氭氮氯氰氱氲氳水氵氶氷永氹氺氻氼氽氾氿汀汁求汃汄汅汆汇汈汉汊汋汌汍汎汏汐汑汒汓汔汕汖汗汘汙汚汛汜汝汞江池污汢汣汤汥汦汧汨汩汪汫汬汭汮汯汰汱汲汳汴汵汶汷汸汹決汻汼汽汾汿沀沁沂沃沄沅沆沇沈沉沊沋沌沍沎沏沐沑沒沓沔沕沖沗沘沙沚沛沜沝沞沟沠没沢沣沤沥沦沧沨沩沪沫沬沭沮沯沰沱沲河沴沵沶沷沸油沺治沼沽沾沿泀況泂泃泄泅泆泇泈泉泊泋泌泍泎泏泐泑泒泓泔法泖泗泘泙泚泛泜泝泞泟泠泡波泣泤泥泦泧注泩泪泫泬泭泮泯泰泱泲泳泴泵泶泷泸泹泺泻泼泽泾泿洀洁洂洃洄洅洆洇洈洉洊洋洌洍洎洏洐洑洒洓洔洕洖洗洘洙洚洛洜洝洞洟洠洡洢洣洤津洦洧洨洩洪洫洬洭洮洯洰洱洲洳洴洵洶洷洸洹洺活洼洽派洿浀流浂浃浄浅浆浇浈浉浊测浌浍济浏浐浑浒浓浔浕浖浗浘浙浚浛浜浝浞浟浠浡浢浣浤浥浦浧浨浩浪浫浬浭浮浯浰浱浲浳浴浵浶海浸浹浺浻浼浽浾浿涀涁涂涃涄涅涆涇消涉涊涋涌涍涎涏涐涑涒涓涔涕涖涗涘涙涚涛涜涝涞涟涠涡涢涣涤涥润涧涨涩涪涫涬涭涮涯涰涱液涳涴涵涶涷涸涹涺涻涼涽涾涿淀淁淂淃淄淅淆淇淈淉淊淋淌淍淎淏淐淑淒淓淔淕淖淗淘淙淚淛淜淝淞淟淠淡淢淣淤淥淦淧淨淩淪淫淬淭淮淯淰深淲淳淴淵淶混淸淹淺添淼淽淾淿渀渁渂渃渄清渆渇済渉渊渋渌渍渎渏渐渑渒渓渔渕渖渗渘渙渚減渜渝渞渟渠渡渢渣渤渥渦渧渨温渪渫測渭渮港渰渱渲渳渴渵渶渷游渹渺渻渼渽渾渿湀湁湂湃湄湅湆湇湈湉湊湋湌湍湎湏湐湑湒湓湔湕湖湗湘湙湚湛湜湝湞湟湠湡湢湣湤湥湦湧湨湩湪湫湬湭湮湯湰湱湲湳湴湵湶湷湸湹湺湻湼湽湾湿満溁溂溃溄溅溆溇溈溉溊溋溌溍溎溏源溑溒溓溔溕準溗溘溙溚溛溜溝溞溟溠溡溢溣溤溥溦溧溨溩溪溫溬溭溮溯溰溱溲溳溴溵溶溷溸溹溺溻溼溽溾溿滀滁滂滃滄滅滆滇滈滉滊滋滌滍滎滏滐滑滒滓滔滕滖滗滘滙滚滛滜滝滞滟滠满滢滣滤滥滦滧滨滩滪滫滬滭滮滯滰滱滲滳滴滵滶滷滸滹滺滻滼滽滾滿漀漁漂漃漄漅漆漇漈漉漊漋漌漍漎漏漐漑漒漓演漕漖漗漘漙漚漛漜漝漞漟漠漡漢漣漤漥漦漧漨漩漪漫漬漭漮漯漰漱漲漳漴漵漶漷漸漹漺漻漼漽漾漿潀潁潂潃潄潅潆潇潈潉潊潋潌潍潎潏潐潑潒潓潔潕潖潗潘潙潚潛潜潝潞潟潠潡潢潣潤潥潦潧潨潩潪潫潬潭潮潯潰潱潲潳潴潵潶潷潸潹潺潻潼潽潾潿澀澁澂澃澄澅澆澇澈澉澊澋澌澍澎澏澐澑澒澓澔澕澖澗澘澙澚澛澜澝澞澟澠澡澢澣澤澥澦澧澨澩澪澫澬澭澮澯澰澱澲澳澴澵澶澷澸澹澺澻澼澽澾澿激濁濂濃濄濅濆濇濈濉濊濋濌濍濎濏濐濑濒濓濔濕濖濗濘濙濚濛濜濝濞濟濠濡濢濣濤濥濦濧濨濩濪濫濬濭濮濯濰濱濲濳濴濵濶濷濸濹濺濻濼濽濾濿瀀瀁瀂瀃瀄瀅瀆瀇瀈瀉瀊瀋瀌瀍瀎瀏瀐瀑瀒瀓瀔瀕瀖瀗瀘瀙瀚瀛瀜瀝瀞瀟瀠瀡瀢瀣瀤瀥瀦瀧瀨瀩瀪瀫瀬瀭瀮瀯瀰瀱瀲瀳瀴瀵瀶瀷瀸瀹瀺瀻瀼瀽瀾瀿灀灁灂灃灄灅灆灇灈灉灊灋灌灍灎灏灐灑灒灓灔灕灖灗灘灙灚灛灜灝灞灟灠灡灢灣灤灥灦灧灨灩灪火灬灭灮灯灰灱灲灳灴灵灶灷灸灹灺灻灼災灾灿炀炁炂炃炄炅炆炇炈炉炊炋炌炍炎炏炐炑炒炓炔炕炖炗炘炙炚炛炜炝炞炟炠炡炢炣炤炥炦炧炨炩炪炫炬炭炮炯炰炱炲炳炴炵炶炷炸点為炻炼炽炾炿烀烁烂烃烄烅烆烇烈烉烊烋烌烍烎烏烐烑烒烓烔烕烖烗烘烙烚烛烜烝烞烟烠烡烢烣烤烥烦烧烨烩烪烫烬热烮烯烰烱烲烳烴烵烶烷烸烹烺烻烼烽烾烿焀焁焂焃焄焅焆焇焈焉焊焋焌焍焎焏焐焑焒焓焔焕焖焗焘焙焚焛焜焝焞焟焠無焢焣焤焥焦焧焨焩焪焫焬焭焮焯焰焱焲焳焴焵然焷焸焹焺焻焼焽焾焿煀煁煂煃煄煅煆煇煈煉煊煋煌煍煎煏煐煑煒煓煔煕煖煗煘煙煚煛煜煝煞煟煠煡煢煣煤煥煦照煨煩煪煫煬煭煮煯煰煱煲煳煴煵煶煷煸煹煺煻煼煽煾煿熀熁熂熃熄熅熆熇熈熉熊熋熌熍熎熏熐熑熒熓熔熕熖熗熘熙熚熛熜熝熞熟熠熡熢熣熤熥熦熧熨熩熪熫熬熭熮熯熰熱熲熳熴熵熶熷熸熹熺熻熼熽熾熿燀燁燂燃燄燅燆燇燈燉燊燋燌燍燎燏燐燑燒燓燔燕燖燗燘燙燚燛燜燝燞營燠燡燢燣燤燥燦燧燨燩燪燫燬燭燮燯燰燱燲燳燴燵燶燷燸燹燺燻燼燽燾燿爀爁爂爃爄爅爆爇爈爉爊爋爌爍爎爏爐爑爒爓爔爕爖爗爘爙爚爛爜爝爞爟爠爡爢爣爤爥爦爧爨爩爪爫爬爭爮爯爰爱爲爳爴爵父爷爸爹爺爻爼爽爾爿牀牁牂牃牄牅牆片版牉牊牋牌牍牎牏牐牑牒牓牔牕牖牗牘牙牚牛牜牝牞牟牠牡牢牣牤牥牦牧牨物牪牫牬牭牮牯牰牱牲牳牴牵牶牷牸特牺牻牼牽牾牿犀犁犂犃犄犅犆犇犈犉犊犋犌犍犎犏犐犑犒犓犔犕犖犗犘犙犚犛犜犝犞犟犠犡犢犣犤犥犦犧犨犩犪犫犬犭犮犯犰犱犲犳犴犵状犷犸犹犺犻犼犽犾犿狀狁狂狃狄狅狆狇狈狉狊狋狌狍狎狏狐狑狒狓狔狕狖狗狘狙狚狛狜狝狞狟狠狡狢狣狤狥狦狧狨狩狪狫独狭狮狯狰狱狲狳狴狵狶狷狸狹狺狻狼狽狾狿猀猁猂猃猄猅猆猇猈猉猊猋猌猍猎猏猐猑猒猓猔猕猖猗猘猙猚猛猜猝猞猟猠猡猢猣猤猥猦猧猨猩猪猫猬猭献猯猰猱猲猳猴猵猶猷猸猹猺猻猼猽猾猿獀獁獂獃獄獅獆獇獈獉獊獋獌獍獎獏獐獑獒獓獔獕獖獗獘獙獚獛獜獝獞獟獠獡獢獣獤獥獦獧獨獩獪獫獬獭獮獯獰獱獲獳獴獵獶獷獸獹獺獻獼獽獾獿玀玁玂玃玄玅玆率玈玉玊王玌玍玎玏玐玑玒玓玔玕玖玗玘玙玚玛玜玝玞玟玠玡玢玣玤玥玦玧玨玩玪玫玬玭玮环现玱玲玳玴玵玶玷玸玹玺玻玼玽玾玿珀珁珂珃珄珅珆珇珈珉珊珋珌珍珎珏珐珑珒珓珔珕珖珗珘珙珚珛珜珝珞珟珠珡珢珣珤珥珦珧珨珩珪珫珬班珮珯珰珱珲珳珴珵珶珷珸珹珺珻珼珽現珿琀琁琂球琄琅理琇琈琉琊琋琌琍琎琏琐琑琒琓琔琕琖琗琘琙琚琛琜琝琞琟琠琡琢琣琤琥琦琧琨琩琪琫琬琭琮琯琰琱琲琳琴琵琶琷琸琹琺琻琼琽琾琿瑀瑁瑂瑃瑄瑅瑆瑇瑈瑉瑊瑋瑌瑍瑎瑏瑐瑑瑒瑓瑔瑕瑖瑗瑘瑙瑚瑛瑜瑝瑞瑟瑠瑡瑢瑣瑤瑥瑦瑧瑨瑩瑪瑫瑬瑭瑮瑯瑰瑱瑲瑳瑴瑵瑶瑷瑸瑹瑺瑻瑼瑽瑾瑿璀璁璂璃璄璅璆璇璈璉璊璋璌璍璎璏璐璑璒璓璔璕璖璗璘璙璚璛璜璝璞璟璠璡璢璣璤璥璦璧璨璩璪璫璬璭璮璯環璱璲璳璴璵璶璷璸璹璺璻璼璽璾璿瓀瓁瓂瓃瓄瓅瓆瓇瓈瓉瓊瓋瓌瓍瓎瓏瓐瓑瓒瓓瓔瓕瓖瓗瓘瓙瓚瓛瓜瓝瓞瓟瓠瓡瓢瓣瓤瓥瓦瓧瓨瓩瓪瓫瓬瓭瓮瓯瓰瓱瓲瓳瓴瓵瓶瓷瓸瓹瓺瓻瓼瓽瓾瓿甀甁甂甃甄甅甆甇甈甉甊甋甌甍甎甏甐甑甒甓甔甕甖甗甘甙甚甛甜甝甞生甠甡產産甤甥甦甧用甩甪甫甬甭甮甯田由甲申甴电甶男甸甹町画甼甽甾甿畀畁畂畃畄畅畆畇畈畉畊畋界畍畎畏畐畑畒畓畔畕畖畗畘留畚畛畜畝畞畟畠畡畢畣畤略畦畧畨畩番畫畬畭畮畯異畱畲畳畴畵當畷畸畹畺畻畼畽畾畿疀疁疂疃疄疅疆疇疈疉疊疋疌疍疎疏疐疑疒疓疔疕疖疗疘疙疚疛疜疝疞疟疠疡疢疣疤疥疦疧疨疩疪疫疬疭疮疯疰疱疲疳疴疵疶疷疸疹疺疻疼疽疾疿痀痁痂痃痄病痆症痈痉痊痋痌痍痎痏痐痑痒痓痔痕痖痗痘痙痚痛痜痝痞痟痠痡痢痣痤痥痦痧痨痩痪痫痬痭痮痯痰痱痲痳痴痵痶痷痸痹痺痻痼痽痾痿瘀瘁瘂瘃瘄瘅瘆瘇瘈瘉瘊瘋瘌瘍瘎瘏瘐瘑瘒瘓瘔瘕瘖瘗瘘瘙瘚瘛瘜瘝瘞瘟瘠瘡瘢瘣瘤瘥瘦瘧瘨瘩瘪瘫瘬瘭瘮瘯瘰瘱瘲瘳瘴瘵瘶瘷瘸瘹瘺瘻瘼瘽瘾瘿癀癁療癃癄癅癆癇癈癉癊癋癌癍癎癏癐癑癒癓癔癕癖癗癘癙癚癛癜癝癞癟癠癡癢癣癤癥癦癧癨癩癪癫癬癭癮癯癰癱癲癳癴癵癶癷癸癹発登發白百癿皀皁皂皃的皅皆皇皈皉皊皋皌皍皎皏皐皑皒皓皔皕皖皗皘皙皚皛皜皝皞皟皠皡皢皣皤皥皦皧皨皩皪皫皬皭皮皯皰皱皲皳皴皵皶皷皸皹皺皻皼皽皾皿盀盁盂盃盄盅盆盇盈盉益盋盌盍盎盏盐监盒盓盔盕盖盗盘盙盚盛盜盝盞盟盠盡盢監盤盥盦盧盨盩盪盫盬盭目盯盰盱盲盳直盵盶盷相盹盺盻盼盽盾盿眀省眂眃眄眅眆眇眈眉眊看県眍眎眏眐眑眒眓眔眕眖眗眘眙眚眛眜眝眞真眠眡眢眣眤眥眦眧眨眩眪眫眬眭眮眯眰眱眲眳眴眵眶眷眸眹眺眻眼眽眾眿着睁睂睃睄睅睆睇睈睉睊睋睌睍睎睏睐睑睒睓睔睕睖睗睘睙睚睛睜睝睞睟睠睡睢督睤睥睦睧睨睩睪睫睬睭睮睯睰睱睲睳睴睵睶睷睸睹睺睻睼睽睾睿瞀瞁瞂瞃瞄瞅瞆瞇瞈瞉瞊瞋瞌瞍瞎瞏瞐瞑瞒瞓瞔瞕瞖瞗瞘瞙瞚瞛瞜瞝瞞瞟瞠瞡瞢瞣瞤瞥瞦瞧瞨瞩瞪瞫瞬瞭瞮瞯瞰瞱瞲瞳瞴瞵瞶瞷瞸瞹瞺瞻瞼瞽瞾瞿矀矁矂矃矄矅矆矇矈矉矊矋矌矍矎矏矐矑矒矓矔矕矖矗矘矙矚矛矜矝矞矟矠矡矢矣矤知矦矧矨矩矪矫矬短矮矯矰矱矲石矴矵矶矷矸矹矺矻矼矽矾矿砀码砂砃砄砅砆砇砈砉砊砋砌砍砎砏砐砑砒砓研砕砖砗砘砙砚砛砜砝砞砟砠砡砢砣砤砥砦砧砨砩砪砫砬砭砮砯砰砱砲砳破砵砶砷砸砹砺砻砼砽砾砿础硁硂硃硄硅硆硇硈硉硊硋硌硍硎硏硐硑硒硓硔硕硖硗硘硙硚硛硜硝硞硟硠硡硢硣硤硥硦硧硨硩硪硫硬硭确硯硰硱硲硳硴硵硶硷硸硹硺硻硼硽硾硿碀碁碂碃碄碅碆碇碈碉碊碋碌碍碎碏碐碑碒碓碔碕碖碗碘碙碚碛碜碝碞碟碠碡碢碣碤碥碦碧碨碩碪碫碬碭碮碯碰碱碲碳碴碵碶碷碸碹確碻碼碽碾碿磀磁磂磃磄磅磆磇磈磉磊磋磌磍磎磏磐磑磒磓磔磕磖磗磘磙磚磛磜磝磞磟磠磡磢磣磤磥磦磧磨磩磪磫磬磭磮磯磰磱磲磳磴磵磶磷磸磹磺磻磼磽磾磿礀礁礂礃礄礅礆礇礈礉礊礋礌礍礎礏礐礑礒礓礔礕礖礗礘礙礚礛礜礝礞礟礠礡礢礣礤礥礦礧礨礩礪礫礬礭礮礯礰礱礲礳礴礵礶礷礸礹示礻礼礽社礿祀祁祂祃祄祅祆祇祈祉祊祋祌祍祎祏祐祑祒祓祔祕祖祗祘祙祚祛祜祝神祟祠祡祢祣祤祥祦祧票祩祪祫祬祭祮祯祰祱祲祳祴祵祶祷祸祹祺祻祼祽祾祿禀禁禂禃禄禅禆禇禈禉禊禋禌禍禎福禐禑禒禓禔禕禖禗禘禙禚禛禜禝禞禟禠禡禢禣禤禥禦禧禨禩禪禫禬禭禮禯禰禱禲禳禴禵禶禷禸禹禺离禼禽禾禿秀私秂秃秄秅秆秇秈秉秊秋秌种秎秏秐科秒秓秔秕秖秗秘秙秚秛秜秝秞租秠秡秢秣秤秥秦秧秨秩秪秫秬秭秮积称秱秲秳秴秵秶秷秸秹秺移秼秽秾秿稀稁稂稃稄稅稆稇稈稉稊程稌稍税稏稐稑稒稓稔稕稖稗稘稙稚稛稜稝稞稟稠稡稢稣稤稥稦稧稨稩稪稫稬稭種稯稰稱稲稳稴稵稶稷稸稹稺稻稼稽稾稿穀穁穂穃穄穅穆穇穈穉穊穋穌積穎穏穐穑穒穓穔穕穖穗穘穙穚穛穜穝穞穟穠穡穢穣穤穥穦穧穨穩穪穫穬穭穮穯穰穱穲穳穴穵究穷穸穹空穻穼穽穾穿窀突窂窃窄窅窆窇窈窉窊窋窌窍窎窏窐窑窒窓窔窕窖窗窘窙窚窛窜窝窞窟窠窡窢窣窤窥窦窧窨窩窪窫窬窭窮窯窰窱窲窳窴窵窶窷窸窹窺窻窼窽窾窿竀竁竂竃竄竅竆竇竈竉竊立竌竍竎竏竐竑竒竓竔竕竖竗竘站竚竛竜竝竞竟章竡竢竣竤童竦竧竨竩竪竫竬竭竮端竰竱竲竳竴竵競竷竸竹竺竻竼竽竾竿笀笁笂笃笄笅笆笇笈笉笊笋笌笍笎笏笐笑笒笓笔笕笖笗笘笙笚笛笜笝笞笟笠笡笢笣笤笥符笧笨笩笪笫第笭笮笯笰笱笲笳笴笵笶笷笸笹笺笻笼笽笾笿筀筁筂筃筄筅筆筇筈等筊筋筌筍筎筏筐筑筒筓答筕策筗筘筙筚筛筜筝筞筟筠筡筢筣筤筥筦筧筨筩筪筫筬筭筮筯筰筱筲筳筴筵筶筷筸筹筺筻筼筽签筿简箁箂箃箄箅箆箇箈箉箊箋箌箍箎箏箐箑箒箓箔箕箖算箘箙箚箛箜箝箞箟箠管箢箣箤箥箦箧箨箩箪箫箬箭箮箯箰箱箲箳箴箵箶箷箸箹箺箻箼箽箾箿節篁篂篃範篅篆篇篈築篊篋篌篍篎篏篐篑篒篓篔篕篖篗篘篙篚篛篜篝篞篟篠篡篢篣篤篥篦篧篨篩篪篫篬篭篮篯篰篱篲篳篴篵篶篷篸篹篺篻篼篽篾篿簀簁簂簃簄簅簆簇簈簉簊簋簌簍簎簏簐簑簒簓簔簕簖簗簘簙簚簛簜簝簞簟簠簡簢簣簤簥簦簧簨簩簪簫簬簭簮簯簰簱簲簳簴簵簶簷簸簹簺簻簼簽簾簿籀籁籂籃籄籅籆籇籈籉籊籋籌籍籎籏籐籑籒籓籔籕籖籗籘籙籚籛籜籝籞籟籠籡籢籣籤籥籦籧籨籩籪籫籬籭籮籯籰籱籲米籴籵籶籷籸籹籺类籼籽籾籿粀粁粂粃粄粅粆粇粈粉粊粋粌粍粎粏粐粑粒粓粔粕粖粗粘粙粚粛粜粝粞粟粠粡粢粣粤粥粦粧粨粩粪粫粬粭粮粯粰粱粲粳粴粵粶粷粸粹粺粻粼粽精粿糀糁糂糃糄糅糆糇糈糉糊糋糌糍糎糏糐糑糒糓糔糕糖糗糘糙糚糛糜糝糞糟糠糡糢糣糤糥糦糧糨糩糪糫糬糭糮糯糰糱糲糳糴糵糶糷糸糹糺系糼糽糾糿紀紁紂紃約紅紆紇紈紉紊紋紌納紎紏紐紑紒紓純紕紖紗紘紙級紛紜紝紞紟素紡索紣紤紥紦紧紨紩紪紫紬紭紮累細紱紲紳紴紵紶紷紸紹紺紻紼紽紾紿絀絁終絃組絅絆絇絈絉絊絋経絍絎絏結絑絒絓絔絕絖絗絘絙絚絛絜絝絞絟絠絡絢絣絤絥給絧絨絩絪絫絬絭絮絯絰統絲絳絴絵絶絷絸絹絺絻絼絽絾絿綀綁綂綃綄綅綆綇綈綉綊綋綌綍綎綏綐綑綒經綔綕綖綗綘継続綛綜綝綞綟綠綡綢綣綤綥綦綧綨綩綪綫綬維綮綯綰綱網綳綴綵綶綷綸綹綺綻綼綽綾綿緀緁緂緃緄緅緆緇緈緉緊緋緌緍緎総緐緑緒緓緔緕緖緗緘緙線緛緜緝緞緟締緡緢緣緤緥緦緧編緩緪緫緬緭緮緯緰緱緲緳練緵緶緷緸緹緺緻緼緽緾緿縀縁縂縃縄縅縆縇縈縉縊縋縌縍縎縏縐縑縒縓縔縕縖縗縘縙縚縛縜縝縞縟縠縡縢縣縤縥縦縧縨縩縪縫縬縭縮縯縰縱縲縳縴縵縶縷縸縹縺縻縼總績縿繀繁繂繃繄繅繆繇繈繉繊繋繌繍繎繏繐繑繒繓織繕繖繗繘繙繚繛繜繝繞繟繠繡繢繣繤繥繦繧繨繩繪繫繬繭繮繯繰繱繲繳繴繵繶繷繸繹繺繻繼繽繾繿纀纁纂纃纄纅纆纇纈纉纊纋續纍纎纏纐纑纒纓纔纕纖纗纘纙纚纛纜纝纞纟纠纡红纣纤纥约级纨纩纪纫纬纭纮纯纰纱纲纳纴纵纶纷纸纹纺纻纼纽纾线绀绁绂练组绅细织终绉绊绋绌绍绎经绐绑绒结绔绕绖绗绘给绚绛络绝绞统绠绡绢绣绤绥绦继绨绩绪绫绬续绮绯绰绱绲绳维绵绶绷绸绹绺绻综绽绾绿缀缁缂缃缄缅缆缇缈缉缊缋缌缍缎缏缐缑缒缓缔缕编缗缘缙缚缛缜缝缞缟缠缡缢缣缤缥缦缧缨缩缪缫缬缭缮缯缰缱缲缳缴缵缶缷缸缹缺缻缼缽缾缿罀罁罂罃罄罅罆罇罈罉罊罋罌罍罎罏罐网罒罓罔罕罖罗罘罙罚罛罜罝罞罟罠罡罢罣罤罥罦罧罨罩罪罫罬罭置罯罰罱署罳罴罵罶罷罸罹罺罻罼罽罾罿羀羁羂羃羄羅羆羇羈羉羊羋羌羍美羏羐羑羒羓羔羕羖羗羘羙羚羛羜羝羞羟羠羡羢羣群羥羦羧羨義羪羫羬羭羮羯羰羱羲羳羴羵羶羷羸羹羺羻羼羽羾羿翀翁翂翃翄翅翆翇翈翉翊翋翌翍翎翏翐翑習翓翔翕翖翗翘翙翚翛翜翝翞翟翠翡翢翣翤翥翦翧翨翩翪翫翬翭翮翯翰翱翲翳翴翵翶翷翸翹翺翻翼翽翾翿耀老耂考耄者耆耇耈耉耊耋而耍耎耏耐耑耒耓耔耕耖耗耘耙耚耛耜耝耞耟耠耡耢耣耤耥耦耧耨耩耪耫耬耭耮耯耰耱耲耳耴耵耶耷耸耹耺耻耼耽耾耿聀聁聂聃聄聅聆聇聈聉聊聋职聍聎聏聐聑聒聓联聕聖聗聘聙聚聛聜聝聞聟聠聡聢聣聤聥聦聧聨聩聪聫聬聭聮聯聰聱聲聳聴聵聶職聸聹聺聻聼聽聾聿肀肁肂肃肄肅肆肇肈肉肊肋肌肍肎肏肐肑肒肓肔肕肖肗肘肙肚肛肜肝肞肟肠股肢肣肤肥肦肧肨肩肪肫肬肭肮肯肰肱育肳肴肵肶肷肸肹肺肻肼肽肾肿胀胁胂胃胄胅胆胇胈胉胊胋背胍胎胏胐胑胒胓胔胕胖胗胘胙胚胛胜胝胞胟胠胡胢胣胤胥胦胧胨胩胪胫胬胭胮胯胰胱胲胳胴胵胶胷胸胹胺胻胼能胾胿脀脁脂脃脄脅脆脇脈脉脊脋脌脍脎脏脐脑脒脓脔脕脖脗脘脙脚脛脜脝脞脟脠脡脢脣脤脥脦脧脨脩脪脫脬脭脮脯脰脱脲脳脴脵脶脷脸脹脺脻脼脽脾脿腀腁腂腃腄腅腆腇腈腉腊腋腌腍腎腏腐腑腒腓腔腕腖腗腘腙腚腛腜腝腞腟腠腡腢腣腤腥腦腧腨腩腪腫腬腭腮腯腰腱腲腳腴腵腶腷腸腹腺腻腼腽腾腿膀膁膂膃膄膅膆膇膈膉膊膋膌膍膎膏膐膑膒膓膔膕膖膗膘膙膚膛膜膝膞膟膠膡膢膣膤膥膦膧膨膩膪膫膬膭膮膯膰膱膲膳膴膵膶膷膸膹膺膻膼膽膾膿臀臁臂臃臄臅臆臇臈臉臊臋臌臍臎臏臐臑臒臓臔臕臖臗臘臙臚臛臜臝臞臟臠臡臢臣臤臥臦臧臨臩自臫臬臭臮臯臰臱臲至致臵臶臷臸臹臺臻臼臽臾臿舀舁舂舃舄舅舆與興舉舊舋舌舍舎舏舐舑舒舓舔舕舖舗舘舙舚舛舜舝舞舟舠舡舢舣舤舥舦舧舨舩航舫般舭舮舯舰舱舲舳舴舵舶舷舸船舺舻舼舽舾舿艀艁艂艃艄艅艆艇艈艉艊艋艌艍艎艏艐艑艒艓艔艕艖艗艘艙艚艛艜艝艞艟艠艡艢艣艤艥艦艧艨艩艪艫艬艭艮良艰艱色艳艴艵艶艷艸艹艺艻艼艽艾艿芀芁节芃芄芅芆芇芈芉芊芋芌芍芎芏芐芑芒芓芔芕芖芗芘芙芚芛芜芝芞芟芠芡芢芣芤芥芦芧芨芩芪芫芬芭芮芯芰花芲芳芴芵芶芷芸芹芺芻芼芽芾芿苀苁苂苃苄苅苆苇苈苉苊苋苌苍苎苏苐苑苒苓苔苕苖苗苘苙苚苛苜苝苞苟苠苡苢苣苤若苦苧苨苩苪苫苬苭苮苯苰英苲苳苴苵苶苷苸苹苺苻苼苽苾苿茀茁茂范茄茅茆茇茈茉茊茋茌茍茎茏茐茑茒茓茔茕茖茗茘茙茚茛茜茝茞茟茠茡茢茣茤茥茦茧茨茩茪茫茬茭茮茯茰茱茲茳茴茵茶茷茸茹茺茻茼茽茾茿荀荁荂荃荄荅荆荇荈草荊荋荌荍荎荏荐荑荒荓荔荕荖荗荘荙荚荛荜荝荞荟荠荡荢荣荤荥荦荧荨荩荪荫荬荭荮药荰荱荲荳荴荵荶荷荸荹荺荻荼荽荾荿莀莁莂莃莄莅莆莇莈莉莊莋莌莍莎莏莐莑莒莓莔莕莖莗莘莙莚莛莜莝莞莟莠莡莢莣莤莥莦莧莨莩莪莫莬莭莮莯莰莱莲莳莴莵莶获莸莹莺莻莼莽莾莿菀菁菂菃菄菅菆菇菈菉菊菋菌菍菎菏菐菑菒菓菔菕菖菗菘菙菚菛菜菝菞菟菠菡菢菣菤菥菦菧菨菩菪菫菬菭菮華菰菱菲菳菴菵菶菷菸菹菺菻菼菽菾菿萀萁萂萃萄萅萆萇萈萉萊萋萌萍萎萏萐萑萒萓萔萕萖萗萘萙萚萛萜萝萞萟萠萡萢萣萤营萦萧萨萩萪萫萬萭萮萯萰萱萲萳萴萵萶萷萸萹萺萻萼落萾萿葀葁葂葃葄葅葆葇葈葉葊葋葌葍葎葏葐葑葒葓葔葕葖著葘葙葚葛葜葝葞葟葠葡葢董葤葥葦葧葨葩葪葫葬葭葮葯葰葱葲葳葴葵葶葷葸葹葺葻葼葽葾葿蒀蒁蒂蒃蒄蒅蒆蒇蒈蒉蒊蒋蒌蒍蒎蒏蒐蒑蒒蒓蒔蒕蒖蒗蒘蒙蒚蒛蒜蒝蒞蒟蒠蒡蒢蒣蒤蒥蒦蒧蒨蒩蒪蒫蒬蒭蒮蒯蒰蒱蒲蒳蒴蒵蒶蒷蒸蒹蒺蒻蒼蒽蒾蒿蓀蓁蓂蓃蓄蓅蓆蓇蓈蓉蓊蓋蓌蓍蓎蓏蓐蓑蓒蓓蓔蓕蓖蓗蓘蓙蓚蓛蓜蓝蓞蓟蓠蓡蓢蓣蓤蓥蓦蓧蓨蓩蓪蓫蓬蓭蓮蓯蓰蓱蓲蓳蓴蓵蓶蓷蓸蓹蓺蓻蓼蓽蓾蓿蔀蔁蔂蔃蔄蔅蔆蔇蔈蔉蔊蔋蔌蔍蔎蔏蔐蔑蔒蔓蔔蔕蔖蔗蔘蔙蔚蔛蔜蔝蔞蔟蔠蔡蔢蔣蔤蔥蔦蔧蔨蔩蔪蔫蔬蔭蔮蔯蔰蔱蔲蔳蔴蔵蔶蔷蔸蔹蔺蔻蔼蔽蔾蔿蕀蕁蕂蕃蕄蕅蕆蕇蕈蕉蕊蕋蕌蕍蕎蕏蕐蕑蕒蕓蕔蕕蕖蕗蕘蕙蕚蕛蕜蕝蕞蕟蕠蕡蕢蕣蕤蕥蕦蕧蕨蕩蕪蕫蕬蕭蕮蕯蕰蕱蕲蕳蕴蕵蕶蕷蕸蕹蕺蕻蕼蕽蕾蕿薀薁薂薃薄薅薆薇薈薉薊薋薌薍薎薏薐薑薒薓薔薕薖薗薘薙薚薛薜薝薞薟薠薡薢薣薤薥薦薧薨薩薪薫薬薭薮薯薰薱薲薳薴薵薶薷薸薹薺薻薼薽薾薿藀藁藂藃藄藅藆藇藈藉藊藋藌藍藎藏藐藑藒藓藔藕藖藗藘藙藚藛藜藝藞藟藠藡藢藣藤藥藦藧藨藩藪藫藬藭藮藯藰藱藲藳藴藵藶藷藸藹藺藻藼藽藾藿蘀蘁蘂蘃蘄蘅蘆蘇蘈蘉蘊蘋蘌蘍蘎蘏蘐蘑蘒蘓蘔蘕蘖蘗蘘蘙蘚蘛蘜蘝蘞蘟蘠蘡蘢蘣蘤蘥蘦蘧蘨蘩蘪蘫蘬蘭蘮蘯蘰蘱蘲蘳蘴蘵蘶蘷蘸蘹蘺蘻蘼蘽蘾蘿虀虁虂虃虄虅虆虇虈虉虊虋虌虍虎虏虐虑虒虓虔處虖虗虘虙虚虛虜虝虞號虠虡虢虣虤虥虦虧虨虩虪虫虬虭虮虯虰虱虲虳虴虵虶虷虸虹虺虻虼虽虾虿蚀蚁蚂蚃蚄蚅蚆蚇蚈蚉蚊蚋蚌蚍蚎蚏蚐蚑蚒蚓蚔蚕蚖蚗蚘蚙蚚蚛蚜蚝蚞蚟蚠蚡蚢蚣蚤蚥蚦蚧蚨蚩蚪蚫蚬蚭蚮蚯蚰蚱蚲蚳蚴蚵蚶蚷蚸蚹蚺蚻蚼蚽蚾蚿蛀蛁蛂蛃蛄蛅蛆蛇蛈蛉蛊蛋蛌蛍蛎蛏蛐蛑蛒蛓蛔蛕蛖蛗蛘蛙蛚蛛蛜蛝蛞蛟蛠蛡蛢蛣蛤蛥蛦蛧蛨蛩蛪蛫蛬蛭蛮蛯蛰蛱蛲蛳蛴蛵蛶蛷蛸蛹蛺蛻蛼蛽蛾蛿蜀蜁蜂蜃蜄蜅蜆蜇蜈蜉蜊蜋蜌蜍蜎蜏蜐蜑蜒蜓蜔蜕蜖蜗蜘蜙蜚蜛蜜蜝蜞蜟蜠蜡蜢蜣蜤蜥蜦蜧蜨蜩蜪蜫蜬蜭蜮蜯蜰蜱蜲蜳蜴蜵蜶蜷蜸蜹蜺蜻蜼蜽蜾蜿蝀蝁蝂蝃蝄蝅蝆蝇蝈蝉蝊蝋蝌蝍蝎蝏蝐蝑蝒蝓蝔蝕蝖蝗蝘蝙蝚蝛蝜蝝蝞蝟蝠蝡蝢蝣蝤蝥蝦蝧蝨蝩蝪蝫蝬蝭蝮蝯蝰蝱蝲蝳蝴蝵蝶蝷蝸蝹蝺蝻蝼蝽蝾蝿螀螁螂螃螄螅螆螇螈螉螊螋螌融螎螏螐螑螒螓螔螕螖螗螘螙螚螛螜螝螞螟螠螡螢螣螤螥螦螧螨螩螪螫螬螭螮螯螰螱螲螳螴螵螶螷螸螹螺螻螼螽螾螿蟀蟁蟂蟃蟄蟅蟆蟇蟈蟉蟊蟋蟌蟍蟎蟏蟐蟑蟒蟓蟔蟕蟖蟗蟘蟙蟚蟛蟜蟝蟞蟟蟠蟡蟢蟣蟤蟥蟦蟧蟨蟩蟪蟫蟬蟭蟮蟯蟰蟱蟲蟳蟴蟵蟶蟷蟸蟹蟺蟻蟼蟽蟾蟿蠀蠁蠂蠃蠄蠅蠆蠇蠈蠉蠊蠋蠌蠍蠎蠏蠐蠑蠒蠓蠔蠕蠖蠗蠘蠙蠚蠛蠜蠝蠞蠟蠠蠡蠢蠣蠤蠥蠦蠧蠨蠩蠪蠫蠬蠭蠮蠯蠰蠱蠲蠳蠴蠵蠶蠷蠸蠹蠺蠻蠼蠽蠾蠿血衁衂衃衄衅衆衇衈衉衊衋行衍衎衏衐衑衒術衔衕衖街衘衙衚衛衜衝衞衟衠衡衢衣衤补衦衧表衩衪衫衬衭衮衯衰衱衲衳衴衵衶衷衸衹衺衻衼衽衾衿袀袁袂袃袄袅袆袇袈袉袊袋袌袍袎袏袐袑袒袓袔袕袖袗袘袙袚袛袜袝袞袟袠袡袢袣袤袥袦袧袨袩袪被袬袭袮袯袰袱袲袳袴袵袶袷袸袹袺袻袼袽袾袿裀裁裂裃裄装裆裇裈裉裊裋裌裍裎裏裐裑裒裓裔裕裖裗裘裙裚裛補裝裞裟裠裡裢裣裤裥裦裧裨裩裪裫裬裭裮裯裰裱裲裳裴裵裶裷裸裹裺裻裼製裾裿褀褁褂褃褄褅褆複褈褉褊褋褌褍褎褏褐褑褒褓褔褕褖褗褘褙褚褛褜褝褞褟褠褡褢褣褤褥褦褧褨褩褪褫褬褭褮褯褰褱褲褳褴褵褶褷褸褹褺褻褼褽褾褿襀襁襂襃襄襅襆襇襈襉襊襋襌襍襎襏襐襑襒襓襔襕襖襗襘襙襚襛襜襝襞襟襠襡襢襣襤襥襦襧襨襩襪襫襬襭襮襯襰襱襲襳襴襵襶襷襸襹襺襻襼襽襾西覀要覂覃覄覅覆覇覈覉覊見覌覍覎規覐覑覒覓覔覕視覗覘覙覚覛覜覝覞覟覠覡覢覣覤覥覦覧覨覩親覫覬覭覮覯覰覱覲観覴覵覶覷覸覹覺覻覼覽覾覿觀见观觃规觅视觇览觉觊觋觌觍觎觏觐觑角觓觔觕觖觗觘觙觚觛觜觝觞觟觠觡觢解觤觥触觧觨觩觪觫觬觭觮觯觰觱觲觳觴觵觶觷觸觹觺觻觼觽觾觿言訁訂訃訄訅訆訇計訉訊訋訌訍討訏訐訑訒訓訔訕訖託記訙訚訛訜訝訞訟訠訡訢訣訤訥訦訧訨訩訪訫訬設訮訯訰許訲訳訴訵訶訷訸訹診註証訽訾訿詀詁詂詃詄詅詆詇詈詉詊詋詌詍詎詏詐詑詒詓詔評詖詗詘詙詚詛詜詝詞詟詠詡詢詣詤詥試詧詨詩詪詫詬詭詮詯詰話該詳詴詵詶詷詸詹詺詻詼詽詾詿誀誁誂誃誄誅誆誇誈誉誊誋誌認誎誏誐誑誒誓誔誕誖誗誘誙誚誛誜誝語誟誠誡誢誣誤誥誦誧誨誩說誫説読誮誯誰誱課誳誴誵誶誷誸誹誺誻誼誽誾調諀諁諂諃諄諅諆談諈諉諊請諌諍諎諏諐諑諒諓諔諕論諗諘諙諚諛諜諝諞諟諠諡諢諣諤諥諦諧諨諩諪諫諬諭諮諯諰諱諲諳諴諵諶諷諸諹諺諻諼諽諾諿謀謁謂謃謄謅謆謇謈謉謊謋謌謍謎謏謐謑謒謓謔謕謖謗謘謙謚講謜謝謞謟謠謡謢謣謤謥謦謧謨謩謪謫謬謭謮謯謰謱謲謳謴謵謶謷謸謹謺謻謼謽謾謿譀譁譂譃譄譅譆譇譈證譊譋譌譍譎譏譐譑譒譓譔譕譖譗識譙譚譛譜譝譞譟譠譡譢譣譤譥警譧譨譩譪譫譬譭譮譯議譱譲譳譴譵譶護譸譹譺譻譼譽譾譿讀讁讂讃讄讅讆讇讈讉變讋讌讍讎讏讐讑讒讓讔讕讖讗讘讙讚讛讜讝讞讟讠计订讣认讥讦讧讨让讪讫讬训议讯记讱讲讳讴讵讶讷许讹论讻讼讽设访诀证诂诃评诅识诇诈诉诊诋诌词诎诏诐译诒诓诔试诖诗诘诙诚诛诜话诞诟诠诡询诣诤该详诧诨诩诪诫诬语诮误诰诱诲诳说诵诶请诸诹诺读诼诽课诿谀谁谂调谄谅谆谇谈谉谊谋谌谍谎谏谐谑谒谓谔谕谖谗谘谙谚谛谜谝谞谟谠谡谢谣谤谥谦谧谨谩谪谫谬谭谮谯谰谱谲谳谴谵谶谷谸谹谺谻谼谽谾谿豀豁豂豃豄豅豆豇豈豉豊豋豌豍豎豏豐豑豒豓豔豕豖豗豘豙豚豛豜豝豞豟豠象豢豣豤豥豦豧豨豩豪豫豬豭豮豯豰豱豲豳豴豵豶豷豸豹豺豻豼豽豾豿貀貁貂貃貄貅貆貇貈貉貊貋貌貍貎貏貐貑貒貓貔貕貖貗貘貙貚貛貜貝貞貟負財貢貣貤貥貦貧貨販貪貫責貭貮貯貰貱貲貳貴貵貶買貸貹貺費貼貽貾貿賀賁賂賃賄賅賆資賈賉賊賋賌賍賎賏賐賑賒賓賔賕賖賗賘賙賚賛賜賝賞賟賠賡賢賣賤賥賦賧賨賩質賫賬賭賮賯賰賱賲賳賴賵賶賷賸賹賺賻購賽賾賿贀贁贂贃贄贅贆贇贈贉贊贋贌贍贎贏贐贑贒贓贔贕贖贗贘贙贚贛贜贝贞负贠贡财责贤败账货质贩贪贫贬购贮贯贰贱贲贳贴贵贶贷贸费贺贻贼贽贾贿赀赁赂赃资赅赆赇赈赉赊赋赌赍赎赏赐赑赒赓赔赕赖赗赘赙赚赛赜赝赞赟赠赡赢赣赤赥赦赧赨赩赪赫赬赭赮赯走赱赲赳赴赵赶起赸赹赺赻赼赽赾赿趀趁趂趃趄超趆趇趈趉越趋趌趍趎趏趐趑趒趓趔趕趖趗趘趙趚趛趜趝趞趟趠趡趢趣趤趥趦趧趨趩趪趫趬趭趮趯趰趱趲足趴趵趶趷趸趹趺趻趼趽趾趿跀跁跂跃跄跅跆跇跈跉跊跋跌跍跎跏跐跑跒跓跔跕跖跗跘跙跚跛跜距跞跟跠跡跢跣跤跥跦跧跨跩跪跫跬跭跮路跰跱跲跳跴践跶跷跸跹跺跻跼跽跾跿踀踁踂踃踄踅踆踇踈踉踊踋踌踍踎踏踐踑踒踓踔踕踖踗踘踙踚踛踜踝踞踟踠踡踢踣踤踥踦踧踨踩踪踫踬踭踮踯踰踱踲踳踴踵踶踷踸踹踺踻踼踽踾踿蹀蹁蹂蹃蹄蹅蹆蹇蹈蹉蹊蹋蹌蹍蹎蹏蹐蹑蹒蹓蹔蹕蹖蹗蹘蹙蹚蹛蹜蹝蹞蹟蹠蹡蹢蹣蹤蹥蹦蹧蹨蹩蹪蹫蹬蹭蹮蹯蹰蹱蹲蹳蹴蹵蹶蹷蹸蹹蹺蹻蹼蹽蹾蹿躀躁躂躃躄躅躆躇躈躉躊躋躌躍躎躏躐躑躒躓躔躕躖躗躘躙躚躛躜躝躞躟躠躡躢躣躤躥躦躧躨躩躪身躬躭躮躯躰躱躲躳躴躵躶躷躸躹躺躻躼躽躾躿軀軁軂軃軄軅軆軇軈軉車軋軌軍軎軏軐軑軒軓軔軕軖軗軘軙軚軛軜軝軞軟軠軡転軣軤軥軦軧軨軩軪軫軬軭軮軯軰軱軲軳軴軵軶軷軸軹軺軻軼軽軾軿輀輁輂較輄輅輆輇輈載輊輋輌輍輎輏輐輑輒輓輔輕輖輗輘輙輚輛輜輝輞輟輠輡輢輣輤輥輦輧輨輩輪輫輬輭輮輯輰輱輲輳輴輵輶輷輸輹輺輻輼輽輾輿轀轁轂轃轄轅轆轇轈轉轊轋轌轍轎轏轐轑轒轓轔轕轖轗轘轙轚轛轜轝轞轟轠轡轢轣轤轥车轧轨轩轪轫转轭轮软轰轱轲轳轴轵轶轷轸轹轺轻轼载轾轿辀辁辂较辄辅辆辇辈辉辊辋辌辍辎辏辐辑辒输辔辕辖辗辘辙辚辛辜辝辞辟辠辡辢辣辤辥辦辧辨辩辪辫辬辭辮辯辰辱農辳辴辵辶辷辸边辺辻込辽达辿迀迁迂迃迄迅迆过迈迉迊迋迌迍迎迏运近迒迓返迕迖迗还这迚进远违连迟迠迡迢迣迤迥迦迧迨迩迪迫迬迭迮迯述迱迲迳迴迵迶迷迸迹迺迻迼追迾迿退送适逃逄逅逆逇逈选逊逋逌逍逎透逐逑递逓途逕逖逗逘這通逛逜逝逞速造逡逢連逤逥逦逧逨逩逪逫逬逭逮逯逰週進逳逴逵逶逷逸逹逺逻逼逽逾逿遀遁遂遃遄遅遆遇遈遉遊運遌遍過遏遐遑遒道達違遖遗遘遙遚遛遜遝遞遟遠遡遢遣遤遥遦遧遨適遪遫遬遭遮遯遰遱遲遳遴遵遶遷選遹遺遻遼遽遾避邀邁邂邃還邅邆邇邈邉邊邋邌邍邎邏邐邑邒邓邔邕邖邗邘邙邚邛邜邝邞邟邠邡邢那邤邥邦邧邨邩邪邫邬邭邮邯邰邱邲邳邴邵邶邷邸邹邺邻邼邽邾邿郀郁郂郃郄郅郆郇郈郉郊郋郌郍郎郏郐郑郒郓郔郕郖郗郘郙郚郛郜郝郞郟郠郡郢郣郤郥郦郧部郩郪郫郬郭郮郯郰郱郲郳郴郵郶郷郸郹郺郻郼都郾郿鄀鄁鄂鄃鄄鄅鄆鄇鄈鄉鄊鄋鄌鄍鄎鄏鄐鄑鄒鄓鄔鄕鄖鄗鄘鄙鄚鄛鄜鄝鄞鄟鄠鄡鄢鄣鄤鄥鄦鄧鄨鄩鄪鄫鄬鄭鄮鄯鄰鄱鄲鄳鄴鄵鄶鄷鄸鄹鄺鄻鄼鄽鄾鄿酀酁酂酃酄酅酆酇酈酉酊酋酌配酎酏酐酑酒酓酔酕酖酗酘酙酚酛酜酝酞酟酠酡酢酣酤酥酦酧酨酩酪酫酬酭酮酯酰酱酲酳酴酵酶酷酸酹酺酻酼酽酾酿醀醁醂醃醄醅醆醇醈醉醊醋醌醍醎醏醐醑醒醓醔醕醖醗醘醙醚醛醜醝醞醟醠醡醢醣醤醥醦醧醨醩醪醫醬醭醮醯醰醱醲醳醴醵醶醷醸醹醺醻醼醽醾醿釀釁釂釃釄釅釆采釈釉释釋里重野量釐金釒釓釔釕釖釗釘釙釚釛釜針釞釟釠釡釢釣釤釥釦釧釨釩釪釫釬釭釮釯釰釱釲釳釴釵釶釷釸釹釺釻釼釽釾釿鈀鈁鈂鈃鈄鈅鈆鈇鈈鈉鈊鈋鈌鈍鈎鈏鈐鈑鈒鈓鈔鈕鈖鈗鈘鈙鈚鈛鈜鈝鈞鈟鈠鈡鈢鈣鈤鈥鈦鈧鈨鈩鈪鈫鈬鈭鈮鈯鈰鈱鈲鈳鈴鈵鈶鈷鈸鈹鈺鈻鈼鈽鈾鈿鉀鉁鉂鉃鉄鉅鉆鉇鉈鉉鉊鉋鉌鉍鉎鉏鉐鉑鉒鉓鉔鉕鉖鉗鉘鉙鉚鉛鉜鉝鉞鉟鉠鉡鉢鉣鉤鉥鉦鉧鉨鉩鉪鉫鉬鉭鉮鉯鉰鉱鉲鉳鉴鉵鉶鉷鉸鉹鉺鉻鉼鉽鉾鉿銀銁銂銃銄銅銆銇銈銉銊銋銌銍銎銏銐銑銒銓銔銕銖銗銘銙銚銛銜銝銞銟銠銡銢銣銤銥銦銧銨銩銪銫銬銭銮銯銰銱銲銳銴銵銶銷銸銹銺銻銼銽銾銿鋀鋁鋂鋃鋄鋅鋆鋇鋈鋉鋊鋋鋌鋍鋎鋏鋐鋑鋒鋓鋔鋕鋖鋗鋘鋙鋚鋛鋜鋝鋞鋟鋠鋡鋢鋣鋤鋥鋦鋧鋨鋩鋪鋫鋬鋭鋮鋯鋰鋱鋲鋳鋴鋵鋶鋷鋸鋹鋺鋻鋼鋽鋾鋿錀錁錂錃錄錅錆錇錈錉錊錋錌錍錎錏錐錑錒錓錔錕錖錗錘錙錚錛錜錝錞錟錠錡錢錣錤錥錦錧錨錩錪錫錬錭錮錯錰錱録錳錴錵錶錷錸錹錺錻錼錽錾錿鍀鍁鍂鍃鍄鍅鍆鍇鍈鍉鍊鍋鍌鍍鍎鍏鍐鍑鍒鍓鍔鍕鍖鍗鍘鍙鍚鍛鍜鍝鍞鍟鍠鍡鍢鍣鍤鍥鍦鍧鍨鍩鍪鍫鍬鍭鍮鍯鍰鍱鍲鍳鍴鍵鍶鍷鍸鍹鍺鍻鍼鍽鍾鍿鎀鎁鎂鎃鎄鎅鎆鎇鎈鎉鎊鎋鎌鎍鎎鎏鎐鎑鎒鎓鎔鎕鎖鎗鎘鎙鎚鎛鎜鎝鎞鎟鎠鎡鎢鎣鎤鎥鎦鎧鎨鎩鎪鎫鎬鎭鎮鎯鎰鎱鎲鎳鎴鎵鎶鎷鎸鎹鎺鎻鎼鎽鎾鎿鏀鏁鏂鏃鏄鏅鏆鏇鏈鏉鏊鏋鏌鏍鏎鏏鏐鏑鏒鏓鏔鏕鏖鏗鏘鏙鏚鏛鏜鏝鏞鏟鏠鏡鏢鏣鏤鏥鏦鏧鏨鏩鏪鏫鏬鏭鏮鏯鏰鏱鏲鏳鏴鏵鏶鏷鏸鏹鏺鏻鏼鏽鏾鏿鐀鐁鐂鐃鐄鐅鐆鐇鐈鐉鐊鐋鐌鐍鐎鐏鐐鐑鐒鐓鐔鐕鐖鐗鐘鐙鐚鐛鐜鐝鐞鐟鐠鐡鐢鐣鐤鐥鐦鐧鐨鐩鐪鐫鐬鐭鐮鐯鐰鐱鐲鐳鐴鐵鐶鐷鐸鐹鐺鐻鐼鐽鐾鐿鑀鑁鑂鑃鑄鑅鑆鑇鑈鑉鑊鑋鑌鑍鑎鑏鑐鑑鑒鑓鑔鑕鑖鑗鑘鑙鑚鑛鑜鑝鑞鑟鑠鑡鑢鑣鑤鑥鑦鑧鑨鑩鑪鑫鑬鑭鑮鑯鑰鑱鑲鑳鑴鑵鑶鑷鑸鑹鑺鑻鑼鑽鑾鑿钀钁钂钃钄钅钆钇针钉钊钋钌钍钎钏钐钑钒钓钔钕钖钗钘钙钚钛钜钝钞钟钠钡钢钣钤钥钦钧钨钩钪钫钬钭钮钯钰钱钲钳钴钵钶钷钸钹钺钻钼钽钾钿铀铁铂铃铄铅铆铇铈铉铊铋铌铍铎铏铐铑铒铓铔铕铖铗铘铙铚铛铜铝铞铟铠铡铢铣铤铥铦铧铨铩铪铫铬铭铮铯铰铱铲铳铴铵银铷铸铹铺铻铼铽链铿销锁锂锃锄锅锆锇锈锉锊锋锌锍锎锏锐锑锒锓锔锕锖锗锘错锚锛锜锝锞锟锠锡锢锣锤锥锦锧锨锩锪锫锬锭键锯锰锱锲锳锴锵锶锷锸锹锺锻锼锽锾锿镀镁镂镃镄镅镆镇镈镉镊镋镌镍镎镏镐镑镒镓镔镕镖镗镘镙镚镛镜镝镞镟镠镡镢镣镤镥镦镧镨镩镪镫镬镭镮镯镰镱镲镳镴镵镶長镸镹镺镻镼镽镾长門閁閂閃閄閅閆閇閈閉閊開閌閍閎閏閐閑閒間閔閕閖閗閘閙閚閛閜閝閞閟閠閡関閣閤閥閦閧閨閩閪閫閬閭閮閯閰閱閲閳閴閵閶閷閸閹閺閻閼閽閾閿闀闁闂闃闄闅闆闇闈闉闊闋闌闍闎闏闐闑闒闓闔闕闖闗闘闙闚闛關闝闞闟闠闡闢闣闤闥闦闧门闩闪闫闬闭问闯闰闱闲闳间闵闶闷闸闹闺闻闼闽闾闿阀阁阂阃阄阅阆阇阈阉阊阋阌阍阎阏阐阑阒阓阔阕阖阗阘阙阚阛阜阝阞队阠阡阢阣阤阥阦阧阨阩阪阫阬阭阮阯阰阱防阳阴阵阶阷阸阹阺阻阼阽阾阿陀陁陂陃附际陆陇陈陉陊陋陌降陎陏限陑陒陓陔陕陖陗陘陙陚陛陜陝陞陟陠陡院陣除陥陦陧陨险陪陫陬陭陮陯陰陱陲陳陴陵陶陷陸陹険陻陼陽陾陿隀隁隂隃隄隅隆隇隈隉隊隋隌隍階随隐隑隒隓隔隕隖隗隘隙隚際障隝隞隟隠隡隢隣隤隥隦隧隨隩險隫隬隭隮隯隰隱隲隳隴隵隶隷隸隹隺隻隼隽难隿雀雁雂雃雄雅集雇雈雉雊雋雌雍雎雏雐雑雒雓雔雕雖雗雘雙雚雛雜雝雞雟雠雡離難雤雥雦雧雨雩雪雫雬雭雮雯雰雱雲雳雴雵零雷雸雹雺電雼雽雾雿需霁霂霃霄霅霆震霈霉霊霋霌霍霎霏霐霑霒霓霔霕霖霗霘霙霚霛霜霝霞霟霠霡霢霣霤霥霦霧霨霩霪霫霬霭霮霯霰霱露霳霴霵霶霷霸霹霺霻霼霽霾霿靀靁靂靃靄靅靆靇靈靉靊靋靌靍靎靏靐靑青靓靔靕靖靗靘静靚靛靜靝非靟靠靡面靣靤靥靦靧靨革靪靫靬靭靮靯靰靱靲靳靴靵靶靷靸靹靺靻靼靽靾靿鞀鞁鞂鞃鞄鞅鞆鞇鞈鞉鞊鞋鞌鞍鞎鞏鞐鞑鞒鞓鞔鞕鞖鞗鞘鞙鞚鞛鞜鞝鞞鞟鞠鞡鞢鞣鞤鞥鞦鞧鞨鞩鞪鞫鞬鞭鞮鞯鞰鞱鞲鞳鞴鞵鞶鞷鞸鞹鞺鞻鞼鞽鞾鞿韀韁韂韃韄韅韆韇韈韉韊韋韌韍韎韏韐韑韒韓韔韕韖韗韘韙韚韛韜韝韞韟韠韡韢韣韤韥韦韧韨韩韪韫韬韭韮韯韰韱韲音韴韵韶韷韸韹韺韻韼韽韾響頀頁頂頃頄項順頇須頉頊頋頌頍頎頏預頑頒頓頔頕頖頗領頙頚頛頜頝頞頟頠頡頢頣頤頥頦頧頨頩頪頫頬頭頮頯頰頱頲頳頴頵頶頷頸頹頺頻頼頽頾頿顀顁顂顃顄顅顆顇顈顉顊顋題額顎顏顐顑顒顓顔顕顖顗願顙顚顛顜顝類顟顠顡顢顣顤顥顦顧顨顩顪顫顬顭顮顯顰顱顲顳顴页顶顷顸项顺须顼顽顾顿颀颁颂颃预颅领颇颈颉颊颋颌颍颎颏颐频颒颓颔颕颖颗题颙颚颛颜额颞颟颠颡颢颣颤颥颦颧風颩颪颫颬颭颮颯颰颱颲颳颴颵颶颷颸颹颺颻颼颽颾颿飀飁飂飃飄飅飆飇飈飉飊飋飌飍风飏飐飑飒飓飔飕飖飗飘飙飚飛飜飝飞食飠飡飢飣飤飥飦飧飨飩飪飫飬飭飮飯飰飱飲飳飴飵飶飷飸飹飺飻飼飽飾飿餀餁餂餃餄餅餆餇餈餉養餋餌餍餎餏餐餑餒餓餔餕餖餗餘餙餚餛餜餝餞餟餠餡餢餣餤餥餦餧館餩餪餫餬餭餮餯餰餱餲餳餴餵餶餷餸餹餺餻餼餽餾餿饀饁饂饃饄饅饆饇饈饉饊饋饌饍饎饏饐饑饒饓饔饕饖饗饘饙饚饛饜饝饞饟饠饡饢饣饤饥饦饧饨饩饪饫饬饭饮饯饰饱饲饳饴饵饶饷饸饹饺饻饼饽饾饿馀馁馂馃馄馅馆馇馈馉馊馋馌馍馎馏馐馑馒馓馔馕首馗馘香馚馛馜馝馞馟馠馡馢馣馤馥馦馧馨馩馪馫馬馭馮馯馰馱馲馳馴馵馶馷馸馹馺馻馼馽馾馿駀駁駂駃駄駅駆駇駈駉駊駋駌駍駎駏駐駑駒駓駔駕駖駗駘駙駚駛駜駝駞駟駠駡駢駣駤駥駦駧駨駩駪駫駬駭駮駯駰駱駲駳駴駵駶駷駸駹駺駻駼駽駾駿騀騁騂騃騄騅騆騇騈騉騊騋騌騍騎騏騐騑騒験騔騕騖騗騘騙騚騛騜騝騞騟騠騡騢騣騤騥騦騧騨騩騪騫騬騭騮騯騰騱騲騳騴騵騶騷騸騹騺騻騼騽騾騿驀驁驂驃驄驅驆驇驈驉驊驋驌驍驎驏驐驑驒驓驔驕驖驗驘驙驚驛驜驝驞驟驠驡驢驣驤驥驦驧驨驩驪驫马驭驮驯驰驱驲驳驴驵驶驷驸驹驺驻驼驽驾驿骀骁骂骃骄骅骆骇骈骉骊骋验骍骎骏骐骑骒骓骔骕骖骗骘骙骚骛骜骝骞骟骠骡骢骣骤骥骦骧骨骩骪骫骬骭骮骯骰骱骲骳骴骵骶骷骸骹骺骻骼骽骾骿髀髁髂髃髄髅髆髇髈髉髊髋髌髍髎髏髐髑髒髓體髕髖髗高髙髚髛髜髝髞髟髠髡髢髣髤髥髦髧髨髩髪髫髬髭髮髯髰髱髲髳髴髵髶髷髸髹髺髻髼髽髾髿鬀鬁鬂鬃鬄鬅鬆鬇鬈鬉鬊鬋鬌鬍鬎鬏鬐鬑鬒鬓鬔鬕鬖鬗鬘鬙鬚鬛鬜鬝鬞鬟鬠鬡鬢鬣鬤鬥鬦鬧鬨鬩鬪鬫鬬鬭鬮鬯鬰鬱鬲鬳鬴鬵鬶鬷鬸鬹鬺鬻鬼鬽鬾鬿魀魁魂魃魄魅魆魇魈魉魊魋魌魍魎魏魐魑魒魓魔魕魖魗魘魙魚魛魜魝魞魟魠魡魢魣魤魥魦魧魨魩魪魫魬魭魮魯魰魱魲魳魴魵魶魷魸魹魺魻魼魽魾魿鮀鮁鮂鮃鮄鮅鮆鮇鮈鮉鮊鮋鮌鮍鮎鮏鮐鮑鮒鮓鮔鮕鮖鮗鮘鮙鮚鮛鮜鮝鮞鮟鮠鮡鮢鮣鮤鮥鮦鮧鮨鮩鮪鮫鮬鮭鮮鮯鮰鮱鮲鮳鮴鮵鮶鮷鮸鮹鮺鮻鮼鮽鮾鮿鯀鯁鯂鯃鯄鯅鯆鯇鯈鯉鯊鯋鯌鯍鯎鯏鯐鯑鯒鯓鯔鯕鯖鯗鯘鯙鯚鯛鯜鯝鯞鯟鯠鯡鯢鯣鯤鯥鯦鯧鯨鯩鯪鯫鯬鯭鯮鯯鯰鯱鯲鯳鯴鯵鯶鯷鯸鯹鯺鯻鯼鯽鯾鯿鰀鰁鰂鰃鰄鰅鰆鰇鰈鰉鰊鰋鰌鰍鰎鰏鰐鰑鰒鰓鰔鰕鰖鰗鰘鰙鰚鰛鰜鰝鰞鰟鰠鰡鰢鰣鰤鰥鰦鰧鰨鰩鰪鰫鰬鰭鰮鰯鰰鰱鰲鰳鰴鰵鰶鰷鰸鰹鰺鰻鰼鰽鰾鰿鱀鱁鱂鱃鱄鱅鱆鱇鱈鱉鱊鱋鱌鱍鱎鱏鱐鱑鱒鱓鱔鱕鱖鱗鱘鱙鱚鱛鱜鱝鱞鱟鱠鱡鱢鱣鱤鱥鱦鱧鱨鱩鱪鱫鱬鱭鱮鱯鱰鱱鱲鱳鱴鱵鱶鱷鱸鱹鱺鱻鱼鱽鱾鱿鲀鲁鲂鲃鲄鲅鲆鲇鲈鲉鲊鲋鲌鲍鲎鲏鲐鲑鲒鲓鲔鲕鲖鲗鲘鲙鲚鲛鲜鲝鲞鲟鲠鲡鲢鲣鲤鲥鲦鲧鲨鲩鲪鲫鲬鲭鲮鲯鲰鲱鲲鲳鲴鲵鲶鲷鲸鲹鲺鲻鲼鲽鲾鲿鳀鳁鳂鳃鳄鳅鳆鳇鳈鳉鳊鳋鳌鳍鳎鳏鳐鳑鳒鳓鳔鳕鳖鳗鳘鳙鳚鳛鳜鳝鳞鳟鳠鳡鳢鳣鳤鳥鳦鳧鳨鳩鳪鳫鳬鳭鳮鳯鳰鳱鳲鳳鳴鳵鳶鳷鳸鳹鳺鳻鳼鳽鳾鳿鴀鴁鴂鴃鴄鴅鴆鴇鴈鴉鴊鴋鴌鴍鴎鴏鴐鴑鴒鴓鴔鴕鴖鴗鴘鴙鴚鴛鴜鴝鴞鴟鴠鴡鴢鴣鴤鴥鴦鴧鴨鴩鴪鴫鴬鴭鴮鴯鴰鴱鴲鴳鴴鴵鴶鴷鴸鴹鴺鴻鴼鴽鴾鴿鵀鵁鵂鵃鵄鵅鵆鵇鵈鵉鵊鵋鵌鵍鵎鵏鵐鵑鵒鵓鵔鵕鵖鵗鵘鵙鵚鵛鵜鵝鵞鵟鵠鵡鵢鵣鵤鵥鵦鵧鵨鵩鵪鵫鵬鵭鵮鵯鵰鵱鵲鵳鵴鵵鵶鵷鵸鵹鵺鵻鵼鵽鵾鵿鶀鶁鶂鶃鶄鶅鶆鶇鶈鶉鶊鶋鶌鶍鶎鶏鶐鶑鶒鶓鶔鶕鶖鶗鶘鶙鶚鶛鶜鶝鶞鶟鶠鶡鶢鶣鶤鶥鶦鶧鶨鶩鶪鶫鶬鶭鶮鶯鶰鶱鶲鶳鶴鶵鶶鶷鶸鶹鶺鶻鶼鶽鶾鶿鷀鷁鷂鷃鷄鷅鷆鷇鷈鷉鷊鷋鷌鷍鷎鷏鷐鷑鷒鷓鷔鷕鷖鷗鷘鷙鷚鷛鷜鷝鷞鷟鷠鷡鷢鷣鷤鷥鷦鷧鷨鷩鷪鷫鷬鷭鷮鷯鷰鷱鷲鷳鷴鷵鷶鷷鷸鷹鷺鷻鷼鷽鷾鷿鸀鸁鸂鸃鸄鸅鸆鸇鸈鸉鸊鸋鸌鸍鸎鸏鸐鸑鸒鸓鸔鸕鸖鸗鸘鸙鸚鸛鸜鸝鸞鸟鸠鸡鸢鸣鸤鸥鸦鸧鸨鸩鸪鸫鸬鸭鸮鸯鸰鸱鸲鸳鸴鸵鸶鸷鸸鸹鸺鸻鸼鸽鸾鸿鹀鹁鹂鹃鹄鹅鹆鹇鹈鹉鹊鹋鹌鹍鹎鹏鹐鹑鹒鹓鹔鹕鹖鹗鹘鹙鹚鹛鹜鹝鹞鹟鹠鹡鹢鹣鹤鹥鹦鹧鹨鹩鹪鹫鹬鹭鹮鹯鹰鹱鹲鹳鹴鹵鹶鹷鹸鹹鹺鹻鹼鹽鹾鹿麀麁麂麃麄麅麆麇麈麉麊麋麌麍麎麏麐麑麒麓麔麕麖麗麘麙麚麛麜麝麞麟麠麡麢麣麤麥麦麧麨麩麪麫麬麭麮麯麰麱麲麳麴麵麶麷麸麹麺麻麼麽麾麿黀黁黂黃黄黅黆黇黈黉黊黋黌黍黎黏黐黑黒黓黔黕黖黗默黙黚黛黜黝點黟黠黡黢黣黤黥黦黧黨黩黪黫黬黭黮黯黰黱黲黳黴黵黶黷黸黹黺黻黼黽黾黿鼀鼁鼂鼃鼄鼅鼆鼇鼈鼉鼊鼋鼌鼍鼎鼏鼐鼑鼒鼓鼔鼕鼖鼗鼘鼙鼚鼛鼜鼝鼞鼟鼠鼡鼢鼣鼤鼥鼦鼧鼨鼩鼪鼫鼬鼭鼮鼯鼰鼱鼲鼳鼴鼵鼶鼷鼸鼹鼺鼻鼼鼽鼾鼿齀齁齂齃齄齅齆齇齈齉齊齋齌齍齎齏齐齑齒齓齔齕齖齗齘齙齚齛齜齝齞齟齠齡齢齣齤齥齦齧齨齩齪齫齬齭齮齯齰齱齲齳齴齵齶齷齸齹齺齻齼齽齾齿龀龁龂龃龄龅龆龇龈龉龊龋龌龍龎龏龐龑龒龓龔龕龖龗龘龙龚龛龜龝龞龟龠龡龢龣龤龥龦龧龨龩龪龫龬龭龮龯龰龱龲龳龴龵龶龷龸龹龺龻龼龽龾龿鿀鿁鿂鿃鿄鿅鿆鿇鿈鿉鿊鿋鿌鿍鿎鿏鿐鿑鿒鿓鿔鿕鿖鿗鿘鿙鿚鿛鿜鿝鿞鿟鿠鿡鿢鿣鿤鿥鿦鿧鿨鿩鿪鿫鿬鿭鿮鿯"; // 20976 个汉字 var HC = "a51a3260829694d329130d166e9d7f851bfc33740f91a624f07a557328a89649346032345c84cc797b5f2d2f0ecfad54c5b1ec9c292c27c4f908bf4426a44e839a4ead8d30db9b09b3a4a7e294b14b95addfcafae6ed652e95a0d991c3c4ddfdc9112091e71d33fb15f1c5a50b2ffd54ba545b60ee104254b059d7c7fa4902908ba2382bc475eb1d3a0faf616df7e3871eac2cf014573de4c2a3c52c31f6a9902479989e66242d6f82af0f98ea319e0255bdbd8ea946620c97af769455d36d732e5fa1bae3957fe256f740ff473e198cd7a52e4e484f32e5b9b119059bbf669597749ba03a640b147ca738550c39b907b05d9a8d69688864583e7da9f67c227798747b28fecff04d237a3e0f72749c996b6b58d42b3227ce5ee53fadbdba51faaf539b0e631412b978bdafdea8fe548eab91cf19a472c64bec04004db62cd8dd2bf6a6482e2d0f83c414b18a2e43f40874717e48bef25b076e5c1d3d13554883efb7d99b852170e1f6651e971de5f6b2d242482ed2e3e5f91f085cde28c0add7589d53446dac41432af50f1a38698a14dd8c3ef735dbba8d85b5d1cbe0771e47fa68f11263c387aea5f67a961f2b11f663e36a5a000cc21d5fbc9f578b782c36fbbb77714b71f37238242e3897005971e3c9680e44403acf9e541653dd86418dd34407f392a10198abe057d160f33f1c696381fac33f5d5a1ae4532f3081a1fafc2882617bc18ebaf644337062e476302b494da7507bc7ae9b0d4ef10daa7e080c1f8605611bf267d84364cadb95eb3826bd48f2f13fd12dc321254cd21722d3727579755bfec6f883c0b0faa7539e146c83ed78cca5c9405e2f416a12cc1c2770405f81ee1be36a2c536d72608fd18598a4eb2bc651c9022fb42eb6be9778547cfbc8e9dd120f86367e70562cf4041fc0a7af672c4f0a607a16b9d719684acb2463111498a7dc836e0db41b503e545b38ec2f0f9c04c1d1c38c4ffc56a96fba71e0a6576711120850c306a48d685d4efe6c4633fd80d33f7a842a16fdef3cdfec0935a3fac0cb96323fcbac8561a92b2c370f57fa7523c24f67b597f7a56b9456dd9bd744fb9c5e6dffbe3ba203e5bdec96973fde645bf851145eec7487a50e802f1e7f808eaaae45f44a2aa2afc83f695532075bb89d0d961aa275b12f6e423a1083b005a766310cd3362c2b19901884b02d8568c0ced6398256d2c392ea392ab3004819031332744dd962d869d67c2c72555783cede882d7e0386f8740521f107bd9fe9e0501eaf6171ef3cb305d46b0edc338b5c51c6ff4bcb41693c189e6d3f2505b79acaece11a6b4e48517617d1c0607cd00210fcb904760ba2579df53c2269c7bdf06918092d80368a7bf036e7ff4d7d8fe8363e36b5a87440501cee07390bceed062ed182cdcfa2af6bc4c209541bfc1614d531e8a904face85abee5a038fa9ff2731a3d52e899383d4f2eef8dd1265a16fd2e264f132a3abad42f789fe4e46857ed57c865771611b059e3309e9ac73c8032377fa69f44849c701cdefbff5967a04e1f2faa123fd7163600925c276b2ff7a7995078cf119b20ac6946395b33410f0175b73305d376c29ca0bfb00996b4437790fa759c144c1e0030c668a8a87cd92002351b9ccf8f6f9e0ab3650d842e53065998bdc3abb617d5d4634dd456af6331f4c51e611338164a9965a3e91e282b8d1d8288ed5f488cc8144423238849d5672c667988587ee317acb81c88072a65713d85a18bfddfeb847e7b5c5abb32a4a9a86e0d7311b370043c398ba442ea0593095e6056750816d05a12b3e799178f3a170f41730e9d135d21ae31a05207670c31cc8ecc27d4785998af52ab0c66e34bcb54a4b164db5a07486b1574e57c690e0eb4659d3b54ac3baca6b93320f3cffb83d942f6c9de473db9571b6daba26bb43b8717ded525c7dea5819db2194f118c8040e8c7da5f8a1d10b15f4ddfc4389a26f06d632409f035231f59136808c24cbec47bedce9c090bb646e913848a8c77815b0c8ef2543eaf582ea4d7d2b72b19893a5be6585c79479b8b26fc08d8393eb2eadeb53bcbe1ac56c52809ed2e3bc1f0308198a267a8d22c5b10e659612477610522f2ccd7c295ad642382d2d8628286acb9e7a91d644d299c41cceb3ec1398f4b2d2c2202f308d70f758cc204c4345dfaf7e15190e71b08218d0e98d5880d52c80ddd3df4e93cd37d6f40c4410679aec310a5667cfb7d0dcbdd4660246e14522f928bca20fcf2086ebe0225852fe70cebeae9e0f8f7c9c4fb8bf53c6f5e8d5366ee896b2be4415e3687f7b9f92b8255c6d977e908b41b72f8a364162e912dc37770e6a1db0c25ec7fd919825566b5b0246b38426a8161255e695ee363a1ad7c5749b6b12dcf6d34b4f17b8b4728aab091de6ac3f95a017515bbf899708cd5987ab3e8bf2a1e06ece28bbc119648133ccc32073643cdf6df8267c31200855a3467a8c9984b9a1fac0a46cf652124cfc648ea3dfd9b81ca142a3c8821cb75e3af1a7d2ce12355842930a3ea9f860f0941181fc74328e6a3e808435cd623aa043e5e5bdcacfdaa46755807251cbc8881567bc81df261632f15ce120f833c57797bf85b8423515f35767b9a935d5d5f0c5bb15a90dcaa79101ff093e20714befa0e00faec4e076e3c748f26df1e12eb241c469d4915b28f660671e77fb403a174439126757a85b1f3d368ed36e5d7d95a3c6d478181077d6ead49ebd008b34d68e56be15c53dc17c725927561bbf37b097d51de7f73a5681bab9f24f6777a30a88bc1bd482264fff2ec102d90bb7aec14674a26cf49555db18ad775186b11769ceede2a0b7b2c10a60ab6de03582d238899d86c8d146ecbe6c00d4e9e23f1cdda9dea8868024ad6d97b8adce8c4784a3202042fcce5a9ad86689bab33701fd154965e5a9b4b012a83b30d49f99b08064888e0f733bb5125440c7ef755b45a53280cc5af38e00cef87bcd776b0cf72b09d64a8619bf35881f6d077fc5a0517767107a2187a249fcc954a32f864d2ee15ca04350b5360ac754130acc4ce19fa52ee487f1fe43a8739010293e8fb95fdd0f1c0d560d0ff171453744c0b3f5026f61bab146daaccc794f22fdf373b74ef691ee6a05169e731cd325d8b0ae5eef78e8639e22dfad9c9a29889af0ba1f624e20280365de0468afcb53cfc4faaaa98766cecbe2ccd53364db07e3b148a256964e05a00526ae4cb28d1c220d22d2d149e587691fcdb5ac42933d1b3ddc4611a041b14696788427bbd2c17beafff12ba4d6a9cf62bd2212d33b9693cfd761a3b88dc1ab74ea3b27ea470fd5a02cb4307e5fda1057f38ad4e6b39bb9f65d2d6ef0fdece95e1378b23c0ec7ee690478a23c5f557807133791b72bd561b4d36038e12097955349bae7d34d8ff17fe5c9dc2a1961fe330922d45352ec2f73c0b04b7a050defd6778916a4bd3172494dda43a69539eb8028a78788cfc83b5900de4a011625f74924081fdc4635316c67d7fb07a7ac43e6b1d3be94fad5780fb886d322069176b365cd059c5f002e28f6bd85dd3a85acabdb9b2c627ba58ecaa2b0be65e129130f4235c95482d3bb81b41a9edf71ac281c6e15325656c2a3cb90ffc76db8a16895bdf3e905363c87c8f99dfd8706b7e9b60906741ce15054ccca97a730a7e63206482369fd87a125c585fba42652648be68c23bf36aa6b8982b282674740b5398f6220af54804062563afcc5cb1e9e1adfd88ee81ca9429c658dcd956c30fdd6b7de2f6d66c0d6803714c1e2c5a9afe4a9ada901e9a53c9a716358af544c68469b79329d03105d11971a72871d6e2b724360e3a97e62cb71816a2aeec30aa4442b083ac7d22faaf605c4a3479b9fb93c0577e65e3a1a942072248e8d657a54da79eb044108d29eef2c0ad65ae800c48a3a561c7777f0e592c551a7cf149ea8c5d4345f890b35e33384ba2ab6d986a2e3a25ea054cc889182ddbaca36faa55c83e099cdebc843b4c1343ea488471289502c648dd3e01bf0f517b9f130d2adda00633fec4f89111226d0902753fd77f91a6785f93ad2f6381716c66514d70c6ab3f4f297a6f653759b53f8f29d232ebd299214f51046fad8234aece0242b64437f9f5d9edc44b955f89498c010f6bd1d18a2ac9402da07edd37d0beca2f7656a0ee1cf3a9fd3c66bd07d8088295dc9dde9d345b0e9ed281777bd45bee66adbc075149a8a77240fa0952ee1a7d525c4bc457ac3b05a7351a1b0e17e10e4f0277f7ab16b0e4f64b261120128ec7ee0346319d3964c5c7b9545d2b5e2fd47d3ff653c4af5b43d5bc2bbc6643c55caa319af83c41b8024a936efb8bc0142cabcd818c4b5786473b6629ba64a93bfff89efbd59a5aa926c47b8549124ce2b67671261f1d037e1d09318b2ffecf8871130c0146b7524f04cd45df2f5b9dd5fd7572187ec0b2028b76ed7363d8d20f4de4828b143a03720d6de439f9e78e2d911ec623a9b7eb2f3fdf83f8c1444b87f117334326998149555ac7a2d9d4c6352a2b9261522a5da5103def890c4a296efef98a20ef6cc1ef7ab0256153feba66974e1c80f67247e30ee6fef30147942fb278660314e17b39a35f9e1233bdeba62b8badb7f789f404aff4815a9c39ef722defb8c4269dc50e73faea37f9e0ea8de038c5ce674481bfec35d3888b9d26cef86ca036ff42c8a78a51b04c1be127888641cb2789a6ae2a973cb0dae5c10469820498451ec6681822f2a87dfd08a9192e4bd978f308c9564fba9eaff18741dd76765504e927029fd156a6c38b75e776718cba51f772bf8fdf4757dda5c5670fdd384a8a0a467c20e8176c188b13efe16129b2a76864d2883a71fd2493737df4af20df293b5f7984e9309ad1e5f54b917abf65ef499ed57c71fc6bbb4edf004623ee39fb86e975ef771270895fb8472c90740e1722bc4c80a745172835dc894b068e2e2a3d0720791f6d15828ad16e0bcba5bc0a97ca246207b92c86feeb03b367d2512df7e90d10ddf92ded420607ba2ce108d318c6daa87f03724502fdaeaac2a371a7c87f5d04c8ec326ce19ed686552a6488613cd015b05b9851d099db2a14d08b2ee0b75a412acd8fe741d2d7a5baf4343cb34571eb55ede2de5443b984de3a76576c5a38b0d9c317ecad4f8cc34ae1bb227ce68de8b02d5f6daf2f16b502d77807920096253dea2d84a4ce4a68a751245335b191223a709ed1a420aacce41fc7fff9b07285c04951f3fbc87a7062f767f02ca7abbb9ecfb0b6decfa0bf1a490cf0c8eb23b301480dc791ab87994aa89c96d5f8add177360fc8946b7510ca274a16a0a34206f62b8f9cd1dfed7425baa81f3dab6372a943057660321691eab76fb5325875d7eb7aabbf46027185609acab37f87e1b666993223ad9f3a9821637c870f1cc04b150ab300f31b06d91c5a8b641b48fa5e256adac441b36355950972af071e8f2d775c8b271a1c8ea93a539c8b8323d61c8ab8e1a8a6e2fe510e95b2487ea8e74566aa192d020826871a1eef09c3478c9ddbc1130bfc96545fba2d0769b4b2d3d0a6238cc01ba4a89bee6e82e0208990c4ad01929c77a553f0680680f596faee63229c78da21870874ee5a0e3673f37084bb937c838ee9c0f6e3cf350f1ef804eab8a3ea3016a3515ed119f8d2ce6d5e0b141669e98f0644582a56e4d4d77767040d4f38b7d52812f27e9a56ae7cba199f4bfbaf9f04bad85f789a7100e762fc0c42c5deb12829189249c750c3d46a425163da5ea6c68afb41aeb11b05741bc5d321cead9cd93d1fa4d5c3928868c9f5b855eed4c0bb4523571c062d99e02c3d096ec0e17e28fff04467b3af0b03c9138c6b1bc328fd0e7f20b794c38e92132f3069360e5c247391a0e1b232c918bb176dfc3e7c5e8bbc4c371b773f43dd797bc6f6edeb0a8555be1f17227cd28c313e93fc209649e7fc5207881a1c92f9b86e9f9c31d38c5e61af4a01d663dd03923b0b8281be5c5aa1270d1cf6beb9a1097007af1235ef6f36ed318599c0834f34658e5f3c1a7d671aee8dd16b94ebe1e10a661c921d524aac0c6b4e5e5d23fae91cae9bdc2cbae43a6359228b1c3b8ff8d8db8bb8b7ba28ffd378e90bbbbaf8406a20e20c4fb4716badb7d8829193c4aa15987d49ab02f00d8353edefb5d8276a76128f0733231dc9be173190d432934f9c4a347e38cd2b51d8b4212d7f99adf3a3c5b4b566dd3591784a65164445fc98e876a6c80de3bd1e9869ba848772890792b1eb2a14ae06111f9708309c1ce7574c43af179b0f33c60b39265428acc607d4b077a468aafa89fc23bb97bf6063c4a56159df40b56ecbd375f86dff68d2f39d0c98cde7aedb6fd8ed5e7b57100a7d1247ccc0bde47edbfe08fa36373455de295c86341f0fd2054239114beac5f35cceba9e3d5d8358964e55847693ab41756f3f24abe7a1bbe59f63ddd91d9ea483fb4f4828e0c0ade2c53069604862bd2c009eb92c6f8c889606abfc48e53ff5fc5c785321320ae46f3140f2969966351c7d08ce2ba9ebd00bfd791b71d405852b0de101379014e99b2068fd12c20e4be598e88f30053d5bc1d970f05d8ffc2aef9fe1eea1643405b5c0734eae1ef1b3eb6c7cc8d8789a99f14444d123bca6c9f85873f7a3505606db8c71e5ecb4467d3104da56ed366e63f433102d7b4ebbb5d8f591cd2a8287304c83aa383eefebe9834732165b6422334c97885368d895f1cd8f3319294d8dd8bc3b7eeaea0315097ac58e71d82698afb9d9050dfa268698d9ecc94861deed3bcb4a715491fc2644e0ad8ace27e8970e3841f7d337645a982f5ccc9b9f3efee2b3568326da82ed33b3b888f8bf4a6adb685949383b83a93d4ec8899424446bb87a1849e1dbc443abded5983d81cc33ccc98605fce2d92f14e826539f7ad4ef5689d777e150aa2d4a406515f2b7c5d9cec8103148ac6278f0593325b1852609c837e77ae5ed1f59e2342d3fe5c048dd8e178488a87023c35e50aef8faab5415fca42139cb93ef59414910b5a95b53a3dc2e0ef5cae2248d8ba1a9b1a0245356cb34ab87e5556a01a70b159ddd3140993729e59a86cc05519411987bcb0d62854bb4fce3cf35fb068c32dc415be163e0db7121fe5bf103a098ac9e8819a3f9b2a873475c9634c6fe64ebd13e185c78598ba1db67b9e3119607e7bac3067157662ab782bc481bae418ef3fbefa777241c923cbbf24f8daa89e6cec5c58c6425d1e00e46b593ba15d3c7ab8aac25f283153dbc9a23995fdb2d2b176e4789422ce2d8bd191d068e279ee53710065f1c556800376f5ba82dfc232af9a2a0daa2430da4352a387219641b956db6545b665eccb8ab5662f7aafbc004b80aa3ce129a104b35456c073f23c78bc2189d02aae7fb1a3f8e183677cbfcdeee9e1b07ea8c7a80fd0c012dcf785414c2aff0a4566fd5cf2067272debe96bb993ee83dd0427b173eb050d6fd28933e2d677cf8b2b476bf0f60139ec709ddb81d99a1d035536e0f1132a2f06580fc6f8686c7807879c150df437d6a2a5a2e1013a4b13d3c8e070b963e75e5fd42c6129b99c749e65b45e905379cd0a5df1a76b8c6c6073eb724b619d94c49e28e9d095407b8c5c75c5651f58d2a237ff0654e4c8147e0903f9a65bd4e8e280b733ad191c00346a3e78b8d6fbb10185b1eaeb730bee010f71e9f5002b10f784c510b32f5bde2ae3251bb084f2f76ed0dcaca8885fe4643efc4e6b45fe32242f4c7ef1b0c3cee44e1a58a80a6241e11f5aa4984baf37d5109464cc66a62bd692012ecb2a3a7c6d127abec8402fc158a01ce6a26cbda09f25acc174a88db26361a6bdb963e2543438057145c4aaa30eac115eacc0d797c08b1f9d44eaac9b9e296abb8060a60c6486d981bbd1a577976d01f164c9427789fd778dc59f92a69e4d8d86ebb506180e4b027fbb13935d7d41d454ad32602a2a3e15f28a36e85112c6d13f9a5af66a4b5ecd18d17ca2f87ff22366acaf5e32551a2158107a310344d3577cea6ef75570fe30d3ba89c011313b9104dd116938f26b76c05c95ac44b4c95edff30661856a765918da10cdd210d27453e79d4d75579f64ce6e360e3ea237ed06409d60934a1daf032451a87b23916285f812f5536f9fba3b6422d159611b4aee049b6c9bcb6f8b6592170cfe9f14909fd49dd6abbc3d0fcfea7fb2460d2f895d6e787f06efa3a6a676d2feb7603ed2272051b9ff7e635664f77d9ba865cc004ea4f6211e39d10c75f5e7867d24566d17a32c60c6bc8da3c2a95c2ef24ea8a5412535d1c13ed373700d53b54de12025113c8c0d5bedba17583ee9cb45ae62b28ec3fa6013d34c09f834aaaf25df8920156221a2e998176120f54d2b1bd36c11c2bdf29549e4c888e69f70845eecbdca48e406ac9d666bae6c41b550aed86571d70656dc600009e474080102516d00d2b736d809c0a2c94c5da6c27a20b2f464a1b911d727d6d8f8d0559e7cdd749f4b96e04b14a61c5d5cf9f2e0c1a27e58b4d8af727a782fe705db7feed8c3be55c9360ae9d6f9d45a379feae87d08572a8d5482fc743f062f891f838b11a49fce88f060d0f9114a999a6777598a59ba73ef90af179c7907a1f1a07630ab3394165f7242b3f98f388eccc10ee0997d1b5970c2125217b214ab73534a7a5ee668e484016584f283b2e4f161ef8178bb0a9b233496ca2f88e36e4e907044364ec770a696bd0b0aeea7d68c104550251e6dcdf82d53516d7163e3d75f9a32fce9883398116304ea27a621d09a002ada1e298d03756be10280c4f4c972df5f4d7dd3a3b0bb16957e41ecd5d4690489d638380bd319a045d9a210ea29f0156006d742ffafabbb26eb2a3338aa1202c7c5d03c9ce9a2f2d9e817f80e82933533ae63e694a610938d07727833a42a074d6ac84fd7be2ffba83cda3f6828af4b3737410130e82f06704427d2cd54c74620e2f032f1ea31a60e7fec7f859e355c5ba3a527205172a21a4a283edb2d09521ca51903312e4db5b5b1475929471baefd468678eb89029bc26980caaa3d09026486d2beab9ed6ead4ec5ec8b5b4b4d95787bdb6b47eeb68a6b0fbb87ffab3fb946d5ee24dd2455a2ac10437ca4e58651769da1b2f60fe215d4d27925d7827910d571cd2c1cef6d158e94e0a4e37a9b853b3ecc0f99302949c699585a0a29ce0e7216ffaa0e7ac23bd4e0dae478bd576838ee1e0027c5906b2068b1e9623d393927212bcb10479ca784708cec0917a4cb6bb9210774641bbe59796be588be1ba5e7ae27d5cfdf1e45c6b57a4c13d30bd8177a71e99afe2ddc0ffce8934d363339b8be743fddae290a86a8a414a6f84b263bb0cabd0fe1d36c09a57a4ea48d7f6a6cb9c1fe452e8e909fba14562c8ddd939900b88a1dad255fdd4fa90ed13307f7573c671801153a6394114e0fdd3e86a3e58fe69c0f81676c97ca0f8ac7ba8d2cd071e88f9e9581c09ca01f52e960e36cd498ac49b9113cf731680cfcf1f4f715712004fe0a4900e2e6ffc5e4a2894b28b5021fbc479f567e32204b4a7a72b6f482821fcc3743573de204fa868cf7b743652471dcd7ea8d2158e0ced98e89a88e2328ed7911707656961d843967d42f4535082edaea00e2874bf6646eaf9e07462e46085ec9bcd961fc6c24079bd232c65c0cb6bf48fdebfb2e8ca3ba480c7dbce0535da07b71b1c66b6b8175e4a09ae69a66f6e7b9ed4e9a5c22f58a0c6db8734ca2b2322bb296996b0cecda24b5827e9bceed0a58297a654ad3f96453770c9ae500b307ae33a698ec382b7175e01cca396ab3a8f9b7fe461a5810ca0da98a9ec58ceaa7c227f36520e62994c5518c842176b7f2b342e390e36728758cb48f49d649035c926d23ea1fcb470de0bdace5fc165bfe956092498c179fc15de823b290c0c6e46b62ecb8fcd47a660ecc2139dd6fbf0d26715ac09518e3bc8f66dedb1080bb38dd38aaedfe40fa43117486058fd81cc74624169850e2e8980d8b4a2e53ce1a7ce07640dcfd0b4195303e664ee092dce7306d7933987962ab985eb9ae6ea63336a241c19c02df7b56672d831f674428b90462a20534c93fa3100f7f6e3f97aa358c8f1d2704a15f5539b7b9c06f7e50ddbcdfeb10136d40b197a65f77da742fd0b4da5d0fdf1ab6928514aca89bba3eacba5027cbabe223a470d49674ff749692160bf4d0bbdc401dbcdf9a5b700d10ecfdc4d844fb02979583ba4e601e22601146f13062e95080037b90a7e870cdb773f9264059732787a6eacffa16a6640608a52fdb33e8d45a3e8120107b202348919ccbff1a0689f1dc4801500f4139a709280c3d8eaab3e3b9345d0ed98f3bdc25dd8bb5c8c74cb88db92fc403bd4b7fe5c476afc353d537371171a4a42949a6b288223f04bc9ad902994f10933f07419b1ac3c5c806c6bcb10864c7e2dc35bcec544fb907f45320245bf9be9c5326c74bc3ab84774976b5e3e114936b0332394d00300389407bf1a13ebf4cbea2711ec5f78e5a70a201c0abac35cd244c6a0dde5bdab6532b61d3523c5d9faaee9514fdfffc5c9a085bc0f58b388ab4f3e7124be158b70b6cc9b7fbc72a8edd661f39aaf2d0765e1b77c3340bb790f013a84c727974d2d04fc6d03c47c3811727c4289955e048fbd33a1e394545bf33408f40a8ca8d3e122c2928701402ade85df649a87d8b338eb20686eebfe2da4d28ae7c53fecfe641f1583e044dd027a38c9f974d50a19d20f34a90abee38f49b62a731e241fe17e020ff48f228579777efca859dcac9f00de4fb70b22517626f9df6a8bc628bd6895141434af1f4064ef26709487ee5cb6920d58dc1884b5cac3a4469d7462b20da57176185046f50cde446340aa2528d55e116e6dd80c2a05398890cc43885cc3e0938137b0e4cf1f577b3e0551f9320fddbdba137b72e2e8b5c6dcc67cf5f8453ada17cb222d8c7c95dd88210de5a95061a84a1bdedbdf2d69b9900398b944328a58eb1d313869ea7d901f68023544e160e1c782f2a6e12fb4c8f9125b46ce3c216cbf485870b4b7641e557cb37f2d8c71be832be52455f2b2f123620bf8771fffc39fce5edb7cba270eb7799e2e431b78606fc326b979f837833dcb074ea000df99efc2db721b3c7c9f9bdd257944b7c64d43b362b81a20214e7b4a88aef9ed513845f001a789d3bef0097c49ff40f5ddd4f2944af7f4ad22d1fb45966df115fc6c66fdbd5a6b9ab0526f2385d4ec91cb49488d96c9d2ffc50519b240cfbab19a22ff5ff00497c3986ae132733b72427ebcb2af6c01af590155dc1f2aa094b4872add1c98a6d30592bc6abba45af0eac8cc3a34813d6e318aebed528f42cdd8d532a14a6d3f1aefd613434e21f0e6417a2a8756cc7fcba3b30b87b625f3d0d4a0952483081b5cc90b946f63c8aad3fb957decaabe3c19e0c8470661ca7188eac32af7803ee1c7ced912bd3d670a950e7eddfe8f3d31f5dc45958da96228bca1805f33a603803e44d1d325fef5bbc4fe4d3ccf18ac541aa8ab567b0663f229fb5b9ee61e23b6ccec7b35811a3c9b15a7fff56842031ef8b4eaf79edced336052d8a27a30db20a40e5f2ed443a086c8d9a7a2bb945365cc198ca51708cd7b3f2d7323f82e2633bfc1e69927dfeeeffa806f596d116b5113f1414bed1735cb01fd4c8e7472b5443629f5185eefed8a1526dd9ac8cb01ec01008ceb297503f92f6313860ed058f06ded384bce74fc6c82edbcb057de51a7ff8f4b0f0e0c09cb00a3cfa31c11ab85569a6a5b1ac3b9462b9a7ad4be0d88c2acc7970a55e5cd506087022c98b15cdd9fd41a0e2cbb093e2a7b344228521aaac44da809402ea496d9bf710c2ad1f6463cd6300fb5666ba91dd2d5767cfb3e233150c7bbd8c3575229591eda8eeb6c6c7618be960cee972f27ae12c516ced7328f653d116e86c0731ddf56fc14ba58ebb9bb9171b4754b7aed56898284a01c3d356c26ec7a675804e7b1d1041a5bb8bf35ad4b2cd6f3d321d0f6dd5b174864dc332349e9119741a78a73303a1b0ed9f27ec2c14676cdb0ba83841ff85ef1fa4abafb132b6ae2f179b18411ff9faa162b5397e71d3bed651d85bd5dc1a6404a5dc5797fac69c83660a11d9f1faa433becaa55cd0f752bbc8eda8ac4de355f8cbf4ba76bde35c740ce4c58a4f4acde6a529c8eefda16116def843618d9b574aec4866bfed46ac01f6e25c38515aa311f4be23d16292418b7a822204b6470b998af81ad6489e9bf239e0c2a5f6602c50058ced0096ee38149f1d402b0a6d7e662f1553d8eb87e6baeea4f378528cdf8c942f3507a89b0935632a2bf86002a0dae2fe288b311ff50af8dae110fa42311def76a46c854e4da0c8d4ecadf61e17e82576f5f8f40d9fafcc2c0b8b6baef91346629606c6053bf75d86c1cb27c45676965a7070e120686543393aaa1a7e3aadcc33209de6018723cb2b44fe58646d39d6268ac97bdd17417c6e75858c72c81ebb27854066bf9003c50045aba77be8e1df8703e2ddc6a55da13929fa17f40f3cca37250cbbe9ac1008e9b88cbba273929190ef252a3185e57b4159cbbd2de1c9f5420949abd7c5e95226dff8700d6af556675e20211022e38566bc8d2335b9b9e0be20d8dfc9fc7db3e02574d827e54032a88d2990ed83af796ff5fe2bc8b9d080c4361e6587e2d67aed4431e3fca43d21acc1e9ef7a8657df425a327c2ee38434685dfea7e8a6d8d811fefe816ea33828a4b968d555a7b34db5e9cd485ec528dbd5745d6ee6690fa76a9362b7f5d504f813a383e64ce77ca7cd4a7e0abf54e4c098d607255c8219c7218b9bfc9cc9fa1e311dd23c5cfc5163edb27e10268299ec282c80cee1287bcfa66466025848468a32b900de6c97582bd7940706f7b2faa3e31146612fc1fd2af0f4d113ea6d0753153cc0e4a7456c39c73cc08fd1b3ccd3157788b45564733e05f1610d94c98636a608db9289ed4bf664866e3b28170f2631e2a5efdc15e5d25758ccc6559fdadcc16f08810ce1a5d57f8dff2319483c09a380079f61b1537ac1dd472ee7e4a9aec132e6e795498b3863d50be03172d8e607b880bce3b28510bb232c8182b64fff5c91661b1bb844f9617474c6067f4f74b10805dd81fec2e9d3df13b63aed3d629d620f6ab51c266d3e7691271d1143f2b420765c152bd2bf0fcf48feca0f729fec1840d9b30b9e0f993ebba78c03c5bf802d2defa88ca17b2e5f5ce8ed486192679becd5103b22d5d07ac8a6faeaa288b7e7e22a9dde02f69ab7df468fdab5122054a47e4710947d1f1c0e0f84d3b591861c0ec47563b5e3c55ed5297e519999e39830e254c3c7ecce2a79ac4e029e5503e85d1b188c3ebd5aa2367188ebb534a7e0dc0e402a0409a40c47108d27de21c62242937e7ee6340e949557a46a83b0b6981417e1a2e9a6816df8d9912f321df99b1eb6e95cebdf6bfecac4f55ecc59f41cb024f1fe62f8eb59e10e2af68e48ee65e3da3e1b405b91bd1e9d6bab2b7a150fb74a73bd813f406888558cf41ee7a6f8b003c470d8d8eba97888bccb23ac603c7f0017beb2162cd72c2c3ee969440f2ff4ef98e1aed7470dae53b603042c5fbbd4ce31097a9ec4d4ba213e3ade1a56dadf77d60540eca93ef8d1ff42f8814c4c8e5f11c3099f0ac9c3e52b5afe509f817cd832a62dd8169173356ea29ed27b412e3aa9b3dfde49775c90264a85d6eb5af8b9b39df2ad3d9f72ba049f7af3ad55001bdfdf05156aeb9bb3bc4a983cf003ce102dcb411e635d5a4fdc85a00784c0abab221c720552c3335e6c251139a3233b24c369a5c4a7a2d25954665718afd52c40fee5bc05714d55a4a1d982c2c8a5a883dd707f22d73cf40288b123e93ace585417b8bd5c24a07990009340498e63ace45c42821b24cf4bc0d81056788e120c50af53cf1754a9480cb9e4315ca2cf4ec84dacb0ee497a633b6fda945a478311cafaff3404780d67f84c8b921a3b979ae639e6dd572e250c600ba25b465b3328e877b930c3108f9b66c99a961a996884503286fae01cca6154cbc1caeb211343d2ca26a453a8d1569d72b05bc4b558c9ad0a9895c5598c3a163fbaf432fce03d6b74669ecb2a71f82e7f78b98bd35a2b5b5f13a2942742174d219c2eacee7e0df7771b27e2c1bedb32ce601d45be6855cc8c24087ba75e1735f611f72733aced90eae915c76802b487ebe60f8102d0a3c15739b09bc9281851f63cfb594dd079684019f32ac32283be1d43c8602176ea54306228d6db7b6e4fcbf63af808005a32adbab700a8ad8454f303b87f7ec56d4bb02097a580f6a2783d154ef8e4f2d2e62f8c79f97fdd3d486ce14ec18b367e0b439e1a9fa5767fbd5ad40ca1f27fd724f376b224b08761bb2d2737ccd00c25c13c2d12889f30db96a23562af4180947feacd0b7b1c000be1d62778c605af096c39c052d83cf985f3e0d6dd2b123701684a38aa25e37f1f61ffe724a9108921929e73afb01f0f4f6d978750011e3e6235d74908330f5e9b214d3aa65f9c6cc8858f04ecf938cf14d15a2b1453e8f3253c8ff762eb336dad7bbc7a2c0fbc29501712146b678b42067c7acd57f23d0e137788ff514d3401d9c9cf32c2722f759c3164d6bd7a6f68cb14e49fc92e0dfe26af8b1c07ff1563697f9170780956e65bdec8dcbd1c7486e585eece654a23453a197a550e54e188820f2c1e8764f0ca6facd7d9c6feae7252958c212daa3b28fae07fb846456a6c06dc4e597790ca7b8936045bcaebef272c5d1eb322cb1ea3fd1e78d08c146319e45fe0069e960f4de0e0912be5f09b109588d7777df6db6a1c6474c9db3983062a8cc85921142060ed55d7890329e5752b17f79cf8ae021a03569626ba70cb171afdf48cc595773c602df3159ee2c552ceda43387132be255864bc4fb745d120ed75bfd5eebf3a421452c325742c812a15856f80d991b43f7537442df109cb81a62d56b20b03711a934f928db33cb7828866cf68fc98f757197fe637634523daab3adbe166b67355aa7162f15082400584275216b09c0f293bd54f0043d1c04d86149a0822e0287bccb4276109093bcd4df34e3c65c39e88a04d380e6159543a2e84951ae9cd5bc0601e2b261c0756f4d5e49025bbbfe64774206d9b29515f6b69d32f3e24e54d9432aebca9418367c18d00592da1cc7295d4a27060e78201e0719fedbbcb0b57a06d5fc205834ce681b74a3414efea4fbca592a9e87ed11b082de26619e4e33143481e39a4ff818b619be0632e4b1129c920e0e99a79771dda78f488650daf064e7017f3d5dc7ccf8185b62c49a13c02f4153eb9a4e38d9cbe476e991d80e51bc6a680d40dcdb6ed803f83bdb84225d4fae27b25792e16a160a4c0787532aa70bce5e961ae0a58bbb6b2ae80be2105acdd292a2168358088b84285fa282a9fbddbbd4b3427ea05bf5c856b0df5119fc694643d639b48c5f47c2e69cca99e4e2783065726b79ac14a2a2f86853e46872aaca9f77758456c1e8f4d5b7509b0a790d74765add3ae9aeecd42a5cf3c7945f7151f69e381f9748361e79ada7ff28a5d80d22c79d4ded48431d0c58474cd35b0067497e54960e797bfc72b3ebc22ecdb2539876c8cc70ed43f446a5b4a834941d19794fe75a73f2a51c5ae7528000d0fde2e3bbf205f5ca9258f032d6b7655e3d178dbdba92b4ed7a4480185bf8b9c5051af9f27b62f2e69ba4e3f32a5ad8c01a69193f83654da1552850ad31792cd6ffe8f785c7fda3612536e6c413c36d95f44e7ee272cb796293a9ecca654840d17f6afef7e807d969ac54767693d3debe1fb0c41dc7938c5918e84754ded9ea63f6e77eb5a1116bcb49dda731319d28733e1181b6b53e32107f65bf108d1b4e5ce218fd52807c3bee8f8786284660c79d071489629d8183370eeac05c0bf6fa5c694643d11d0b7f320c17114b37217aa638aea8eff6b0435c51bc10ef9f5f22bc0c7cbf4455ba4ec76370d20acc9d31ff8b64e472ea0d049b03e2750649e7106fcd6dc96274c1743ccb2f11b9e39dd95b03ce8bb3aacb8bc276d706e1d9b516a0b1a96875ca5425881d087dcb05e6a1bcabdfcb3ae35893ec567316dcd78b3d7710e9bb48e6871eb3f1dfa10300b11d1c5c33c44abcbacd5472d85aee5ec698a68abaa66052103d54c711d44de01a030433b761aa7d25a7e31dd95d8ccb5c1efade6b99e2b3e15f2ba08b2eded22a56d6e4dd98c81053d6831d7dc40c17ec7f99ba4a5a19a8f25f7296e163f99fb44f72e3c11b96591177f3c158d600d02e36d318ce4bf6d1f246dc7579c5c15891e9d7b92b0c4faa80846b1c785d4785a369e5dc8841924e17495ca90c5e79db644dcf3eecf0a56eec2479474fa28326d6927abf030e4b7ee2c4c226799adb44489334449a9eb77471b608b3937f92609e1cb781df33f7ac55255e6a31c83f53d457cc34df26090d82505ff181377beb13976152edfa3f0f8acc579121036c7aa2f04c06003660581edc27f3356c893fda4a0935ff585198b0115a3e6ab7a3761307eec3ed59ee8179983bbf1730934d1a131256c98fb5cc5f904184308e71bdcff4d39fdb88d11c1e90b8588f1648a8532e2630f1d2817653f5ff48cbfeb8d5d2ee1e55d273556fa3b4d993dd8b20e9fcf4650369834a36c749a6bbe607fda30a4a216b052c657997a35214709e643a09552d5d03586094e9dbe770ffa910a246b765b20c36abe28b03a98db9f66bf593747319aa822d83c99dd269c40b3dccc0d5a3afa54f9eb79766ef5576c81f555f54209ab02600a1d4f85cfaa319e37d91573cc66eef5e298701f75f6d728a64202fdc392035aa2e1c2e6cd72044bb37e3dfc27cdea55f7c3112a4efcc7d96a631f133a5b47276cff3b51d2388e439e5d5ba18af1804a7fd0a17821b6fe854b5d256d7408ec395d96d31e73a2fed470ec0ad79578253e7a6b322ae42ad5f28b0332f3c069bc0a482f630dcb245a9349b4b89c46983ffa7c988f1781b155f46ced04012d5d22bf85a5bc649da2c4a72f1bff9db632c7975e16a5c4582b1b507f22af74d3f572b171385ead9c870af49f1cb2742d42da42bb410771eacf0f21afab92bc9b77c16d599cbfee7ae28aa35839757027a1063c0cb4f765752ab97a130ff0ccb4501c12e6ae5279005e06dfdd141e2d30fdf1377e3380d2658a5f9fd97f560325b38b26ba38a585a8764f7865643416326854385065614d354ffd8b6b277a7dbd3e0a3eb463f741512e3d070caf4436776e715e38bf32ce692500b2155039671a5862847d5fdf312e6491664310ca3a811c8d523426270e87b883b5a09f92cbec0b6368a48ba6999f791132acb1a0f20cd353a6a8eea10e097af8b2363f639ffdd373a4125401408b52a7d9b8a5b9bbb3cabd4e7fe219cc95300f2e636e65e3548b9b2df3af65ffc9d4dbe3ea86ba5bc4172761b5ad2c393b177c1df8c31a1522a5e881435c496177c2a63d5dc96e390cb7205bfd523be0431a99aa2bed8798cf52fb0188611b59b2bfeddaac49d46a461c016fe8fd847e767e9dc7a183e172ff1098e3dd51fad3edfed3809137399420d739cd41d66a1f6effad389606f146201c6c997bbfeadefd1b2461a28d5a2940dd1dbcdb3562f8aa036af3c572c75acd0317cba0638ceb53d82bcd4b6804ae2bd51957cab27e9c5aef166ae36828492579094712fc8bd98844ee2769a028add9f9e7fea857a2e20d7f8b39863cfdba4bd83c50765de6610d518ab2a46344c18079ddb5ba3d9e70960f397b1342505090620ddd88b82c8a78afb0f8abe3da7ce108c6d7465c434435d5db46e69179557d0810fa8864cdbf9c85082447725cc1a8d8e1b6fb7df526d668bd18046e1b89b47a2076d0303fc50035b5f32831bcd1d96d6e543fb09ee4db8e2a889565d158ea5a6316930e9bf8c95753418284b087afc9dd39d620b888ed2ecbd6dc5e8709083fa598960c1466f77987f15f79342f0de6e7eb3c4820d7384a1ca4c5d130f37e86ff2f693c243f0c78b87c2b1ff8043bacc91bbdd417912e656f4bad9720a2be7811c969b6bb9517a98640eae73ddea1a73e1538b5ff3674a82796ed1eb350ce3e1b61354c70addf063acf741c8089cf6f1c04d455cf66b6451a890be7c05b0dfad3e95c48f189fcbccfa37a55aa2cb3adfc2e6ce5fc485b9ca81781222102a82dc91186f29e0464a07e3d09e8e9d3075ce8b433cbe6912de501f0940f79731829fedaf88f57c81cb5cdc0f6805fff63eceeca642341a9b59e5ac5a4cd77140b87fc1475c88027586a2c564f76b8908d6d61c1df2f3375d952d76063c7cdf8fc94f8ae4f4286bc90d762e2128ed067191e2ea82f72766d12a7f7e0c8899c60638c28d5fd3275273a032e1e741b62f110e52a0901600cfa727e0c502dad9c7fea182cfcc825b8d5b0c04568cbfd6baa8c55bab8852ba54027a85786a5f077302ab16e864b861eeae94a4741f947b734e7748f087dad88edffdebee1783535491021f246c5eef7389af42a30939d572816afb1a97f4b1e89cb14f4500cbf39dccb76c517392e3b8783e0732325ae158cd6367d6b01d239d1230b53a3580c968faef91492caf2fb83bfd50625918d5602929a32653312d5d5706f6f31acf69137d50db5ca5f124a00e3c89c34d132de02ce34b1b20955a6731b0b14639d819f319953ba42bbadd2eb4528ee59e51351e59a63a92a44f17f1937f4e804206561643eb9ed6cd2420e0206c5b0ef8e07e6fbd43cf562a44acc198616bca5e392b1ef804decd792edd8b215bd7a53e7b0d07960594956e4a86ca7cde7a1983a32f23741926bfd823db5423b8892c2a66814b0913e2937c730aef9342df68fe847d8d74e53461929f1b94a5ed51757c0063ca3d442349f49f70822331a9a6fbccebbc77f1316349ef407e49cc2ee65becb2d701ab58eeddf4425defedc8ef0e56691a301eefa2ec23b273fcf3d89cc7d3e9ca30aa75cce723f82d0398c61f19827ddf4691e24f476dcccd2f3a82b12064549dcde754fe55036bfb4446722071d0086e7ddf9abb6bbb2e5dd7f751e9838968d71283efdfca38bfd450274ed8952b7beb2507ea9aa5e6ac22426fdba3c1e1985d7def5e0db7c94ae42be4675fea2fde4ed984b59797ed772c60855231f2179dfea3223d7702e8cf2c0f75c2356517cd56db2c61183d5df5460372da16b4f29ad601f5673faa7bf83119adcf304121aa396c5664c38e94499d0fc7b737accef463fa685a825d36a5cce044a78b812ae28068f6636ba9c3bb604bb5c44b5872147fd2bfd0e190e57787b0f9fd9d8d54cac890f79094b6db13bd267f07c2f147a43cbe14d548e5809008ff2be772419b7ddc03d2de2c3fc0e490452e142f8817958d5a460f0deffb8c3fc007ac2385d17252d1ffae2a4dcbf665f732741580cbe88b8e22c0a9b6ecb5d632a37f1f1f21e4fe0d24432860bcf680c2f7e7eae793c39f2ee33c51b665fc865d61137112b93866607032d03d180f299fe2a4392247605c88ed4f5d3fd93bc7f2efc44e41b9ef75a26815605426bf99bfa3c419573ded49d1395a9058805f64088ec1c9af8c99be59fe067396f04e7ded13794345fda3b237a094ade1ae256244176d9821145afefa3a975d1773abda009b22f48cc752101553d0a3160a3c3dc11fda3bd8c705ce5ef02aff85eaf86d4d6a93db8edd6c0d65495761d02958f03719021c1ff384ca9c504145abe2b0cdf04bd4879db57a35ce0d393ff04a9a22efee17ec2762c618ea45f52716fab1e52c0ec46e3e508ba02ed10127dcd797f43f0be104a1765708829d968afd4659add5ca5d317f1c16d6392758ed5face5d563aabd89292ec6ae2f8303ad87d9185891e6cf556c5c57b1d36a074866a34bc91c9bbbc15e8628702c52ac87a1f1a084d98257d3b70008f18cce5059f65ad3f6f034e14f461a056837fe558149bec75f43c81a0706725baf70df8f2fedcea30ffafe9ffdfc5a7dd549a7e39de2887a3fdf281f637a00e2106d68e7dd2182ea2255ed9c5d79515bed7fbf8da5227ac81580a54072a37525681a4cbeee532f3c5993e665d2c5de902ee46512394fe419fb3cb7eeb729bdc232bbc2634c523aed94cfa3bef122279db21bbe77bab7775b38ccb2c26732fb2ca2e70a1579c645f29a3f64d49bd353f661f2af48f9fe26b84c974eb8c01706b93b0930c0b26d87a8019e7a4d99211cdd7381244b3b125bf13c31df54ad49823533fb273ef52d4b383e582d5e15a0b70dd939d6ea2402cd4062031d4c66218cd625fb3bc9100e5f05cdbe31f363917a04d9caa00b4ebc5ca1d8a7b1c1aefea0b41278038b4e0c0158b43f229d396a05e74f7de9b5215e5658fd3a4257dd599dda96444e4fa30ae5cc8291c4072c9ce6f5ffe2f4e2700b7463744d1ffd5fdded0ac157e7946c8d1d17aab38f364708950a0891b718f6ece85d9f5c8f6d79f03ddc68a21df9d4277fdf529810f429fe4a27e62453f836fca8cb812cda4675482f6efe93a9a15f080ab00257e04bb5def7afd6f9c4b59d8dda8b21d7f8ce5095036a27f467520d013aa9e13dee45e7f5bcfd909df434dc98a21bd99046ed5704cba557ad0c57ac98ba2ecca64f5863aa6bd3e9bf05c1ab4d290417de6995750c0059ada49c7944f0fec73ed671dd876c50b850564bca07811bc8351a45ee370298c898014e83d47e3e2ee547c57de7ff4879c055abc52c4efe64be978cdeac54c151a4dcf1cbb9667db509decfe0f527d53584003311b77bac192473e0ae81c6b216db0d67fceb461b714e7c72d148a0c8213beb498e5883432ab1296e2159259be80baf9fb0e9ad39b53db63ab508744728ed5a4cf7a9b71ef94171ada7d3e2f07aa09d5a46ef04dbdfba1bc9bd35c62ab002110d5c6058508e93cf1da555d637f337f2b902e7fc70d33f16c605b5508a59abc6dd6246e48b66a88ea3b0ad419aca51bd0b377cae76872a1f2e0edcaa67f870e1116f766e82035b9d964d172108de8e5dade17d6c1a5c9dbea4b90394378672a352a3be9966039cfc26d4135fa61d6b15b5398212c411d7175f3c7c4f4bb047fba34aeb8040f90b056e321456544d8b922fa45b018b859b04505f62e99afa60326264694d9bd4b5c387963a444a7952b978006670082532fe28f287903b34a55de650f39ddd81d91247f9479712465fa1abe8b88d02c0206665800fc837bf786bc16886a7d2ca8a819acd274fb82921609b9e638e9f538793f9233cb626a0c5d732ce9d6240643e7fe7b09da0462d7945b552c603eb4caf2414220f179ed6cf15c0ff08c6ea596e44f7e442a6461492440b2f4725f84f600ae8657a3f3361d0b47e3dfd4c3136a6c621806db817bd604a77955f3e214b5a414e4f55ccedc818ce230ad20f6034c45a1884b0825e5da1a9a5dcd112baa4fda81da444ed74c903411cb7f3f8c03288c1c51ffb8cf74939cdec6dc5491a672cca627c609d74c398be6b67f0536e67dc6277b7a85e0b956854b683966a8400bbf03924310950e113d1ae57951cb4c99307aaaa06f033de627c3cd8a32be3c102ca4374e20507b6dd2e543e0de1abf14ea32ab4dd98f3976838abb6890e9c8a98ef9ae509742cd0011e57f24db5586edecbf1dbdea258d456e1ed43721c27f934de7c1ea7b109df8abc591d85267fafe752779d11d0cd5cf7e7ac1c2034c46ac27f73954c4eb8eeb25312aa80f7f3c4493f32544bc617870cf206a1a23f4dbdca3287cb8b7c64267af6f71ee445b5c6acd33e7ebdeb99426caf6bcb7596f481ee2f483f90632449a71fd9d3aebe3db3644f4bda0bd6179d71ff258d41f745370d6fbf1090b449856f87d361f4389b42ad5507d4d822b88ce315cd298186b390bc63a233632c6417412d75839fe82b3e4af5a4a05e4439f59cbbe7b04d6cca5330721fecb9cc674b155d276de2b74f828322eaeb87c04f68fe2bf94c0db7787ec108c1226b9c659fce7f9057f04b0502838c5568b2f722c17f97b873a0e5ae66f0fc0ec0c1cfc06d90b10cdcd5ab026da93a76246b19c55c5002e2c1a5e74b4f253f4ebbee73223a142ed7bcb9284e30a7042ca6b2d4b4e5d68b0d0ce5d6df4052a6fb492cad97c83b1a4e33940d2e27ba737a9abadddbcfe6134d60046700f0ba0ba5ec5943bf0939ce96753f13b154660468fcdd78d4198c7a955c6dde8e943bebf010780abe31bfca0a3f60e42974af0cb94ef25a5714cc75a984e6eb795a378ed82109c08fa19e05be1b6651c5b38171415e876b62be2ae30ae6c56e95bfe7ca7abd8e8a3994ae46d73f33b81480e182270227023d245efcc883de7d21bffccd5ebdb00302f3262b8255b527f43ac79c2bde1495c4e5c3bc74b1b95e08b8c9b0590c4a4c881335f071b3387e2c331cdb8731a870d1c57ddf36c6aa13c92fd0639e63f87f517640fc48ebe872b888b497f4b15014caa8e256530240259044c859734f9cda97e0586f5707050aa29bb8d0fdd5999dc1540cf471cf07d550f9f1d9b0fc0ba09dfc1466efa70d773360718cb5173f90af1281700d0fe8a039525b192692349fdebff48f848661a5dbb841431f7adb434a15444837c27d637ab7ee2c7da9f0f210fbae0a00ab21aa1c5c23cb674d131c03d819e3f8514d2c596277bd6acf7dde24f2c7a54b71206cc41c1b6cf9a410da9b9094a7aa9303a11814830db465b2a936e17c7ee7b93488eb2d6e5c34572eb213e721d7376bb9390cfce9866bbecce083fecf5c250f9544a3d3ae1c4998771312ece5880c37323f697f5edf1c7df2dd1453e7c8a021806664be1b12c71c111832a60fba00bd259ac339aa9094586c87322d83fe7e42285e7f863850d91e3e451e008c5d3fb9922f2e0341710209d11f55c43d81bd857efd5dafba37fcdc6576c0bbb415921112aacbb695fe94acc390391c30c4dca337976745aa348aec0295000523951d85c1949e243cf907ffa76430b481e8d6b42064c9c451f6798314bb649509b0a0dd9dab1be57efc094299976089336f6982a836ffd5f0aeb6c11f18754efedfece802279ddce54dae1e154d9e5d6ccb466f798be3dc6d05ef88316a2b0c251d547846fb21d92a6350d5bfc9c6f61e7a6d474a7edd9bb53a95989961ff5740cfc82b4efd8be1e5fe3105e16ef123c8ce3284f87006804a20cce45b69f80eb8695b27fb14eb91c78b6491f54fadd7cb69e3356d21e67619a383ab327ead8e76bee4fcb6c0a3fa74b01ca4b0b6ba1f6f29fc7e7513be012d0cfe8b86b4f5e615bc063af820c6a295c168c2450943c43b7efc41928c31ef6d3a92c75999d4e504fa852b0c5626b4df3bed66c0b76089e0d48f09e128e1b40cd323572c4e0ce627c264c44cc3084db9de966501038b81476b96620f463529cd48cc13b200ee2514c40dd305a4cd7e3341d0f576990d72e9cc563410407005d8f962cb816ca4a5428d79b1c8342f4b4b52a6f76cc29fecbc988462d2b58682b47de4aa950902b7785d8cd5e3e02c8141743fdb66b7150cef9e4e069d9c9de9cda23ce31e4b27865c4f46e63ac819740a7354f80eed525bd7444af94fcd27fe81f796d21b8e1511d5422e8f4f4249582274c6c5c5ba94bcf650b7280b7de02ed3bded5dee72c399224dae8cf80f696e5ff711c74e0d7f32a2541ae26d759427d82a65e7b6fd8fc6059d0f8d9c6a70728eb533f9ededd5cbeb592cbc2e03bdc6c51aff82fe220f8eb681fc00de0274ab618928ddda1cb20ec9e888f8f50d6ae091de1b5d38b1985195da82cb40ccdefb2e1e71c9a095972a41272bcee68044c0dabbe5d229972bb21693f9c05c236df11e51343420b0be8b7672168daa6ded8c59978fff672669503e6fb0f480d443deac75238d08ecf1224a0a7eaf02d37d03ebfa1382202d2b47463440737bb29971574d39217ddf4e34eb304d883b13a4b635fd87b65fb9d6d578785865692f11e3a48abb3c83641737c915b996887c565f074b22a7c6fc8a78c5c9902ca6e002696d92543d2cadeec376a08968713e7ced7505fcb75d015ab879da2e06e0a53c515dd1ef213df1162c74105a8db8c6a5d2eb1b478ba23090834912fd6e50701818ddb0284abd705a1cb6ad60a578ab50c054ee07585339b7e364de18fb7263a1a25a745d9beff8eac52a92ec685eb0b05cb5c82e609b253d1e3ae5dc83ef70c4b870ce45c465ac7da22e6be51163a7707725e0ed1a230e38db5d9568b91831309d922d9445d494f8f7f086d42e08a070e33e457ba8947010ba49ee9d31ad15ab5e2d832c4c14c426b6d7cf6127c5efbdd6552a045fe31afce0f3dacab7d353912a06faebc1ebfae932a3e20b284844b33a26993b18757a7b194d13becabde2a4c7fdcc9ecbe5995fdb31c856c1ca85ade32a8a3a48a5ada6a733bce94a68548f2bf12049779819ef735d1f53fa6d5493cf6bfde550cf4dccdabdd0fbcac61b9126df109b08c4e444ad066d3a63c92bc4639abbdfee830d1d0aeb89f0d1b40b489d96cf47dda70916e81a517f5ccebb3d94ae512e9f9b1220c788f59ef078df4c2dcdbfffd99c8070b20b10560c1d58eb42e15e9e18ab5c376e65322ddf010b5451514f22399b4b019bf87b96e46442969bd9695e6dd896e9ad9023bd7b9c0096abd105fd0a3a382422684dd2854e456c086d90b1d5e5a22b89a9772c60f0b89dad10ed981567966a9007f0787442f7f873b43ba037883e26e8d55fb2fb57ae337d7145f6a029d680804738298abbc7ba8a5a2733c940402ff8377baa697f77d9a61a7e04c20928ce14f7e6e7efea66479c7febaae20a2d794ae233bbb515fd90b636289623fbd9e630d05677686e86ea0d224df094de44ee6903384756f297837d9fea75df2057c3c775c8306718df4bf388e917f57c4a6e802c40424571f9061ab65cddd9bf055923b908b15aab89680c2c65013267476ebe706108286ef15bd6dcb87bd8a7f0bb0649b59ac4ff43369624e0e452cf9709c0132e4daa9a76c9da30cc0e7f5f58666c4aa8e2342ae3ab17c5c81af467f2978476b78b719c0eb2ce04582c77f4e4418d64c6f806a8ef1943591760d70391b35d4c58bd4ca18b17d751b8b3ceaf0647b4ba23a9f876c517e0a7911641752031cf75770891e13df870faa813e4ee85978b50cdd3c09b08f52544e937d9258fc4a81576e3ffb81f0066ccab754acf3eb19c11b45cd580f6f4ffbf3c0f796d426ff8aaede2b86b0a6e16978f0d083ac68524f8772cf884117a08cb9947a40154bf1746dd7d1ac882d0643a893a98e2ad58809a804743b0c6350381f98d6bacea84a4abc21f49c1ba25186de30612d677b432e315d660976392f312a5871a420541b39f1e2aed3d9fab1da71c2944d3fc3e3547727ac512ad2a2dfa5773bf55eef882fcd53733551b44d6234ed8f5361d3693db1fb30db43c0743acfa39b612bc43476248d43aa158a2f30610f2686155d3f0e015b4767e63af32251aec97a2b91bef759f81c396694c0a8a5415bd7d1732c97d1f62d7117244b4020947348e1b608607784a286479fd1902f055a441ffbb0025de78f07b08e93fd3940b5431b4c5d2e385a347763f404f35e55631ed0de2ba2ee845815fd50ea5c0b388dce4f31fffc62e41fa802a7689188ab8d6a2f3e8b3b04a0172cf87ab4ef6be35919164c863f53b7f6f136a7e46959246b45186531fe9c39843c4df948c63a40e010a62f201e294dbbc63330549488bdaaf32093d2f2b80bbf85b0542e1634821d375493385b5df2b245675fdc5843f6894e8c8ec6277ad72faeb2c5ea4a0e1cd30c1f919d918a5d43bcb273849a2417c30c5a871b6af5b291ccf8e346d5327a89fb30149848f4d88827c2dea66a14c9f8d221d1643134d7e2f45fc43acf6cf6867539e5d44d38d626ac20b54412780ab4d8e31e5eb8f880d4bfca2ef3a2e635035bab3fdf25e82ce6b65e072b42433ccf1b4f6524b7f256c279351dfb4bb568dd94f230a983afdbf2a1aa17de89f6ae5673b97439773cb777cf4df62cba44a37423803c45024d05dfa91bc298b1b40260180ffdf81e0a76a31c54266369c925db10339a1c550d8786135fa65b732e21cfd678fd6ec3676b36cc2ec53a7f401b23e991dac5b167e243506845e925e49a0e28c6a8bafc8fb8d9f604008f951683b456efcbe2a8c995ddd932b5ff6b1d86797a2e1a4202b755465f33c0446b148d7c3b81ecc5677ead2b6ff148097455395d7ec951373047e2e9f7b7cbaae3fa09cbb348e65bb4d09ea3619339c401b4dd4709632a6f359ce9f1099908f8715e9405906a5baeab2ca85005f192b004843aecb3f4921a8ced10fa13dc3d220b40c1223099fd1436106a8cebf974d6e6e80d1fb6c13c5e6efc49e9d5aad1547b9115ef45451160329aa534550428015894d467e5a66c6d2be512efd3144dbfcf7bb60919faf7a27f96965b24952ef157c2801f0f26a557a6e6d505709ed029f64ee8adbaa18a72c9d3e67168e2ea4f51586785f7cdd97d413998ba41713526a4fcdc5eadeebae01f7319d59ae45d8c83393cf3227ed8c70f9df6b508ca6df89820758dbc907ae4d871e98265e1ca9188f19505725b127854a8377e5ff2129a22d4ed0cb3e545e95a3b952c8753f231407943d45230cb3d5072aa3ce757ce07b5bb1b140a9c7ac787e75b06a8f55e9f4f1f065a209dbaf54b94d7c6a264690213b5571679fbc88a6b397b1733e3f94f4816630040d81d804ec36fb4b821f7a289fbf1f0f7da530ad7b252c9a67e4dab0fbe490efc330321ad4673e7505e6b956f931b839bff153c3e6d09147b79100bab3c240914de0a436001f8abe8191438983f5feef1dcdb135a7183e51c5f558793b8a5540c7e0e750f79b1a0744bd6fec015b64ebef3caf2a8488c1b515c5990afdaefd2ff68a7e0fa72066c245a572f119ea42e54a0442ea228d754559bb5269aec54ed57f4dab9f090c696185e8844cbdf1a43a1aff92da20ca3d3074f6c6035fd3d94038c0ab6cbcfaa1b79dbe727395e2e936773b4a3c71120ebaf0f4a36f8555f0d2c9de3c1a53ba91aa6d2f295761b183a6f1b28c79f48ca27bb15ef51909b30c0f5a66b8423d992e09687ad1c94e18e41970084f436960d1f6692090d7fd0cda5fcd877c766eefc6723576b346f2e938a44aa0bfe5620b2062f7aa702b2bbfefaf558ba71f0cf7227638b9516cd0208d0a2ff34dc3d3a78ce2a76e3d784ce6cc9af2c29608a18401053781efd4b1075b9628af99f311cd70f8cf4a54421be9a33d25edeedec861aa708d2164bcb1cf0288779f48b3eaec5bba142c4aba972b90fa2369810ac21a3f72e6fb96bea1927f0928a92c49d2346d481166594b413803b728994c12af74c0daad9118f919216cdc4ef3a5d58d1aecf4a0bb9e7eb450de3179dab825bd073b17247560378e01701d43913ab62a868092f800627ae9300644070f78a2e188adeacdf0dbcaa6f4bb8a5ea2cb2abf3d9cdc9dfe948441ad74cbf07baf8a02d90b5c3fffdf6a4f6ae5f3240003e6cb1021f33047888ecb46055b7ed422da8d7c2834a8d054758c77537025dfec7fd9643f4675e541a04bf7494e386deefced336832e0011a671cbe6b2982ac98d2dc8831efd5c45122472c2bc0461b402e0defdd751b2092cc52449661582ee37e29387ca623eb6da44ef42df98ed1b5dcfb474fcbb9a727e0a7d6b3067187552bbf5e644071df0bc30f99a9116e2dfa9259026220e17afe53778848a8a3ebbdadadce30293b06f29c952ec80b08697eac3891c2df77832c2b029c18ba36c4490924da70dc11bb97d965579105c9fa141056ade7673851d8ce339fca2ba120a606436b9215e1670c587f86ae042c7b2a93f7f1e96cb05cabab4221b488eca4151a3ca60b85f605a6bdd1d2ed4696e50f5f73e03345af8c5a90e1c0a97def206d5f1cf365dc74ac5f7bbbc821fe1dcff3bbd1a03e0eca4c5750c6a00be255fec476b1fc53e3f1343541cc88ddbe274a94615d55daf9617461bf69fcb61fc1b202002a2d81aabf43f60ed577da59e0db072dda277c56c556b8780b34c5a2dadcb8cf2405af0334ba27603ba00330fc69abfc604c68da4cb9dc758cc1b056fc0e8bb58fb0488e22e4743a3e400912d0ff14b5af6012fa09ac6a9cc6558a8bde62a9c4b4d00b6214f669bcb147bcd7d17e80ee90451e1551cf264e443abccde0a615d309ab1b9f967241faaf7a5a1ee48822ee5ed05c08c32bc1b58e70cbc62e2535f93696f498eb37e7c9f9b6ca205af1e143de8e65f682668e8229835c7274cc4b3c86b52155e0f54e4c621fa0d80a8ebef3206b3ef4fcf57b85ced6d14b5e3c5cc1b3f4049d9353817a98c5d71f66193ca36ea7e130f1cf2ffa2d1ccb15bbc53b53fc6791c523df0c0451df621cae314c5ba50304846cf5b9e09eb3858e0145498cf268ab5f3e7137c3007b5d907451a9c8ce07b50a3b5a5b4e36238702cd4198eb20033ef6d934f8ff308df0c55300d938746b3383520db84edec8f6d2e5837ded0bd4792277489af48a01dc0bdf00f6c5064931bafca374033f18fc051bbcda1472fdc1228ea7413bef094ba8b0da19f962397a8d193eff72fecce2d7d22b69aaa8da3dba3a138376adab5b795c68fe2112b064f47045beb83bc3cde45b2193731804545252f68aea1e0314ee20b3855e095a961cbad6776f3fff59612e66372367180c05b41af5d620df9e631e9410b0dfb910b2f26f409b87ffa8abdd9deee6882359abb755305d1b79ff96e7a7c58b752dbf8e18e996238e6c263e041cbed2cef9f1414795cf186a2523d0db37ee15aec3f64ebef36f31e20f658b89a3bef9e75078236eaa9b501d2bb86a1b4e0a04a24d5abcf496d47d9dab6f3c09a33bd8b485d16e8f5098cf19a58631675811a7eccb7278731f25979e51896c744d1cb584da623f34e9c3dfab556d666d9eed42912aaa41febf9540683dfcbe57756ee022ffeb44e3ec139adb625dc3c7f10ec407c34f106752b2aa08b372f220e508ba76f48e6d3b60499663814265c45017332c566797d1fa3ade2ce46635d329a508ab4289ce05b8598a582bc59494149caad186377b12d2df5cf270da2e76eb073ca173e7bc1c0c9c0c1c8ab6d3c04d56bcf83db5069322164796d9c4c56276a2fa38496ed71bbcb0596bbcaf4cc5430623305b7efcb94220d6723114411d17dea14b1c4651ff87a6cd6191dc9426817769ec3878430c903747747e946be0d202830beef02f5ef9f5993202b5cf53c27eb33831adc510d06173a2ebd91d728cece43157260541ee96311db8ca4c1ac108d0fd22809cc8085aa52354c02a0cb69b15278cb2ae26315f1b0abcd6f96077861ec2221b1ad8d0f3ae3296a82d0ff2e6a4aa0e3b8041c8e580412bb60ba06f0ea943193b55ccc5b89230ee6b8d5f39decfe651c9356313ef50bfe7d01d257b78197b8beac4ec25186b73f83c3abd9ab53414827a5c918cfc5e14cfde3e86834e92532d8f8cd4ba6849095568c6ea97c4fd30706df337047d0d771db866af0efca5d1459f7070174ff9ee3416c86d9cf144257b754883f542d4f6240328233544e0dd2db160ba8d53f70babb4e9389c392996621cb87bac3d6401c984ae5d5fd44c2a03ffe0e7432702bb7a4245461245212ae08ba78da531c79d3e086610e87ced607b2e0f13c485421b1fb4346afc401286f0ab1ceeb5a1cb5a1c22e64fcb6e28e875f5d809fe6e7516c722bfd4c02fcb4aecee5891c9470807519f0a60e3ae82bbd0adb50758f2efb855aec974ea259208ae739207277bb62fafbae79f7644b51890aa3a0f55fcbc9396ef2315ab4b9b2db764810f357915ec2ac65b644fdb549bdfee5cf42f8728dfd63971098190888650d2a605e87c63a59cef934375d1b0bc2e171c31b51bcf6f3da604a24d4f3fc8e6d7663ecd50519c4b4a58f1f951f9454b179645738f0d34999c06a3623a2da734af6c9efec7a218a976774cc13cdb6c5870e79d25c5fde8e14b9fc0feec4c74c7ed7a4c83b9dc637eb36275a1989b71e721bc3e1869492a5793b8a4afb51510af19ccb7e354292672f98ddac5c20c98945042525bae4f0ab74aea73ba16d6bfbce16f15ffd9e1e6a5263c4584ad74666deca84d770da6e1bb28c0717de64d24f114f14bec053716a759d63cf0201bad6e8593f6d0458e8890f667561feae211121533fb83140d8bdcbe7a9e6303eb253c9b86b6661672b6254cdf861d0efa33e2bc7ea711a64e06cd372362b09b6ad130810e024557618043aa2851d72d7dc0ce782c79f1ed65876795561b1c56650f06d9fe56e20009b392233ca5aa007cfdf7da92eea8c9c57d350d6eec6b8fe680b394d25af218f219baabfc47b702ad1ca4f100e91948bad733920aded28202c76b1442af01da9ef62418016854fe38456471da99fe091fab4ad3de14814f078df122ff742055dfc8a12e81ea3b41b3dc4e3d67aa011b3db20fef276c862f0b19ea688aeb82029149a99657d89fe88f5a5a2f907c6545594454ea9ba5704c72ca53f6cd54db8b2c148e7fa9ed9a2c826993aac23c1a22120ff1d4685574694a81fd6145c5f8c5418681c2cd3bc66efec4601b33e7d12c045fed4b97f47a9f11a9b3fb2a476ecd5b3e77357001ff1caba8dc9c064b06e04758141c80147cfcea25652ca5d3b74b676f234547f332cf12ce2fa537e5222e4cec72074dd691c91097c0c3697e1d2977b55c0b25668c544b5dbe163865472895a3c23f00038395e07f7efea0b14ac57a67717831750a8c4870d89721efc744dcfc2bdff50bf80de1b6fc22ba2aa44f60cc3195b9b0a68c8d1f7571f142eb26d241c866aca528818fa9740b153e7312d5203ecad68047ae3a5c92d7e6dfa0acc0decc7b92a59a50309df48d5e08638cbf3755b2e9e40da6f8260b2b7883a20b3306770f8ebb35a71310b56254f1261b338c90deb5abb383b5ba2bd42dc76a21c4c3d6ebbf4624eed5e9f973629617e2bbe0aeac990b1f552cc68611bdf69311a021c1d79a5ecfa3c2517d9d8878a7ba3c09e20efa4e61e56b208224baaad1491c4fd7a8e9b6281d5edbebff0cc5ed51c4bbb217e055c0de3c9b525499870cdea8bcadcd0712221faa1446ac83315305346d350ce9debf095239cc9055fd7ea71aaf7b8a04908a380e2c1bc288336ced4e02484bc31fcccf110fb22162711c9fcadb481e936d9a1e567b322073a918e8333f5734e074caf4c8748397e6bfdf6e90ed2c60adedd0dd29a1730ff596296e03cb23f5d94a051ae4e36d1315131b6acb20e5254b936d4925249f47e714228637f6eab8dbf577b35436a0719623e372bfd502495d4c7182bce3aa90dbbdc6384bbe6218e2ead17d192f9e4ea90531d0be608106c1e4b087b2118c24d37de982ac0e3a8ff69517bf48dd7d975cee8a1fc44c98884a7ce88f306672f9160473349758fec85da1cd8991cd4d3dd479363d71a83edee33156d57ac1a751d275ac3de03b05e69d902f2b50d003ef740bc320019a3edfd4ea19f9b1c53af9dd09f66a54226d61daf9994fa0bed28f94ef57fe121da8e663f01be9b1d79de1dedbd4214b724bbfaa237befafc9718a19209f23fe1dbc43f5e3cd269602ef485712dfc58c00aa7473734274f1236daa12328b62b57dc215295fcefc94f465af331a18c77b86f6962d51a5225698551281ec00c919aaf9aacbe67644bd26d99ffb30599ed0976b75572ec5562d08d514e36ffa12e00048ec8d53f6f97ae0d5cb81cd8e29939a82b6a8d9b07978e536e6f3ab4f3771ca1b08cce656e477ca17e2c0e324906ac4e6472e79db52a500d925c3ff9afb4b3deb7d6b1dbcd030694337a32e0939d3829a98991a28e486402034ee3bb52908a094d9efb69759c0516135723f0c201f2d084f95d3c1a7c9d6a42f2f2edc1f5ea4baf087f34e6e3ae5d4ed91c80903e6b74937856e68f31a9d356e790223e2e48150a8b202a8acd4a146d7c73227acd4b5f5d01dd4f6e8a5144789f99bf280bd8b615f9942c7763f9d5ec40026cad7b31de0e060fc4d9da70262a63a589bb74d693f69a854d46bf3ac72e1c58d28d9c9bb4d602dc9ece78b6bd8b87a777f1a44b5fa8b08426d3de5780d6ce1d8d11d289fb8db65d4c104d905794ce9e2eb8b9cdf9551445e2c134b838457286fc9050dc0e82b07c4d68308b7ebc4cc21268d6e4504988f755e86e3561a2919a59d6479f4a5375cc18df1c05235722262d6102966d0219c38a21198341bef71c38a835129da5a05e55d5e2c0e3ddc6f411f683e81e7265e6b9b9f0ad5b14ae9b7e1a6978a0c3cefceeae07768a187edc55f460aa7246b0ddd5981b775997d80b0d2187ed74de2a13d7c8f536245c9233094d19cd172ddf1fc5e582db5b12acd6f80ddfd8e4ba7bc6ebde50e133e00f4fcd50827557d49d0d796dc54344c3f9b73e06b24bc077f0791163878a4356d7bc55c42c398b49f5675e2ce5e156ff11f49834ea80611d95bec41984b950cdcc76f30a34168533585eab7f0571dbd82fbcc8d1663aab7899c546883facd87bcdb7c8f566fe21c79d78aa89203a37b79df1c3556e8d0867ba5e7d6a474e15ae3838418e33012f0a9a8172a81a198cf744bfc19db1a324c4d99fcd92bed8fc2ae423221dc2c3778de720a5a8352bdb667efec7632cc0c011a879661d691dd37f9c781f1d1517fc6083dcecac2de3ce4ece4e5d2e122da5011da5d4a8c89a70668266528885396f4abd05d6f02e3910f0ba6d5f87cc35ab0267775a8dc397f0a4b8e8b33879024ab9424e32f228f890afc38af588c94b5b8138eb5d9def229a09ec919e329d63d73357d04fddfe2fc511ae7089ecacf0eb0a5e2fd10a38997a1bab5f364bc0cc8acc2e1d1a05ba94b46aad39c77ad6fbf7b1213aa0bbc33b144a143bfe8cb63f5ba38c89b717f1ab3159997dd5d55f3bc21d5d1d6c1507b3c1b6d4ff8b90aec265bc690900cdb083662281fe65d7500675f19cf6ddec45aa565ec12349633b3fb52e10841b6fc6a1cb822271964f87a22f4732a922992d98de871e25d55fced03613d34441b72d62fe2eb605b8d8cf7df9e981b8965a2a8983e513f0e74211cc14eb8cf99327c6540fd31668c9bb07fc6ee57a280dc194c9321fcb3029c47858ed8651599824d1d4785ca611be933a951ede21b06580cc4a6b016e5267f9e834abf1af92370f8bd0426f3d10e1bc33e759ed769377da6b39f07098be2bbd54bd8a06f53155a9c04565d818bcefa2672d18b626655d04d00baa94568f5903ebb9ae82e07e510a18e6714d422d6f59a757fd9730b0776e467cfe908040864bd08926ae62f848081e26a0871c70b955f5497b012ec6342f6a5e9d4500fb61e6875b0694638c0a84a869b10fdbc8edaca6e76c7f3906e72d123ebb97f1e644138a61afa7db7ed33f2d79d59caa4c92814667fdc75aeed3ad338b3da51961b36ee928789d90e8e53b0fae4b12b98856ca99c2497c67f462fc8c49fd00892f10c5525208709f033538bfade476fca7692891ae222cd34cd399922e6c897f44f99a0c3cc2e7f0c3ed40a475e5efed8b7467887cb15a7873a93621a0dde7c521f6540265b734dc1c37b4089e8c6e3caf1eacc751cec0a64e8790dec8f5ab7684f454de25be356663d687c1168e9d95fdf0428b39377013481af4be1d2c5d0088547d2cd16ef3466fc0b21c9b28ee585f08b74c7a0a97ee23a6fedd0c13a6f500f040c6ec88499f237ce18bdd89b66321e9ba394ad9e9f9354d83fd5c28ce8fa27157304bdcd204fe2826224a600ef2b6bea6f357e919c0555acbecfe26428a8f07778747bb596e14964c2ae7105ea16b293dc7a1b2229359c75f93aab253f418f79d0b83499be0facfff9e053e4291578875bd5767cd7637f629c09c3a0d4f4493d1c04476f43433221b155b688f649e8a3b96ac59f1a3ab26fafc810c9b31446f0315e7a1aef179d095a78462b2e88780acff7177d00d6e1d9dcc62ab10ad7c9e91a0b10ef5bb8af768f52a87524e529131f0142d383ec8ba92c013bab47a84865a33c581ab7da238c3210512cb8f30337d2a4760d7c88f4520e3e3fa2acc0d514476ad70730ec18cf4f7345d4d8cbcc71f0ce781e5f8a8cdbe6640f62136d14f93086f44235fb406517fe4ac5696a8877ad752431aefd42940cbd7a81159ed63e8478e899b38541d6db7651ae8fa96a74df18bfcc839ad73fc1634016438f3121442bcd15816248cb374d016922e09c0660ae972f7c0de9057d44ba1d62c296cff825bf3e4ea1e0db49b5d7599b277caf782a7fd7c7e948fc183d8a52dc6680b4285871bd40a62708b68d11804702acccc4126f3db4f331fe7ea4eccca0059933d09b53c29b09318fe9037f173e4f14e7df01db2ff2a1ef1b2ff32a00ddc1d25bff93a92a2f19e5fcd500de6b4c5b5cfcb734a37c14772bcd6810104573fb1762dfb59e53a3a559bf30541d9f31e6164607cde97b2eaaa09c101b8c63825d9d8a1c77775521f55e0568466795375f98201c598f8ec8dde842a345564b69a301e91521b11a60355789b2294b740ae8fb1f8153150c5dcc418efbed764d0706afbe440cd3fcf67ad5a3e4c7afa7b62e4e178f2769a1661900dd3f2387b5dc36643fe9563c22c804865bfe6a06fb2a077c72740da2ba920e121b226ab7447dba549bf56e92726f9e6b53c0f436475d99cf0d8c524752cce0e6e3fd57eadc98b87da7122c24dd99cf7ef81306782f3101772ba15d5ad2630080127f905bdab56514acc3d9531a6d6f6a948d2dcd312d5c68bcede0216395b4574a34680e16cfe12456467d0663499f6ff3925776d0590a90833ee50c85889ef064b4b139199a461ba9393881e5308e09325ebd42eaccab3ece582fb00c6f238f3beb5c1012131118e4ee325a867971a143be1846e7706bf8a5f8469201f55dfc6246613f60a440a2a2dbff70ed6004c89b17970ef95b93795a6e13e94374b3a41c07ecb84081bf4a42c153aea4317c9b5564cdd9b6b996f1a10d405b2f7303840782196b5c7ad997f8d1453cf028a1a6454c2c7926590d2d0b160768a8e986991852598eed01ebfb45d61e396fef82d3ed3147a1ba9adba868a70d83e63544b57607a789305cfa1ba80233615f56f4cb1141681fa26d1beb36240a1bc52fccf140d5ed5919269e790a459b8270da2982b73d9d99c0a44c7e8b280ebf48c4d078427ac87911b36479fd2aaa45ec4dd30473de280f275550f9e4f5f3c36c06768659b83fc94f162f85c51b86d751f02a97fee2af3ca40cdf1664a15926cb622c05cd95eb585446ec8ba4f6de151f678b04b1aee39b56bfdd8ee3bbfb354064613971cf263a21c66050a8c25d05a8f91542e113eecebbf402dbc0f09fd9870074e09a2eb92d4ee3e1e844d36a5299f35a001ffec0ea1583063c818a9cf9c6d2f19370387e9bff5551a2c03672a15e1e9332eb5d8553bba68038d1ef796578cdc75a83e2206d4a5ea30bd19a09193d6f65b117b73d5b51ae5743658ddd0e8ee0cd55a136dcb0b058ab37738e0f6caddc580cba5cc5b4139a6be148d1db5bcb54b92cd86aa7f491701669579d5572b4ff166eaf73bbca8b3cdd991866687da07af2964468d4767f3be25d52c1babcce9be62654dae35d7abcfbc1b6e0653bf23333a1a59470d0c0d8c96b61e1042d580bb5dc862c85865bd391f795188cda1f80c6c1006fa19f0cc90775da8c9deb7d9004645128e6d7b287f500a8c78c60bdfdaec8855c76d2d9dcad0dc084c1e0ed0ae85223f66eb393d11f4579c84b987d50fcfb1e2bb2bd905c3a10c29701c2546bff47298bbf0ba8960e311cd588eb196a8d2d64b8c12f0e1a0cd0d6c7f880ddeac85da8da1ef82c87a87e5aa09a28d8cf5e7e83ddb4b82741de51300f2f517f023eee9b7ad4e35145e4588c80418386e37716253f089a18911ceb41ecaeb49e611ba35b0e319c6facd421ce57245ddae4a02f9194557fda29febee271bae301f38496b49563f826b4e9d094c7c57d36bbdbf8bccfbca11aa0429235107ec63e3a7eb8769f6f6275169dfc070ed27db8628ae10a7d25d87bcd2cf2496fb7ea915881f5ee0c23a7477b5babb47a7314614e2dd03e5dc247e0f399af9712cffc294bfb4a23d82a0a27bdd4aa888e576805a331304047e315d564c285342423334dc1465e49f04332d6e927c185877020062882df8aeb213caf3ce4122e87b4a70d5b7bf80ab86e17fa1c23bf2256ed7096ec411e6a042b1aae0c3f72be83bab9b824e1e069f64b9257ba4e866c7231901ee9488eafdd35d0ed41f95e3aaa7f24616671cb724be8592084f1bbd3385f58eb91d4f57aa945b2effaf566599ed0ffaa173073e590ef72deea87ad1875ef50c39d5e9dee723f57d333d43c92fa1360862cf651ffa60594a0925ff727fac1cfab76bc138c40fccbdcfed5bc11ad19566891bc346d8f6a0cf85d9156fcbb6efa0e0ecd5404cace6cf7208ae2f8e9cc39e8fdf0ed742ccc19af6adf2de74f7a58074408603f99c9795a946011175d37a48fe79396eabe411fac4c39806488f7877adbbb88d5508686c94fddb70ac42f54b9859e1d321adde41d3d2daab833e7d949186a049bb18dedfbc59037c91deb7fd9f673ad8748eed1b5b560f6155811c224acb7c02e2362398adf448c5f5fd0354c89b8c395330104eda49bb9307a3b6c618fc6c2c80654022217a741084cfb396c26e0806aa023771570ae10082bfe9d2f2ed198b2de0f5e8cc82b18ab1add831425fdb6f055d0b265050fef4204eb5234fffd83da1afabeb43452846ae246bb3654fe0d47ae596338b7074ea4bb84cf7ba0c56ec4422a8f7b7b7e525974768aa641e4cfe9452d8640a89881e1f31ac7dd918bc062b756ed3f5bceca88b515620ae0708616c5dc57489249bd3f1749cdb7cbb4053563847ca8a8abc7618d95d36d327bc7f21febe012f810971be5eadec56ebe9242de85e454ba2114f116371ad63d151c92ab4bde38d82c41e2dc32eeeb53193950f2325784e2d0b2731f351c365cdbb2ce23f5bea1122e1bdd86df1954877d89b3e2452550e54aa8ca81864d6673613408a113608288f4c32bf438b85bdd9ce559646eaf0233a787d35a0a120ea9116d1e3647bf96b0b5782e2e7cfcb77896d954654c636b3631d0005364a54c11db6b758b2ff0421316bde8bb42b6b08b8e67bea9239348d930b6dffa823433e7ad758217314663f43a9fd620188f2f922b853fd4862c165256eed39c91a90ccd64f2349f649c54091e38cfed7845a93500e2f0d9e2326a84cd4365430e125f6d5c29d7e5d1f21bd66b75c0f73c92bb4bbb81c77aaafbb8a7c982e0bc08f2613095ecb30cfdf4dfd4d7889df434634a2d16f678e280550929a70345ecf2dca5d249b278ae10acb90ed76da16439e8632ccba38ae9c9fdd1623fd56ea6306138a781fff540c13456d1022a91447fb1daaa9ae16285776fca8fe5e242a4763ee0aa18ee1ff12ee80af07b9a4e9e753617a3646141768e4f97b26b787dd5204b8a01651fe05b1408efd701bf99bab9e42474f3b5be709d39a93619f6e97794d7272c3bea836b8f32c614cd49c7d86abd71a1e59f1718d65cb8db531de705fadb2e1b7c0ca663066f14dcc0bdc5e00361414c4ac47815bf57c8cc93839eae5a2b53cc918929edeab726eb3a4144224e14f542791abc005db3e505e9837bb6cb2e62a492a9da5b2f13211a740e0d27a2c10b707f58b73b2ab520e3d1e99f9086bbca35d2108a5e963941ff80717406a146c493adef8c9b12e73dc80c20917aece43428baeb347455ff091583bc6d813fa2f8796b15acdb7e1b39a44cf2a7bc478bddb6789f67880e5a7e34517109856f901ca7a79135da1da30583e385f9b4594b5fb7bd08c5c658967a2b3d061adf175a2277f1c0b8216dab8c0c9bfe22bebf4a1015068cd2dddb2076b0188d250105351afe40c0757136c54914dfbd48a5d59cd88204c50e7c2dca5952f96e3d4b86298efeff21190c36f5d27f2a6043a8f2b0aca839e9b35cb4f7a9a2e2b3f2816bd0dffc4a257f6f32829e17330aa28c1ccf8ba4ce6b1e3dbad377fdd5da18bec53dc63a12a4f3f60d4f56fe3b9d58b57409b6f5dcae8ae8b349c10958beca40b732350e709f3e450a98466bea9ab2ef8060c1fb7775c2400a34c5197c0a25149357a6acec958f26ec61df5a6dc31fca6c0e4f7f3f4f06038d327cb20b12c7672b6a64d84c7e25f26ce0ee0977816a5f9aee77722ff47850221c12f31f3d45ebb9fd5799e5fe667e67f2fb5d505c3914a318ce8554dcd3d6621ade4608066296199f705a7f9b4a9fbcc2c495dfd3651b5791cd4d28a0491cd308c045ce632999e395e9ef6176c1d69769d7f8f5bb2282a679c6cfe9ecbb165d727af1ed624f39c4282e035bd771f8eed5d5f3b2ecba5450c7afa2527cddb442ec40f7355c96d9773baaa707a99d3d42ed3cd72cf9625fb434abd03281bf2fb94feed6250f767debf98ce3473a67463c60fca1205d1549fd62b3e277e40739b7b3cba2d6bb292d243bd3002cc933019b1c80c9e085590842c2bc33c71f5507c0f8e2e28389b1ba95a832d013558045a4bd3fb3b061e49a3ab00baf400284a8ee120e44aed7a80de03cd87bdc191b167d660931afa187a99c30f03d683dffa4066201c195f6c2285d6298fa6eeb076a1c4a3319175f03630acf09267a104a9c96e04c3a2f903bd2f83f9dc083176e15294a16733d7df2aefd0a4c245e488c299ba19b9566d977ea7e4b770177a72ed956c4c65c87dbe22e788c0b4a6842329257dde127976401fc221a92e4530c30ee37228eff93bf07d9e5f0da99700dd51f906f5b3322cd849d6989d8c870f0a25b0ed942b41568f905dd166c1a5d25fe4a85db916ff496c64dea59f23be64d8f73228655faaa524e4e89c062675aabb9d5145407c57bbd555e2035f1a2bc0516eb934c73c229d622ca098eda3ae83b99979ca981273fbb4e838dac47717d863f28cd6d02370789a5c4c8739123fb98d494372dbd60fce664b7e3116aff9bab26430360be31729649aa93ad0e03b3279fa1626f77203f2a45d6305e857603bec21508a86fb65f600fa487761f12a3222dfb346e2ca8eb5ba377544c5884db13b593a7a2261c420f91067299895694f1aede198c669be128b8305194d980fcf37504a4a0f0054d32513849a0a83f342480f12b9f0ca3e768da3649953c22b25527e0abd371dd1ba3b92a4ca4d0cd514c8fbdb991514bce9f5e34d33f6c56e097429eb4a20f807c5ea4367d20c03f243ef90eb1eff7bdb6af3483122cb662642e2f1cc6e44fa12e2df77ef090939c33f74b4d1b4173559cf4b79356e7518b805710cfe3741960f09a230fc48ed2253eee7e3cf5c159ce248ec7f0dd480c913be8449b1433f4e1516f3555506e3ab2e4c91bfa26568b2c7e22df541e422397585e3f316260e977c525dab96644dcd6f8be53d9d7418aaaa7213cfc2357c140634b485d7cb4eb9f3df62b878fa97e9144ad545a35a59de8191d19444e5e50f0bf3a480243347374ae0656f9d484c935583dcb5311ab8fb23023272177ad30b55d84cc8c498343060862a49275ef2a377250826c9b6484d26e902b984328d16404426e206889c099a70b49f188da2a9910b8129b951fd972540b3b20d52aee6578570ce0e90b35dbdd8e862f872fd18acb8fc2b735af37ed51ccb99ed3ed868ff268d5aa05bfc0a2551e762625cf61e1cc1afcd8e637ad4ab63c37978306dcc1fa8676e078f468a833cbaae107f587fa24f183e58fd3f97aaf5cf3901788f28d369760a250ac50acc666153d6b24179590e13d146fd9935013ee5fe85388077de49275cbd82b22428a1c342f43a0264eda94097c07623751db6c9324fc837e91d93ed5b36397e24576863988b21cd2924128da33666b2e44b08075a68514b1bcee452ded103d7bf3023cf5a2e3dc7466e6cace7502810b613d777201738a62714269edf1c4f35f4bc30c745b9284dadea0523bc6d70bf066617cd6bc3a519d91aeb8ac7cf566fc04a3eeefee5a956cb0361dee51118b7397ef06c1c75896631247dc50d6ad9b53a24c5bf3bfabc4a0b5dc9294e4c0c00f38a9f817e286bf4a8e51c87acb31a5f347b0c1879f15d04a5f591d6d16e4056619ce1303134eef3b1c4f0ee2c47be5cc8e6dda355865cb91c8b41cf2e1e832c8cb498ff9d6a3f766e50c7c26d41091661a521372009edcdec05b9ae10f6efdb0d2832fd74ffa7fbf3d864b3ae9b5a9c85243ce223bc1ecb749e4b2ed348c5fc79c547c89e167289cc933c0baa428f1294959d8aff894489b5abfe89cf1838fcf514b770b0f0509772180de9bf2aa5af58b7c1181a6483f333872377c4233bce16a7e0f0f21f16986f0749ebebc43f88236fd92165e2dc23d0eba5e57e6e94085bee3343d0cc3dfbc696f78be8e9fad7395c9eccba919e0f8d18120a7eeeb9870d884079b56de8849d48e2066ea61ced331a799c78c8ff49549402eb8e067ace3b288f6e3c07e4614b8588ef7605c435af7350e0239e47a04efe67564286f9d36ce4e2ba0eb47678c3de1ae5db8f8b50a3364511063ee2bf149e72613322b7404056688597be2129a8e6e88e5088abd8c264a2c40b5e66b10cbd7a58d60338da5298225a6bf98d98a8333f39a9ea63892bc8ca10115edb66577fa9839c832229699e6252f8fcbdff81cbd989658c6ac123a97056d262b6d73934a83e1661b15225dedd4afee7f358a5c6e8f47e3d0bd731293944fadf8d25265827f7326587694b0bc9b932da239f89feade61218ded31f170a80469f5dae1d51bd38f6b16f729b395023ec6dcbd206ba5532cd8d934c6d7b70aa60011153c05a5f0d53456bc75cd99afa9661912fd61a241149a0860415a188a9499ea8f857a83493ff86c8b9feac6dfa2af2eb26c24d1808bcf9b1c458a018741508cf17cedbf84da2cf000cc84a56b54e258853ba31316616b805194f32979179187e63a8c4eee398901affd1ad2b30dc72a1814808a19003ec2921996daaf1ee16e0eadeeac9cb9cc251bfbb4a9fcc326c25742f8d628804f6cab112cf7289d10370727591232ae17f5764931baccb8d92dc829c9a8f556f8ed48ebd2b484ea4eefd4fb274f71878a7e688d47370d6bcbb985232f60813a81d03fa4162747714f7e72954d89e5ad77cd0ccb0137b9910c92811e7e86243f466a46243efb0a3035c02ebf3cf99f57f3d4676d7bc42d0179b3862bdf216e6ca261e97356181e016aa7cab408477ba6e2381fbee076a973bc5029aa654c2506cb8c9e6f032b41ab2764174636a43877fd1e25ff229b96b79fb7eeb03ea7090a8bbbd4d8c42c2bd610d20ba944608e09afd06f616c281a759f2a1114af76e604005e181e7b18693fa1e3d9cfd32fc746f2774229377c8d82c14730d0097e867fa50077ad5310d7457e1f0f79c9e168fad0f693a0e4813caf15ab42d5913d86443a35fd2ff43dca30695ce3f0d0a2e578ba741e335a1fae3ac4406e098432e2d9dfee75c27a32066fc33670b5fd9add1cb4c51856355a7bd44e507a01fbd6efe1342f794869798c3548d21c8f63de3895bc9c7a1985e97bb01e8ccbef9d14f806c024405649cf9b5e40ae7bd0b53acd1899c76efc3aeb755edb9db515e9dadcfe2debf02f08f8151e62cb5fc98d2d2379f0587bb6583f5eb4f01424f47cff98a4b038a33b5f9afdce0808625f5c6a037e2194342d82e778044c487cd3be283a15c626eaf8123a59a7dad6b763a02ae633a4dc07b6c584a4bae8b4f595c9de1a4f2c161f71b7e1fa779b0227a73d711f7aa61a73b449d1135d9a226b4628c5f2e30ffa54a5a6bfbd8e176150029b10667d623bd9cc88af613d9217d4e77ea132d9b69b59b8a745f0ffaf2fe1546c6e2dfe463253a125d55048f348ac18cadcee22740e36591ad8dbcfd7b52f6439bdadf9e5616a1e055ea73ea691202dc8e474dda02f115eb729e4a24b110d7e8e54f45f5469af96f0f185cb602b0f7c36b315059db60c9dc278419d7d70fe41e724a26ecdceedb613acab3353e7bb6ab3a48baa8685bbff3123958b45cb0b1b40b189c2ede2d3dacd04cd622f06f26c3b4234191528a45b5b9523120b62ae28adc0fe6a90318e718436e2d11d578fa848f57c68c2bae464dc2fc28a626f02ecf17e800cb82da59a2f66ce64fa0726b04265ffca2c0ed0803c45c4ee0719ac9baa899019a008ce1cddcf1fcfdadd18cdc79aa937745f12a19fc5b867d5847b27d7a2d14e88f6aa7fc74c2d1212a3fa31ced12dd281ac8f03123bda79b98fa9d54015bec10e02e0b5ca67af8b8226d59c245ff546dc5d5e4beff6058e2c036233ed67862121af111cf77ddb8cec588b931397e5ff7cfe5d4886b3cb42069c58a7b95f95d4070b088d06f2509902d87065601bcb7fb9c379f4bfc17abc6f66a5e126de548247868e87920bb2f11135860de1ce35f1ce24073145e7cd59fb09bc71bf0694c2933e20b1287a5c6573fecab2f0ec0091d6b6722ba763a4356983eae8c0b028c6e6d8e307ba16889cbe34e95b1ff8c986c77c3482a2d2e40aef65dbe6441bee8ce6798467a1791630532c1014bb6345bdcc240e2c24c6b0a84bb690d017d6581d3720137c01ac3cfcddf7afbf52a594b4ae3286efc5a1d6a2487dae9a8fccbe4043fa26da970aa3d05af88cc3e917209a8270db676c3bb17885444d99e8af7031c39dac4821d7866e28317a76913953684b46ad6db6fe1aa917943d229e379ad118c587c165ec3f1f06d38734a91ef3763f38d2de25f6caf7ee87f7698187bec57434653120ae0d0ff8376a3d1491232a35948c92b012b33d6587328782f029f9dc7cf2f29919abb3c21a20b7691afb33bf76c95841f269907054b6adaef486e7819ef5bcb975f5ce4cda48e6af8fd58a09106cdafdbee96788ca681d6e087fe3b419c4ebd5dd715129fd98213bc8e2689db56881d660e19174835206fd5a3eb5af331ccda43867795cae7c55a143e1620155b36dba060fcd52b590a5c3ac881d0536c81e57def5af68956112edc47ac66643293b3db51bfc7150a15c16d8f57af8c905a698061815bf88286c8f3aebf52c4e6747086589d41362a73979b5c793d8e2b5cf5f96e1612e1d886748bf9af543a213c2cf7583f3b79b79a52de580876a1926d522c1f384abd6955e7c0f8e3beda188255b4772c46bebe27a4b9bd56d85a33f33e4c22adfcf7f687d49ded31343b80511a41b40baef1044bcaf514eb92e3aa64b38c2c32f166a85b4fe282bf9a8067c15db025af2a4ca4af5e5f8b8cbc6df6c1d619ee307d5129d3ed8f9d4f19b8d024f22636174dd530d3112060918b5b679de17db77119ece24ed9189244aa58dd68bef9a0e39b7d469f2bb0badb99fd1b8458db509247f8298eb5844feadeed26efd09154fe4a645b8f7e91fa97aeb374faf3bcf844599811f4df96eba1e3447b803d6f4e90cbfac77a42f475151cec5d7aa2d00b6780d5fb9adbe94e0265f0294fa35f6434d021565b4b7b2dbe346bd0b49cd98b401cce1f986b7bfd1eeee5e21360f940226c5f8379e23332109495e0442a68b61eb8e43405a34c3d85966c23f9cda184a8a7ca43d5ff10ac606725f31ca632505cc90a811adedd2b09ebab9ce453a3fce8d460383f379281be33c0dec8fc2b395608f8418ee88a8ddf2e7d3ab2f5fb9ecd48d29c13b43292264a68fbdc99408df8073fc782fb666255fe0c53431aca921177012d084ea76d03ec128a4cd2fc90d1d368dd60289fa8b8e04a510d3d2bc3f678cc1f18bc16818196ae93929310489724abc5794549a24366e2a51f05f8d775a7455e37e2b71a05b445cebe3d61f47365b128b2946a7475601863748f984c0d655a0dfbbe296675e0016df5ae7d5d136eaed72f57b4aa97fc123e6514e3b1a71320a73339ea448d0654acf652e084486a302fa010424d0870d34ef701a67458bb51e4bc37f7b32cde1816d938da76c8bfbea2a3fa0953de8af7682beffbeecf0a937cde8093b057895cf0dd3fca560d743644091bcd7e173cc3908589fa260931b3ce6c914d69bbdd0b5633e452cdc23a3061fc0d28876aa54006384f7e82922ddb08384e1fe4851601dd4075249833c3be6b17708a49f00752ad59f2f512365456a2c2270e8c488250f9784b0a3ba89f8aa0cf6bdc367c881b7ade3faa11c142974b67d51145ad01c4bbdc291e6a1bd68c40ce79831069e8346dc59264113da45e50d692e043ce9b39f5426643c3b9948ea540de9b9a72f714a3dc3244b8cb818721c76b49c0391e8692329ccb492e820d05bcb21690aa7d32be16a43f5bb209e1a153dee944136abfc732c8f25794daf17f1e96355695e076ad12f157e538ba862b8425491ddaea4b9c308049b5e27853c0cabe47c53c836de73486855107760e73a00bb787db16350534ddc1a87b8e652156a0658884991f4bc293cddabae03d5d178af2b2bf8f9fc3652a60a818075e7ae4b36167dda4f8d8cf59df50f24995aca31bcd8f92a0eb9c001aaa71fab9ff73d01e12fcfbf1b0315ee2b73dd7b835ab8e5ad563487f6e35852eb755035e6e1d4af1041ace5688b946800642906e56c5fb8ab5dfc4ef4aff8db6b3dcc7a073fabbbeb9f7c04384f2a35dcf611f45fa5301e1ca57b43b6a109d0883bd580b5420abbd1acbfbd612d314a6bcf13a948335ac36453aa8caa2cdebb11b10b9b8039003dcdc742e3c775af6bddd29c4b1d5b061984e5d2ab1d9b9c0dfff9040f84c2848ccbd5fb3bfd6c2a83daf85d9e6bf54f54f1911e972717cdabebc64e08802bdddb8d36894061749955be644e7830db0696041920f7af6835636a6e77284287c7803391ab57d41c901a17c05c7cf7eeee260e6384e823471d7e6f80b2eee694b43b77670d067cd42c3c8ecef9462d701ce3e22b8ad268a583248cb459fc257c5eafaf2e0b003b5b57b705cf2167dce8d54e7ee0847f9624fbb161d18a4b600350f14074afa9ea9a81388f249fee159bb8d68f3b80857b2f703086519e54d6a0d588169b295bd0517e3930fbef65301025e491f6efc85b98ac8b855686945303f8dd92b0905c13e999fbd29a3df98c021a475ce09efea85cc0adcb9727a1b8710651af2079022d84fe073add8ac9b975e73a8dd1b7f1fe1dd5aa8ded786e0cc5159b6ec82ee65f729c7307cc832245ce7f004a1c36f5865c7db79b44d641033646973ed7094044b0a2da8c321f8d9c07d2bc984e00e0689af26155ee7a143569bfd1020d421c7e4e0f8334128832ffe377e6f4aae1b9fe729cd45d88bd551e7bb1d8fb68cb553b5f50447d8ef7ead2907ea9c37a5bcd301869204bac63838ee0d92540c7b1191fec835b11e088d9b438f042abb0e23e3dfbe3478be4b1a2d755e5b40067747435ed4fc0c5b1cbabcb3eaa1090fbe8d4331f69a3fc212390f5981797464c25a6ba7656f78eece5d9098c0a627ec7439b93c370cbc4dfdff5c47775b9e1d3a6569d084314f9d60ebf478b133f7b8b7e1bad225b7b66ccd0783a9f1fff33055e429eed4fb11a16824aac593320f8ba3a14a0d2f5f244c596041cd17d4a973b5c8b5fa0fe3a5f3c1dc6f13dbf6bf730baac81e7755cdef03a8f18c9daabb83e8ad87576eeb72ce97bd6bf188ef75b9312cdac23bcab52d974a4390ac5bd209c2698fa9c1ec55317c51a7d8322704fe322c934391a4fc062b5a977eca493b9b094b59b7d962fe70a8fe1559042d42325785605b9a32183133fa9385e8df675a7e8343a2112beba7d08f9a34e003cbbc3b64854681b292c98c0c68815336062a534fe5070d85b2a9ea7928e120bd52033a7bd31ff442fc05acf476ac5fd2f188aecd5a694690818cb4852f845dd529cceef87d3c77440aeb0ea6d270887e7462c5b4bbf7e32e494e4bad0103d93af387981142849aa3ff9e981e6334d25838eb3359a87a2cccf2752d3988da5a6673977b708e23510752ac67faf958a714f51d40b03eb2243540bbd792fbd028b9e64766177a1b3d23fa6df734dd2ea6ab808c58f5770cf53873ea6ee69bcb1de43a299f7e0dfc85ffbf2e228669c1aafecaa5f5d03a40baab0d08cfbf4b4deac8d93504ab6c8a80e4fd2f203bd29397af0ab64d09e354ba724b8fabdf7ab294f47e0c01c5ab2a3aab44ce2d115b955d0e8edc364eab81f76274accd6c27d01deb642c37fd836ced879708ff1e7fad5be9b1632ff28af5269c9f4232cbd5d27649624cd807c3ea3e1d42ded5d33e79baaf44014727109cf688e3cc4efcf83bbf6d228beec93e0b5c2af961090925998bdd8c2f7acc9a1ef03343b98025676a52236301395b7f0a786642d85183c0435423a909ffec10f714c4798801f8fbe9cf80a0715c3afe3fead640b0279878093a715e86b5306ef62d9b9e54ca2c3772215378862092392e64ea102ce9ce1466c065c2bcfebb4da2dd22c4ce023af35d00b799467f944d9bfe446c9431d836104d4622da7d7a2157218e0daf18938b7d28d7d2f9aff6d4156d8b4c86b541409fa1b3cc28663bce97aad276a459785e3d6cfb3e93af4bed870c2300d4d289a9f21d0925dd2c9f9dbec19e62fc31c9bb76adc8e747597ea6430152cf59f7bfa366d4095ed6eb32de63d26feaca568e092b437b696de2814ff0c77474488aff24fd1ec68421080cb8e9cbcb0ecb38033951706ae1c215900fcf96bfea5a7ec33436af8208dac14823ff3df0ba5d3b1a0d1ccdcf7ee43c4a3aed4c721d1a967157143f4999a8e3959707f2bb7c3fd6c6588baec866f121f4ec95b3e7a47de45e0884a421a794120a548e4765b1a341e651b604a243e92eecee414aaf92e886567856c06f3f119a153258c78bbe25accf84dacfd684f7b35a5d94ae5fb6146b7b8f529eaccfcb7b36905ad1a947d221e5147db3cd6e5b8b0122b642f5becd7ae4bee718b2cbd790bbcf241010d6b0e3ad673c3c150df971e0f09c0b4db061989792cbb86eec6730a55d353ce5a736dc45357de01352bf95d247cbb50cf3c516441727602f29a335ea7c3f002384080b34573bb276030f5b6a8f4214e4dae2c3b58c6df861fac6351c50cf5e8bc218575bc235b60e26cd6adc8b337964783147adf11a72c5d7a80596dc5215be1d93998ea086669a531a571ebe8ece72e0667c52760130fb079140313d5431cd1cf14540f429dd421ff2901d605bacbda5017c83bb67447fec27d10b111709460b2bdb4bb37cdcd16f3465a2d91d3f866edd6585faffbd8f586e08562120982266cb3f1cb89a5f7316e15a7596fbb1d897d70231d89681d0ea244fc87f2e260b0dde837ad029940a89dd27570c8956c469ca5d5559080c96f567ac5c27c6f46f9e9ce9820b8e1cc942ad831eef9732bcb9a9a17b90f6422842ef26d725a98a2168235ab4f566ba90bd0d3fd7a8aba0426685d38f3248aadd3d3f05a872eedd526dc81b2263b38e82b1b270df4aeb21f38414f7312d03cb9687d49342653d64711f056caadfc0090eb10ddd4fe2479fe88f4b429eb1af433f9a82b9b709d8cbee3c3ac14455d2c65613093d8938c7e85255469025b4e8bb13f66c3d30271ff599bd58af1eacb651b9b9f436c261bc2af5a2267ed2675704f368f48fe3d47b224d26f76f9a0110c3961b09e00edc52bff960137fb8d73e313bceb2b3a4d70c9755b0094cd5642d2159cafb3561aae7f3d62005fde03833a043a1ed98929513b62b834689d6c389d0603e07f48ecf6e7cb4c39ecf740d1240c5fe887d5bd28b76777d113f2799778ff2a86e17b9f9032e71b595fd0aabd15806ea1901c835f2ff5a68af95c0a655f26eed1eb08c3649821f9ae65a0cb3e4fe530ef377a78ed9d6f54ec4ac72e2dd64f2e5debf89dee57d3e1d5eff33f6f82f15524ec3be22a3163ed34373d721252657c7775aee8c9b33ea9cacfe9ec6583823d02289b17723f21d76b86454f5d8f65df96ca216088485431c6d806e672e5058d9090a0b95895dbac6359dcf728934a4515d094a23cde7cdf3df9af9534e057180a07c2ff1edd772df1f3715321f4c98964051d55f945881c099dc29c337d61fd254f0eaacd7b1b7030a2df2a4f1a9d9552f3d3b5f13ee23a6034d73bbcb9d41669aaf6bd885fca78ad426ead6d724e59a284b6cd0c37e454db9c22143ac313d676d3507ca09962b8bb07589c79fce5e6fadc073ceca69a0dcedae40f0b90931f5a23e2b4a5614d8ae0139596760210b57b1f8567c9765405ecc2f1a4735967d24bebe65fbb8ea058447fc8065cda7dba5bf49f03b4dde709d1f76ff60f49a3e92cee99b538b454c60ac7bc7396af6790a19b841b86c6753badd00261b9b10f27d43fb10af904860e213f7722fbcab4167880909fed6231ef6f934ea66b4e35f51570609fd1f22cf61cc2ddc26d1f58d815ae264db43311728148556a20b7676d2d82b8217c79e0de3fe8a3f4eb4a86824365fcff5fa0c1aea511fba8f7a5a076fb3172ee77afa13e004bbbf5b5ad0648441d05336c104d427cf432ea42b6c3c99350afce1338be5aec69dea073b52c0c005059bfe0c8705e5fa07c9c6696bb5a5a5716fe36beac631784b836549db50e225eef50cf4f47a7aa4e817aba51833ab31cc4046193cd394648f0aec2234cf6920201af59aa6bcc7fe04790d3aaffac788d50010899d9155a2f9f807fd831fd270f02d63bdfd2e0d7b96aec2d04cfd8217d284f976eab29eaa66673b34e829e84e35a67da8370a14d70bb33ef7a85df6a8a5f120aadfe6d75a4cf8afe9de9b9d0f1595cfe8dfd571e7c03a8eb34deac22c7ea864c4cbbc6aa65a1eb8dcec5d8adc9df082838eccdcab50ff87629b267b6913e77aa8a385014c5f9e8c52afaa63d2be7f6a9cab93ceb1629680802d162f3717af3ef73abaa8ca96d2fe9aea2aeb4b17854ef57aedc121f99eae3b08035d785793f3ea5a2f24298cda79ff1ec61b0002a407d31bea921c70162d7c5dccb9b91c900ce284f836dcf62ef9221078b81d59e5ab010ebc439d122e7a1676487b5539b7241de3d89ff20754d28656e327595aad650c97e78186b06eb6ba926bc91dd7c51d23c51ce762ba6c7fff6bb1ab5bac16ff2844fe16e6ddc0fc4ff51d1c1d723bb07731aabb96d36145357fc721559b036c01e04e1de911118a94e00935615dd61a092222a7df2fbfae3cedaf13345b4bbbe092eb4304c8310dd9a81313827401d9a12ffedf330e217ca0b064ea91015e9127f429a50aad5fded5907ea915169899ca4ac01fdddaef6280486a4cdf94b3517128535b92596aec0788395a9278fd97aeb0abbb0f0af1acb9d72f884dc0124de10f920dd0cbf71ccf7ad706b7add298c998600103bc267133a7849af812dce821ca7a7f546418a092d0be41d21d9e4f42386617202f55f448157e0dbd1b7efddbd68d30a6674362490450e320fe592881aa57400dcfb9f3e893772bcf260882bf6385019207503e51727a5798d2d5d0b4a20abe1005d0e5e22ea0f7a7d838f990e368474fbd90c8a6093300ad06eb044364571fb4da54a70e60c3dd6cf54c0ac462fe87b29b7bec2885e2279f2627b3dca6f461cbc0dec8e927c98886dd3987c3a0d200563dad60bba7422eca6d238ff9036666df26ca7b0b344aa859966adea7f9e119e9336ca54ba404e50122e7179026234310b5fa07b3ca4f56b62839deb7c9daa94b9d7fe288cd6dc06c97b9774481d2e3a6b7b0a9040ded05a22c7eca27439e35d8bc358313b34d61d3057eecf875b05c8d5ca254fba27cb151f767d1d5a6abc0bc92581d1f1592b92636cc07dc81bada4f38df3122ce6a513cebabcc1915282ce5f256b97474885f33d3ac61b0b140caa22847e4ac935f056361bb3b50fa55ba5b3e6e8f21b4aa6aad0d570e0f58d83ceb3a3aa1c661d4aefd34eab23333ffbd1d4a4f36de5dc8374410402a7bba84d0f323790dad40ddf6fdca339a507eecc25206e023e3714c41cfb8ba9a966fb593c211322d2c3d55a72caa05516f4182c020225e9ab90ecd52aa26b3cfee311320999b8d7432b15d8c967cb55ec873856e7dc63999434c06238f2b3dbe2e551891e791faac8073f8a10442cb490cf6dea010142bd72f573dae756fea69218b8058667a8436f8b16d1b8cf12f1c63629d77609dc4455d8275faab4a1c325ef1e1f1db20db3fd42787fb6441bc871b28b0116d9dabe1a68962b53f6200f208f3356d30109e39b1860a58411585504ddb96f2bf8c6b756c917b5b4909836ab25292e26cc3f60f838ac4dd218e3b2ef6666a460b03defa5784c48fd0fbf180500ccf1da4cc726075070e18402d3a985a386b932d0b0dd2217b63ca8ef91254824a0eec7532119f6d5eaaf8de88237c9a7e9c01f6e8554035fda532c82ea18606696db42e294e889067e60942407cd7e2f56490f121bcf12a4d4af6a40ca89303c4d9ab67400b68238f387afaf4c2ac32494220b323d430e60cfa59918fc47a17fca323d259452122adcf6987e4853f7a7ad668a8065480ff4707f352dd7baf3576a5bf48b82723da0bab44fdcbf670f40efea546b6027d4a33601aa814d88f67849c54d2d7bd0e144ee6b0d068ec1e92c588b26318a5d57f59012fc0e0aea37c83c5b5425ee460d91420fd54953ed0077efd1d51a274903c5a936d5c1ddd45d7800635de864bb6740c6cd31fc2d2e710778b5624d986c2d2acc00c63163400fd941a39318b31fa7f371063c2783e94397f0306c5ad3a8841e4d7a2ebca43bdff4a20c321f9068110519d893a3d209c3ba84e3e97579786e8af2659aa3530a596440f80b98201822c89f37cbdaec5693d21ce7900c5c78359598216cc11fd4135a021455c3f45a43a08d38592fe2e3971c1b9977fe126ed2ef7f4dd3eb8d95085d77387c4156bf05f0cffc476998251e2c47a163c11da454abb7a00e993ef64f4f6907e4b283f29730f39b7b256014422d5e288a6a95eb6220b6dd0ece73b562ca4a507ecf73469069c292cf101a2b9982a0bf4d6d56080b0d9e058f7aa76ee3e93e8c581e1d4070a2409a49b672e52991ba12778b790afc67da8fa4837c282ce911a742d0d56782dfd6f60f6f61ec946e7b4c8d07ffcf9a384319716f4f6793a96bc4e2499514c108aad173efd705d8d32817e44603ebb894123d57ac47e2bdde95fbde384c21210ab908be9b9e16750741860afc8c8e8bb647f10a9d3dbbd2d20b8ef3313458c98dbf5ec809f4c9dfa564b10b12443bca315df0df306767338b7cad7af11bee1e0581d28325ba5bbe33f5ae9336824b0e09469681b4d89b190e3715a13f4100f8303c88d38167e56bc5b85561fd62e5565c8c8de4ff0c099f5a8e6981c1d567b628e9eed8b42d3d0a1da4dc8462896f0ea8357e0dfd23496c60020f293d2cdeb58564993620c8d6eb86dba35bf1b49442eb30dfb6d6f18d97c34db73fdb5e17f53655efbf5d92e884046c33e756c238a7a7d32d359f10ac186aaeb7819c69816e0f8e90fa873315f29a5a787a2f9a9d6a1f4445d2021fe699ed1bcd0c8c0eade1d642e502a69cc0172170e166a2b26e27bc79e71e4fe090f41d04dab4d85b682f63b133cee1fc66897b2de6770ea34a2afb950d3263194c9a0afee543a8532e00ead7a4038a7afb065cf278b545e5b05ff9de95a4d168683ff2151e78b897728c8f5e7913d4ef217eaf49c47cc2095708c17b8ab776a673b30afaf44bcd3b7b807ed17093125646e6ca01bbbf1a4a5468d9105f9277d9b4c652a0030fe93b0174fbbbee143a8a45a47771c0d4926d6966bd3341b773d4326e9ea4fd2a88d6f7f08e02154c859ad78c416847aa2cecbb6d61f7bd6e97ff445382c8cba8ef1a63a523f567eab85fd9f7610622f1bec313d517891b9b1bc5ecfc6411290686ea6718f35b2eb44ec5bef2571f080d9fc8efb56568ea10229e551364b69ae44dbdb67a413ad85fedc47ea049e0cb389df4c54bafd46c7c434d79846aaaa1813831b6c88634c861d50212056eda8e0fbe33ecd7f5188200a630003fc5c40f14315deed00f3a09f307ef8152a9724f9a5e245571bce2afb685b87898f3e668ef0d8da15a8240d49c84176da8cc7a41020221157d3d615c5a7c5c7224ec7da9a3816f9684a62d0db3df6e2ddc46c8f0a9628052f346fcaf1660d2797ae5ed50c6a76559e1f082be7e023a11b2ec48e85ca4d86ef6d3843179d8acfac7931eff40b2ab21e5e3bf669a582de7e8d32a83f5d872b871cc2b7cf6ec14887f301208a9657b7c780babab69f7092f9eb229ce79041283a916479b56c4b27cbcd3bd7aeb90b464ce624674d272114bbb6a4e3a835520b4806f7d1d68de5489ce015cc082de34e2f6c6307415f243b8ee993fc08cb1383ad09539655d2c9ff21c1bc9a7df47c8b69f6710fbf3332ee232a53c7323989228b5f445dd6f20ce2c2ffa2f7795862adeb73a9a43042fbe00bb07605845628510583a2e451f4d703ee4ac7f12429a01eab1b0db9dc69511615bd6464647fccdc0c8dc1ddfaec3efd8b43635fe82b9b5875cb04631e5c154c7b4d0d173173a3924e99b257bce9d3c3e220bec241011d9f740f967a91466c3283d70bd7a55456d39aee68dfc8cd5fb4b0ee90c494ec2bed8e4f19cec6dbe753b3787128f092de623a2b715a89ce26e8b43e7c278c950240b574d9bf53c0f76c4719031274915b7338b030341785247f1979beba656b6db79eea74db46f2e7c65d44b293ab32293b31adcdd7a2ce112a14d6889584d1f8d0f78be4bf1175fd4ede4988e1bb46b36befe49af8eeabcc98cda8fbf450bade838beaa51d91e4d928c905818ecc679af99692bb74185062bda34ba1628a0d908cc196e279973a18efe1046519b07d6321505fc668699d8770b5e213514ff6bfba4d6ba8d21e628d5ee95c86935006520008a10aacdf717a40b174f749b175d79755a471af03f5ffe89d0862703af9541d8ea5714d9f0f082a5c13a425c8e949a0806eb9118a4905be57a6296403338ed7f9de9893a2b11f49161cff295e8f989906274fe8be9fa36c089cd622846da70db2f83f5eaf920a3ce843e8050d78b0179c29d96f06266bc22989dbbfcfd0f3779193f4a48aee4df7dcf4a2492e77d33654ec89761c395298426bdf11aca30e154f09a139417da62ff52a77292d37e8a2276799fe59478afce24dc5b18d568a05e44a9685de432d0ed7cf1969fc4b51321fc24cfe35356211c83f9c4cec0d321d971506d24116b52203b9193e6479d5b0d459205c3524cf786cf02c734f8b3309cf5263ea83b8f35433dcaa9a6d071b34dbbf5b77c674b5176f7c99a29b92797994c40ba538c1627ef3917752743ecacd439df532cb90a0674e3e37ff97d55c8dc9e6dae9bf0ec13493baf25b5fb9cd8a4db1ad40f0ec1e75bf9ce130577e663d312aad459323e1f513e71c1ffd26f2d0e2ac26d17fbf16c5121c6b6222de0ca407c98eb80da938eb7eb15b37cd9f383fec98b079103ae9019228e33d0973673afc158b6509b7863543518074fa9ea1129837081e1d7772c70db1d638a7e21a4cc9507982583428498e24e3c4c41c5ff029d4b3531ae9ea922502f93af21b3ddec062bc78cd366563da1880ae84c35f1190a4f816c15e2fb9b72cee65a68b3930f7b6f7631e513d98f0bbfd67e60096db7f933668fa5526cdf7c42491db0451f78cfc6cffd534c518f1f5e8d2459254edca38da474e10c0f1bc055bbc0231fbcef526139907a71d5e08a50d9129203dd27424e86ea818aacf13ebe00f6c9f086d613978957ed7f15f8903a9e29c25778cb4f9695322f999c093c79e298f4467a4ea7e3090752a8bec52c2cd1b3db81c8c8d130b4dd0acf31faa555a4a7b1e8b3dfa669ec5f832238d9aef292378ffc7f3e936437e8c971dfbd9eeb3a13cf4adb9e4246a4caeb50fb6422862864d5d0b53da95c65f48fa777f86946e841ef1ba87cae61e1e409c3021febf6dabf9ce6f43932dcf5c69923b9d94c147512687135b3b29298ef79fdc1eb5af46cec6d4c68b3d734813a61facfe402c7411f504769e5b8d5f99f0439b3003c6187d33c068a659afac1fb89b78b7698ccd7f8bfb209edaa52a45f235a3e63b9fb15e11512ad1a8173d47a58183c30e632accc1758e04a1355d2eb29b1ed31ee599169b5ecf09db07ac504c511d6382bb95fc86c746181fcee9149be26ad85f22c1384b927ed3cbbe6f3218a46149d93ef83b2de85d59142c5419741ab4ebfbda78345df5fb692457da36fbf06a7177c30604ac0a6c746db1e4f1ce6b8f89c1510070712c8fc7b9c7c7f052dc9796c36ac9062fbb49745e5eb0b229cd39b5e79de59e0b33510614fd9082d7a5e278a3d6239d94f222161e4ffe93e449e8cd9b7c7e1d2a868ab752bddedaf53ddc8691baa5905f12beace437809ce6d80fce4143732660c092266ee73a018755f66ab3af05f5f2539a274fbf653ad949344a3c8c754e4df5e763aae740ccc272db96c4890e5a8174932635cc7fafb4d61fad8dd2da5634ace39a4a5aa674656816514bcba7815ec4291dfcc05291d980c28ecdc56b1ed8714dbe9cad0c4f835678f6347fbf783d6a3abf42564b8d19ad3f51f06eb1ef4c34e07d6a949bdc673ce7db3d4448bd51964b3573f37476fc4ace0c12b76bf853cbc7532cd225d0a226335f9ed8f9663bcd4992808735040d0fb17114c4cf24438f7efe8890fa1997db6a31ce8f7e4d96ad22157c804145f47a8399cae37b8f53a3d6df9489b2634c47c4e9992a35860b366c5216979542443e5ce0c09d15fc09ff0c5e1ad553058090fc3953f858adc0f8a3ee0bf4d4010af67afda8381ae1d6547d95075756ebe2c2385ed0ae719b2a8d68b4437be248bf5fdf36d08d47c5057d4ecaaf97005a527f6d9f0fa64d505c366c0e7b44f36010f86eb8335c8a8c1a1a3cf8e3f4f578e758cc81b8a56395a80f0a06e56046c7075cfb9d7f1d69a58a38e7ba681afb5bcb48b4a734c14a805e3ff4be572027158b8ee596d21fe7e5be72deeb8933228810e26cec0386071861f5e991aeffe6cb618c3ef1d4181b467ce373f59f5b6d865728661506cf7005172b53bc7c44d54122e4c00a23fc247fe513db298027780f9e629aef5e7ee4e13cb2dc88b74ad704b940c7ee5a6215c84688320b2f9a6f7ab6c97dde1eabaa9d07efbd44e3e78606626ccc1e04449a723b0db6546751934ddca48676b01f7194caec0650e0aacc856f47ded33f8b536f11a1f5e72e71771e3d59270fa235909246862fb91dafd803b59e804ab7d32595088ceea7f040211003f618b843763d50977f2ce6c50aa40780d0c1e7c7695f26efc2f18e06362e025b224f9637a881352f1fa935da20909b47a6086862663c221538ba2fc72381f7e8ae88ffc9b4a05d829bdf1cf6acbc199e04bc3a507f7a45f5674ca98d095d9a2f3680d4192da65e08daa40e116a54153e1d6cd19c442de1bbd14dc3020864f45ea5960b8fb085295c5df004f678a675b2b3d9a6513d1e9ab3a1421e082b3c195c703cc4401031d953b4afc9bf6137d7f6f7a9125307c09c51528256a3a4d7fef38232bd92b6327b1542ffe1d8610b45c9195962b334a1b7ecac81bdb2ff1a4e5c2d522ed213f66293d4e251126f3f399082035e5164da4eaf42aac23b60386eb491f1250784393f377ac9fbdc829be291e6817dfb4f33514b9cff163189aa46a16051b45c5f0bcbfaaa464909750c2c8a1b042ca3dc11c405c3211cfdd5424b64e1eb2e09d2d3fadda02cabeda407d9dd4f4e14b81fb3239c0d135048ded85051544e2dcab09bfd4276395ffde9fb79ce585f4149a820df2ec2dec53b70aa12b9d60c5e11e9e43b4485419818aa1c51247d344522a828cd72476c41634ad237fd5189e8c8cf68db3eff09a1846322c88c60c4ebe19f82c0e7fbfb54240b1eac75b707f96d9a57af3ff4f4f8895d3097afdb6b2d5cd09833c36bc9a08f1e5e016717284ffc42cf4dc24820097035c4c8375050c7e8c5220e063d38faa0af1b805a6acdc28da3735f7f8c26571da00fa126e0440943b1289ce5448583710277b43ab756e1845a7ab866a83821516b0a2f25c74894ab86a47088a73c41dc04b48f27e3a40f5836ca5d486d0cb3244f9d1f3bc10c97b90e093d3cbb5b54747ee6d6fa7ef71a02365b4ef79fe7df1379ecc67c1c7e0aa004fe9490368216543b16da6eb7aade03484ba666e83934afbf0bd51405237795bc120ef8ae0cebcc66e0456dc74a08f83c57e864091ff7a4b4514de6416df928cdcbd96e038c1a4f52fa85d528a58a9c7171a8f8194601476fb6e61e62044aa1e4ddca017db40fb4cfcab3141aed3d4462ef558d5bdedd469977f64d206dbc57f0270cd953c0d0278cd5966777a117ab316c47ec8677c412a2afc735505a2931ac29f24abd79c94d4052cce029ab097377376c86d62f1c516c273731f402ddee1b77c14518d4ab3784e11a901ae51e64d91ea55d6c90996f399ad7229c6a9f8dd9940359b16ece230188139658c5d29d9d2ffe73ea67a7d37913a8b57ab11ce094f2a560fc93adc08d56da733a593bd0dfa01ecff35e8b889c587b2443b71e7fef8a352b8b95fbb9421583edb881eb939bce5fad520b9d7db1afbb16dfe42e44b8820e6e22a32a0a306dde863ed34c073bbb4bbf2d3663ab64a5fb1f9f8af81331d5008336761cb7119fe581d66851315cb90cfae1f6182fd1b1a0aa78efa00b09f0c778dd535bb938849e7c080f2d8b76dc46eea944791afdb8cec95952cb1475f09ee029ee5fa0296a84c94a0bf4b49ef6be5a5ca6aef81de4b08092118fa676cda14fc9eb0921789439f1ec77288931e74d4664bb3f0043ca505752d8a58ac61f3bce0564742e2a50e6873db94b33a18f1504adfb3e3caa351621441b94cacf2e95b2469fa8b10e66c495acabe24e55020be1e3e0b4fa50afc714458652a3e519d8b17251f2e54e3d9edc507a60186dbdef675f8ea0f4dd1de0c6bc14cb9317df51fb29d94706a976deb9e396a8783d58631d7c3488a414f7d90ded82f67d493e54744db8cb187018c9023624f2c46736c05822589992b7e22d2055d967eb8cfdaa25db44cc2785bc02931b4e91c54eebe500fbec3ee96adb496259578f15ca10d13e093a69e5fba546708d25e7a5428aa521b3c10b3f56aedf75f7dfafd9208f8a5fb243713c8cf8304a6c9b80e977f60f1a6d092162ab8c3372610527788c9b53a5e36790bee5b77fca5d55228ba5fd532127b00a0a27cbfed93d7a600579630a24b01a4b0c98adfc8c79f9b56b4c749305d3117b94e39b0b9b3601d5e9d8bbfbee37f08138a592973734840a4333e72e85b1d4da31d6324b445987786098150cceb401a050e35c87c3c9917448ed16b7df74de59187c514647fb1cade7f99d7255a6160fde35dc53192c871b06d8268fef96197db9498fe3b5cac1a443b7efc02f5ba3161e9b5317956bb7bc4766cbedd0dbd47d810105268b946fabc79a305c378b3566618a19a5bc3c0c574c30be4057906b2b85d2a56e8efeb8836279852ccaef7a02fff78d6b5a3d68e7e46a4a99c16527d77db141e7f8bffd9d75eb7a5fdeb46d19f64690d80e597ee49a6c05400194a6dcb8c8fd3b3f95c27b8a94f4f2a7e022258594225e40749bafb8655ba4a0a845b4ae98b4a50f5a0d38a9cdc73322d3e2d344d2e46e3cf40535ddef412d0753fa9ca03611eaa71946ebe9dd73b8d1611ffb936aac5ed8d47cb870d09e6b1ed90de75a8881e3ee5d5d9ba4d3fde0742db47615cdd8652f9cf9689ef01b01861c2ced8d51135cd97defda76bcbb0090497c86d172abedec37d099da051e07e72d7e837e66a4376a8182ff2a13d15e5eea00a1ee38c175d9f23fd50dc2baf2a024fa1f1ef9da02885c38455fc46564a95c10fc38be9207e8307297e789d18e703a081cf0b5d41968535940d802bdaf5669d380f975b5339d980bb83ab9336ec26c1b3398cc6f0759efe856ccdaa90644255e7a597e9c22bcf9386e8c29c6037bed0015ef472407770fb545d80aa45fefbff19b1f2947e0de00ff3b98eebc6ff5599eddd4b405267e4f990947573ed8a7fd4f689fd8865e95c8bc809a51a24d68d5c6d26b0b61be075c5ede2aae11e4c417c1fbd2ffe3b1480ae7ab7496620b550f5f3e5cdff9fe7d46dbd00810e86d69d905401cf86dfa6ef9aae2f45992f0c50e1acec89c474c20ba0ac6d586ea5ba5b38794bf363c8611719d5c2bc626b4e5d55cdfc171218acc9b177bb7804ded99c4726912268baa402c9637e60f593cad687b5c8a50b331c2c858068808c6ea01f90038f9b1ffd0248ae36bd68d938a1db790045223f60a1713e297556eda624b2379a311ca8bec0be5c752a9b9e4e904593de7cd8239f361599a5893bd18471a32bd2099dd13d1e4bd992ac0ae249fbd84be8c007d686f64d69af5ceedc2a94da34c3c314f6d7e348de212a986395c603cd26cb69b572bf3b2f14a6553f423c9210b362825ca3285fc78d42aa39e191b01e54de4c53ad59900e8636044e9a61e890c66def1c5c829b3975d6677f505e953ac87580cebe2f3c90809a2042e4388ea14694a6c79c1f08b413dabef4e8c508dd00a8536dd0bf1b6e3df438f34d1455db70cacdb50cc9ffa45326be023eca5e1641af9863e1cccbdba8866f1031fae8e603edc612e24fda3133443be68d1082bddc8df8201ebf680825f1f4cfb9579f263e9a7e7c0aa4bccb11c57f3a85154358f22f1473e5b3ad1875758416d00033da3441127631635d4095acd37dc4278cecec061b2f033f324797ee13101e17d25bc80930e0b90ec71c9c8156ccb35faf0d7043d91c12ff52500265970d4a1d8287a0ad37310fce83d5bf1d508adf716c28024066bca2d6516b57dc5664065a82bfd19d4b612e34d5d9706ae72e7262c59284bdbb0615217b5568a2bf941c4772e0d0144aa7a6b418a3a570f8f7c451b99138da3aaf9e9a8529262eb76996d15308438736543b7eb0ae41fb78883ed7e5cc638c4d6dcfdb855fc8c8d0c5e9264883273b219011a512f4fa7f475421cb6446660c1ec98d0f0d11ce9e054339d7c3b3ffa725f252ade91e641965807762009fb7a0a045a9a59d15a833e122103a4817cbad0662efc3d4a58ae42a9cca682f59a770452cb4f0f957997f427ec165b7b0e5280b395e82c6c6a40902e13c05200a0c3c5a34506de203ccd2b3d5ff324b9a54a5f67ebbaa39edf7fcfab6ff0a861235bafaa812c132992a540abdad833be389ab00e58d73deff3bb8797bcc2889f5fc07780306f0700eeac5711945a827ce23e75ff7d48d589684b24c73a2fec28e3c4356faa5c06e76815286487da36df4b67386afc8ddb2200adb8d06d45f7642c01e99ab45a7b0b0199e5940f350216211c8cc642d0f20f3ae59e8394f670b6fba3d35b4e300d7abbe199ddbe2243e01df0e312128e097837b05d56b59a855d9be2c968a5d48915a01952ed3f29880b2e49dffb7598db9383ec7cbdb943f15510716e8065ebfd0dd092ffe8dddf5a2430f9217faba38c3ebc3bf111b0439367fd0440bece421188adadb2e46deb61471f8cd3c5d398622f388196424187221400467b5fe0c9ceddec758edd420a45a3709b000737d82766ed42a466d55f4ce447b48272267e141d954007c5b45961ba55e5df5f65999168b90f885c962c6bee871bf644cd7a06bc4ed75e68d42d301d49ccdef8d2ff8a10aa3def12a8999e6ecc13d6a9e89154aee5a718af8448be05130cf91729a77148bc4c7c197834f700de995b0cd3f04bce8f0d3781211e4649ee48aba764c906178881796fe5d2636f33b8679d6ad3db9019bb9a2874e9f531e5e3684cf4e555219c59581c37fcc3c61ea41c464e14f8cd99632c4b71798ef4d8b72a3c40c4fcb29b9fd5694a7304a43351f83f0965b0a998b460eb2fb767849947d55819193775d7aeadf21d4ada63acea427fdb6523ddd25f387f1d7bcc845d5d1a1ebdf5db0a85174af56ead90e437c39346c749dd3158be563411dd9e61e5a0914d18e126c57c7ac014b5d24ad2f4c57cb8e461551fe4dcd088a1ca6b64ced067fa8f17508b3fa8bfa66974b55c5d3b98ee62ae3d5499766d97995d63af8d97300da496f274401e6af1e00f689d853927e246f1a2bf5bd922bf2a364f288fe1d24eb4e18458a4c5f545541ee11b701f8038fc2888a98964cdbca2672f625bb88b4a5e55c27b1e140c2b224dcafd987accb023beb371b33031bc1662be71482059914d75294647a37bc668c433ab2a4fd62565f50bdf8015c726c0b2fd97bd3279054244fc4d4f5eccfe9020320757f6c49bb447f7c4687e425b91d77eead5d8aaac5efde5d5244ef643c86dd5136080129bb05748b195c63fa3d94a19e0badf44c39bc86640fd2aec1e260d90ea302de9434c9602879b62f5b69de10aa696ac314283f4dbe5a6afab6429c2d6be56a66f93ff08f4facf446de424e8a667f1b891ce977ed77153f7cecc749e0a73b8023839c25872605bacd1a3af6559593e0787896860a49c92836129f4025c1bf5b66f517fc3447ecdf65c5ba2e943e6dee0678f5ba586808ee700a2f380e20cad5cceb2c85e312b983bd7dd6644acc7f29f23ded7f88ecb9b7ba43c22b1fd263eb10a49932487aa5e5952c7e00b9c59726af02575aae8e18bda1e976f0e9c20f20497603c8a04edb96bcbbbe1bcacb4ba642ece091028066cb48159c1c45e2da55d77d6a1db27e00d99d181757f66662383d7ae28f8313ef4f03fe23f61b7559391e4266ef3d066b2732f79b71b398ebf436cdb0ff67fa55265f5115efa058bd23bd55ef31a6d5424817e1b4b2da9e57ce3785c9b752cbca61ad5bb997dc6340c1a845320c44caffc6a210d455f784186cbfc3d19132a649835071072ff1e1cd48f25fef6dca9a77f3b92ad7049b5e30de007a91c346203ab09e7c041ebcaffe1646a13ffa969078de9371eabddc501d784341f822e56f965da045d58dd4dc2d4a81a8efc1d1aad37ec94ce564509adafc069722037eaf03795283133b460120a7b649c4f27260178f81a8768223a1a46dcaa7c574f4a6f1743508e43e641b2112132262a5df09edd05e9734108ef8f791253aa0570ad8616c9b582338da4466c97a6a89b1fa2aa16b705f0d9926f92c027fcab0256e710dced90f8cecbcbb42c4167bb13460861b1eb06b40626d94b92ec9be594818c4f5216c1d4ab5b983a619b72eaf8172a36e2245a59114ba71017a8525e08f4b3a7601b443b86642d93d64f7f051843c9372c692423e2fff656096d68bf8aee1a1d64f961b2df9c762f89f74bb6f3da446692d4300bf4d1461fbae8aa6cc0c9ec8d9c76374450df598270c9947fb6decf748d52b7ecb8bc26e2a9fb161558cc875c258367bcd744e7e2c5f522b2ebc8e38bc9c467081e8854a54227c9e71cbbd7ffb69e9ef5efe4b1e51b798f8a474e8373ce3d83d2b431306fbcd34b94aff8c3b921282ccbe39023caf8035bba8bc7e3a28086f44694d03622077a9d9a0e3ff3bb7c94b93593d7aa40368c5a27857daf4ee02274a8425b447773aa1de6f83a0bf94b356158e9d0bfd2ba0f2e993edec38c031b5224fee2f47449334c3c0bb6e01b186e35c45e96158f09337c208f1adc637b8dbced7423e42126104496327b36ac88603b8bc073acf42901064ca7466ce2ed6b2bfa09b7510a1c5528b8a98fa6a6dbfc2a173a06dc4d871d61b59c78b520bc4c02360807048c28b48f275ca8c8a9aa447389e746078ef4f81ce7bf4b5cdcfc48f92c658fb71b4d9246fbd52d44b5410ab8d80dcb50b9abf1b67cb93b0b6bf36290796e2b077b6dd2325e9b38dc0bdd2d38021f72d7296142a63e05c72c9f2ad4558360e735dd9b47c56a235f3a0fa83754d8413b41aa36356fb9803b4da411b6bc1d335750e9ba86a00dd93490c9205e5173d6839cb7e43ceb0d56e2817a4f7c0be857422349d857972401b6ebe284598537f72b1e5a7c58b5fe43d61bf1cdaa1aacd27bcbc20f8f8e342386fbb2ccdae6fea71cdf2c20a4f0894bbe2dbdbeaee08643f7e843bb4793569d04100420edbd962d9b7074d5a273889268ecacfc2b930ecb014113cb9fa9b9e4263caac70dd8faf2d07428d9ff76a9690c84e8cd0a01de758271d76ed4cd9dd035699737c5caf4c9fb07b447d0b4c28cccf555d35bb9e9a625c7afd65f3a04caf94012ca61953588801ec31e8d7bdfd5d5617fd1ed8b85dfaa3980692e39d39c1dfcc1a2cc71fbbc9d12f5891a615a47360026ac717a0dba499a93235f7f2a912f0a436eb1fa62e13dbf9d64cfd763e7ada2a78f52ab4b34436c5c11060a63cc2d28c6747e114015d9b52c31a14db93ca0ea80be8118a0fb22c8b803fd16787f205c78159ad1aa7951a9c2c82b25fcebc1bd26d956aa8937d3cd9e069fa0cd782fc908f0637fb8e37f748868f453150301001ba3130473eeb8ca174485c4b09161811e056925d742b6ef144593e53a460861e460330199df7c6883a6af3726d881b9cd1eeb814296d1534f8e252d960801a0ca762f0e298ba7feb668bce22d5cd06afa29428e73778a60bd0d32f9cdc2cf19b4def8b34bd5851ef4d7f428e3df13eb35d21e220a96b7317bc63bc187b82a526140255c514ea676d30a96d9347e0376bff554d218c0aad52cb994af9025efcbc01f675e7c5953f6c92954bda8dc19adba44b0dcc538e6e985199238ad07eb016b0338bf8d006ee12ed8dae50aad531d78d21fc1d1a5d4ef69c9c8e646aa3ab98e09156ca132ee11e985bd07742f4266ed789e09541ebb0ee62f2a098593494ba4b3c5ce8ab3cae02de6356b4f8f8e9a57dfc5c65604e712aa0643739ad9d9bd47f46a4d5d11dd7107c540f17b63f8c971d4b84a33d58054760b7879afa4e8d24501577373fa1ad7353654d812b0a9c0cf10c8105af7f88373f73efd0f84c4297da437ddf7cdf9ed1847a37309a9dd62ce04a395af2d10352570a5f7371f5fa1830fee32b6cd8957162c50f54762647e6a57aa0477992d2a6c358f7ad34eea81b46c6863408a54b212ce8beba8f1c24802b8d817b0e8f7d93d77fb3ae999dd9779201cfaeb9f309094eddb76c8954657f9f4eb6acebb38e88a4474bdffe25339cca73ba67b108f6b493c03b282716f947745f16fb81e611d042460a853d3895d03924a32c7b4e3c6dad65bc90ad9d861972ce9a649bc8d853d5e428e3d26b5ed4a1ba4df2f17cd23cafb40940afc46588bed10ce955b8a180ef3f66a559e003b7e6d55aefc051b8ab638a8e11cb60891fa1683dde48c17bd079eebbd18797122098dc4d1746ff2841f346450d3a516493c692e19fe589c1a59f2853849ccd5200bd007acb8a413377f7c23a295f38e762e003b306cf667a5cc492d37110ea6eb7638a4dd4f5c2adf0a62991b4e3b724675ec5b245c225be6774ef05ce9f44a7672672f9c1c6ee47ddc85f2dd7cf549a748f720cce84326465ac6aa70e9645ba4a64eeb318e950b95f82bf090e9a6af60786b944a03a4e633d2571dc8682a3a8ff859d439ca05de489b784bb52e92c43e4b8d636c54c5ef594ade24848f5a93f618a18a0769645b596803516012b7549a90ea137badceb2ee6945006646e4683798e7fa6aeb7e2d5bfcb74cd95c68086db9dcdcdf724677ed597cde60f7360aa11c15bd8b91aba73e6452d2fccc12012830ff12d4937a2ec65d62e70f0ee3ed4c87db7f033ac26f7ee9a2012ec66d3893cef3fb8912a1391dea78ee35cc04b564762c5f8a3dae3021b4148699adfdb85be224d83f229eb58f17cf8a939f5c7352ddc719375ae9892dd08ddc64f4dfcd2cd42b07c3f6a6048950311db56c6617517e8e12a6b0fe99bda3f6402623e41eb0d3516084d495fdbd155e5fa66c3105d71e7cb266e891daae4f4acc06d542d7b6e7d9fe6215ad2c974e66c23640f7d5ab5f424a49fb814fe9aa38d2421f86a76400400f3862b82aafedc297f4b0cff714391c4dbf7077ea1dc6b6f0c4cf3ec95734ef38805574b948404746632c69e6d623b74359ff00c2c768400ab2e665d3cbe75f26c4a6acfd0553c5d88d05343c8e1acff57131371ea86d8944f49308754ba88785f1e2c806dee46d3c94b160f45c129f07f13e03bda36a8ecc21a56ba68658ec67dd91aa99d6e10f59cc11e159c6cfe26987e1730843e660d0999e8e921f739f1496251269ab9664e83570650d26f23d94539558fed2099b3575c518190cf5f5f0e8e9e86c898d30a6dd4021befe9706630d83c2a8c3b4066bb2c8202a964515e349156bbd51c981ced2824a37a19a6d78cbddc94699a9d061de31546a1b1b4492f967cc0d41bb5b70532f4737186689f1021bab088c5652b38cbfce7a630e414c4f54d23b1ad45f11acbc8818536513cff9499a7d2e6817c964e5c8b717ca76baebabd3ac4a2f9d013343c4f21f3ba599f13fc1c626ef7d56ac846d402f3a3ad27ab89474f3e4897d3ecb312b93840d4953f00e9de660ed75b5aa58610f0857230cc8a04b482833e4dc286f5959782fba1f8bd5a71127bec496d6d51c5f21996b94608ecdd3da371cb14eaab6f2b3da27500c879977f0ddc8913cfde70291c5b2246cc7362bba15588a379359ab920a5d706c167f02cc8dfe249daebfded095662e4627533c77c25cf30462e0fa0ad754f2828e04345798c3dab07ff282f7a2eb2eff38b9b04c28b6b1479a6ba496e06a22201a34a6c7e8f3f9284a95cb0ae65bb4b791aa1660c4fbf87871df9c6c22c3edc35ac50e504ef52cde78a0c40edfc61084bc29e0b6a80428e5999d0767f3a9a44297da2ce9efe31da009d2b229457b55f39dd86c22330947759208eae2be6d563e6b69aa76c844b2baa269e7394e838fd5d3370665dd5ff9f5744a0493407fe9114eb053c08f6dc0cc524a3f53d0f183459a13beb20d4f589d751967f1ff081fcc32a73a3457189c1051c1b899aab71e6673a315fcc9793ac516832235f182090226dd7c8be8afd4bfd397b833ece9c34356911d52259c338a3ab1cc39d22bc43d9450a9da2eb2b69b1f4f5504d00ebb71f0c6592fd745a6097d547cce01bceb0fd9556c2048ed70aaf5e4a45e4acd01b154413922dd4c72987fc797dcd05e25c0dee7411cc19da55e26a36834ae5b391485441a49120e5e00610367bf11278901fd44d765e54c4f50514d9208805bc605f91208720081bc8f8a37246143c12c27e1e294531d37977096f03a80ed21d5fdc6d4ef089ef0f749b939d18180fff0d8cdb5679c7351a345f6dc4ed480ba7edbb78a1cc6b349feb33fb55be06c62421415977f299718642c003c0da8c7b9dce7bce16e5cd340c17897fd973f147fbcca3f8c520cf145e01c23949fc478969482ab77126268d25bd80c992f103112d84b30f2b76024c12a6bd25faac9c5e98699145186a2f4ccdf0a262c2d08f9a4dcca613d770e076318e73e5be9e78465ecc49c8bf13dfc3c461fad4382f2fb70b4426d5b6176f93b694c1c6d68e944dd5c7d571935412db4995ee051203392e5e98a9818391e17fe27cd6e1f837067a615010efdef3dd2b704db582e0520218354acbb4426663d6641de5ae545817e4b84df669d5d8310e94b105f34c3b8fcd4f572804adb38ea4341e9ebb54918fd23b30e7ece152a4ceb0f0a8323e26b2071fb37c997e394fe59aaf6660a1fc107508995c3ab767d38ffbda464cfc257e943b04e6d2e64eb26cc3019575031022c2c1d6ca5d10fdccd3632da7c529677efaffaeec980c897ea7dd229ec432b508d6f1986040e9a1fbbfd830aa09f9088b8f0de2734c627f967eb1228bf5f768dae4c0bedc7cc9b0c3d48d490cd4de603e3e6f914caada39b9c7a7300c4b39149a95410c4b8f82c97208eff73a69c2ecb94a3d6302349e8b757f60d199dfb0dc9a5ed9182f02769800dab442302c9176387c6ccac7e8eb41fad0ec3bdd1de1806571f5a79e166f010f1813f58ba8ac7ee01ada49256c2fde731dbcc5e3376e00dd84b806322d353ec758090d265f79451106f0122838bf84868e5b750c87920fadec9bf74d04d732d6a9b64e50b285dbbaba7b7ca81058f32b99f34ba3172ae45610bad1811a785ebdc3b02a6717cf7a6f177e839bb5b891d44c3940b07539ae9f87f20e186ac10fb471dca988eca8e4306db5ac3e7aeb1b36aa2a0248aba0ec837c3db660e5f1e556f84b455ff628a33c1adbf6d5f06151d899b1091ad03dc4b9d6f2d2b726ebd1f9b3ce656230b498e0b9a6c4ee9365ebb0bf645a7d8434a1b64002f7b76d57d5aee4e958ca30eee98857753fa78122c1addefda4818ee679fdc128deb7b4a0b55c275f95d5c104a67a1a506a68e1af602dbd4df968627c1c20f06649ba78131d6d0a9fdc977a6a124553dedc2e3a76ce03f4b695e1400afb245dd699363b90cda54c932fa53833952c1865ed7913cd3cafc2f85e8c336ce0950a20a5251dfd4452b5298222fa40ecbcac6ece0147afbcb0486e46e93e09d69ce74ba6f4c168378c7bd70fd9625e31489dd4d6f4f378c7a9fa091b7bbca023cd9a820e935aaa8805e25d952b2e90096006e8d13efbdc047f43d0964c26061dbdf73af7dc7992503da5c7a3af8fce7cd69a2b78dfe99af4d4618db110fd7e0fd94327310ed140a0464e2cc4930b5d53439a49bfc0c9afec98e9042be37e1a01b2d6d2391bedacd754f65800b44b6f681d8bd6e34d6d80442810146ec19a4fa8788d75f145983835ce8dbac7a5eb4559b588db6855229cbf883d5ac098ccabc8099167b81df030c5ebfa6fa27f0eeeb111f799e3556d65140d03578f765efba48ab2cb5342f9f67b9adb5aff943549c107acd6efbd10d4e4b6869068f10cfff9c8b5a64324ad358cb2bfd4fccdc527faaeaeae88e8b843ec723ed8e3f318328b1d038488be15a6e93e6aebb2ab4d2e8eb27290244ab4c593b0cecfce4ed80ed89161de1fa295020738c19c8ca537b55f3c8d3696d1f80cc71787ab45141b590446f28ac74c94ef3126ac8cc01594ca687262bc0aea0ee6f7cebcaa359b69cba64fbdfb15e9d541c6197135b7f7874ac72fb5537abc2fb746e1d50565f5f1a549531845b955fdf0ad273db4d3d60d9475a44c9147571bda35ba4b7e6aa3454384db1290e47435ce7807017f20018d418b4f33236b4a406d33989939afb50736ff81d3993a228bb3ce62f29816d777b5f4c0b4dd53a285c4246161c606baa17b61786e60760a63a302995c44731c1d1601255f4fd82701db6a94a35a5cb61c0d8545b31be035d32fe6d295eb361b2bc551609be412318d4ae4f0b2668ff1cfa5e1f4cab13aa0c5762642d8fc1cbd5b5177f8300aa1cd010ce3e03c2a06d47b81185a8bc591289bcf1007814b19a51fcb269798e306d0bf2b1b4496fc79b708464d437f324b8377ea61293fc32113444101688c46c8c17fb1a16ced63d69b0d9185c5b66c6d6573ad9b5af8f842e9db85e5621a1972b92970e39cecface798d49a9d504b238e94b5a7470db661061482def705e5c9e8dbdee98e1590bd1993555796c3cc0ecd520616779b1934dd0a75bacacb2121d1c47609f920fcd62211227f3c24ee83439b220e0078a5790c10be49580a50814eb6d7796362e2d6d14e57624f0b4018ab38a12ad9c8918f43dd610ee114df56fee4a9867416b65f0f0fa670dbebcaa8f9c4aa88c0ea0bbc17858b9bc03c1fe0eab922eb9179b4cfa0ec2930cca6592d7753d2515a6b5df94d1d5bf2b399e70ef631f394475a80a198c640302ae8605a156c38e5e2df8e42ef918d15abd1da71314ac34303d3760092b224b68f2ab6c2318a7d9c3d14dbc64da7aaaeeed9d32e33627790ebc23faff61c6065a33278f83362bdf7a35fe106e999255fa4f9c45d2e67acb02dc342b37da404fb4bb4df25f76459bb1cf144317efb635c441ac58d2910316d169ce40d4a92c75a7765d16aff37759479e333ca0660ed123c78d69550fc5120306176d81c76c99706314d95168e6318a5313d2acf0f62d156a3f902ecd3c3fbebe8515476e33d67a39efa755909e774ad9a9d32e13a07776a2ec1568eb1933eb620ce39a79ab76ebaea9728cd367fbfeedb34a76bb211b435af28c4c29032ed7a781c15dc06bd7626078ecd9128553de5705ad35e8cdfdc328ef95b8b1042d911946f678a248056852fd80c3a200674c8abf2fc015b9f384bae68a6ed8466d83640ad243f1a8fa2a7a7de8a4c469eaf029b0189e9bd68349b88d47694b8542f0a4d8ecbd5800f6304076f3ca2bbecf0cac9fcf182b7c87693982923f3f4f138992d882183eaed8b02c6caf1df161c551d15c348e0a9634f17eccb99c32a556afaafd094d637642d50ddb1a6a65172a08c0411299907d1f6f68752dcd3bf68c6c98aa3f4ca099c2fad19ab8e1b3212331fc739ee867783eb33bf22f1014c972631ba98fcfd8eeae9a4ed52b147f280675c7ea9f824dafaec604ee4a64fff3d044b8ad55be1411f83f5571deb973926084e9c6d3829480f09374d875a489fabc6d7c4ad9254861357f8cc2155d50877a368f5baff36c093ae25c8cf3b43e8cba0301f9b20fe4558ff5cd33346e142a7768edc62dfd28e07a7777de09f70e793b93e06ad9fb5050a4b35ccf1902f97e103a2917add79f9d941812338b50afb50e843dcdbcfdc2c429e6fc831d97eb190640e544ab1d343584f1b8b197e54d1ef44f04eea9b2fce2ab48d619b58d1d75386043a50c5d7dbdf211dcd161aef6188a2201959ef51091528945aa22f3f9da691266d7ff504337678a9382abe39aa665f7536e46a9a8cb19e2783ac6943d34a61a46a164262ae59b6e30328570a4e70a3c839de6a9ebb01375261bc417e9fe8ba8f66d2aa409671677fa4f4ee82ee3a0fd56a83894bc08c3274a2b281e4c7b5a8a7d6aa4418229809c5105ae6980ce7ce75008dcc2e3949d26bced53990717827048d42f64b70cef11027d000612197d23ab5ddc5d3f6fbd9d4e42c4c6f14c14155cd20589a6d04180f99f001620db776ddf94dcfdf37dc5cd80b9d52f0112f09f7320f26df64f0006279c3a19c7ba5b69d7d32b62b53c1269c0c89ef042cc3b42acfdee49f5759a787702ac5f26ad326986cd28eb49205a8115a408b95b555340478ea6f3b655e6830a33d78fee7c140dffca6fb3f63b4797526cfad2f77b1289684f1d7ef9aa6ecfe62dc6bb2555495c41d356963ec5778f1462cc116acc95bd870665be9f3bdbd6397fc6cd1f08ca4bf3b2b24b524251f5c2bebcb3bc0546a3714481bf0de94e4df5b58c54c51bb54360e6b441ea5126a1d439dd0bf0a95ac3596836bcb652355675e39568a22c739c36f2d84d74772ea7a70c4239dd76ed5ad7d1925d83e541e523fa90531b565848b094ca4b04c274a01ecba03fd6912b5b3203ca496493499064acda026baeb10610a05693a0b8990d281591931179328fb58d139b3e6b08a2ca95f77b21d2757c9276eed0f2705d9dc85eaa88a77bbe58cefcd6752350aad1e26c6a27d14973c19c0069d5c9ed32e7aa18f71142cee330d35aa30d19ff9cb630c32d5b6f0d0acd8453d63035511d728f31e871ee0e6510651ae99557179f2ec01dd6730af3bceef3ca50e1695a1a12a014a8b915710a1da35d44249eacbe1e9a9a68b3b0c4e8fa7df4799dfd5695a2aeac6f87d3e1ce84a3c21eb34390ce2d638971114617f0589a0cf85de0ecc94887ad9bc72e74581ef4b254a9afd28bdf5253140d2490acda3c310436f80447378261f36a977c13dc1ae903e5a8d9a717873802a93c1a82cce9f003aec11f3790fccf5d68295aea2ffecf4b423d6c30d729a1d3f6f6bdd0b305bb09014f59bc41717d2439427406972ac4b13a3b0619b31859e7e445037eb22593dc6a6aa4594052c257512ce144f476a6151c84444e7061454ed0d12afd807ac7c0588dda665f8e84b291c8d76924fc0ea94e66d3e07861aebbaa253610f34b0fc18302032fc316b6ba8d7428b4b8e2b2df73731079941feeccf6f8ae7d29ec5b3b10bb69bbbc214cef064d974ed5cca3ec1744044904e301c93a99b3637d3495d5d369f2d34c1d1eef85c35681d5d5ae2535a74f198cecdbf950f89d1e542738a63bcd9283d875ab84b0bf8b7588312113bce4a0ac920471349829f677808b421d1ab8f08bd856a241ead4dc5d0fec2e3bd3d1d3c66f90e174337e3f141551dd769d26b9f94f2d22a3db5c19a451433fcab019b0962589d244f2868c54a136608550d0d71776091d3f17e33dad4c2856c99b4e34b024770883236e0b18cf856c59df34a36d3dc68256e16deac0b10a14d1dca35282a4239ae10ea945a87b4ab5133191bd8e40e99025b1c0e250c2703bc573140e8b0b5674ec05e8d0c87a955aca0349f9e458c81dfbd70bd082313f289d3a9d05f340a0b53804f15ba426e1973e596118c362a79b4cd404d493ec917e40447f82f665e0b137945168f33ed607645494521c7e70b59c7220984dcf055402b99e2bcc5ca5af5224e5e60aa5ede853d626fc6c7ea33f2f7cbe143a3d5ed71927d984572daff940d0b144e5f5c7c2155df926bef93d661ebaf3c597d7c2c9f5ccf2775897791530ced56dfb7124da7534a1850be32acc708528565807878ac4f08e6eff5ba99c37cd44d29d875136a4bdf67308013f5cd6eba21bc2df0a427f8453208309f559889778f1f80cee1e35410cd9595f089fd1bc33bfcef51698c63ffaa5875e2e5467cfdbc3183fd9456d9de2fe888e93fec175e7b44e5842e4d50bb30bf00c1ce5abd1df6a8f9a256bdfd8a81151c55715d81714f37adb1c77a169fd65d2b42c9e3c78330d6555340edc3c8490c920bf2c8c55822f127467bedca46689f246d0f579452993fd3c9e01a0f7f6409e78704eba7835b905777d1d6daf09739edf2df10d051b02b324a2f87d9544e14fa90450d1a42593507e4bd4fccd36c6a0604345804302e186998a498228b44d9286e8f3c509eab007dc670c336d887a1b50e79b9c61bf43ab3ea3eacdf79de2d69351d502e397bf78078b85995ffe7a68b06369f1e39496d2f860ef4798c6e77ed616e05eafcc2975f50c773a0a105a567e9700aa20d5ec53fa4b2be7dab8385ea7916a6caa59109ba34b928d926255ece19fa5d81aabf5f89a0135d31d072f8c0f75cf4955bd275f1c9d1b628166a49fdde17681f5e654d2415af8226b4b25f415a9302a6564af9acd8096a8402ddb963919de107ad02466919ee3ebed6d819701d77206ee65b3212391ba9f811c4d59d82e6d8a0d3c9b2ee91c9e446d64f2b31a3006ac1754a1f586ef7e50624930b0af871c4752ebc4899f3053b1f58e1ef7fda752241b79a5afa396ec9564372ab38763e2e751b2a88a08e0ed3566cbc8c90681f8832970009349d4c3b9f113375ff6ecb613fb03fdfe5f4e3a49eacdb10ed89eb3efbd94da84f627ee2b423ef1b61ffb6d3f7ad5e4fe9b736a14fa62d0ec01846a11bc1f7471d50bb638ae31b7412d347b315ade79b2777cdce52714b36816539bce7e84162c749ebd9cf21c1b49c186388a0db48c0e1c397cd419f4bfc39942b77411cc25f6d235a4154871510dc315b3bcad7509591682a7988f14afe51806904b1b3257c02ad31f37e66b7c495905a91cc6906598e295da37b8364ffacdedd1a44b81025bcfe30c40bfd214280ca59e180550fbaf3452692895f9b52305bd823ba0dc1a41c8d3b16123de45acf824a050d7ca6df0e881a9aabcdca8e920d29a76a779b30f8e765fa6a8c15fa115156ee1293d4f33ec45bc8380bdf4182d661d11439b886056715532c6a45a8c9399db9b43322c9423f78d03c6b89cea199ffabe708be76960abf17a2fc376aa1abc089c70df1c4448b320ea40b12e1ef1cbdc89679b6c782d28d05e0e4c7a95f9bb3d3895c54f0b0b977e1e716097c54c3034f39264d227ff7f228735b9a0dc3b4debbe143f7f5139b6f431669fcda3e909f642d9beeec3d6309a717f2adff4e05ea47424ca8adde751184151b39d53aeb23fb12f3480bd6a705d99b9c0e7b1948525b3330e633b8d193496a7a8847e705c328917e2431632fe239e6fa07499c68f03588b85b693b06c3fc10095952bc19df3d58399a23daeef64c42909f565ad254ae107e157f2714a51fa7a22eff920e0d8dc91a7ebc269826eee11d54ad8daaac7ac62341444b8d817f827eeee78d39d62037e3078965c6758e91c82ff760f011c0bbc15683a6608a7d32dab3d5436129e180bb56a60a88b0cd47d4222f88459c85f4d71cdcb0aebcac12b13e433dd0fcec2aa46b1de6ea98f67d255ff70f32560b58bc70c3fbc82397045999ffc826cc4ba25785d9958ecec4f7a5eff15dda657cb71326ea4960cd5e6ae1d8652dfa1b91fb549fe77394544a62f12e25f8cf1662317b627ecda05c49a8d93cc98de819c8aa14256cef1b0eadc78b58d1c0f64606ebf7e58c01b7980764394096c8e716e4834796bd773d662a7bd2067ceb5abd01f7c8d772043cde7f561115d480b5a7998e8ce0cd37793f565ddd25c93c525fecb396d9f678853265ed24f6b3fcb8dadcd79a6be630b6ba3c8240d48cd69492dd1f133417616337e71570c99e471df07dd9bebfc0142e53cc84db41c9f1fd57cf242f3070bde4a8cd5ccd298a1d0b332d09de603eddfbee958e74f7140979c8289acef446ad490e5bfb434b6c67a2355e2ce2091ce83068659b17202412ce56f0eb2f09bfdf64f8f3636e57267e34a7b3f66761d0fd42fbd701b5dadfd028fd9cae36d9264fb753093e37c023ee2ece222f1a2c2bd26424cb78232b8e846c6c5fa2dccafb0d752a92a1185781fe7e9a0b6b4e0f4a3ed76aa4c44dc71947f9ff7b7df724c55f85b3683a9f39bc790fdf0eae84a0fbdcafc19e81b4a80928470178f9d1d3c25e37f10dc61f43a5487c211f5cab7eb4cae1205aa0df5dd7596238dd28387ae480d961f91e3209d9745969f9b5357eb6de8547fd8e66f418c881b831cbab730c94b2edac0f05335884ff2906e810fd24418f7c14f1678185eb3c7507bdf7288f64fe050b2a2d3f10240ad82ba5285c879e5844d2695de5680c5f30951625f0f7305ac5065de99847bcbb7ad79ad84e6b59c0f4b5c2cd71a59f0302b9d355f8d1ac3a0f3e8005fc2b511a913a4ab6b0cc3a0afcf539182bb17846d578b4dfc9bfe5446c1303d2265a7839b7c3e287465a15bc0c7ed3d91f2f6180072ca2f7cd6eb9cccf37fffd0410b42c870897f3d358fe494121e7a574e12b0ecb12d9d3c01cecb3daeef594646f1c9f459c9bffb12c47d0b719f346583a1c41cb059131d496eb4e2c069fa9069e8b019140b1c67e2077f811651c394b2f1fd2ff6bc570f3df77a71f36dbbedb649b954b361ecb9a9d1a2922afabe3a9bbed1cb6a16419be381b88e6834fafab149892805778e2a50e91ff003bfeae1bfdec715196163779f5397269480340ebc31477f96e759ffea3e53113ade7333b49de2bf8d3c2a2189331ffcb95f2cff89c958b7f8ac33707063a7386f080f712acbc66a22d0c28a093294b37a2dd0f1251e5118de1a2a621df05ac690be09c88a891181adcb157132aec3d60f737207380f0e1dce353d125feb398f79b21b8b28fba86082274f2d40e22fd527ba85c4254a495560db7c8ad727e0bf63f6ad552ca1edff1c2640c1eb04b0c2e599661a73cd56285c26d4ed4805ee5f93d2aba519388ee00aabb73b307cedbb7a91114ff5aad2cc8b33b0c97f09c80db4940caad62d241eb98bd1b01489cb17d23850583ec9220d4625666b5860af29cf7ac13a21eca808f6e2c526407088f7eb9b54a8a760f1584230e3476e9734ab8a3f11b83580bbebb067899e5897da7e9903d473dacd29ec53d54a01b0b62329e23f25b12de7901a42e971680128b93496eea27a7b626bb4bccc34003c8167ad0d91e85a4c0b264b29b5a91ef5700d4aa75adb3ec29011ca85df0ed929d353676ec2bd140e8c5cfdb5e028fc85324176ef03edb17fc09ec91cb1ab07975833ed7dab527338e77e11d57d87212a28bc849113735ff9d72e62a8e3513fcc7102b0cb1c7503e6bfe991797d9769f97f68398c51c9952542ccedc2f87dca6f60959cfa94adb288aff94784d0c761d14067f3a8902e81ab78af138d5a02aae9854759a7d7fc97ce29a46dd075855958bd3f9c50b0fd1b998da996e745caf20cf555fa5a435f7ead1acf910daf7244ba2dfcf728001963ed933ec4ff808ff135dd5d3f7a0b2ad0a9d2f06bd057841a0f4ab6af8fefdf7b95fc4c1ab4e5acec13624438ac64630202f3492066e7dc015fb6777f74a0df564263963ab0099b25983838e40bd0596a555864102fbf38170746c298951ac6a60696e33da277cbff3734dd4092a1c4c8bcc352ce87c7f1a19f765ab4001b8507eea89ad41085c735c8da31dcef352d3ef7ab0a1c169feabc4c5257631e60af679d93b5fb903214ab972b2cec5e5e63294d0e05485fa9445b1f9eb179ee901e894428a06469c701140250f6b0a6c6521c694b80f7e9d59b3532be638e79d08880e2de529e47ae80faa0b813399639f4c75659c067916e4315a89b960546fe84868f57aed17f92f620c83619f190cc8b592d8375f53b4e29d23e712931ff03c16f504751be80c8df8972813dbe9c9b31b3574d7504e584833cb6c5c6fee724960bc4d7e09257282eebcd677990c7b65051353e922c8dc67064cd6a5188aef9b582cf9234f6e1bd2537c7435b3b8212019300b93cab918d5f5f4a2091441f6343354da8ab43d9f51828ce59a8b5977a2d84948e5deb1bfa9c08869fa45420308d1d16f7200e0e9d1bfa84c3c9839f6e47cbbaa6c65364b00d65378e9d3081196ef871d890b69de35e869e483e37b1e088231921aa567c15d177430de5675eefe7985447badb710b8c9eab6cd0242d3f82ecb207381290c594e988887e57c88f1fa292e73846e1c60ec057e04e0b2cd18121e2629ee69d5056b5851e9eafb44515ecc6155444843cf57c9417022fdd369263eba86d226b42d822f08567870fdaefc5bfd014d3238b3a829d2f0b1588727185f6f949544c62fb0f518cac2722f8df8fa29a60f9040018883257fe9d530f47ce21c81c2d873c56e2017ddb48ffa99535e610915e5abcbba2c9b9d9b49b3416b9d2760c5c04c797c3dfcc77cffc1fd544c0eaf5373e6628ef51b9fcec3e6a68f1c1f44a84a084534fba3c4e01826158ca82085f7b4f821fc9c52e6899e479dc3df2ab9113ca18ea961b85c4a2f61db75c531fb9b766f463268ed5b718df2e32ab9bcfc3596a3580fd4e7780de587eaa02f890e0d7cd371a4dfa32847b8d4a28cdf02c37a64bbf32c749e5c28d612beaa0f233fcd95a8caca97a3821de56446611bbc1cba1c4da716603b9fec3094da67b03bad9f8db12a19a9a8a5d39c43fa612c95c45df1d31f7bb9ce49b4fb05b5c5e5d9c2caa41f13f87336eeaa2ea05ba4385df57906c78a5f45c834a5590d5ceaf3640381cba0d6438ef607dfbd4bef92a9611ee1dd96ea795161b3ea1bac7e04e5be5cc5f0490b0557f8347a7308b330aa3236aefbf574347392d0b2e7c83e17debf8d0990808a8e808deab0b96c7c2f1889def32dd672357cc1a47c11dc5ad39847c826973ae1d5c420763c739baa53185abc75fc3830bb00c359e2b99f86c040bfcb8a3ad694ed111dd27c7771eefa92472b71d63bf929f255c7eceb0e27ece135a51bdf86a654462d85779a9fc3c3f706cef0ab275422aab69e03b4a902763f454e73daec05923efe4c82c3da4077fcf4d760b958e063e04b29fbf714fcd4ea1095781a1935ef07df378b02d09c2a732d5341f4cbee0aec4d79d1ccda054edf5c41d4239571075b1cad127adc48b16bacfcd3d89ab6c1388dee36d2495ccc76fcbb386205d4233dc3fb66c4bbbe4c595f62e18f73c6b1fedcaaf7e5183b0e5b877058c2e9f23282c6a49b46991cf0c2fa3695ef89acfd4dd5f43ccabb798113f0d0bd1f486a4703467d424667c9621cf72fe55d297550f5f67d77f4bbf376925906a229332e71f71663006547c16d3f429b1b97d7bf7559cf1c3085e58d48140f5cf8818e34e554007e855255f19a7a05b6266a65da3fdd1fe146f668ff8a6f97b9eea41245a49726ed3930844fe1b5fdbc3941240e198f652a3716b67fdb1111220e23f8fc639ae010b0a0653ce707e33a907761e3621ee4b6d2b60889b2d5e7e6f024ff238f21996f35f5d920e4ed582c554b8b7253d1b17120765bb8ac98beca892feb11696a4f379793b190201d7658975eb4cce38d9e13f6800ae9267bdda96b888cb5648ee1c55a6bf065b2640bc38af5e60529ed3496210fcaa836cac6737137a924ae8a915acf2b85ad943829c34d148140c773c7ff3bad0e42c1b9d53f8776ed7b69e60dee9e9fc7cef981c5379a63fbb272a10c189f7b59386eb777172153b162d3028a96aea5fd61d99958552eb60d7626339a6293f6bda32aac394b1c0ee48a8291d7563bf6d0a30371435e6432a317349065c690c9d77c5f79989be11e6e7e410d279cdf164197900f102ec65d45c35d102dc2dafb57fce9da5f9e1517c630e0c778a113b13bbac076daea18dcd2e2326fa1c4741ddf0ee002efbd3266843e3cfb9c2bd20a88529f31e5acc4e02b8a9c9e79582ebdc7e91c4c9f64350f1b796a6d86601aa904c44001bf935e2165d2f8641ba26a9953ed163e995b97d76825f86d6e9dcea5ab90837f4484d9d952a589028d0df970c26ed8fb92a77a0b60e6c5a733912919f71dc06d8dfb6b2a9e1b1f44a95f3d3ddcc235976866bb07d48e5bcf8cd51833eca2f65de43f1aa88d55bf475b896ab1103b9347ea57e10cf75c1ecad7265e862f7a1ebdc8068c67ebe0e8e31da4cf96bbd98e928a4dd275cddb01a0316510adb27e02d5fcd79d6f8ad4cb72ba2c83f7bfa372c69a7d3e9dbf9be5d56d30770281f8b16802873fe4f567b5061f6751ad5e7cedebd02027afb9fab87499a2435343e7e4244265d461ad758311b3e458fc67109ff0c790bad83ed68a67db7e7b23e62bb02f81c0512b5536ca8badb2d2c4d7373b8f78a4c0c825e9f375fb7c9dd3fe38dc974a13e7efc669a2cea4823f587a49faae17a4808b6e025357451307c4284ebd26d2b07bed20f87c776786b7a8036849b45e69c7ece67cea8a8ec06f3d3dd6eed68abcceceb0e92f1583096f55dff1dabdc15324bdd535b65c7a06518e5a252256967f387459f45b4157166ea015232a64b0b44490165aa255878dafe764a9f751071bb91c0c8bbb4bd2dc988559cab5be01b61fa676883eae483d868a8e5b037a1b693d777204d4543950477d17bd70e69ca565ba4874394a16e4de4ad355741f35534705f1dfde23730e73356c9eb9588fb510b5a268bcad740c4c5c6640035d2aca8b39821f68f7891e09d37cd715550ca6b9bee7d2883bb6e15cff3af9efa443429b1a859a9dbd90018814ca0d4059e2ee06c9910ffc65c0eacd0a0219d71d6cfc2235251ca26fcd8386ba606b29ac35c8c34a558b9d06471bf2a56b8f53254a2e601aa648a140e0b689e44d6e058a21d06d35dbb9a57e2693f38af749e9e564fbf71648cff787c1c339248337efa6e39d0fa7b5bbec20c509415b079dafdcccceb30377b80719497995c7cb4c1f7210ec2fc2834ae6450ccfb65fbb00809d403a6c01ad858b084c4fff0e105338bb60e1300becbd510941ac49345dac79a0e398a4ac45fff9b00977c73fc2ae219ff334e2e9a34a9bf97c1dbd102774bc0b2ec8ce5aba96855bd2f68fc7f1477fdc165b83da49ca0a289f17de96b2555701d30fc0ee78bc139f1fee05cb07ea4017068f7bb192bbfe4f1d51765e0143d58627336a6cd093fa1cd87d2b9840e8f33bb8c6917bd6d021c77e15680559ad3fe459c335251d8824bd9093932cfc249d4f38262588ab49d27d48c1c07eb827e9d8c910afd545db150a9d256a5f181a34d3de2fc52af7ed139d143916306d44907bd76f475ea1d64e3123afacd02569a3a2db2ad5629edaef06826f307267a714ab0e2e5fb56fe3edd5bf5fd359b4b8309472c2e36ed4eaa728e4d2ab7ffe91740cd3774d835693bf05d6713860bf51a568a7b8eb182894fc6c0e306fc2739c1e7c946c2338fe7a46157181b96b6b2a38aaf5595d8a5ea62781fa7263730d68bb1ce89f3e1276dc15d74599ba5576f1d0f4b258d4a3630b889f16a33002c3d156a054711fa6372c45c2f9528d3f03e2c0d9455d9bee5f3adc5b9911f5c6002deaf1329427190a35d8876ec138140081e0c8026d770364e88a7d0f9d9ec9eb5669dee57c83dce8c7d876a8d807633d284bcf0e4fbf88813225798b7bfc83f37e4c9a4a5713ad93565fbd4da06de11cfc8ca7f44de9f30d7e9ad8acd41c7d358e92c7a05f2490e5e14b2299671b1e5e24e4892184adaab376eaf4adb00fec151e893674644589b03e6da10c2e7cf671e53f76abedf8c8bf4aea4d4ac966a038d4e5ea20f5fb9eea6905c69e7e4fd0b84e9e711623a2dc4d38f9971c66d02085d7bb8472b88662da12a698df69190c68d88c521a8d51fea4d75293299a041e1e142fc5ec674931207e8904cacd0adcd92b1ec253812d3d79935a138158aae724741e3a631daa2f163d105632d096718928474bb39cacd0efa59c811aa40ab7970df1e6d6803d80673a02bc1b767f8d0301e29162c1de990cdb85b5e2f0cee507395f21aeaeabda5e1dfabf45e87fa565ed3d247f59902d4fd64f3d4e911af7a97e6c778cfb41946622db16803f277069d0a503444b297697a385428e16765dde9b6cef2d7fac85db02c5c47c7e1e283c65ffaf6621469dc61ac046c9c35d0c778d43f4cdf62595c0ce1ad818119f06ed65ede8cd34e552e03758aa1cbc31d5a3777651aa050258d716b55c4827b54626eb7d14d570cb185c5e879c78937d9524fe62b51dc4e7b918bb3371e2ab4cc89e3169dac776f6f965484cfc9d92239337d64bc9b245dd21eb580ca2d89981e5bc92ab19d796cb042be83bda77917e62d204e7d88b1dca314d833a304c7eb568f42ea06f165802c2cd93f68a0140d39abd7752924b9f33443106a369672652b613ea0ff46e534276f57c54eee3168b7c894664fad0a4ad2808670b9c07484aa0987bf0d069210037a0fff039b2dbc691ee4d25ea73b38dceb88ad2f660fb60b23ffa189bc375236f22d7b8062c676c591dfe9841f136a1ba5b764160bfffd2a0ae1ab00b9760f1084ef2c2cacf3b149ffc2cd945915e62c451e4f8b9f8fab6da278534c74e29c835326a581db61143f6b0b6ac556eefbedc06acbcfa23201660f9a1136452ed2426764da8896e0ddeb35dc8836c571f72612ac38c52e596ab1bd73cf6cb3170de9ecbc763c21bcf5c2e642050ce0ca06d793aa4e4c65d44d791d54bbb624e576411d0df6a2f1ff766c44a48d10dc52648a5368ffee9152190883e7b4fead2e2b8aaf959e1615888d143d5c56315d418e35abcd819283ad27df1496c890fc9df7c147c564804be6efe4c37ad63c13cd0c594e329aa7b5278ca2ba55d0593ef94a8fc37d1477f18ebdddbda3eca28e4317e56b05bd839e3d16cd5960e69d1e4c93c62021f04797f558700a9e5e5db04e4551b3ef0a01b609362d1eb73ae13d55dc6c50fcd51a8c55f3762f6defc8cf38d390c2df4fcdc57d72f3c2c60b28ce08ac0bfa37af492c8a19d213828b4202f839a1a7d067e4c34f22c02f632f73eacf1967b9b2e4cf5a81efd6f98145747a19e666d42231764d5951379ecd422a3622257772d48826fa7302643f3c10e148cc23a583ffd1ccd6dca94767f3fa2912436b4d56faa27503b6babb943f5ace9ff878d9bb5dfd8e4f37dedfb4afabfdd38dd7ca8374a9be1b09799cf505cbe0893966da9ce5e98479cb43ab85234893f6595aa8f0cea1b96af4505a9f65e66cfb828c1b43cd16547fad1a39981f52b4f1093ed8afefee7b2f472a8c3a545b46bce27e9de4853471b81943efd30b64253a4a196ae52dde1514695104679e1a4467a58c0d9784f6918093c407a3ae33f828297fb6b300bdf6feb7c5e2d72814a395a5c694366af5a883282cd9bbc54668565e5316552425ff0f0f0d6d3e1f0e2ef3aa7c56b6e3dff5b9541a4ec1a33502a2feeb1bf60c424983e44d8b5a48c00ee85e7fabf8cf016738c20a36a0bc0d5af776ba7157c81088bd706c22d3aba601bdcc4316e949d6761c7dca65a23acb85c36a864fafd3c4a171849ec46f8eef7b7ab69d41a239c79dae780e614e498ee79e849c3326a9cda16c6de60c0c3fe4b15782d43ec7ce870f57188685bd1b02f45d4343fd1b2f395d70f9e4ba8c30ed0794e2f217b56b3ca03e816e79d468e4620ec4acae65241f5ef3449b9e62bae351c017111a04f991fca211f1b7946fde3482220e8193a99d7f58710bea741978f7c26fde8717ea6dcb01358b6624cad164cf7134c95d95ef9cb33354f533d6d493f6897e9a2df2c14ab824ab2a8b99c590d25a2c37a982e6ad6172c02fa995de1971b1d49ba741892d593dc904fc7a20447ae3e00ad8f25f9995f9817a2869857b099ee6381106d67fd6aa7cbe3ec4aa6a858f587211fe71c1c5fb3a0f14e33b610c3801fd3a0a9c95e1c322a4d78104ed1664ae814c9de673449aaf53c19a93dc1751b14d92372f09be4f5e276e85b8d559c5f8d0df98a9a11e2937548a12f49a3d5c231247fa6c1958a07e79430269fd1ffc7b391d7af53d86df66536482141dbdddb6235da75d46751d8010de3c34429c8e1e735c1c12006fc9405be641eaf528373fe2843b2ff8fde673040ef550cd61b708362b8b9c668db39b601205ca386304e29212baa13fb86fd2196bbcb4281697fc5e3959e5cdc8a4cbfe10dc8242f6e59822136b4c040d04ccb2a6f15c09c5833b0d82d739076d3f4b791e12223a12757f10604f1193f1ac818e608f92bfcdbaf88000e187f8c858cb91e36c0d7407cd8e2c79c29632b1d7d64c6003c9ef53b1707328dfdc291a6fca97e22e73d5070b0fbcace9f98498e1c92298e523571723701be3747ac0ae5f74e3fd8a6fd7269b70717cf23cba55d3819269f9c9362cc302c509312abbd0e0c9935b746c7c65aff0bbb555d73e712af44abb3e96479e7a79a3ff73d53fa7c6f1603838b834157e5b80f0c28a5197be74e2b87fbc118c64384718b7e03fcb49816044deeb9861dd9431129dd7c80a27aee042da7f465f46c80d704ab2b0023be8bbec2fb7019da7bcd31a0ef96a34394b300be339d50ecc30e6b0086d846ec7e7db28fd1bbbd7f4a318495994eb0d188db1da9340b25d1810da75c758bdcf5b79451d2eda60532712d3f52a44bb378f67e5687bb3cbb82715f8c59f02f74d9a56d8c13630af89f250c730eb1851bf629ed059139d5a96e49cbce74032140ee8389808e4e532eb876c93cf5618d7b9c3f7125962bd239fc689b184379b1a7574612328c29edaa690e3741e8d0ae5fe0f35ef7f2275af7d7010aa2b044489a139dff4be8019984ee47fac5b6482518f435dca665c477b0534c552a0a778533a828902ebc92f09cd1d51ccca93b8b7eef82a7fd0015b6fb7c5ff33d350abd384959246108ad8e78da82b9b566bfe780aafc8873ea9a522989289feb16122cd9cfc1bc9733b7fcc84044eac8b1c2707522fe1571f44bb21c3f04bf8e33c822b195adc5db262a7c25547cc030be098536a06509aa99b83979e5542e8ff654ffd6bf339feb227ce1cf6994f3e3a23f9fca3850883ea6cd380466a263c6d34ba968a9026c61ed1d3268a17a0ae4c4d60be885b8a0f6580606ea9e7526683ffd579700405963f9b3da7d785ead92d899b66a1421fd021c859dba48747842bdac2df8a677af07690055ee56d188aca30d4733c27e9869e7312a14055120a2a432945e2b022481a6399259dee60a55815e4620b28a9637f8007e2e880fbe707398e7d54854da3bc8bc1ec51f2459656a43948c60aba344db3deca093a5f1cb9ef27c8c7384a8c1b24574e725b27a94a36d3be20f107679fb261e224ba4afbe46b7e883c90b8cfdc750456a4c46e2a929576e49804dc639c7431832d716ba3ef9b1433a7b2b49616729c425a72b8a13112114036c84f9f1063aee4b1c30bdfd7048135919d0a1b6721b1b326bf28a829a6f9c422f0d6eca05e0a1dc625f39af3a45a15058664f59baf14b2cc007b7c166de768136d8fe01f50d3fb5816d261a77b744103c2c234dab0ad9d78490f916b2f3c9b59484eb94968c4abf4c48d4ceec5064fbaf08b0c5eb73311f911eb1e880976f52961af01ad26c98cb18e4d28c443ae778e01167519640b7dab8fddaa646ba923b4253ae12d5fb3188f6b896764dadadd1ec39f45d10bf97f563d2e6d4a4d08243d27014303ec02ae3d16a9ea12a3859e2e1e4803927788831ce0a7835ce8238ffe5fb3c4fdb59b910a12121eceeea4b2fdfdd81da051a0d5722290b3c1b2680191e10a688302aeb74617fa03a8768638397f39d7e13744ea6a629f0af55e00f2455cad0ffd6975249ca094c4ea5e59dad1f73d85d45aec41fbc032f7c9fe77bb027e50362a226583a57e1dda54797ef1440d5641b181f350ac7cb94e025744fb4b6191226d4445d4f15f440482af4fcafc28c406d4ce1bc54301a0411e87933688b8b8c2cd5f21428a8c0308321330a26210fed638f22438a042013780ac98a142a3aa0f383c80b936b7de3559ee5178166d03bf30bf42a6868d7d28d61959422f7ee87f1018153687c8c436f65b1154cdb50f3d9b3b2ad6504d0680cb8dec8acb7edc1c51e4d3faba547258956abbdd485b2fd6d7496859ba9e9d4a7273c8a050c7284fe653eb48d0d8445655f86d259f3a5c792bf5858ce8e7c520f972a471a11ea8582803e2abf5ed9beff28191434b1a14c7934374bc3537ad00ceb0ae18f1f717ee5abf192c9886042145726f9730d9e8d1368cd6787751131a25d2f148ac044bc1e15a21f5a012fabd518ff49249d088fd5156f83370995ce15985a7504e512b59b64c808bb84e238241d3bd337239b93fdc84a0b467400a4567b0aeb3c208d8471b4c02b95c2c8bf1dd3f04645647c19b4bf3cb8261e94b3b45ce12df859730f0441c6488caa4a869cad108683690323ed739d65c359eac2338b02f88c153b187a7582bb8dce2fb77193e1a43abb0d06db5370a87990969af7fcba540070a73c028537e5e1644704de87a9280e69b399d19847e2cac81a3b0f5328f96a808ec3702b61dd15e90808aa9b06c045ab2473349fc1cddd8bc8ac62a4483a7747ef5be61a26edf50d0170f1ee095c05d7d91870416ae49239581a2066a0ef7c1f2393f70e67e1ab9862de81b10625c58bc711fa66c082bbfbea1037b2755e89662263a8f19126b8e5de988ca49ca4c1b068412b24c16a716e6e345f4586839c0f43d9b268cfe2172835b659b00545c92482953f1e3118f8bd093988ef7c302608edbc9a9e6bce4596823fbc36ea777b402a68b8d3fa67468d43c62cb3fa5660fe22b8bd8e013065835791da377674ab30c3d269fca850d8180ffef84bed00ac337f1616495a9654d469a637bac32cb198eeac23f151db687ee7dc8f6ea8161441f444cc765fc7668d11b06344c059c712610de167a3a378cdf20421ff6327cf07dd8c74630778e65766e0e63cdfac1adb0e4ef8d7b8631288986923e57d52b2fbfd4369c4c20f1dd2e25ab176283f6925c6b063ce64cdbc6c61455490cc6d01560705c9bc56667e74702f5616d7683ce785151d33367e455d4a005c9a63a47a9f93cb090ee03070dc4da711971d7cd3ae601167631ceebd4206a0795b87df5778b44d21e75ee03cb53a3d1dc12f27881b45f0490533910a959b9c798fbd6a04e92c90b6e285ebb8bdc1859666970330166d7806f91e6c1d26abf8523d22606bf623235138324ee0d50c6f425b5a463cfbd63447ff128a0015231cd8266dcb437bc8e1e296c4797cf7ea03bb4aaad8ca398e77de593886acd5311958ebca3c026bfeb9141ea2a6f93a5f2ed964c001c34ebeeae5b100d0df53d556526e6d5223ecef818e1bc2a7429c4cb5369f1bca831942930dc96c06f6e95f53d2665a6cb6c72ff3b6bab06d527fe385ecc29ad10d47f0c8c1fc81ec23d6f768c2408214b3f60ff2c28096878d3201874855a112fca173b8cf85b46f0a635a72aa05cf3258d1368b61709f073b98b45d9dc172637837b9ddca204e1f05003945dd9016d37c0bc615cc2087ce8383d2b803aea574fb52367dd220318e25b6884c04c4335e9c015e874b2d1cb128c704e88603652dae56011f66c3d9bbafc7d60af53a0401828b0eedab366e3e7bd82b6f540f1550520d63e3131eaac6adefc280544f2e6d2a9e46c323ba8d3866b0f016c4fe2ada274479623782716cfe42e5c7c78959aa0f6adb3e5a59523fd5608c6daecf4df3a6c148b05a045e7513cf42f1ac46a16d3eb8b3f517b7db26da0a9b963a3bf1c20be152afc0d40b9bd8a071b0d34406861b3d1edd7b183fde0aa2d7ac274954e12dd6b6bbff324c619e5b636309c1b01cc6fc969aa41993ca8015e2dde51dd3279e096080b0e7e7fd56bd8be4abdccf9e2d94eb96469506964202aed67b9cc0128ecb1d0723c88e2919a76aec911d653308703226fa27a3e3e1e50e2f5f887b8474d31e1d394d9b5ba4f6598f3bc12a58b4f27f365919800ac32f562f0e2164ac1b9fc185dea593ecc66ff9cedd1dd8a4a856959e0f8d21c4bb411f03c4fd4cfb89a1c825a78df4dca4d0bb125bf9ea0abc484fc01c2ef258a314ca87f74c34b1c5a290f3b914295fcf39410f1d4e383181b4c274c4807361b98f1f560ca9a4f45a840416f49ebfefe4f17fdab1dc1d7bd4f53034a1984618ea3ebc5485bdb02b877dcc08a731eaa2dc356cc9ddc31a6e2f56d6b517defdaf5947d043b29a3b5310f109eea47e18c1d83c6f607ce18a602de408583d87657353419b2a82d50bf1bc54d391e5ac576878f5bbb700f6e1372c4db44c114853c3c1edd9449b983f0b8bfda8b3acfa1df852a43141f328678d8e897cc0264c4dff553aa0a9443a0719ff06f313740bc3d972d67347e5a96c8e10a896a446f154ca4f4ac5a9f7f6d5734928b62ef995a44bdd416d6d1ffeb26eda001cbf5821bb528c2384777c4499b2da766819074a5f134c4fb4dbf0bb204e29b47c1627f3bd362944f416eacda987d0e7dbd236bcd5eff8cf6ebbb85256c780083dbb6a81b04ac1d6d3dd40acbf1be6bb7c801a13612f003fa4c63b19da7a174a60587a384c2f835fa7eb1ceca56b85f0bfa109b1ce844b940f3573f16108a6df114b1d6e1ed6964d75ae79340753e7a5d365aa34b6e060bec4de1a6a14aa1c4a13fd61538cd8563fce3f40e7e00fdafcf3f79de558cecab02396d2f37f250828f55a20f1fd91151d50ca0cabc8175a79ca7a509da1eef67eeda8397ae23d6dc6c6739db04bfe04f50e9ac20bbb5428cc7432e51f649930cd5c160c6baa84eac6b04a3bb3ab14595c4f57153a841d98c9f3305e3a56cb3524e977897313ad385084e9379a1fc24e6ca4e93afc6929ff743600f3a31223a545686e7c8325b0c802d24a86bd22dc5d3e4ded70f843ad6bf8bf5d3a9dd0979c23311d3806db1445c46bc35956842141dfb603da9928d419c1d5a185ffbcbcadbf95cf585cfeae7d1f33d86df87c53411b25abf995f935593e63f50950c66bac8f91dddb347fe0892641df10b5239a658a43c9a84b016f7ef16c8989b676a7190fdeab57c323c643a9c8193199f9fb41c3e637e4e0c7a998cbf4554628f814ce6f09cce8e4e5298758e234fa8cf7d299a4371e504f782f3d8567ff3fbbed979c28ccf2330799091237342ea3dc443117b572306933a11949625e06ebb6c3f4eb5baacfa4a01c6dd59b34bda7150e739221b1710c29d1920c760ea4ba6bfd337fc5c8dcfab2f36e23c7ef045ae1100abd267dac7c17d9f9ab8d36fd26137dd3a3bf75cf76bb4eae24ec5d94aadfed43d954618ca6aa084bf84bde021af4068a8d5968cf752caed8605180020f3c2eec43b802ac07a2ca499348dad0ae12a188e775aab3246326443c88429d8ad74cdf77f49aee7ea998619802f35c132219e18a749a82100def762f01666d1510577b28c46c928a84e09ff6000ebdea48a288ef6bcbb99db08b49f98121624d2e02ad26b80c55664d6104add06145de627c3db5d300f2adc5cc2ff19e01c13a134c8f5c9d7860d9d9f41d7974bdb0a2f531d9ef0a7548794cc1cd70a351c021ebe337f8d1710100003cdfbd47332f00f66e7ffa81dca26a418560001517dc2a37e00a0ef294efb46f668d982e99ed150fe52175c623967553c92e75e3a966eef84f67d61e23373918561ac5ba63a85b23407f57d1066977d2da96a475df7b68d7f5b260d76163c3c498165aabf093117367ec4fb93aa0db6f0c9b96118532efe9e384212525ca7907c69f93611ee815be81b7cdd54c5ca11522878ca4af03271d40ad94e5a17da9c072f8444eba5e86656530177167d375051507e752be8c0d7e466a5251995cd59b19eb4754028393303b0e040f3d0616af28d6e764ec1fa0d9333e79e8ea63ac17924c1d90ad967828b66c3cb7a1566bb15dd531b7af6da6e94a9538991405d4d7193d12f30a67138766152615a514cd26d280d5f18be5e212a9ec7d5c7de5204b9adf38fd305fea48bc1510da409d208ecad13b937775d18fe9b761719699c31404aadd92d5609c27a5447ff27d9e1527ed2ebaf9801344846e7c4fa6c2336c5ddebd1ae0ca9218412abbdcfd2ffc77651d22e455249aa70dfcbba625b7952707768d8dfce04ec395edce1ad3aafbef5c292d61621ac70603c7594a2a5f88135e65803dfbd85fc25b7e245872e572f5c2fd2050026119014e6c253bd69434b4877bfbfed98a8a72011a38583b40cbd707d064a3999bf016bbc46cd4640fa35f69cf84d7f99598e8cdbaeff107488469faa5d8f0d91c4f1d1c833ad8735e8f0ec71cc660b16548932001793a2d27f627c86727b71bcd936ef93b16fe58ca95d4c934c554ecd4ba3a9cca10c4fce7133ec9a461e7f21b56bb8b1f5be00c5f99a762ec061ba1b9f325da3e3c2023229f94e4dcb1e614d34e2e732ffa58f3456551059d150f574483f1b99cfd3de155ba15b9a9bd4227e36e8f645fd8401d5f0ee1e3715cb818d6cdf46b57425f99e88a6c1236b9eabad18e9a3e203813ea27cc8411ee8a0081da011f1dae15ffa4781973e80a67a5dcaec4c76ff752e21cdebe4494ea4a5388440fcc27d5c4a0cfe79bb70d241a650375e7e811dcf933bd531f92e703e5e34d927ecc31acdb5399fc3724afe3baa1c44bfb917e1fbb239ff9ecc6cad820eac8eb0acf226ede960652f22df11a9a7b25ea4ce30b4a070214d2e173530991a01450aac02133a368c7db68d011368667b5af6d3d588ad8423a8f142211d267263d5afc533a8a364ea85fda6195ef8299c56fe27058961a6684c4ea7a3d27957d0b36f5f36827caa3db24b14938934ed5daf01cde23b7dc14014b2bf157ff569f8896fe7ac275fe2291df7f4707fd90544f5379dd0f6ad1612f210d307732f278eebe8a19860127d441e67d3889eafc50748624de8b32a0c5e0afddd5615d3e167dc7a0b22a9b81339defb68bf830af74046ecd096e9c10c9b301162182641f84a2b36137a8dc291c9e9a8c70e9d66ba9f1b2f72c69397baefdf571c805e2e9643186215f88183c4a7e785127c2233017328b87da5dc8460979b29dd25e05959a61ee40d170c3498cb52e6d3a4c400e707a83fab1e2c27b3d7310263abc166d7df4b31de8aea892f58bf4b82830eb157e300cd8f25cd9347cfc9bc5880f82f063e9a3d9d9cee7a4261a72e5c6c7298e2372b4580db51f5fac788fe52a8d1d2870f7d86275305094b76d9b4c355fb23bd2dc7171d6ddd981c2112a0574ffd517689f6c43a7f791d543b8e0de2b63f8fdba880436da2ae3b0fae415c83be8104fba4c51e86b2d05748a6615d287c70c71686d35e1505da7a2b62056794a34a763a5f130bbd506a57036e06f85f7fbf5b2e77eeb45a713bdb86ef725f725d9bcb1375c0b68345f540badf34ed33255706c3b407ddc239e51f2f16ae91acad548400a00825057e139975f1c4fae89ca4c6d6d71985ecc45feb09c081cc4122c0ac0100e770c19b98862945f6af9b6672618038f1a5d89a99caf06ad621b9f534344ff0269ac8e96b177d8a6e6f57d4329410fff387c30e67c64ccb9b3ae02bb650aa01d9be7c3f5aff99d929d682bd5808dd0432b96cd9c1c130c2e410364be2628fe7fdf49632d7cb9dd309eaf5f491a3621f81f14dd5b444b9f9d92054e2c60b84470c2f6538391e6673ca8d8e0d6b6dd8bf567d6158c900cc8096941bad4ed0fbc746be43b5968a1094c1dfe3994f1eb45a565cd4f3d9d56f56dd8e571e4ae6f0e1e773605a5b7e0138f18d32e170877c7176a1e7139243f36621886b6b26ab3264e95eef6b9e28673f8b9b2bfdaa0ddc0365c0edd0a204078cc9623933720d69d5777c356290db0934ca31d9a3be327fad246bab2c29464212bd62d6023a1020752e6d72860769186a81a1ac66aafbf258b0f3aa9b3c36e6955d8f6fb595ab7c9d211d355e675bf8af14dd2dbcbf4aa840df475644e96f753d92bc281bdc6556e3e9e972922a369b02f8469ac0458cdc0d54656410d6b440f3c43ac2a1085231a18d1771206e641984cad4c40249db0f735ac95ef409973813faf298384de6bff1b8704109831dc0897958f1a2d2c72490f8df47e4a2f74848d96aab456ba31829b82ac0158559e3708bf9b3e8831776ede1d7129f38855fd562237fec674cca96fb42eda0bdac3c22fa408b2d656b8d2f51ec21a0a8f972d167cb4e5330e19f1ae05e6a35d77a4742602ad830d50008cf86aaebe611d0976132ea590ff8b355ce28deb1dd94a4d74381bc7fe85dcdb9767a97605750e006f92cb012b93c5ab8c96a1439cfef4ad44054c66511d4b28290bbcd4b0aca32cb723161f689f08ad26aa070f39aa91d52dc818aee89a3f2ab1228532a57555abaf2f69d898c2ea4618ff4e2f939976855d48fabf9bd5b6d356839f19571a2fb9545bce8fe15d07eddaa18c6ec7dd2c6ecf6d5922cebbd5e91805c805eddf393ad5eea63c8d4ccb57e47716775b191a0256df4440d23e389482c9c059c75d447133a6ec45d9bd743f4ed112d3e01d18f568b715878f9ca103833076b1bc05b3a318969fcbf401b2b90022aa32b656bf57e2402d83892dcd3a6dea90a5c8299bde0244bb24c9eb9358ff0bca0a89caf98a8654ff99765ca4b2150c901a0157027f989be45a66dd395c594b01d80851a5ac1887a89c35ce4fa4a6e7d2e1a97508289443973be5551708d7c709dfd48663447346472dd794122d59999f57150fb3093cb9ade2ec6edfdf8ee20f00fba06c5e497499f83da52c7c44542f0de9bfd53a7c1c9fcd2db4d066c87b56c10b12d7f093d6b1f318f07cdf51d738f60432a6bfebaec4a627fc8bcf2d4c529a6b0943eb43e1be10a6f2d5c1c98c113db989197555038cbe15198d8d50e18e2ea3ff073551d3d49a2a043dda49a04c7b30a277424e4a0e3804469e1d415e04572a4e12b2bd05f7367ce15c6e4e2597cffceb1d9aa49f5fc6bfa9d02b25fa5bb99035da1f8065406f8dd5f2a3125f91fa2848f637e078e992296f63a8ecc0be782214abd6ba4299c6d38f539a9eadfb6b466bf6bf51c41019467fa7ec2204a0abb27a12d2935a4b7be8e9656792e847e9c99d3719979a63b0121a85ea96cd61bdc58a87fbaf7de225fc619ddbd8addcb2f6cfb384615dba6db845d117b64406eff33215b15d3e0fbe0ae788ba2fe20e8c6097420af88da067980d6c3e32d91b31f0685819c70380ed799013561efda6316bfeebe14a56fa11145b8acd03acb00a53a3d1ba92737e379eea7ba98ab7484a35a0f430dda2f7849235fdc2f62b2f9384ea357c54b01cb1fcd952119480d18faef3aa68016f15fe7f81e5972349e10a78a5393f3950f165be9604d846ba77174a48fcacae479ce104143c2ca27b087fc141feaef3cb24b38e4b8ffc84528627acb83e8281d2cdfba6b9eb616f399a8621c3799a48296c5c0195fb2ad5a52d7063eba03fb77a75c07981f289498cb1524237891fb4a253efd7607756090b89f6cfd36500ccc2baa6bee7fc07367df75b838586aa8c2c35a21d69fedd38366097b720c084290703eac341f1b0af173db7066c26e9e46d93759cb29809cf12065f24ea55a2485fffedd4b38906b578ad3d0431f2aa2557dbb900e90a95ad1d1c8b82a23e25666dfb416776957ed3992a8bb06b67cae0faaa63a5ee24d5ed5935624b20ae74d1e721a0b1a926ab875caa1d79ea9c875658945dca8503add5f98bbfbd24f84491083b5d6569ffffad51e9edcf81e862590c61846149d8970c201e2999bc0c5c67d74c677c61e79662c2765e1ed1ade9148b67ae4ef800c3decca843737e811156c00d339f4c047591e5a5d5b4a1dea3d55432247b7df104a83302e74191e104e50bf6beb262391f761293ca090ebaf50bb8f3bc615e985e2337506a4e578652b407c0a31d114c114668c74d476ec40645599a4f3e401cc791d55110bd61aa951ab7b8f66f4aa346cfe252d94a7e77257ab125bf6a3c18f696adee490c14e591b6973e127604de96e7d9d6fce254adb1af34e36e63f524174a77b75863742d1c7068c6e14244817e881252a235ffd97624aa01a1a19025b330c7f37258246878fb5188c54ab74a7d4583d375249ca631b5355fd43fb72fc96f30286120750f1db283315c4ccdad39582dc5c90c1557e0e5610ca740cac41c7626cf08966dca89c200a3248948dc22005c67873634344732c5466322a95759c1f6834cab10d16577f187b053107e5a60d6aa09454968d85864f79e0d5a7648332bb7bd0fc01306b8e60baf616e08af4d93e9ad7a7611a5569f6180c0c34f64638fd51e63b53f2838bfe8547f7dbc8f19a84fd8a8dada75fb46469322cad3bde5790ba5b4935e4f3019624072fa9be276282feaea582975eceb8ef93a8e2a311e6cd78090dc1dd93c04ed3f38638430ff4c86e8cc6029abc99c14f980b1441dfedc3970644bfad33f5e64e8a02a40982b102c014ab9f4f29a94ceab5ca56666740448a23400b84eec866b8c2d3ddbe2cbbdcedd0ddb6e081099b005ad8dae96ea8b491147085221202398409263c84efbec3cfe1ff3d106fcd72f78d8bd2a580a781b3801aa3d31ffd568867fa6433c5a750122543483cd85d5ca092d6f4fa3234f112cf5c3258dc74d94d1a876a37bef4a3a4b46e4db8fa09c9196822b8a104ef6ccbf0804b2ff4fcf2280e3358b0e0e7f43759b9623b04ef018cc5c35ee82c3cbfd5b35e74260f5e8e6d86724e6269bc71f1151cf1068923488a1fd9cededce12625231b99439cee49204d00f603c5bc47dc6492f6f0d423b65b0e5a0a467273aa95a249cb3f03137862e82d6bf7924a5db7de6cade0a274a1f694a5c9027aabaaf6146ebe73a8fdd244a025081103bb3534a24ff24f5f235d42f743663e556d574c65da325782512269e661c3b7f16b0be05f88f782c9dc5879ce59687b6b233f75a8ceb45cdce84e35b9a65736e0446e44a4996a285a659899cfc92a548d49d7ae17a9cb1681655cf508b75abd9843c8c775c4a2b95e6ce310c73935a2f6fbe3f65d7dc2b115ef49fe743b1815bc3cd675f7146fd431f38c4a79c71411e4ed4cf7287ea942b9da02d1dc27628558e3612f8a62ca935004c2d9ab3e1f7dc01e22c5a390b73989698501edd444be828ac2a4b7f666e492779f83a74c9f510e0d0f67105b2a38af400c0f306a14b8b64dd61d8cadebb772cdcf34db697c77ba4b7cfdb95873cc99cfeb2f77947a1b7ed20dc30da7352d95f8f9518909bee0c3ecfd51840e34ff959c32919f3e4dc6fb3551479c368020a1d2ea681012ba52ea9cba4f52fe30a44d9091de0f3535a390884aac4ef7ee27d00bfd34567bc27d693911d1eec0a81f85a0039b83bc621af7eb084d8b11fa66f3a4d08c11c1f7619be3d96c6a96a4a1a4e77b9afc626e8593fb77767aec642ca2ed042aa43f980fa851e536496f91f828a42180788fc50572921f8d849474510f9eeea200c4e1339c1c216c05d6dab1fde36be8c1f5627dcbc1e506693cc3378fcd908205295334e58fa2aa75852ca2691d942f57f2f559617598cbfaf24dfc477a2522258b05cf1829aba19d7fda1aad2725080f020194228901d8b770ec473d4e10d0a99c32cb09d226cc3d035314ca8cefb8c498de39b332cc1f614aa29485aafd77d3bf5264aeb8dbcdc8949ec699cb1531bf1f067ee5c975d76a6bc18cc5b198d2631cfde9d4041e3681eddf6a36b13fe48986ad7b6e15116cac37d7880ed2d3a4a522dfea677c4b84bad716dc5badd19b56ef835ca7fdcd3fbee3eecfc026c3eebc644d64f54423e94e72b877ffc4dc5d9544edceb259984ed4ffa8e92e3551fb35a69d0b026ba89aea8361a86d02fb794e5f00e61d20cf4569b06703b0858ace9542a740eb860cc78271ad432ef27c07f1455d39d44789b09e002166cde4ec4d6163d0f2e0d3dd8083b336dddffd7d32d028146c903b12ca69b02541d5d111afd516dc7653aee93905d8e46ae313e41388d8f8c817244d28671def8fdf40932689c7d687e18b61c5cb958aba8d5363d65a5b0daa42768dfe709d81f4008c070dc3667abf947bde6d56d81a0714d7bc8e58b8ee819b858580812229dd155b63d684b379023d463052a4e3210d76e693dce4ed3efcc0ba5e8716e0ca0a45ee24b1de284e09c9b7485af1079a06b9c333dfeb87c60d1d59882bd95ca71f3900b486aa53cac642eee4c7cc38a6c1ab9aed5a366689e3dddbca5d7370d8c6d3df91c85acfc9d358b7f8456d61a4fbb8fdf8c920a02ae9af28ff2f37159ad26e86dd7569f1eeede442262d286bdcdd307c2248c7b1cfb97d3ebf3f55adb9004d2ec4783444138947cde42ef6e0533a0b62055d0cca94e26d3be2cd8e234e3b344082eb33eec3fc6f8de5491cc2ebec2cb1e0836b006333869902e5b4ead73ab565cf2fa7d1ecd0a13b8209ac9edf096e83b3a01f6393d7e955f777889333f873507c8ebcef89d45c7aed698d098fa5b4a03db57c91dad97913d659588a240a6bf1cf6e5e1fa73dc8d44f2fb9ac936ec3b66ee553659d8919faf7479f9f240eade452739e0985f03a7400c387498a471f960d6eb3e2256ace1d1918b2cab0f66da1a66185bbf1a75e096fd971c36636103b936edbfbca60ee9e49dd51e1a1bf4ffe73d0cc8b532873dfdbdc5e5578e600d34b293210e1349d1f3ffbb6cc0549fdcfa52f659e038b749adc008524a08b359adf8d027bc062fed9ff52b2e327c5ccf2340906b153e6b2fa56f6a4b721cd3b727ab0d1eb1cbe8dbb9a9db84ee3c012962caee80528c9ad33576d287f21734272d238b39e937484dfcf590c3b2054c0acde526042e7010e17c43cd64cb842e39f2c83fba0a50a1727438f558185ad9f74ab42182661a4f6fbb3ff655edd3a9b323df1f0b39832fa64c316e99ba4dd91563c4d9490bbb4f558da9aa81f5e3f37157981cc960a80f90dbb04ea7d0a15a14a20bef0940a0bb78f17ecf8fc10413cf32f7622c426b7da6089604d070066e1b5bf7d69cdf59329e3b8f8cd2d5524429f3ab323578852b77a01064391573fb29574fc266e8626010b970e063778cdfe584660c6a649fad24c08789e5f6f9828c1164772e3406d5332ae3a73a92d3c1408aac64c13de7a3e1ff615b4a0198defdc8126f8de6af47aa44fe7e6b5eb7d95163861062fc1cd4b337d7651c2d80cb0a9b9e47ff53b6a694af87c1720a2e4281e84afe756b68435ccbb1aeef7159aa39a5648ede6c9585847a3f2484c2b9c745b1c1d972959ac855dd05cd70f89b60ca07cb252d82151f0a7514bb75f8ff5d7bc9c9257c12a171df828b02d989ab2f875528b01d29f2693105787c8982a02ede9b31db5e20e804e27b3526c1f9dbaa3b1c6cac7f508151b51abd0adc05bff7a725bab001107539726f75ba19630e80780bd1cc62411ccfed677e19ab6844391ef7db6e7b113da101f8f1530b7ea06e67dda763e221ab49a2f7b0b751d93cfefdc6bb569d1e5af142f8f09469ed49a2bfb4b224adabd0ecfedc5c1fca21d5a0684c6a8aafe5229ed19b48078d4598a5bcda3209739d19469952f53fa5fffd3c0266b4ccb114b0bde781a16ae03d9bbff48f573de1e59df2a2a344d4d1d851acc73d9ce461a465863a425df1d9455cfbed80ddaf2460f4fab2ae55045132f35929632de63f1694f632b9a6747081dd2564916faf9a6c1dfbed6d320175dd854c362b978d5e640872daa65649e1ce913756d2b17a24c675a39341bbcf43038442f878216fbc0323ed356ff9f9587829ce4a8013ac1a651d2d5606bc62e55e167995e0d5cb3b1e4145a18898cfaa40be8e0a4b4eabbf06c8f72c55426abee9a3cb38d7d4a3f02d172791c935a7a4a3da6a03ae418c942578cded52300c8e26927732721c7b49662471651c46c796094b1f11a3b1db2a49fa302deabd691e97fb3f3ba40b6d542e40af16debcae289db5e03c8aa76bc7bec7a726d1580da97eef48b6de3724bfe28efd8efb51302d05058af30d7308c3a14e68d860a52692b98cd8fb64b834d67b6e8113ad931a0ba882e4a16048992594f21f8b48608da4b6f327f3b7d6b9b17742ba812ab5a406951661e70383a7dac16248997f92ec450164aa957378da3bfbb2728f9b0b82a0b64c59bdfe40f761df2ed2727574ef2c799a2ec4e8a6f990ddcd854e0143dd84c465fce9e9fd2bf37e0c4b4e63c5c1a4701791272e66ccb08ab3be8db4ea7cc7249bba0a0e0377b681bc0bf01badbba6816997c3ef5be86878ef92fd1c20c0e4b9ca26cf38fa5e7ec4ab2bebb4fb65b28287d9ae03d95056aed3b7a23a22dafe14910f4ac286b9115d174b85f0d85f148185c666df2782fc4a2b9aae1ed7adeb35cceae3336e310f2fba9ee9c94c69161ee6cb822f726ee1a118bac6d0899c41f6be80b69fa3bc63017e9841295c00b42b6707bc2a2fd304d6fadb077b06539c95f8cae4a66a97ed6aab26548217f62592da16befc7077d734fd9db552ca2410100b9f5f120198e2eec30658a2a1c1b1909f0edc242c2c42fe1379f7dbb1d0b8d5bb90a56ece15ebc8f0aeddd511edb0c7fce14fb6fde5aca5eceb7ab2a3f683b60050f46fe8012819d0522ce285ee3a23ecfdf19e6f2a77c2aa35193689faed41d98cfcaf4e129851d48494020ae395b164d303ee5e7f976fe1f2120f100692bcb9ac97440a410c9c177a6c5d1b64fed62ee428398569d89d16fe29e167e2a3c1abcda8f0a101288476efed5e7052063c99d9d13baa8937a604408bad9e0899b93c5adcbd076273c825fbef660ac8b7aaabb79115d6ffb20310392c08478f01c4df7db2ee10ca88619d6244b51005350c3c2f74029567bc78cd4762f7317cc1a54090769d03f85f3911b97791f626e9b7e0dd2fbeaacc93a06d991959faf08ccfc735ccb94cec31a5a2bb5d7dcf98907daae49c2631efdc972b667a91ecb27dda02232bb3ae26b87b7d5dbcc652c3625e3c3a48ec6ffa4e3cb194ad734216be58a23fecd271fd669f618cf95a2732fde669ab95d6496afb41d468e6ba40c2963844a5fd1d8d00f79e1968828e27601f912495a67b71a8746475e78deaf90c60bfaf3be14932be25bf9d666b566406b8250c5ac467d8fb63bfa95f92f86e424ba8f45cc14b37273602fb5933f8aacd3164fe5f52ea87211429da8c00b01630fb7fbf33775adda0db56a5e3063f1a2ff8aeb7bc3cd2bbb47b75610a24ad68898605a9ecd22142c013db1dc3c8f802264e1f91c96efab42ff96f84b8417753b39e2dcb7f589e2c9f5c0f4632c9982a5ecf00f7d38d292feba65f29d04c4b82e0377ef3b7f42de8427bcbabd0c35f6a04526bba991cb76674737d4fa15ccb593ee48f7f2a193400ca8c95923297d53078e2e449b1c107c42b09fb963825d01619a5b748e79ddffdeda848f1129d695ae29fbf83c0587c106a9dc999196b8f5ab24238efef3c03282afe0abd29a991238b0eee7c112daac891fa7db16485d564652781b87fb36efaf483d20c047cd28d9a2a14dcddccd2ece7353a1d3338f69a48ab75cb9ef6b1526b8fbb4443e36121af487bb555374f71fd1e6736e80a932dd902b5b7d8a2d8ecdfcab1bc1b3f8ca20d6bae07399c594496d612d2dadeb9959c05b9318e5122995bad4e823a3c115ce467430d3e42e1f907342bdbbce8120b33973ca2693ad9aea8ba610c8fef69cf7a4637aaea384cab4ee319cd196764fcded8cb2c36fda901d67e0b8de26f8d237e654a60ed4e8bc6b1391cff8e211922aa6c9c4891315d089911b2efd554439fbb5e72c0e4b17f8518d828d0aa4a03d1f84aebf8e2f41bfd8539b6b303981233404b49786f38e42e4a6d5cecd35fe597b55b645f30ddea01b8ff96f5163a2c9013cd9bef8d29ca31ddba6b63ddb3433e0a5102e7c34457f94a84867a2ee5a25f8f60339d88ac9f9f9f2b59e6fce0000dfb0b442c54bc6a293e05098e98b3ba43664e18514e66228177d5043c7e156db983b27b5e0369bafc87033289ed10d7d02b17cd33ca88e3dd3719147ba9f9ea51f64b2b392a383d0c045d10716db4a6f4cdbae052b0f82ef8306d3a3a7076c0b9700bda147142e111e77e527fec21210a35b42162aaae7a2f85f6ed6f7c3df70c985ba2e388c628edb0ee891783dd64371ac3c889192383748371d4c617702b7fcf78575374fde0e9f964e431b8f210b33c2faccc7389457add5dcaf103cdf4a867d1f0656c8a2ddedde3e1e439c703e4c09abc32e3f4e08f8225c467083981eb5e8628a6fa59a936c78b08b8adc055d2b2cda0479055c8db8b651e6a7ec61b9be1fe90e91fb83b96a6814c6474c7fa3bd9ddfc7b13d725dff7e6ba010b01d246b5853118b1231a50935ab33c5095ed04ab3dd021d92dd6dd97c75f64a810902a3daa17486bf53fb4a1f1db17aef6ec84b7342d6d6b70a1225f2f7038e9d517547aec3e11825c3653943a14443e26e1dd95c6062bcda3219d8790a56ea16de10ecbe53ac8aeab20bb38efe3efc0b7425b5231d3c6615452672e789768064de8d17002ed1e21aa4ee2732ecfa70fa79e08d32a0299e2073eda15ee209eb4a949e9d7a6a142e877242fef62d7d5237ca03ddb943d857da566f755d9b6d395a517713f55cb26173cdb1a80afa5a7d177d540aedc7d7e1d08ee0ee920ab249f00dc28f3c5e356ca878d4c3860cae6788105e83b2c3ab6773f275aec2b8d76065055e31478302dff0d01cdf0ca58bd42a4cbaab13eb1e5333ba4c3c3ef69ee841467d6eee926ce36742c4e588d79ee12b479e0f9fbf0f15846252865e796975de4be737374e245c96e61e6d5c23d12dcd7f6cf360c8fa5897ce2c490f487cc2a77eba57fdb1364677248574e856c26709988a401cde1da07aef1d7b33e1ca983785b13c3c6e67ae33087175a2e0189f5992af1e357b156c2782d42351a1a28bc27a6521ef86b7faec8d0e1aa818b8b7b2a6f0a052604173675d8042d06572d7c3854ebd2f1c08106ea06e4e502033a9fb7780597f9556d8eb817b6b687d65b68dde268a4c579f8610d47ac9cb08b906319532710f43d07447fb0e37974fb6ef04550f39790300423208c4c5889f58d22fe26e20195082840c91cf2f31856e0aff18aea9a407129bc44c9a040d9002dd015d5305257b8d046b8ce0f7e58ec9f47e059c03b432ed2939a7171166055e9712da4e76d9eeaf28305eb907bcd8767ae36a53d0d1c95e0dbd167ad23e637be3f2d33403c5bd354e08aab8acd1cb583359c981c852dfcbfb0c81dbc54971d76362414de108c2bc87582b230caa4352c95e242d78093207f431d3d662aaa838dcb228f9321dd44c1bafeb4a671edd363dd9034dcc1d62792a0cb100afd71312a0688989c6efe5a6375b83984cebc651ead5decbc1cd747fe4c209faff19fa51e1137dc23f30647198124e60a1753a22fb2e1eef3d734e715a6f5fce133f766e368f3ccedf06a37019939818445d005a68872e68f2838231caf66c80d228ee585e9f893ca8f086b2bd07052096fee2da5548e2fce6a3ead5d99cdd975aabc9b170af8fcf818c8bed879ce8eecb77e3a65f2b1abce0d200c6302839b455812da2dcfed9e2a1ce1df61c4d8f6ef14995bbe87818c0c511349350b763707230cba1bf57d196f6150cc3641a9155bceaffb8463f67a75d7ce18b71451749129af75d95fcdbb99e1cedea338cac7ceb72541b191e52f73b5176c4b78d9a922b25d9d98bd78b7ffacbd275c620493f7012630d83888c10b5309b93bff87a7cdc93eebeee3fa34813fee6ab0fd7363c2dca7aadabd48f5de23bd612016a510e9dbf971855204048014d7e439e040f990688803b60fff20ecf53ef2c05f2632ab59f71749d20524564f47438601d669f685209172324011f0d01316ec663a3964474519da5e20c1a099c701bc1f916b1490c5631182d68757547ad9c336219ff9af8db07307adb867d561951ff547772a653c3b48513a29edeb13ba9ccbdcf1411cd61c3b3a4239aae1c37234979f7bd219df61b4090b884df5ae88eeb92b0f95ad45abe1a216434b86e90d84a2eb0ea2e7d602f19ce32bac5a6f4aff8af5119eb3b3426bf9d2a3b96df67182b7d4b36511f03114f9097781c3cfa134e0e31b4168e25e9ddc4afc6c146a34112693d21befe74132da83b01ab6dbba0fa8f9d51452291abca329cac6458595223eee5af8e3a1bd10776196f9ef916596f7044c3bc23cc88f6e4c0325b08a06f6bacde2bb3440725d18efe3fa11b479eeca089219a6a6e2ee1e1d82a0f6b10cc632c9a6cca563411accb6a36bf4e62bb8e585985d264d702e5a4e6c6795bd0582e40fde8467273c567076b28b5e3ad925d5aa6799fd86ba624d05a08ee13f930c14a4ddf46479e595c77adaeed506c85816e44e6dfd0b83e81ac4863a4ae36364a0582a7c87e9b152076689ab46d71a345245e24b91c44e06fd70ba50e8f2a128c54069ba14a76a5abe4f37d5fccae1c208dd633677a72152448e6dc5ee7a61efcee2c44fd1a611177493c8f4a8191da78e60f41480b8b5004e47303397f41e3e45dc33cfc43ebeac7b56b82be55471fd0f7dc895b539c8d9fcb2377043fad5a58b590d2e9677c842676d3eb3a3a6ae0a42d253aca623c4f99809c928e8d1cb5aa3e0d91de0b71756e7d57d500b07f60657b04b260ea73e32f70dd0b5d97b015bf6a1a1ffbcba7e76fc439a98eeafa04b69b1bc3db27723a0e3ba760d8d75e870709cc899a697e67557e04b77ad2255c830691116be78b32c53979db08ccc450bb256bb521de06763c4f4bd8795a0602042973434acfbce05a2195ad1a80846c6aefa01caa1919a01835b59519536146a3f7b1e2e44ec6542e5eed59a2f68e081f30ffb6d7f6c140c50f71010794bd9ccb7610b5005f23c52da582b1e47af5e5369c4095b810dc610eb0c3f0123da887e733ac29c5864e86dc75f65bbef67713cf009492438f47e2058d02e325dafb09ec953927f4346862678b144c2ef2200ce03045c13cb4f11b4808b9ff3308cc66e0761d6c614ca6894c98689478397a7b1b0db477b9771d2cb69bdce8e81c7eaebf8dfcb3c2d83da0e8f4256e6e077833a1beaf9f4477d39685024505ba057d013da07da6ca8043ce6991736a9914346ba7782207b48e642b06f48c9adb17f1c4f5f9ab525de0bebb26ac5f6598bd3e4273d7f20a02abad2b6b84ac3b23c00b674fe21ac4f23023ae4e57cd77d1e082e710ad8783f64e18ecd00a7518918a974cacfc5204d744fdd083e99fdd2344b72f0ae29250e53637d21a797662305ce59b4d7d9c7532dfdb6ff5eda209d3a39b08e4ef108dc5a93a0d7868f8156d968b58aa53edd5a278b07444f6660847f4deec702ba0883af594c3c863076e1dc16841a4c5782720b9aa083acf021b91937190c0095f40d43d9ab2a25ae128b712d24d447f129fdace820feecd95c846c354ed4754a3780fbce7d67474a79686eb0269bfefc37620b1a972772980e71d66cb08cebfb2407fc2785f21bfd5c50c5888a1d5b73ddcb20129a83437b5c1a3adc4fd3c0fc3072170037d80b7f6773cc656b6710a2fe75b501bb83f8b25eed63a5345ae9ba6028ee07dcf77ca19c72540c6a23b60135a36d800780a9fd4235ec9182a6f20525f29cf79f4d7c8a50e09ac40dae18b757de34e3cdeef037093f1ef08cb79d0dd769a6c90f3f495ba24c57c6e04cdcf0ea612c35dd606958819139ea32d91a0a98241d58582249512088d27af379a614207a62e1cfefd63eb415b03089be78639cd31be241c14a49bccd33bc685adb5ace928448373a4cf0b7483821a2cbd8b7cc62ff1540a5df2f47187176bfc3f44cf544666546b2afb3ea490ac5124b0221d14ab05deceec102e2afa230b96cbf325f964a4785c54e8dc1f106fb4539d5c7930a22314898aaf5b80fa698db29e772dd144560102d21842dea8d8bef6490e985c3819aad56caed37fcc2df117529a114a410611ecfdef7bce493840ccb1312e222c725f55239d50550d7173e8ccf5091c4ab59f1a65fa9182f6bfeaa629b7fb23257b84d89cfb56347689192a56ce86bba4536c84b44ceb792d09162b8487fd0567fe2167298d4694c58f386ad2ac3222cbaae93ed7463a773713d250cf750fb78e714afe1661c6f162837b4247b7ce79df48c86d58ac8b7a60729a0ed11d08f8d6ec5543fa1b7db2fab61f508948111072e1c3649c9ecbf9345fb68da00e5331b0c466a7af9af8014595b0d43a8a61b99bb368364646f220bf0ce5703315c2040f432be276c4e513ea9f5bcb245bfc4b4b3b0dfd91a474868c7087350669382f4df4f484b60a72a16144ab8712c17c49d848d0c537c28e05061403aae719bb90f2499cc0ed6d0353bb7c81e31682b6343d1b05df1578f08313e20d0b81efcd77e2e5abe30db8c4ea51ffecdc1e854045d3805e7c27ba19c9163cab2c790d95b252ce1dca4b3770b271915af4954cd72d57f6f78143027da030013b0f6eb107730d3554ebb99b645b39c2d405ff646fd939f68b380e13a673e78e0d7fd9d738ee9d2e1d9082e518cb308f7fbc71515da0675a8adef4550835d99de7b19cf17c1974f558dc36aaf9034dd8d67363ef43196ca5f95f1ec8accc7e87fa1e11abea1fbd5e492c328b0cd82038a952d955db1741ba201df211cb07bde486bf0d1ef6ebc24d810d1651ce73e3392c944b29b249eb2cdd71c990daab375235e70ea79eaacba9719c63039a3489adb958ac6d0a78430be04ddd2637d75d797c289dc549efecfe5fb0089dd39fa756d55ddf21b846b844e252873afb00b73b84a625dae26d2415bd1ba800c50798766de694802c9138d3b60b8e41b90f3a9f4d0d155e69cf37c8a00d0390da78a41d70b0bd7424314d33acd28d290ed1fa2fe032d16bcff588af56a97609c83d7e8b947db241c444e8b441c4a8ce27f522aab28091e91172319518edde15f24a8a060383415dd59e830a073da70bc9541009013222eb5cc1e7e492694a290d529789d8f20848d4422d2adeff598d16f3c5788db1feb8c53d1288ab5a33679ae8dc37dbd9cae73cf5f679ff87b4321fd5c83c8fe109ec6f9155583d86d8f95e7bff3a76c1660e1dc5e230fb395f23a8f2e0f7ab15ec92cd8e000746b740085fbc27a0e5b65caa28620cce59311408379e832f3d26e3b7730c681128072fe48bdfa2289dc90304929f9f76c748c6154cf8fec565ae99feddedff04064c9d3c68b42b0487067d524f7a9bb1ba2b7607e705cc6280c257f0eb42406a1f0604178729d61173c652c35119f61c058defc030302c424902ae74dc05fc2c0bc4d873ed4d52d90f1db07645480ccd406e0e689f9146f0a0fd9b6c26f178de2f08796048303859c0f3fab0bc3b5600945da4f056e75f3e0cc1f9684142e1a03de01eada0b0b5be336a2bde02cf0bbb0d3133142df07d28bee034a245895dc5f0a79dee9de736c598abb4a6f428a19cb98bab7afa64390142b55d233f85c4e8da21f4ce83ee5a8186aca4c27cdccdf872769f920223f73290eb3796a15d1e5aadece9aae34ad2763a196f1670cbdfd4525c8695f73047d228a41c598ae5641f0aa1d30289b3d23d021cf6b0cf2307cf01f11be61c0b4b5811aec4d09e61cc3e8efd8c4336195117ecbdb87303ad8db3be08ef36787b92414c85bf37a45ee47e1e3f85216aaab7d9b062dfc15e1f0dd627a9e61d1a24cf288e5e6b01ced71776c16e76f08cb6e300537d86adf4c7af9b28b0564ce21326f6a1a3eb05fec36513d305f618b8a56dcd4996a4ba318b5fbc28f9030660d5240a5a6ce272a3b5fed8e1a09fafb3b5ea629d95b7e15c1a319ed1742025379e3e67a0ad561472229e8b8bf948f6b9128969ac5f65205695f401f13872f92f6638f9c8fc20dd19eb71d6625e22be9ce65a0efba0f50da14d3b70cf2c08d098e61be52891da1787de005bc061c7039d6e5c1ef1aefda508bbc281e9c2dcb46eb9094811688ce8629e8e5570a3a95835dc4494d734fb972d830d65f70aed146b3ae94427d9abfacf0c5a16dd2cc13faccc8cede035147d08a1bb37f4f213f7987e4f6d7f278df2ecbde082177cb0d01312d72e8e498baef5c7c9b9e19882799f9a9d5007d4e107ac657b43e613ea58a7b1194642758b7b7097f9f968846e1351c1aba9c606b1c0baf2a77035ced80a44f54b38d92b7cf090dae3c671b17fc36aa98832d5ec1bf72de549e63cc18d3ea2ae9c6a23e00e3ef966edb5f1fb90d2064fdad05771d84ac77c1a70797f369abdb969f414b4f433d1eec826f3fa246543abd5166d834e4bb5d4012af4d8956b6b5abfd8e604f49300a9d5b9fcdcb946be6937521e06bc1158df567e56f81cc43b2633ed271deaad7146969166babd8a208382e8eb9ae08925fe0085ac4bdfd6277a189d39283c63c370f6236fd90fde168982fc6846e5788128819bbcfb899c2c77828e18bbee2c83a97a8f4e9eb4c7d1dae8cc05adc0722a7af1858fc5e02b64e94286e40e84bfe33aae1b894207ea6ed7c7af54c4274b8a5ebb27a0548b2ff902d5d008ffe7131941deda2eb34d615e5f150f9a5e537187703a99dce23a0e65ece781e188b0819bc343e7572f87c23b532e56de603b536046dfd97bfaa86b26b4f92f4fa060e58aedc8c8ac5629bc8cfb61c9768ad3de4edbece96c1b0e69adc089ca86e16dbfd73e3e160de797f69686e262667410ebe2381a8206c521edf2b8bd1e2b5cb5ac0918ddc935644026f12d8799655d1112188eb2a631549719c36af0b8135dfc487316545c64731ffe31bc524b4c2672ae6ce8f987bfa9000cd884f9a845d2da719902ba4dc15d09243131c1cb96a13b498b591ce1cf7c87ba473d4907d5616d1bd6a168b2965a759b0974ed9e7c88ff4d2fcdd54d45a9307de5bfcb18ef66f41db407d1beaf3acb7481450b17ee44028aab09119d4806cb8b604732341698fd0974b6ee815cd190f3367928bdb1041270ea8f55e5f6dcaeb681e6aff1a60fff313c4ceb570ce7feb0fcaf8078bcc4570fd3a06051499cda015c8736b128ea03df93a037f7fafafe8b568995b83b29a15981828e6b63b78d690ac62c63bce4fbdb0a420b3226f06332d364650973a204b56e7ef72414e8138ab932477193e80079079b500db35f757e7bdb6887cd0df239233a6d1e6835113d362731319694b7061d01dba4644b897b7e01f3dc19689fd5f6dd0c47821d87c3204857e66e71a8d3b77d29fa9cc9d4d9a6c870ca69822d7a6ed3caf4a509595b8bdd6d15c12cbdeab9a6f5002edd2039a331acb7db82247fc396bb053bb2fae47a18a80565132997f1418ef8edc43c3f21028d6fa3f1899591421aa8d67ad4e870299139372ccb1c197f2c5e4189bbd2aef68f6c087457a216f00b3f05794c74d7de2ef4be7275faf2439d36587d2c8f10bb036e3d46c0d151df14ec3c84fbe991ef4b190e1ea3baee8bd4fd676e8395a0bec967e99c02ac3f7d88093dbb048fe5edb2095e6ec8e7772536f1af38bdb388bd47fdd1f3217cb71ade23d23957c782b9a6ba4f0384733f6c816752220912bbf0394a0acac0a480c01845dc3f6fd44af5698485238342ab0f1252963f2c53c3f8a62c384ef99f9bd98b6d89cbbab47d02c2942bd0ae9b0d7fc0cc51c3e3b0c3c4103e24620fb7b89ef8ceadf861702348cb6f59111d330855074e4582621f587f7d2e82fca95b3ee61f99e8c03c3021f1c9382c46ec81b443e5c5b53d49dccba9eb4f6132d481b022c449bef16511f60b49e0275b583c018e4e45fae714f5ab52fe9e29bd6fe063a252af100387f1b1b846f4138773b6d44443f8aba9db6cc8e94771cedcc52fd833b3c4277293ba0d2fc910843cbbf5bdc17c353439bd72115f02a013df4bb50bb58f1c22417fc24d39a0fbf98dff3ce61e4300ec914550307ce5727b64da73e2731cbb60d429ebe575f5b22b961509bd6b1e0928f8c2068b2f471514f135bd5c63c66e8938052795972b3d05193f732f7430e19d48567b86c9753bbfa956b414cdc8973fb4b5c949b397620b9195e2f2fd374a8fcbf68ffefc7674e6f52ffe1b49c3628fcbd9444c0e5467c1f341c6f45c92c2295055b2c2de1af766fc8d344d4162c30f5332cd3d94db6805a599a3e3242c4754dbdfeeba20c599f86db9dee1f02240412f500769747a580c63354afe96476a61619adfab33356ec1f836004a269389e370f2df75310699af5bc2ba4ee35616b303fae0a103c9ad9b39674cf882761d5d6dbc604fceefb314fc9f060a108c5d05731a78116a9133df09dd7a435fa47012e42ec70dce3ad471b3c5870fceaffa701683035ea684ee018b7bfe75285a443a96498b9392974a60ef991086c04c191e66ef093ef95aa2383b2ad471d3702d60786d6dbde58efca77e6759a51584e59bd8c2345d3a95d384de1c679ffe19e35d93bc7e04020405024db8733e3a556856ef4f8b11d2d029c3e289634417625c455e04c0055ebf6b83b200cb538986b32d23ed83e6ec99cd19bfaa5d31bbc2e32389589015622584059b67cd89857a9dccd97ba0860fb40cfde94f263a89979abdf70f2f899c8b1a20dad1701b9b8c665f14a8754b7904ff2bb3d057d62b3056192d369dbc03bca0fc5544b457663c0cc483d7992e8b19100733d9536b38a60cdf06c3ba8940feb8976923b19b788b43b93b1a2ab4bba1e0b590de87be134320e525e2fbf31929b62bed0c50c74b28e08d3a1b1c3052c0d3efbe0b6885f152d55d93171cbdfca5fae1fd05c8b1d785aaf1a38bc668e305e2ceacfc48470e5dc43fa51d514b968e0c55ea1229a198ce859a78b8a76de69c3f703b99535530d3eb2d75116e011aff6452fafe273116651ce3f2f4351278895eec6f99f3ddc503ccb409386b2fa3319f44ec3858633bb80f6146d9aef670e738b7762dcc57efa4bbebf07371c17aead1569c163be561b195e4f8928fdd8278b80a4e43af630d8b8da183798d5c671656021a0efd0e879506ba74454a0b26a382575130cb98c0913122180b738ed5c71702e27ca5ee6f2fd40d759b9ccce568de024b58adbdde7cd9b2815709636f1b5bfe2d95dfc331302b043cd4dde40517068550397a0feb41cb10a92b527f79f7f70fa6161303ffd2bad62824150e5ecb3f31c3768748c2abf80cebbf5a9d2c59e3e82dc310702d16ef2437645544092fece9665f1414dbc0e8734e66e2b3566775fc0de714494f96ef814e1412a2672de80819b5bec2d2190176edae3fd98d1c05d9223e392df91f90ccc191f9a9d08a7df2fb7d742ea48617647ec0ad082e993e5d0ce15884aa1c260db220702b322efcc1b7469b1d2261172d18bb5d768c65e89b1fcea1f870b103f89f6f8d2a03435c0ae34e0b935d0efe386e623341f257aaf7852a98ef9d683b247dda23934a83811fb0bfaf1510741535ce06662b4766919e3f225a05b633d053b406cc436c73a9968938a614cfbacdd2292d6199080b9502ed83d4549fc8f39f438d652d54ec69feed91ea99a81538e48a1b91625944565225d6e84ec16f88a552fa4156b0dec679a245c55383ecb967afb8ebb029457bf9daa55c150631ed245b80e90d0173fbcc7f7c0cb6cbb9fe8c772503b6477aba225f0699c13a6a1d663f36a11c7fa82bfcfc088f077c6e72dfda50f96abe6d56fd6991f8aebfe74779aee6a40550d02cb016371a21da478b148d283079127c7b130504aac47fe2d3acd3ee29f700aad7c1179c3831120663623b17c7b83b238c279f9b6cd1d340ffa43a3a5c466622bdf6986ffb8d5d3896d9b31eb2cbb62a168a6d25cd1bc490b524b495e0da9868620999b0d501f4a8f69a2cc4a3d6b0bcf15c40f51d3a46297bdac593c9fc60a9ba2a4e8350afdd7586ab7e23ee807b15bb26138b58a0f60af793c760619a447cc235e9c105ee29169f294cab626cf1dba48d8cfada4f3aa3f46a81165fe25ea17137fbc30a94fe9bc606dfc22c500bc64faf3556c6fc2c066eeda44ee1c00ae4a97caefda3e7186de11db7d2c29e05fb2b9d798547d7d7eba889c9106b36290f99f09d282c986ba373ccbe8be3273152378d01495fca3ac9884369bd29d3e5b938f9bf9c623cf3677b7867097a6fedf96577f3fe002bf6be79d3a79a4a70b9cc5b245593d30d6c10afdd5c5458804bce71cc5f26d05dfeefd52e19fb590ce26cb0e019d939dd7a98a3de9d5f90d27c28bc01d3dad9912493b80ef50bd9c968cdc9f889dbee9202e34e5adf93ce2975d0003b1af58c7aa9ef0a88cf42b31098ef6cef6cd0d60c4c3f9d54b18cdb9a6879f23c8bcc8ec1cf94ed5833edd02a2c65c0d43d51e241153c554988681a318c11f33d31a493070a277bd5944f9867b45f0f1561218c691d50c720808f1d9d3efd10764f659a5885e40dabba1ea0cac46c96e68c2ffaf68a288f73e8bc6ee48268f6b2b7f6825f398f9c426f73e095fd07813bc2fd3e520c7a183b94562d6d9b943523cdd695f47aab5361eb8e388c3d5b42d694729dd92f0b941e136b8b0aaf5c4d7eb82f304349b0d4364571d41a3657720ca9c77a93c564373913bfb5634c40b2cfd7ed8e8afa236b44655caedbe31cd1a2ba856ad37457d7143c6adc67838a43c72f6e26f8ec1be54816fcb49269f6e1a6e2da362443a27d79bdcf900349150206b8559776cbd121f7b23076a126ef672fd8acd0b7aa1d6f395e85355c1dae7f3dd22274e59b9d92f1f0c6ddc740d163b1f2af739e59f35b8b273247eefac6e86dc417f27acc7f6554eb9b579c8ff98c5dacb98dee520049a996d3f145b05012e73193798e6563f76b0492ddb86222400a645247f1bb72013170d6fe87f858f987b9dae1daf379ab0a648b73338b20960b8b72fbf0c86508dc05cdcfe6e8482c4419398545166a3b0adcce1c7e2522f6b907074111e88fe5c5e3cf3e19211fe0125fcb4c3ae75ea58175e34653984116aad2f02180c2a60a68bb2c200a9fccf15f9270c63ff8e1ff42f93d22481a26decf22a0e9ffe488c395b82d4bb1b5ab77e729c5571ae89be2b5a34bb96db4ed3a56c7f9941eaed3f04243edbbff80b6ae77eed5d401a43d6c0242599755e514d58184793c233d9d0dbcc6fb3b724594059d0f56871ba8a1198c215d65b1c9230bbb04285504ee06a15029fce4c1b7ad8281fc584f65324be821dccdc5db87d6488db027ee7c12b96098b8195b5ff80a931b524cd0154f55ea18f1fb1fcd80b8e2b40c05ab44f9f66768758d6f9fca10b136c642f57f72f9dda92e6f452b2dc4c28b08076a4e043ad6f418e0a7874bc6093d4775d192a73a940b0da4397ca2c1a2bc6795311569c30eb3336e7eb0460007f767237ff694bb93febf5f008fb2fbd7d9d8b101518d4fbcd4bb9009fdc1cf2a9d71b75ba4977a22b71ee0063bfb9316dceb0a534f3b28cc564e77d60be50d8439932cb2aec21ec26f14d684003cc38f15be2e25a9c068803a0f12377c1ec6569c79081540fafc56d069131b6c967c68b18e434a4e96e2aa441339fd8b081510b8b1d39b14bd5fa85dad1e6a5315e28c53bd70de658e81ec6c10d4531e66579e91fb6f9a601fd2382b6ae30d0d55e13cca53e0a96cfc47b5c90a2890b3d791b0a191c2dec8628e1420535e5c3a1fdabc48eaa865d868d09a1105ccf811db89742de5255bb3bf7ad23cbe163feaa8cfcb399054fe42400e248e91d2700e6ce0c90523e3991fcffa152ba4e917da7a514e30861482dfee399c3b88764f3517ec1157544d2286a12749dce97d535cfad49dbff341e52898e07cbc50c95a15805d925cb8b30bb549f8306e3d41298ea7aea18f75beb746eb3debb6cbe91e51ce1897ad48942d10403531eb34b6f29590880f1c78a1b87d4e67f712da30ae383c8d57be8e78776159666ed9c52209d1e11d25351b81303733e7d318466aa3d3065aea8aa9af3fc204b14ffb06f9745c35a337d9fca948a2a49676e7812f3ecb59ca5e1673fbb51e5452864566a4e902368d82ff345921feb75c02becb5e413bbcd7b2fc574cb94d3b3c35299c578defdfb7e8aa56b3395a7c5c3c49e9d15ba1cb4c3c51d2c1b0aeb29a192ac99ceef7a76befd4ef11e80051e00772f31db6980f5e29549b42c407cc766e0ba9e446010f25485422d907757a75df827da8569cbf0689d45d41ec8cbcde066c2cc7338db69e58775838fbe125ff07ccbe838c37a84a0a972a836337d9f851d90ee62c754485b340dda39f5132fdb123ff48a3dfd5bf8b04d38f8d9c3ec44dadee6009805adac080e35d52003820f45755f364bf0913a2246eeb877dd86fc328ce1a8cf11513c40134818df7dabb434a4405fced105edf7254a7ebb3afa2291687035361cad0b331ebeec795d175733ef3d66a7ebac560016cf17a6e74e7d445866e26cf7247b483920142698287133d77700e97239dcdcea60fcec7f03b9fbd9807b321d3ff22b9b9eaafe8a3aebdf6918123c69d6e09bb076d8b28a6a1727ffcca1e90e809db21105c81b9440c955e2090cc933fc3846da4aec269e80e1f83bce343c2d900b11637f04f58ea50c1ebc389469cfc29e0fc01ffa20ec3536feedc116af5faac2d051af3d70825339c854515616c2c62deb87823cac31a151f3abb7b815a0edb48ddc3d647fef4feb3a97c8b2ea9a3e49c640538c4e5678fe4c7196662c3f6e0fd3b8626ec7295d9ba2533b5f979e2a98893adf385768abd35b23a5af9ebb31fc74d6089a0bc9252c4fbb7b48702351b18c1dbfbebd664eb5d111d3ba30e6bfbbc7cc72c7ed2f72a9a0cde43e4888e6ea939006e02d725cc4f06615021b355cbe6e77368440ce92addbeaa4608c81b2e6d9720d7dd7679a5a723ff432f40abfba1965a4b9fd22c6318fefc412577313a73efa4f7d2754f1e93b28d511315621408a02453262e6317f7c8258b5ad50a37e475ae50f66d4f01d783203b5c63354879815716ad32ddf6ce01e7cd824a3e95da4eee9895f1d2e5d5b646d63d5fb93499242537a42d494c0a01d39ee1d9a7458ff512efd3eda109b248941e3ef44c2600b954abb1956d46a252676b0d0c6877a538aa26728067ff99899402d68e257b5fce273108b275614d8a7f874cfedb954f0a77059b1da9f078b29b121798bb6d92db9d5ae7a0dcb4b3e20aec12e7ed2fd9f31f24e96f59ca7a5971b7398606c13d7bf7b65a06ba4529f8427960fa61b1abc3820e1e5a71beba4ae46c203121a95588104b2ee91c82ce578e40f2604c8cd1b153ecbbda3de40d26197053c7fd8f13192b9250d9e5ffdc018bb0e877e86098b8d4dede7e4c22cfb66c84a64f3a0f58e224d4e9e502af9a751304c5e0a6da538c186b10757c25f894916f5f9ed20c37c4e3eae2486ce913ece899faf0d0d2675639446eb24f5b413f46e3a2c880540bd77149d7d67b3c2a5a5a8df1b27cbf67e256cc673851aff3033e0fc8adbdadf67867d63adbf50bc9e8d11a4fc770d67b31233af37dae0e6ce7a60368b9bbe90c319c93a3b88abe785234419c3a1927569a0fe4ac8dcc5e144694d9d11852e354087e2212f872f9282e9682a533c3718afbd0a91eed851bfd7b73a7730353c88d228b6ce0a9239cb8ccc960a13fb501543fc43f639f59478143c08dac8eb5f6129f04bb617ab260c58a38b094635bfc6b854ba6ad7ff3276bcc96caac396c3860a3c568593e690d58c491d1d054bb170336c3c0e4e6389dd7b0d1c17e61b390df80ad4374647a935ac606b4ce7437896edb75875b1356b73683620f758ea100844a0e040f66e7476acf4b800455b597d9b70371f767d779bd5a21edaeb5248ff0a7e700227071491c44ba1477b512ddff3646ec14b5d1fefd394137174930adfc89129ab382cb36ae9931c506019c206c79cfd0ff760b0f599b1c9f81a7bf8df612242aa116e80fbeed88077ece41687753bd45da7728c375cf940b88c06456b0ca15ad69b146ac8a999ce158733485b533637c0e0150589056046f897ebd3545cd4a5dbba775481e6d209784a3dceeaa42e55876e0d396d9f7fbda01aa83ee510bebf75879578ddb4dc851dafb1adf4f75a73e7018ff970565ac87baa8fa682b5ed5be72ff2996586cc09fbfe5bda7e096e71c88cf11fce5c5d533f3d4f0b1d093e644054803b2a757ba7e383385e75ef3983fb6444e0081c841a426bb7810204c76162208213b18b6a21338544913aa2a4003e6e03c85fb530f6341461745e644d98b6e1c823b57f4d143dc4b385e4a220c67012f7fe30ad2314f0dd12f8b2b03939888b605f8a1fc91158d8482966a5f422915b8a6e193b0154666b14f69061e3d30a9a3b6e7c607d138a0ab86a8ac6d49aa9062f70c3101e8a9cad0c6562bcf76aa2842bc09541a91a9ac15487fb5e40063ceb27291937e2b977becc8daf7737689eb8273dcdc1ae1e3ed71cf6cbd1e3d60573db7e733486916cc81b8c701da0ca2ab28904532d94a1eba669b334038a29fd0993bab1f183c1c5f1a64a7229a4bdc6047f717bdb035109e3bb37ba525aa1fa46ba31bdf729746f17a696ba72010d8a6039e584b05b52d81140cbf2354bb00ae1fd2206e4fcb4ec39a87c14d3a947728a0487fc97836397aea9ccd295ea1db1c9f0c428438f7d7e12b4cf08872733f7cf2a0285ea560977897167c86b9980f0afa28fe515b3876f6ff0a56d57fdbc94cbd22650351f29414d9fe7238eb24397f646fbaf400319be5a2b5e10cfcb3c54b6f3de8ee1ca061ebbaa794c7a51464449f5363405009cf73e1f986f29aa31747d2da0ad6ffd13ae2c1d17c0b2443b388a1bae56961bcc0db7fcdc4344031c87fa37afec5cc49a444e5acb02c006b34f4db6c97698b8a3e1018b7cebe0a638a2bca6b792c43a80e36b3b0922f21136bd92e6831535048779f7eb303ae71b1e66ac657e7cf900265b14021802999c77fc62026b208bd166e543b879354d012c88c88a99eef74d2009a6c013423dda97d1f040aa40b3245f8e476f33e58e1c10b5133dd9caf67980f7b00f51547d124dd5398a74eccc06dbeaa431949e342575317bc529c978467ed1d4d0d860cfe79fff01fa885f2b3658bd43234326609a066ed9bc5ed1753cb51cd7164e7dd08af18d016573f476dff19d0d394b7783356ff9e587cbdf54a93b6e892acdbad7e4c1b2fd9c621368232df3b235fb835e491f7a67618854c7794abeaa6effdedd7abc44d0be87482df30aef60f478822c6394af515e122d151dae2aaa0b5f856242516ec339f1c0159554c38493fd39211ed66c8009fcfc97bdcfd780c83554b1aabe1cdfc4f86b3cc925a68804b5eb1997bbb1518f5eca59e2e0360d0ebc14e18ca656fba54eb022c583dcf80a79903abd3fe1dfa089a31de3919d4b4235647852adba8977860fdcedeb747e50318687779829c1f5ee6ab8f99cd3d0d4452a6354690c58cb4a4c63b64f9b8d3c51075fa94eb7fe8511175bdb7281c3d04f6a0a94c8d7bab1da6bf288cf51b7b73ea03aec0bae9016b2771234de62e718103ca050303c2139326d6b9ff6a59eae115401a3ddfcde00e284fb512d2ba3e43527ba0354406c1a3939c482e2923b0816d6f96e53528d2d837dad9cd2480cc64f34d81f7a35ecc1122f277451b56f5e1d7fcf1aa0982d3da0ce23a8af6c1a14115a2efd4ba54c2d7bceddd891963041582d159104d919460c0fdb5a5d532d64b6e8bb73e9c9f3d95d8366c177e5b8851e854003c8b1decedbdce1be85f07f4c07ac84c84cb4563d08bfbb2db3be48016e2b0bbfb82733ee1e3dccfd5ac3e58ab36b474f0484d50cc6b7edac764539cc0e35a2f0f0df388be4849d912e1b89e2e4035075e6c588c340b1ccc2749cbe375c198c37756d523b72b4fcd20cffdda7f0fa878c51d5420a5fe5b42e8fbc9796c27b09a455e49e50a7cc7734a184a2fdd263cc723bbd4e5b6c14aa3341183d7d66cea925eb5b213e43723f4a15cbe1e8ffbae729854fd86dec858bcef2c8254a641afa5034d2e8f7c79fa7a3aa9ef96dbf2b79762d7348f8c13ff927483c51e3023fc76dd4aebba1af6c13b0065a7f4790b59753c5c19b7a27e0cbd507c9f42c25330e98822dc8af645336870ef26c7aeaf84611f4926c57f94d49cd7172a011f1e5ea08694a160af31e686e09146217e5ff7e56df38fdc4a58bc4905ef1071eb6b6fe304536a91a4b6b3f2eb3f1e3433d2866de648abf6fb350afb45ff3bd3b5f9fc3ef33a0a500d19c00c849ef43480489e8e37b0e5940f7d52285e5a748273e9adcb5b6b06e528bcdf44352333fe7f99bfe9634601db4b4c11f43074af92c61a4117eeb1c5ab9ff6a6e6514b560b3e36ccb411d20b48988c71c113b7acde112a9b586b9bc0d1ab5379c16302c73f4ab164a440124fc2386b05601c548142df66c9e32b6a32462cb1e5836fc8ab61d7e66d2332c23501280ca4f6bbaf30735d61607d7b7bb3bfdb73cac85e11de96528eac1c89ed82d43a05dcd1e7e03b8287735c9a8f2404735c0d3972205d958b3205788aad470c845022fc4a8969b2536615e2e0d8833883f567f54721593a4061c2a23303a93ef01c164134f55d222d9a90fb43ef6587eb3a923e1b7e3ff2625d5f9c25c0a81c5d3cded7b73c4598eb264b3212ac086376b9d50f44a492cfc2e1428717a9a85668527a405f9ef429fa3e24575dc244075a3a4e89d05e17792de7d16d67b5ae613753091e7bc95f2df22e6e96bd02f0f95f3286f6ffa8738ef60ddb53a95fe9680471a674a50f58af4d59761bebc4f721a2327e48a4969a2364c4b90f9edd918434ce71ff2792969583e8e0b399f2877a6f8440134d0dffb2ced00c1bdb3c600183d3fa869655bd8e6f824656e500b509b3b9ff9f0f816f47b6c8d95b6a9f88ca0ae2393c41f7c46c5adaec017ba8ad85f57751cc3fad8ca277f45cbaf49f0a46dbddf6234444d6c1db50fa54128c12880aa4cb7451df17f3f973254aba527bd891472536727f867b8265e1d281ac136d4b5e8f00e66a6b49f2d50d458800e2f7a36cb8f3b598a550d9a0b294c51bcbefb79d49e2e3b20b9ed74138177129969d9058addc7205a73a0a9e54ad106b4bfa14cbb04921dd85e7aeada0d2a3ecdb0a16b4571ed7a3f69d8bb938444ea1f8aae1b92b7daba6081bbf75bcad784234844a51d7d785180aafc96432297a86e38c4cde82713f08a7e9a99f9d95559d806fed7c989b986ea8712c96e9ffd73184a3831b8f687c3e06b949f92ec519933f4291f15a810875f7849db1ade78189996580b765fb2d2f27a8f96cc61a02790686df184efee7719f9173c4710583689cccea0218459a8f70ec62e327e2d95775ce5f1db60e7f79b98c127773780990c6ed803b63aa3757d4bcf41d032e9073ca7c725555a85d9f9e4f73c5463d9873aa0e6db7e35fc2c998c5211ed133a23dd01dc6efb1467ba75241af9eb313632cc551ee27c545c942156cf14ecc83424967b49d6e6011bd278cc39845cbbf8b83a39cff697f9b96f778fd7030319331f04f6ffc34fad9aa398c07f59365c6616a219b321ade70fbd674a2cc307ab5f6bf15b233a2a952ab3228495797e694f7ff2d9d31f33d3bb0c1796c8d5de790be1ece56f96a22d09c0041483ffd543401f4a144da17a83b1756d939deb912fa185e96848dac3068970714f905a770c59cefb1b07eefff103d0cb2d9ce725442ccb52d29d07ff69e004887ca664fbf6b4a87ad87f413e4b91df14e2e02a0f2624e2e840b24d070282a5eda102032775b71c5bad7d6aad368e338347955b562ef35ef89971ede83bb494cf4365c638a440ed983b7874f68d3692a58c096e68a1f3e446292887db0c0dda5a56ed0ae0331b11271b3a2c790808dc8c6a1e7826738032752ef0e0becbf0f1e288cb9fdcb18fffe129ee6ff2ebdc32e8cfee01f60c7d929d3fb6412e43a5afb62c39b728cd4566d6c9dba6146bdc2ae0680731d7eb52b6f00b90a5120a048e2814a2863153b57bfe31eef66cb7187f32ecfe01e0da7ebb76e2cfaba5eb921770e330d533672fc3738ba0f891be39d01587d75d9c313d7ff46f0d2a8ee143a15a32104d8b63e16c45f0bacdece991845efe1551560ac55d6a0fc05c8f58d94741a7aedc78451ed2a828b4f60b0e655760168a3815a673bb01db59b9f2cd62d312126e7c1f43ce3c682e7026f4a9f5529c29a709615ffba5ea1eabd259aebd77307629e064da7febdc5425d718edb7f608c0d9eeda87fc31da93c449e3120ed4fd296c18def15ea465e10a7d1711a81cf53f70c07527321253d3c4fdbecaa31f4a094940896fc56b3d164c28fc2ee325bc2c3a293d871b89fa68c388c06703b636fafffc0dc334886e8259c482a60bde6f7250d41d6a611a18902f6239f8541e4a7db77159214b932fa2b5efc627b691464c94b1ecf75fb0542be689b5ac63a69e118377a7678a0575ac9adfdc3e9cc4cb9528d97b0fa86f59c1a0ee7aa3fb86483be7370230b171ecb47fc6fa8f6413c7f99f06ad120acbc8a3cb6eeca58ea98a08d5fc3746bc260a7485e998ef037c213b93ff92f35c7bc41afbcf5d86f82384ceb4f386ec27913c5051c6d0ee55226b3d3fd10ee226bacd0e938502deacd2800c1943d64623c8afd004cdd08c5e8882994b5bc1bf2fc32922278566431b92d301274966c9dd4334b94d0bdd1072a0b62fad67c508f766ba11dfa16e5d034717f32bd86f1d87756b72b0099263c2378b8a5bce047ab49368df7ba1329b3c301c877eebbf21c81b76229ed8173ed1858ac4035fbba04f1b249b0dfe35817ae70b19a125482652de65d38c9db8035822abfa5604e490889afc14e5703005164b172cec264f386e559a582d1169e92c0b02d9736aa6ececbcd0398a95ff405412448b18a20aa7569283e12e3bdbb9d0bd12eeb3050ad693e503371039e161b07e69186894e0074d8a03fb73934818f53d06907ad4c073084c7892940a338a8cc0e6c8ed4bf6f232977adc925a5522b4c0a85b9c98ef30c294f396e653a55ee15b37a849351acfe2d7100976ddc8f1ad694ecde430a7d5c1e1f60a397b7a8f1b174394305fb13bd14437db3e57c0388113230fa342b29f3ef46851f7237fe2c239e2ce8713105026faa030b8c2ec733a4a7969233d49d5f26b9c18099236b0d194d976e0fd9e3469ed9f38d399a67dbe313fb0555c0e75d46a23ded9f83c5d9fe725e2fa0c28ec55f9bf22ea9cc114f8802a1fa59fa22f90a24f03cf952c16068bb9322511460389d39c7c0c9334245f0b00358747df6897010dbb68eac93720a01cbbc62128a2e38f3a9e6405ee356892a8dfae92a34371d4d97dca9a1f27b44fdaa50c9ea28f7ad3da972577d6cca2caf70c315787d55b85cac614b1976149bf2fd6c1a360ead3d24492e24f0963c4d4af7feb667463403e5673ca01a463e92bec8169fab2e5140b75afa225603ba46245ee7ba3da44a52e3517ec4258044e0f8646c8aadce11e7137872888d08aa94915888fefa57b3d71f08db373ab1265a32e676a3fef15d0c73d1889c4c20795592ecf3b17120847c014245ca722e62794541edced18ec9d94d146c13f48fc33f9a5151e79a11d5cdc8075c0664911e7822cbe50518b3e16ce2f64e03b5ff1e2afd13bce411ae7538b3a8c9eec864f9962da391b58fcb7a92f250a4b9891c01a988b5967a5d5a1517961394cdfcd7a1e03a4eb0b9cec7f291172d2f19b745a476f348b419cedd52155acb2303d06a79b77241bb9f0fd0ab09f428138cecbf088b47732dbdbb7bd6a441022caa12974ad9500757ca15a1f6322b8549b865fb10749eddb84372dee7c8ae302a6956bee47b7d5154b1a4831cef0bf0d3ca0a683ce30d17da1e1948a0e690892860f256673b09b1c955db7ba6f1687373b93f46e1dd28fd5df426e89ac5322724480a45475f5820fdb9cc6e18d44cfb37c3a5068ab6bb0b4674751d672ec41f091439b4afab8a69b0ddb5d10c14133db978897ffdf9873dad11112b95f0dd29d8ceb668a5f03ab01d841c1156816d292c0dd6161489816d85462d2eb7dcd9dd78d3ee0e86026bb5c86266a292f97cd7985f4c03bfc108386bb1f4d8f45ce44c8efb878ad64e33c6bfffaf7772d4be957a868271069905d585e0e45799484eaff00696040d67e9c7433aac58f0a40896cbe017e681c90d68dff0a60f2c9f9955d2bdcb7a98f0ece3699b1446bc4576402349cee3c096b68e8d4ccaba56fe90290d08c489c687bd135952631d17116d3dbeb92fefd5693d4df714f7ac2fb0497b1e5c84748d074974a6608172c61cb33a4c520d38d9d0697887fb5523853f39488ba33a9aa17a42a9300238fb792753529f49ec392c92a68a8d0f38c846e528a3eb7a1bc08d7787cac2ad1eb5ca13cc8011a2d52fb5144cb0e53eb55fc80c63bca21cae3e831773766392ac4dd4346b756f68f1f71ab342e77fdb0817799712f57fe2ef3165700e4c221f40c9e28da39b8b1d645408fad753a564777923b9dbddef0abb5a95cdc6274f3b6ec6aa8f58f5743a8936dddb90248c9139c0aaeb99422adf3772a82396d35779f1ba3d27c12d3a183cef26788b80bd91d72230c213658ba9262675dfda1d2495e9012de4024d093af10689aa614b15b12bf4459a533a51bc48e542c56ee0ae622e57723d5c2df5aa37f5c481e757935609d29650cb995d60ec17445e39f3d38c23e4320ffd1b82ef03ff3892ebaac1227236d248b34befffebf4179d3e9f4bbe2cd0e70787c5ff81c973e5e41331c4a4b6f7452d51e0ed704e9897e0f65743a3e095b6fd90f9dbe230081ba26ceb07542dcc5123859bfa20b45c727a627e92346dce00842f03969945b27100d30c42dbcfd664cc850673846c95a94f76a7dec3b3783a3c9a441b7156463115f7d82b9a2f206b1165f574127b495f1e5e0ecb0b0b12af9f67abf181ceb57d69e68ff5bfd7814664a2d9988272b84febdab06b141f68dff940636be6658069ac24eff8681ac7f239be870334aef3426dc7d4ac8ea2d86325cf7dfe02497c181b3e33ce356ac8a0ed4cdb6497866a20e2eb4001b1a30db6665e2f29c17925951250c4cc99c918022a742af295ba4f3888a89550729e147ac2c74bb96c3a1fe86898a0fd03257f70e7956e6a3d299bbe73cdf0afcd20bb71d335e2d886691fe9e272ec2e2694c4e961e8cad94b75a56ffcfbfa44b24ed950c55459c8a9ee726ad0b4aecb3e3a31615ecb50ee1f0b1ea50ed3d4dd584daab04e06d3b6ccfa6e60611687e8788e17ef04cc2614f0582bd3810bab2013ca856c20600e9974529eb2f64f083d6344d332bbc7ad595b26a5f159353823377aeac02cd53382d5911eb84090f3ce46110865927047941d2b8cdab7089af3a4e89b314e451ee099eb6e2d14813956c68f3946d453da5ec45dfd4bff25a91da34740ae75c776da73aac13bbe0dd207d3221c7e4c82b41c2405c1cb2219c9aaf1e391f87e7cc50ce3a4f67ffbfa8a30f39795ec7ce55f9764f6461e51e6d1110560facd81c8c7c04b5e97b6b65598bcf30fb73425ef669e60a9c3bc3e9fa9639a984aca8593b47c08485538c586d730842b4f0e945a73724e434344b769e02919aa5dd5299a4f692a19ef342b12240a419d527be9d46aa71ee2705498d66b07f64cd240fa6568d9397e5b95c69f200387967bffbf69e69299adaec6c9a702037c72e2cb8c9a54ada5a02c96943f64f0c08bbc2ff8584f7f9b3bbd8b4feb7163b873af66dc35feb6bcbb25e148e7ad2d4e9b13cbd682b7464cc94be6642a49080aa0b53db7b7a2964a412f2136af660e94903b49f0e5d0e297e9ff550488252bc91abe74fad55f644f8605fbb8eb1789f12a06c8827"; // 与 CHARS 对齐的坐标哈希,每条 8 个十六进制字符 var GA = "一万三上下不与专且世业东两严个中临为主么义之乐乙也习书买乳了予争事二于互五亚些交产人什介从他付代令以仪们件价任份仿企众优会传伤估但位低住体何余作你使例供依侧便促保信修借债值假偏做停健储像儿元充先光克免党入全公共关兴其具养内再写军农冲决况冷准减凝几出击函分切划列则创初判利别到制剂前力办功加务动助劳势包化北区医十升半华协单南卡卫印危即历压原去参又及双反发取受变叙口古句只可台史右叶号司各合同名后向否含吸告员周呼命和品响哪售商善器四回因团围固国图圆土在地场址均坏块坚型城域培基塞填境增士声处备复外多够大天太央失头女好如始委子孔字存学它安宋完定宜实审客室宫害家容密富察对导封射将小少尔就尺尿局层展属山岁工左差己已巴币市布师带常干平年并幼广床序库应底府度康延建开异引张弹强当录形影往征径很律得循微德心必志快念态思急性总息患情想意感慢成我或战户房所手才打托执扩批承技把投抗折护报抽担拉择括持指按损换据排接控推措描提播操支收改放政故效敏救教散数整文斗料断斯新方施旅旋族无日早时明易映是显普景曲更最月有服期未本术机杂权杆李材束条来板极构析果某染查标校样核根格案档检楷概模次款止正此步死段母每毒比毛民气氧氨水求汽没油治法波注泽活流测济浓海消润液深混清温游湿源溶滑满激火灭灯炎点热然照燃爱片牙物特状独率王环现班球理生用由甲申电男画界留略疗疫疾病症痛瘤癌白的皮益监盘目直相盾看真眼着矛知短石码研破础硬确碱磁示社神票离种科积称移程税稳究空突立站章端符第等筑答策签简算管米类粒精糖系素索紧红纤约级纪纳线组细织终经结给络绝统继续维综编缩缺网置美群老考者而职联肌肝肠股肢育肺肾肿胃胆胎胞胸能脂脉脏脑脱腔腹腺膜自至致航般船良色艺节花若英范药获菌营落虑虫蛋融血行衡补表被裂装西要见观规视觉角解触言警计认让训议记许论设证评识诊词试话该语误说请读课调象负财责账货质购费资走起超越足距路践身车转轮软轴轻载较辑输边达过运近还这进远违连述退送适选透通速造道避那部都配酒酶酸采释里重量金针钟铁银链销错键镜长门闭问间队防阳阴阶阻附际降限院除险随隔障难雅集零需青静非面革音页项顺须预领频题额风食饮首马验骨高黄黑"; // 几何兜底覆盖的字符 var GF = "ea991da476a112051bda22f5fc7cc63e04356a710e25bc613aa8f0e91b3e7a81be10069459328bf20331549a041729dfdbec26cb72b5b1656e07bbd716b3ae2f98d57ccb830fd69b124446ecac5dc65538b3f54f7162202fe91e21106ae7911b282d00b9670d8c257409465696f7c44971b9d379b41c0cf70c60ab078b44d372c315933bebc7ddb87ff85bbc84104183b9651a9bc142d09f00d96f35908c4d2a9928ca8bcd2e511b0cfedc62fc4a36d8a19c53d90d6b391d2eedeb79fcf345f3625f386244c89321ae9e8c9e7ba72ab006a8684d20d95aa43e3b2f21f64e91a5af990b24405ae3890dd091a1e36e6ebad36ec161d7e51ad8a20e19134497a8b3ee88199ef8eea47ba9ea821fec190ec754e8a312d795ff3eac14e5e142c22a24bcfe46e0c0d43492f4de19a25616ac6bba2db8c929a0bf378361a364a12c73a5fa286e467c74c5683f9f38a8c875075a7e6a84237e5d87d40c416302b96d6beeed25f5aac98868eaf88b187aca6a4a7cb48dfba372ba37e2e3440e111371fdbfb781f3a053f5b4322e50482bc3584f9792c77582b6f6ce3033c984b653fe0354a313842bdd223f9138e359bec410cf3877a040f6a2434e3472430987adf7a0a767c26e98936f8b68b5c4a99d5efd202f813b39ddfb68b5d46a1b5f15986d9de9928282c7d000695162db6ffd0b6d29315b711564165010d6b13be9b0c38c96881057f092816a9c00287239dee885039256759678fbab53955051a88c77f8fb549ed6a0ed4f904bdf612fdf895572611e36b4b205407a90f5496d57a927128a2fe5b5f3e98222eefb3c90c50357c9cc6bf38104019c9b7a8e09dbbc06ebc98f52566c0e3157099e20b36008221c32d1f3a2bc8607eab460a6aaea835c76738252821ce76ee7c11ec96b1e3636c84a2923d01d7d759465431956f7e7cb1e67047725b3f83b878666712857d86f31d38352385a38f9bf222dbf0c432b5553b2740a88b7c60df755e6a1b1e74726b2f6a92ea4ded51edd1ce7e39778bf4fa6af394ab9a0cdea7d2f7d323359ca881229df5a539dc67c2b738ddbb6fd69a9e78be9b5c208dc6dd4e4e9f0e7481ece6537d8da789a3c094070f452ed00ff9d0ff9673c167a89f3b739bc193733ba733899f132848d84d79500da6ee6d1384ef423f838c773ab49f23532d4fc570c2b7fd8620eab01b90b4aea2c5d09c3995b89cbe3286784f6c653fcdbfe6e8d1551445782e46201b64499936f7ed37eb257a76894049e3115455d303e748c453c5adef0dd9b4d710064f92a355f52cdc909d561252c7db4148e2a98880f7d1623e39070a20492e0a4a077fe6e6a1b5e35bbafad1b2f3549c1b911a7f82e96262b92dd6e6021e8f755d8688f71e7aa9340ef8fa5d4fd9f302f6eedde87cd36a1f77023d7cab278af60a111e15e330844cd068e695ce76b7b8fe637f0709d91deb49c84e5cbf55708105ed96bcbf973216f7f7d8769c6c9ff58ea950a78302c30bd5bce0d870fccd2fe86a4ff4df6610cd43686dc218bae0e23a92f7935d189e78808b2f1370f011101c04ef99c89ef836cc09e47a0c6c49875af1a278280a73965c8a062c4aed33091c78bc178ef921c3fb3734ff6c0d60cdb36abe1c400bc47a0f3e4860ac8eb1cf359857fa8acbae27ea90c7a625d087ad6f029ccc48f0a41ddb4f81575cd0da5ddd01285bd0510edf48e3ce670dd217154270e44f879ba11289fd74018bc2b1a945cfd4086f469ce2c923f6e1310d95b105b2d259a726316c30f579a2282dc43152f817c8b005673ca3766a1ebc74b9642e22bdc8f76626325b0038c22bbda83160b74303db2918e700b15a09adb5ba46a22e4c3abffe03a92e3245c005f750c35b10f316c7f912352851d0e5db45d9d15cf593b70407d44fea49fed10701b9a68a34fcc013ba90c1bbdb1b2da997d098107692b3b809a075828e22f5a831af0425b7f9d83817559c554b81ef9b48891648623ade983b9bca1c5b1ab2d40f355ec4ef12ca8163f8f948f155397d34d4de08a1221a81f1bba830f8f4a508446fb6554f1587f2893eac3aaf72e0e4981d6ccf522398642ded956e1b87ce6c6a93f67135b7057cda2ede66012f781a5c6c2f959c54b5e146a69f04e1e60302499b25ef22f79bd9ffa91fd30bd2a0c669f84a485c16995de318c1595a34d233e0f86312bfaec3e37b41d24e277916c27ea641fb33b2b35d15364592fcfd15f810ca10001efb18803ac28e44d8e6918f3b03a9b6c93ae36e4f878a75786cb63e57847ac27bf057ea5b191cebde8934929c8580cb6c713f93a04edd875a4ce126b309da4ef1b3f58150d77c9fb9edc24ef0c0dcb32133d9e20c157c0a21e6804b0d98140f7e64b38103357c85a82f30a51d29903ead8b25b779aa5a7acddd3bd910d00a336c6c4313b435d04363f67791cdd94b1c3bfb86466bfd9c02dec16ebdc95599ad75db5a49218937dedb0e9e40d8548c6b4bd3c6a4cee4de23bb3da8f6a894edd85b0473ee0a317033f8f3882f313ef79874a1685233b83fd829252ada8cc2bf9a9d9457a54e38517cdb2a3effd11a32f8c5c91a5abe5447402a397c30fa389bc8d844620e8aa39217d660762b0a752140b85da7c406a948cb23f393b2229762b2f4fad500e1d1c944fd2b320362e3974b379f680291d422c133b4d41cb4c99680cd7e4c636381f81cd423ab1974f14873d9a739be2cb8f029d14b3a9b41b9eb6e9272a6033f6fdd2e8181675bdca38105cb0123143abde7e06e6f69eb0df66f4879cc51cf6f8ed50f08c695755ef807426d17da79be865d18315ff059dc78483a0720cf967dcda166356bf131070f59adc2b046d8da404f43ece209b280cbd259f2f07cabb39fc06eb13b4092b85aaea70569c98167608574aeb1f98818d090273eb004258c41ac9820fda804456d0989b12484d3dba1820099c50c8ee6b12a940201be46f5398cfb246b779161fc51dee265f4e8cda8b5fd72a637f7e56ec9464ca4c61641a19fb30dfd15c9d4e8ae82cb4468227e941e54de9292e0fb95850ba67d21c806fe43daa66656852f2f8072677faa6da43f3627fe9e5425badcc435a708869741114e14533d0a5dfa3c6605dc8f26ba4e08776388456b2ea94eb6ab08378d90a87f2b0f35eab8f6145d4f163dada5e0920b650f0fa0ca8091843c750e091c07c902b5e0a275df0003979edd2453fe8aaa5f359bcf21c23c6449127208eed8c46e5e052eb6eb7461707f0fa4d8eba823c30496ec5863efd481860c9f3450bf4597e470712f973976048d7fc62d43bf7504ce139ed0fe68f513f49cb3fccc0a2ec31034f6a6dba99be1f3892290083e4235ccca89c1af717dd3be25c3545a2468eea88977e666b8a65a88c9cb7cb801be928ed9c154d2ef19b8406d1aaa6331e43a804a2e6af7d575383076485bcc2cd62a8899936158b66bee619ad57716e76ec44c2c20e506c31d8cf1a5f9e3b7b635882408634816fc725ccf3b6d74e3342c596c4dcd8306211d02b8134c17ce509c0056c283414623d5a0d9e5146ecc6021b910a9e46b8474fb8ccaa4f10d4042dcded4c3f86e981bedc98cb6dd0bcb8f29bcf0dbbcba953bec38bb653683d72c5e28bb825f61212b8ffef4f6b2287277da9b55f51db2b60d148312168e4265c7a9d7d0a06550ad0b43edb8d1eb6c12a81ecf91160a60fc753dc760d317c3be27065d494b15f38e3e336f7ba40892ad71291c1c819cb46a9b38f19d53adc9763b33be9b3629d2e540fd75fc7e4cebed71b850b6ab8ffc93a41969d29f3902f24224f9075b23ecb580883c052f6217bff83b22a93becf6eab9ae843c344c35ba01f5bbbfbea5773e17d20ddadd5e37329058ef7bda538d5181a9ea98e9d7cc5304ab2f3853d401a1537dfd7afc0b2e38ccc655d303ccdc440dd677b5095287b6623aad0d21f9b558e8289b1b416c12bbbc9ac60ed490447c864844cb284e6cc46bf3c72fdfc66a337f12492e726978ee336e116700d5980f4521da8b63a6212d3cab74110a25193233e2e5920b84f67068e163eec8086d4369649794b224c650b5565e70d7983eadf2c38443d83789bef1397259d1711839237afa7eca01db4e77201cf32e6085835058a94284113527c3af599e75239aeb31b2ee9c88709b2324bbd96bb6984528cda21250c3bb9af5c2e10a7f8387e18a629f8acc6b0d37cd27a7d62d4564f3f091e8913302f42829c16ad25334b3b36fff16bbe982ac3a480bea0c4daa945e46fce7a70b85f3e648bd2113022a85312d99d1e6f75fe6c292f72ede8dd690efbf2cded419266324344bab97094de3b447969ecb9963a509b47ddc7f2c079d3aa87f58824ad03bb36809190651886a59b7d2db49bd9bf5a577c520031ce2f55d6e3342a0efef38fe046194dadaa5664864d4bd61d221799a5e069a5906d454cd6566b0c348420f59520f34bcb21795c89110e597449b62109b4b744d14dfbf611c513e6a784d38264dd0a4a43f871e1486d77f3df60cde5ffdac05da40f252fd165da1ae92e7ce30a8d3096eeffdf5adeca46d86e098d51fae3948a173183c73e7b560d3ceec45b7d77ccfb21203056b5a42736e002ab447ff43d29f7f5912ea2003b1dad6c5d27ec4100801423bbf6501eb26b07197e24612faf659633ca0bbce16e1caf22a799c3b1c5338910ff192cf9283699ef0c3cd5f4429c709295cdafdbe54098af14d41ed4f21f7f4c2f07db4ae2e51c84343e9d604bcf231ed8b62bbac20c61bbae3aea1885d605ff90e37843043e16013af897a9cca3ac266d58dafbf1fae2a60b5621be5f6e735905e2d71f7a5f427e3479694c00704e9c3aabd3340c4339f1ba1154d78eb342e0a614adc08997b109447798a25e0715256de5119f26af9cd9bd7452e75e0e908446abb43719b1e9c8bf7bbbd2565a273acd18e0401ca51359557f72d0586ffe37b5767fb8ad45b8bf7b54"; // 与 GA 对齐的几何指纹 var LUT = new Map(); // 坐标哈希 -> 汉字 var GLUT = new Map(); // 几何指纹 -> 汉字 for (var i = 0; i < CHARS.length; i++) { var k = HC.substr(i * 8, 8); if (!LUT.has(k)) LUT.set(k, CHARS[i]); // 极少数异体字同形,保留先出现的 } for (var j = 0; j < GA.length; j++) GLUT.set(GF.substr(j * 8, 8), GA[j]); /* ---------- FNV-1a 32 位 ---------- */ function fnv(s) { var h = 0x811c9dc5; for (var i = 0; i < s.length; i++) { h ^= s.charCodeAt(i) & 0xff; h = (h + ((h << 1) + (h << 4) + (h << 7) + (h << 8) + (h << 24))) >>> 0; } return (h >>> 0).toString(16).padStart(8, '0'); } /* ---------- TTF 解析 ---------- */ function readTables(dv) { var n = dv.getUint16(4), t = {}; for (var i = 0; i < n; i++) { var o = 12 + i * 16; var tag = String.fromCharCode(dv.getUint8(o), dv.getUint8(o + 1), dv.getUint8(o + 2), dv.getUint8(o + 3)); t[tag] = { off: dv.getUint32(o + 8), len: dv.getUint32(o + 12) }; } return t; } // 只取最合适的一张子表:优先 (3,10)/format 12,其次 (3,1)/format 4 function readCmap(dv, t) { var c = t.cmap.off, n = dv.getUint16(c + 2), best = null, bestScore = -1; for (var i = 0; i < n; i++) { var r = c + 4 + i * 8; var pid = dv.getUint16(r), eid = dv.getUint16(r + 2), off = dv.getUint32(r + 4); var fmt = dv.getUint16(c + off), score = -1; if (pid === 3 && eid === 10 && fmt === 12) score = 3; else if (pid === 3 && eid === 1 && fmt === 4) score = 2; else if (fmt === 12) score = 1; else if (fmt === 4) score = 0; if (score > bestScore) { bestScore = score; best = { sub: c + off, fmt: fmt }; } } var map = new Map(); if (!best) return map; if (best.fmt === 4) { var s = best.sub, segX2 = dv.getUint16(s + 6); var endO = s + 14, startO = endO + segX2 + 2, deltaO = startO + segX2, rangeO = deltaO + segX2; for (var k = 0; k < segX2 / 2; k++) { var end = dv.getUint16(endO + k * 2), start = dv.getUint16(startO + k * 2); var delta = dv.getInt16(deltaO + k * 2), ro = dv.getUint16(rangeO + k * 2); if (start === 0xffff) continue; for (var cp = start; cp <= end; cp++) { var g; if (ro === 0) g = (cp + delta) & 0xffff; else { var gi = rangeO + k * 2 + ro + (cp - start) * 2; if (gi + 1 >= dv.byteLength) continue; g = dv.getUint16(gi); if (g) g = (g + delta) & 0xffff; } if (g) map.set(cp, g); } } } else { var s2 = best.sub, ng = dv.getUint32(s2 + 12); for (var m = 0; m < ng; m++) { var go = s2 + 16 + m * 12; var a = dv.getUint32(go), z = dv.getUint32(go + 4), sg = dv.getUint32(go + 8); for (var p = a; p <= z; p++) map.set(p, sg + (p - a)); } } return map; } function readLoca(dv, t) { var fmtLong = dv.getInt16(t.head.off + 50); var numGlyphs = dv.getUint16(t.maxp.off + 4); var loca = new Array(numGlyphs + 1); for (var i = 0; i <= numGlyphs; i++) { loca[i] = fmtLong ? dv.getUint32(t.loca.off + i * 4) : dv.getUint16(t.loca.off + i * 2) * 2; } return { numGlyphs: numGlyphs, loca: loca }; } // 解析简单字形的轮廓。复合字形返回 null(思源黑体的汉字全是简单字形)。 function parseGlyph(dv, off, end) { if (off + 10 > end) return null; var nc = dv.getInt16(off); if (nc <= 0) return null; var bbox = [dv.getInt16(off + 2), dv.getInt16(off + 4), dv.getInt16(off + 6), dv.getInt16(off + 8)]; var p = off + 10, ends = []; for (var i = 0; i < nc; i++) { if (p + 2 > end) return null; ends.push(dv.getUint16(p)); p += 2; } var nPts = ends[nc - 1] + 1; if (p + 2 > end) return null; p += 2 + dv.getUint16(p); // 跳过 instructions var flags = []; while (flags.length < nPts) { if (p >= end) return null; var f = dv.getUint8(p++); flags.push(f); if (f & 8) { if (p >= end) return null; var rep = dv.getUint8(p++); while (rep-- > 0 && flags.length < nPts) flags.push(f); } } var xs = [], x = 0, ys = [], y = 0, fl; for (var a = 0; a < nPts; a++) { fl = flags[a]; if (fl & 2) { if (p >= end) return null; var dx = dv.getUint8(p++); x += (fl & 16) ? dx : -dx; } else if (!(fl & 16)) { if (p + 2 > end) return null; x += dv.getInt16(p); p += 2; } xs.push(x); } for (var b = 0; b < nPts; b++) { fl = flags[b]; if (fl & 4) { if (p >= end) return null; var dy = dv.getUint8(p++); y += (fl & 32) ? dy : -dy; } else if (!(fl & 32)) { if (p + 2 > end) return null; y += dv.getInt16(p); p += 2; } ys.push(y); } var pts = new Array(nPts); for (var c = 0; c < nPts; c++) pts[c] = xs[c] + ',' + ys[c] + ',' + (flags[c] & 1); return { nc: nc, ends: ends, bbox: bbox, pts: pts }; } // 坐标哈希:认的是轮廓本身,子集工具重新打包坐标也不影响 function coordKey(gl) { return fnv(gl.nc + '|' + gl.ends.join(',') + '|' + gl.pts.join(';')); } // 几何指纹:只认结构和包围盒,字体版本微调时的降级兜底 function geomKey(gl) { return fnv(gl.nc + '|' + gl.ends.join(',') + '|' + gl.bbox.join(',')); } /* ---------- 由字体文件重建本次映射 ---------- */ function buildMap(buf) { var dv = new DataView(buf), t = readTables(dv); if (!t.cmap || !t.glyf || !t.loca || !t.head || !t.maxp) throw new Error('字体缺少必需的表'); var cmap = readCmap(dv, t), L = readLoca(dv, t); var map = new Map(), exact = 0, geom = 0, fail = 0; cmap.forEach(function (gid, cp) { if (gid >= L.numGlyphs || L.loca[gid] === L.loca[gid + 1]) { fail++; return; } var gl = parseGlyph(dv, t.glyf.off + L.loca[gid], t.glyf.off + L.loca[gid + 1]); if (!gl) { fail++; return; } var real = LUT.get(coordKey(gl)); if (real) exact++; else { real = GLUT.get(geomKey(gl)); if (real) geom++; } if (real) map.set(String.fromCodePoint(cp), real); else fail++; }); map.stats = { exact: exact, geom: geom, fail: fail, total: cmap.size }; return map; } /* ---------- 字体发现与缓存 ---------- */ var cache = new Map(); // url -> { state, map } var lastUrl = null; function findFontUrl() { var styles = document.querySelectorAll('style'); for (var i = styles.length - 1; i >= 0; i--) { var txt = styles[i].textContent; if (!txt || txt.indexOf(FONT_FAMILY) === -1) continue; var m = FONT_URL_RE.exec(txt); if (m) return m[1]; } // 有些注入路径不经过