Îõ³h-&¬òkòbð—      !"#$%&' ( ) *+, - . / 0 12345 6789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë ÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊ Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û ÜÝÞßàáâãäåæçèéêëì í î ï ð ñ ò ó ô õ ö ÷ øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š › œ � ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨!©"ª"«"¬#­$®$¯$°$±$²$³$´%µ&¶&·&¸&¹&º&»&¼&½&¾&¿&À&Á&Â&Ã&Ä&Å&Æ&Ç&È&É&Ê&Ë&Ì&Í'Î'Ï'Ð'Ñ'Ò'Ó'Ô(Õ(Ö(×(Ø(Ù(Ú(Û(Ü(Ý(Þ(ß(à(á(â(ã(ä(å(æ(ç(è(é(ê(ë(ì(í(î(ï(ð(ñ)ò)ó)ô)õ)ö)÷)ø)ù)ú)û)ü)ý)þ)ÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—*˜*™*š*›*œ*�*ž*Ÿ* *¡*¢*£*¤*¥*¦*§+¨+©+ª+«+¬+­,®,¯,°-±-²-³-´-µ-¶-·-¸-¹-º-»-¼-½-¾-¿-À-Á-Â-Ã-Ä-Å-Æ-Ç-È-É-Ê-Ë-Ì-Í-Î-Ï-Ð-Ñ-Ò-Ó-Ô-Õ-Ö-×-Ø-Ù-Ú-Û-Ü-Ý-Þ-ß-à-á-â-ã-ä-å-æ-ç-è-é-ê-ë-ì-í-î-ï-ð-ñ-ò-ó-ô-õ-ö-÷-ø-ù-ú-û-ü-ý-þ-ÿ-€-�-‚-ƒ-„-…-†-‡-ˆ-‰-Š-‹-Œ-�-Ž-�-�-‘-’-“-”-•-–-—-˜-™-š-›-œ-�-ž-Ÿ- -¡-¢-£-¤-¥-¦-§-¨-©-ª-«-¬-­-®-¯-°-±-²-³-´-µ-¶-·-¸-¹-º-»-¼-½-¾-¿-À-Á Â.Ã.Ä.Å.Æ.Ç.È.É.Ê.Ë.Ì/Í/Î/Ï/Ð/Ñ/Ò/Ó/Ô/Õ/Ö/×/Ø/Ù/Ú/Û/Ü/Ý/Þ/ß0à0á0â0ã1ä1å1æ1ç1è1é1ê1ë1ì1í2î2ï2ð2ñ2ò2ó2ô2õ2ö2÷2ø2ù2ú2û2ü2ý2þ2ÿ2€2�2‚2ƒ2„2…2†2‡2ˆ2‰2Š2‹2Œ2�2Ž2�2�2‘2’2“2”2•2–2—2˜2™2š2›2œ2�3ž3Ÿ3 3¡3¢4£4¤4¥4¦4§4¨4©4ª4«4¬4­®¯°±² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü5ý5þ5ÿ5€5�5‚5ƒ5„5…5†5‡6ˆ6‰6Š6‹6Œ6�6Ž6�6�6‘6’6“6”6•6–6—6˜6™6š6›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼7½7¾7¿7À7Á7Â7Ã7Ä7Å7Æ7Ç7È7É7Ê7Ë7Ì7Í7Î7Ï7Ð7Ñ7Ò7Ó7Ô7Õ7Ö7×7Ø7Ù7Ú7Û7Ü7Ý7Þ8ß8à8á8â8ã8ä8å8æ8ç9è:é:ê:ë:ì:í:î:ï:ð:ñ:ò:ó:ô:õ:ö:÷:ø:ù:ú:û:ü:ý:þ:ÿ:€ :� :‚ :ƒ :„ :… :† :‡ :ˆ :‰ :Š :‹ :Œ :� :Ž :� :� :‘ :’ “ ” • – — ˜ ™ š › œ � ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ;± ;² ;³ ;´ ;µ ;¶ ;· ;¸ ;¹ ;º ;» ;¼ ;½ ;¾ ;¿ ;À ;Á ; ;à ;Ä ;Å ;Æ ;Ç ;È ;É ;Ê ;Ë ;Ì ;Í ;Î ;Ï ;Ð ;Ñ ;Ò ;Ó ;Ô ;Õ ;Ö ;× ;Ø ;Ù <Ú <Û <Ü <Ý =Þ =ß =à =á =â =ã =ä =å =æ =ç =è =é =ê =ë =ì =í =î =ï =ð =ñ =ò =ó =ô =õ =ö =÷ =ø =ù =ú >û >ü >ý >þ >ÿ >€ >� >‚ >ƒ >„ >… >† >‡ >ˆ >‰ >Š >‹ >Œ >� >Ž >� >� >‘ >’ >“ >” • – — ˜ ™ š › œ � ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á  à Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ € � ‚ ƒ „ … † ‡ ˆ ‰ .Š .‹ .Œ .� .Ž .� .� .‘ .’ .“ .” .• .– .— .˜ .™ .š .› .œ .� .ž .Ÿ .  .¡ .¢ .£ .¤ .¥ .¦ .§ .¨ .© .ª .« .¬ .­ .® .¯ ?° ?± ?² ?³ ?´ ?µ ?¶ ?· ?¸ ?¹ ?º ?» ?¼ ?½ ?¾ ?¿ ?À ?Á ? ?à ?Ä ?Å ?Æ ?Ç @È @É @Ê @Ë @Ì @Í @Î @Ï @Ð @Ñ @Ò @Ó @Ô @Õ @Ö @× @Ø @Ù @Ú @Û @Ü @Ý @Þ @ß @à @á @â @ã @ä @å @æ @ç @è @é @ê @ë @ì @í @î @ï @ð @ñ @ò @ó @ô @õ @ö A÷ Aø Aù Aú Aû Aü Aý Aþ Aÿ A€ A� A‚ Aƒ A„ A… A† A‡ Aˆ A‰ AŠ A‹ AŒ A� AŽ A� A� A‘ A’ A“ B” B• B– B— B˜ B™ Bš B› Bœ B� Bž BŸ B  B¡ B¢ B£ B¤ B¥ B¦ B§ B¨ B© Bª B« B¬ C­ C® C¯ C° C± C² C³ C´ Cµ C¶ C· C¸ C¹ Cº C» C¼ C½ D¾ D¿ DÀ DÁ D Dà DÄ EÅ EÆ EÇ EÈ EÉ EÊ EË EÌ EÍ EÎ EÏ EÐ EÑ EÒ EÓ EÔ EÕ EÖ E× EØ EÙ EÚ EÛ EÜ EÝ EÞ Eß Eà Eá Eâ Eã Eä Eå Eæ Eç Eè Eé Eê Eë Eì Eí Eî Eï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ € � ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ � Ž � � ‘ ’ “ ” • – — ˜ ™ š › œ � ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ F­ F® F¯ F° F± F² F³ F´ Fµ F¶ F· F¸ F¹ Fº F» F¼ F½ F¾ F¿ FÀ FÁ F Fà FÄ FÅ FÆ FÇ FÈ FÉ FÊ FË FÌ GÍ GÎ GÏ GÐ GÑ GÒ GÓ GÔ GÕ GÖ G× GØ GÙ GÚ GÛ GÜ GÝ HÞ Hß Hà Há Hâ Hã Iä Iå Iæ Iç Iè Ié Iê Ië Iì Ií Iî Iï Ið Iñ Iò Ió Iô Iõ Iö I÷ Iø Iù Iú Iû Iü Iý Iþ Iÿ I€I�I‚IƒI„I…I†I‡IˆI‰IŠI‹IŒI�IŽI�I�I‘I’I“I”I•I–I—I˜I™IšI›IœI�IžIŸI I¡I¢I£I¤I¥I¦I§I¨I©IªI«I¬I­I®I¯I°I±I²I³I´IµI¶I·I¸I¹IºI»I¼I½I¾I¿IÀIÁIÂIÃIÄIÅIÆIÇIÈIÉIÊIËIÌIÍIÎIÏIÐIÑIÒIÓIÔIÕIÖI×IØIÙIÚIÛIÜIÝIÞIßIàIáIâIãIäIåIæIçIèIéIêIëIìIíIîIïIðIñIòIóIôIõIöI÷IøIùIúIûIüIýIþIÿI€I�I‚IƒI„I…I†I‡IˆI‰IŠI‹IŒI�IŽI�I�I‘I’I“I”I•I–I—I˜I™IšI›IœI�IžIŸI I¡I¢I£I¤I¥J¦J§J¨J©JªJ«J¬J­J®J¯J°J±J²J³J´JµJ¶J·J¸J¹JºJ»J¼K½K¾K¿KÀKÁKÂKÃKÄKÅKÆKÇKÈKÉKÊKËKÌKÍKÎKÏKÐKÑKÒKÓKÔKÕKÖK×KØKÙKÚKÛKÜKÝKÞKßKàKáKâKãKäKåKæKçKèLéLêLëLìLíLîLïLðLñLòLóLôLõLöL÷LøLùLúLûLüLýLþLÿL€M�M‚MƒM„M…M†M‡MˆM‰MŠM‹MŒM�MŽM�M�M‘M’M“M”M•M–M—M˜M™MšM›MœM�MžMŸM M¡M¢M£M¤M¥M¦M§M¨M©MªM«M¬M­M®M¯M°M±M²M³M´MµM¶M·M¸M¹MºM»M¼M½M¾M¿MÀMÁMÂMÃMÄMÅMÆMÇMÈMÉMÊMËMÌMÍMÎMÏMÐMÑMÒMÓMÔMÕMÖM×MØMÙMÚMÛMÜMÝMÞMßMàMáMâMãMäMåMæMçMèMéMêMëMìMíMîMïMðMñMòMóMôMõMöM÷MøMùMúMûMüMýMþMÿM€M�M‚MƒM„M…M†M‡MˆM‰MŠM‹MŒM�MŽM�M�M‘M’M“M”M•M–M—M˜M™MšM›MœM�MžMŸM M¡M¢M£M¤M¥M¦M§M¨M©MªM«M¬M­M®M¯M°M±M²M³M´MµM¶M·M¸M¹MºM»N¼N½N¾N¿NÀNÁNÂNÃNÄNÅNÆNÇNÈNÉNÊNËNÌNÍNÎNÏNÐNÑNÒNÓNÔNÕNÖN×NØNÙNÚNÛNÜNÝNÞNßNàNáNâNãNäNåNæNçNèNéNêNëNìNíNîNïNðNñNòNóNôNõNöN÷NøNùNúNûNüNýNþNÿN€N�N‚NƒN„N…N†N‡NˆN‰NŠN‹NŒN�NŽN�N�N‘N’N“N”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëOìOíOîOïOðOñOòOóOôOõOöO÷OøOùOúOûPüPýPþPÿP€P�P‚PƒP„P…P†P‡PˆP‰PŠP‹PŒP�PŽP�P�P‘P’P“P”P•P–P—P˜Q™QšQ›QœQ�QžQŸQ Q¡Q¢Q£Q¤Q¥Q¦Q§Q¨Q©QªQ«Q¬Q­Q®Q¯Q°Q±Q²Q³Q´QµQ¶Q·Q¸Q¹QºQ»Q¼Q½Q¾Q¿QÀQÁQÂQÃQÄQÅQÆQÇQÈQÉQÊQËQÌQÍQÎQÏQÐQÑQÒQÓQÔQÕQÖQ×QØQÙQÚQÛQÜQÝQÞQßQàQáQâQãQäQåQæQçQèQéQêQëQìQíQîQïQðQñQòQóQôQõQöQ÷QøQùRúSûSüSýTþTÿT€T�T‚TƒT„T…T†T‡TˆT‰TŠT‹TŒT�TŽT�T�T‘T’T“T”T•T–T—T˜T™TšT›TœT�TžTŸT T¡T¢T£T¤T¥T¦T§T¨T©TªT«T¬T­U®U¯U°U±U²U³U´UµU¶U·U¸U¹UºU»U¼U½U¾U¿UÀUÁUÂUÃUÄUÅUÆUÇUÈUÉUÊUËUÌUÍUÎUÏUÐUÑUÒUÓUÔUÕUÖU×UØVÙVÚVÛVÜVÝVÞVßVàVáVâVãVäVåVæVçVèVéVêVëVìVíVîVïVðVñVòVóVôVõVöV÷VøVùVúVûVüVýVþVÿV€V�V‚VƒV„V…V†V‡VˆV‰VŠW‹WŒW�WŽW�W�W‘W’W“W”W•W–W—W˜W™WšW›WœW�WžWŸW W¡W¢W£W¤W¥W¦W§W¨W©XªX«X¬X­X®X¯X°X±X²X³X´XµX¶X·X¸X¹XºX»X¼X½X¾X¿XÀXÁXÂXÃXÄXÅXÆXÇXÈXÉXÊXËXÌXÍXÎXÏXÐXÑXÒXÓXÔYÕYÖY×YØYÙYÚYÛYÜYÝYÞYßYàYáYâYãYäYåYæYçYèYéYêYëYìZíZîZïZðZñZòZóZôZõZöZ÷ZøZùZúZûZüZýZþZÿ[€[�[‚[ƒ[„[…[†[‡[ˆ[‰[Š[‹[Œ[�[Ž[�[�[‘[’[“[”[•[–[—[˜[™[š[›[œ[�\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ\€\�\‚\ƒ\„\…\†\‡\ˆ\‰\Š\‹\Œ\�\Ž\�\�\‘\’\“\”\•\–\—\˜\™\š\›\œ\�\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ\€\�\‚\ƒ\„\…\†\‡\ˆ\‰\Š\‹\Œ\�\Ž\�\�\‘\’\“\”\•\–\—\˜\™\š\›\œ\�\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ\€\�\‚\ƒ\„\…\†\‡\ˆ\‰\Š\‹\Œ\�\Ž\�\�\‘\’\“\”\•\–\—\˜\™\š\›\œ\�\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ\€\�\‚\ƒ\„\…\†\‡\ˆ\‰\Š\‹\Œ\�\Ž\�\�\‘\’\“\”\•\–\—\˜\™\š\›\œ\�\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú]Û]Ü]Ý]Þ]ß]à]á]â]ã]ä]å]æ]ç^è^é^ê^ë^ì^í^î^ï^ð^ñ_ò_ó_ô_õ_ö_÷_ø_ù_ú_û_ü_ý_þ_ÿ_€_�_‚_ƒ_„_…_†_‡_ˆ_‰_Š_‹_Œ_�_Ž_�_�_‘_’_“_”_•_–_—_˜_™_š_›_œ_�_ž_Ÿ_ _¡_¢_£_¤_¥_¦_§_¨_©_ª_«_¬_­_®_¯_°_±_²_³_´_µ_¶_·_¸_¹_º_»_¼_½_¾_¿_À_Á_Â_Ã_Ä_Å_Æ_Ç_È_É_Ê_Ë_Ì_Í_Î_Ï_Ð_Ñ_Ò_Ó_Ô_Õ_Ö_×_Ø_Ù_Ú_Û_Ü_Ý_Þ_ß_à_á_â_ã_ä_å_æ_ç_è_é_ê_ë_ì_í_î_ï_ð_ñ_ò_ó_ô_õ_ö_÷_ø_ù_ú_û_ü_ý_þ_ÿ_€_�_‚_ƒ_„_…_†_‡_ˆ_‰_Š_‹_Œ_�_Ž_�_�_‘_’_“_”_•_–_—_˜_™_š_›_œ_�_ž_Ÿ_ _¡_¢_£_¤_¥_¦_§_¨_©_ª_«_¬_­_®_¯_°_±_²_³_´_µ_¶_·_¸_¹_º_»_¼_½_¾_¿_À_Á_Â_Ã_Ä_Å_Æ_Ç_È_É_Ê_Ë_Ì_Í_Î_Ï_Ð_Ñ_Ò_Ó_Ô_Õ_Ö_×_Ø_Ù_Ú_Û_Ü_Ý_Þ_ß_à_á_â_ã_ä_å_æ_ç_è_é_ê_ë_ì_í_î_ï_ð_ñ_ò_ó_ô_õ_ö_÷_ø_ù_ú_û_ü_ý_þ_ÿ_€_�_‚_ƒ_„_…_†_‡_ˆ_‰_Š_‹_Œ_�_Ž_�_�_‘_’_“_”_•_–_—_˜_™_š_›_œ_�_ž_Ÿ_ _¡_¢_£_¤_¥_¦_§_¨_©_ª_«_¬_­_®_¯_°_±_²_³_´_µ_¶_·_¸_¹_º_»_¼_½_¾_¿_À_Á_Â_Ã_Ä_Å_Æ_Ç_È_É_Ê_Ë_Ì_Í_Î_Ï_Ð_Ñ_Ò_Ó_Ô_Õ_Ö_×_Ø_Ù_Ú_Û_Ü_Ý_Þ_ß_à_á_â_ã_ä_å_æ_ç_è_é_ê_ë_ì_í_î_ï_ð_ñ_ò_ó_ô_õ_ö_÷_ø_ù_ú_û_ü_ý_þ_ÿ_€_�_‚_ƒ_„_…_†_‡_ˆ_‰_Š_‹_Œ_�_Ž_�_�_‘_’_“_”_•_–_—_˜_™_š_›_œ_�_ž_Ÿ_ _¡_¢_£_¤_¥_¦_§_¨_©_ª_«_¬_­_®_¯_°_±_²_³_´_µ_¶_·_¸_¹_º_»_¼_½_¾_¿_À_Á_Â_Ã_Ä_Å_Æ_Ç_È_É_Ê_Ë_Ì_Í_Î_Ï_Ð_Ñ_Ò_Ó_Ô_Õ_Ö_×_Ø_Ù_Ú_Û_Ü_Ý_Þ_ß_à_á_â_ã_ä_å_æ_ç_è_é_ê_ë_ì_í_î_ï_ð_ñ_ò_ó_ô_õ_ö_÷_ø_ù_ú_û_ü_ý_þ_ÿ_€_�_‚_ƒ_„_…_†_‡_ˆ_‰_Š_‹_Œ_�_Ž_�_�_‘_’_“_”_•_–_—_˜_™_š_›_œ_�_ž_Ÿ_ _¡_¢_£_¤_¥_¦_§_¨_©_ª_«_¬_­_®_¯_°_±_²_³_´_µ_¶_·_¸_¹_º_»_¼_½_¾_¿_À_Á_Â_Ã_Ä_Å_Æ_Ç_È_É_Ê_Ë_Ì_Í_Î_Ï_Ð_Ñ_Ò_Ó_Ô_Õ_Ö_×_Ø_Ù_Ú_Û_Ü_Ý_Þ_ß_à_á_â_ã_ä_å_æ_ç_è_é_ê_ë_ì_í_î_ï_ð_ñ_ò_ó_ô_õ_ö_÷_ø_ù_ú_û_ü_ý_þ_ÿ_€ _� _‚ _ƒ _„ _… _† _‡ _ˆ _‰ _Š _‹ _Œ _� _Ž _� _� _‘ _’ _“ _” _• _– _— _˜ _™ _š _› _œ _� _ž _Ÿ _  _¡ _¢ _£ _¤ _¥ _¦ _§ _¨ _© _ª _« _¬ _­ _® _¯ _° _± _² _³ _´ _µ _¶ _· _¸ _¹ _º _» _¼ _½ _¾ _¿ _À _Á _ _à _Ä _Å _Æ _Ç _È _É _Ê _Ë _Ì _Í _Î _Ï _Ð _Ñ _Ò _Ó _Ô _Õ _Ö _× _Ø _Ù _Ú _Û _Ü _Ý _Þ _ß _à _á _â _ã _ä _å _æ _ç _è _é _ê _ë _ì _í _î _ï _ð _ñ _ò _ó _ô _õ _ö _÷ _ø _ù _ú _û _ü _ý _þ _ÿ _€!_�!_‚!_ƒ!_„!_…!_†!_‡!_ˆ!_‰!_Š!_‹!_Œ!_�!_Ž!_�!_�!_‘!_’!_“!_”!_•!_–!_—!_˜!_™!_š!_›!_œ!_�!_ž!_Ÿ!_ !_¡!_¢!_£!_¤!_¥!_¦!_§!_¨!_©!_ª!_«!_¬!_­!_®!_¯!_°!_±!_²!_³!_´!_µ!_¶!_·!_¸!_¹!_º!_»!_¼!_½!_¾!_¿!_À!_Á!_Â!_Ã!_Ä!_Å!_Æ!_Ç!_È!_É!_Ê!_Ë!_Ì!_Í!_Î!_Ï!_Ð!_Ñ!_Ò!_Ó!_Ô!_Õ!_Ö!_×!_Ø!_Ù!_Ú!_Û!_Ü!_Ý!_Þ!_ß!_à!_á!_â!_ã!_ä!_å!_æ!_ç!_è!_é!_ê!_ë!_ì!_í!_î!_ï!_ð!_ñ!_ò!_ó!_ô!_õ!_ö!_÷!_ø!_ù!_ú!_û!_ü!_ý!_þ!_ÿ!_€"_�"_‚"_ƒ"_„"_…"_†"_‡"_ˆ"_‰"_Š"_‹"_Œ"_�"_Ž"_�"_�"_‘"_’"_“"_”"_•"_–"_—"_˜"_™"_š"_›"_œ"_�"_ž"_Ÿ"_ "_¡"_¢"_£"_¤"_¥"_¦"_§"_¨"_©"_ª"_«"_¬"_­"_®"_¯"_°"_±"_²"_³"_´"_µ"_¶"_·"_¸"_¹"_º"_»"_¼"_½"_¾"_¿"_À"_Á"_Â"_Ã"_Ä"_Å"_Æ"_Ç"_È"_É"_Ê"_Ë"_Ì"_Í"_Î"_Ï"_Ð"_Ñ"_Ò"_Ó"_Ô"_Õ"_Ö"_×"_Ø"_Ù"_Ú"_Û"_Ü"_Ý"_Þ"_ß"_à"_á"_â"_ã"_ä"_å"_æ"_ç"_è"_é"_ê"_ë"_ì"_í"_î"_ï"_ð"_ñ"_ò"_ó"_ô"_õ"_ö"_÷"_ø"_ù"_ú"_û"_ü"_ý"_þ"_ÿ"_€#_�#_‚#_ƒ#_„#_…#_†#_‡#_ˆ#_‰#_Š#_‹#_Œ#_�#_Ž#_�#_�#_‘#_’#_“#_”#_•#_–#_—#_˜#_™#_š#_›#_œ#_�#_ž#_Ÿ#_ #_¡#_¢#_£#_¤#_¥#_¦#_§#_¨#_©#_ª#_«#_¬#_­#_®#_¯#_°#_±#_²#_³#_´#_µ#_¶#_·#_¸#_¹#_º#_»#_¼#_½#_¾#_¿#_À#_Á#_Â#_Ã#_Ä#_Å#_Æ#_Ç#_È#_É#_Ê#_Ë#_Ì#_Í#_Î#_Ï#_Ð#_Ñ#_Ò#_Ó#_Ô#_Õ#_Ö#_×#_Ø#_Ù#_Ú#_Û#_Ü#_Ý#_Þ#_ß#_à#_á#_â#_ã#_ä#_å#_æ#_ç#_è#_é#_ê#_ë#_ì#_í#_î#_ï#_ð#_ñ#_ò#_ó#_ô#_õ#_ö#_÷#_ø#_ù#_ú#_û#_ü#_ý#_þ#_ÿ#_€$_�$_‚$_ƒ$_„$_…$_†$_‡$_ˆ$_‰$_Š$_‹$_Œ$_�$_Ž$_�$_�$_‘$_’$_“$_”$_•$_–$_—$_˜$_™$_š$_›$_œ$_�$_ž$_Ÿ$_ $_¡$_¢$_£$_¤$_¥$_¦$_§$_¨$_©$_ª$_«$_¬$_­$_®$_¯$_°$_±$_²$_³$_´$_µ$_¶$_·$_¸$_¹$_º$_»$_¼$_½$_¾$_¿$_À$_Á$_Â$_Ã$_Ä$_Å$_Æ$_Ç$_È$_É$_Ê$_Ë$_Ì$_Í$_Î$_Ï$_Ð$_Ñ$_Ò$_Ó$_Ô$_Õ$_Ö$_×$_Ø$_Ù$_Ú$_Û$_Ü$_Ý$_Þ$_ß$_à$_á$_â$_ã$_ä$_å$_æ$_ç$_è$_é$_ê$_ë$_ì$_í$_î$_ï$_ð$_ñ$_ò$_ó$_ô$_õ$_ö$_÷$_ø$_ù$_ú$_û$_ü$_ý$_þ$_ÿ$`€%`�%`‚%`ƒ%`„%`…%`†%`‡%`ˆ%`‰%`Š%`‹%`Œ%`�%`Ž%`�%`�%`‘%`’%`“%`”%`•%`–%`—%`˜%a™%aš%a›%aœ%a�%až%aŸ%a %a¡%a¢%a£%a¤%a¥%a¦%a§%a¨%a©%aª%a«%a¬%a­%a®%a¯%a°%a±%a²%a³%a´%aµ%a¶%a·%a¸%a¹%aº%a»%a¼%a½%a¾%a¿%aÀ%aÁ%aÂ%aÃ%aÄ%aÅ%aÆ%aÇ%bÈ%bÉ%bÊ%bË%bÌ%bÍ%bÎ%bÏ%bÐ%bÑ%bÒ%bÓ%bÔ%bÕ%bÖ%b×%bØ%bÙ%bÚ%bÛ%cÜ%cÝ%cÞ%cß%cà%cá%câ%cã%cä%cå%cæ%cç%cè%cé%cê%cë%cì%cí%cî%cï%cð%cñ%cò%có%cô%cõ%cö%c÷%cø%cù%cú%cû%cü%cý%cþ%cÿ%c€&c�&c‚&cƒ&c„&c…&c†&c‡&cˆ&c‰&cŠ&c‹&cŒ&c�&cŽ&c�&c�&c‘&c’&c“&c”&c•&c–&c—&c˜&c™&cš&c›&cœ&c�&cž&cŸ&c &c¡&c¢&c£&c¤&c¥&c¦&c§&c¨&c©&cª&c«&c¬&c­&c®&c¯&c°&c±&c²&c³&c´&cµ&c¶&c·&c¸&c¹&cº&c»&c¼&c½&c¾&c¿&cÀ&cÁ&cÂ&cÃ&cÄ&cÅ&dÆ&dÇ&dÈ&dÉ&dÊ&dË&dÌ&dÍ&dÎ&dÏ&dÐ&dÑ&dÒ&dÓ&dÔ&dÕ&dÖ&d×&dØ&dÙ&dÚ&dÛ&dÜ&dÝ&dÞ&dß&dà&dá&dâ&dã&dä&då&dæ&dç&dè&dé&dê&dë&dì&dí&dî&dï&dð&dñ&dò&dó&dô&dõ&dö&d÷&dø&dù&dú&dû&dü&dý&dþ&dÿ&d€'d�'d‚'dƒ'd„'d…'d†'d‡'dˆ'd‰'dŠ'd‹'dŒ'd�'dŽ'd�'d�'d‘'d’'d“'d”'d•'d–'d—'d˜'d™'dš'd›'dœ'd�'dž'dŸ'd 'd¡'d¢'d£'d¤'d¥'d¦'d§'d¨'d©'dª'd«'d¬'d­'d®'d¯'d°'d±'d²'d³'d´'dµ'd¶'d·'d¸'d¹'dº'd»'d¼'d½'d¾'d¿'dÀ'dÁ'dÂ'dÃ'dÄ'dÅ'dÆ'dÇ'dÈ'dÉ'dÊ'dË'dÌ'dÍ'dÎ'dÏ'dÐ'dÑ'dÒ'dÓ'dÔ'dÕ'dÖ'd×'dØ'dÙ'dÚ'dÛ'dÜ'dÝ'dÞ'dß'dà'dá'dâ'dã'dä'då'dæ'dç'dè'dé'dê'dë'dì'dí'dî'dï'dð'dñ'dò'dó'dô'dõ'dö'd÷'dø'dù'dú'dû'dü'dý'dþ'dÿ'd€(d�(d‚(dƒ(d„(d…(d†(d‡(dˆ(d‰(dŠ(d‹(dŒ(d�(dŽ(d�(d�(d‘(d’(d“(d”(d•(d–(d—(d˜(d™(dš(d›(dœ(d�(dž(dŸ(d (d¡(d¢(d£(d¤(d¥(d¦(d§(d¨(d©(dª(d«(d¬(d­(d®(d¯(d°(d±(d²(d³(d´(dµ(d¶(d·(d¸(d¹(dº(d»(d¼(d½(d¾(d¿(dÀ(dÁ(dÂ(dÃ(dÄ(dÅ(dÆ(dÇ(dÈ(dÉ(dÊ(dË(dÌ(dÍ(dÎ(dÏ(dÐ(dÑ(dÒ(dÓ(dÔ(dÕ(dÖ(d×(dØ(dÙ(dÚ(dÛ(dÜ(dÝ(dÞ(dß(dà(dá(dâ(dã(dä(då(dæ(dç(dè(dé(dê(dë(dì(dí(dî(dï(dð(dñ(dò(dó(dô(dõ(dö(d÷(dø(dù(dú(dû(dü(dý(dþ(dÿ(d€)d�)d‚)dƒ)d„)d…)d†)d‡)dˆ)d‰)dŠ)d‹)dŒ)d�)dŽ)d�)d�)d‘)d’)d“)d”)d•)d–)d—)d˜)d™)dš)d›)dœ)d�)dž)dŸ)d )d¡)d¢)d£)d¤)d¥)d¦)d§)d¨)d©)dª)d«)d¬)d­)d®)d¯)d°)d±)d²)d³)d´)dµ)d¶)d·)d¸)d¹)dº)d»)d¼)d½)d¾)d¿)dÀ)dÁ)dÂ)dÃ)dÄ)dÅ)dÆ)dÇ)dÈ)dÉ)dÊ)dË)dÌ)dÍ)dÎ)dÏ)dÐ)dÑ)dÒ)dÓ)dÔ)dÕ)dÖ)d×)dØ)dÙ)dÚ)dÛ)dÜ)dÝ)dÞ)dß)dà)dá)dâ)dã)dä)då)dæ)dç)dè)dé)dê)dë)dì)dí)dî)dï)dð)dñ)dò)dó)dô)dõ)eö)e÷)eø)eù)eú)eû)eü)eý)eþ)eÿ)e€*e�*e‚*eƒ*e„*e…*e†*e‡*eˆ*e‰*eŠ*e‹*eŒ*e�*eŽ*e�*e�*e‘*e’*e“*e”*e•*e–*e—*e˜*e™*eš*e›*eœ*e�*ež*eŸ*e *e¡*e¢*e£*e¤*e¥*e¦*e§*e¨*e©*eª*e«*e¬*e­*e®*e¯*e°*e±*e²*e³*e´*eµ*e¶*e·*e¸*e¹*eº*e»*e¼*e½*e¾*e¿*eÀ*eÁ*eÂ*eÃ*eÄ*eÅ*fÆ*fÇ*fÈ*fÉ*fÊ*fË*fÌ*fÍ*fÎ*fÏ*fÐ*fÑ*fÒ*fÓ*fÔ*fÕ*fÖ*f×*fØ*gÙ*gÚ*gÛ*gÜ*gÝ*gÞ*gß*gà*gá*gâ*gã*gä*gå*gæ*gç*gè*gé*gê*gë*gì*gí*gî*gï*gð*gñ*gò*gó*gô*gõ*gö*g÷*gø*gù*gú*gû*gü*gý*gþ*gÿ*g€+g�+g‚+gƒ+g„+g…+g†+g‡+gˆ+g‰+gŠ+g‹+gŒ+g�+gŽ+g�+g�+g‘+g’+g“+g”+g•+g–+g—+h˜+h™+hš+h›+hœ+h�+hž+hŸ+h +h¡+h¢+h£+h¤+h¥+h¦+h§+h¨+h©+hª+h«+h¬+h­+h®+h¯+h°+h±+h²+h³+h´+hµ+h¶+h·+h¸+h¹+hº+h»+h¼+h½+h¾+h¿+hÀ+hÁ+hÂ+hÃ+hÄ+hÅ+hÆ+hÇ+hÈ+hÉ+hÊ+hË+hÌ+hÍ+hÎ+hÏ+hÐ+hÑ+hÒ+hÓ+hÔ+hÕ+hÖ+h×+hØ+hÙ+hÚ+hÛ+hÜ+hÝ+hÞ+hß+hà+há+hâ+hã+hä+hå+hæ+hç+hè+hé+hê+hë+hì+hí+hî+hï+hð+hñ+hò+hó+hô+hõ+hö+h÷+hø+hù+hú+hû+hü+hý+hþ+hÿ+h€,h�,h‚,hƒ,h„,h…,h†,h‡,hˆ,h‰,hŠ,h‹,hŒ,h�,hŽ,h�,h�,h‘,h’,h“,h”,h•,h–,h—,h˜,i™,iš,i›,iœ,i�,iž,iŸ,i ,i¡,i¢,i£,i¤,i¥,i¦,i§,i¨,i©,iª,i«,i¬,i­,i®,i¯,i°,i±,i²,i³,i´,iµ,i¶,i·,i¸,i¹,iº,i»,i¼,i½,i¾,i¿,iÀ,iÁ,iÂ,iÃ,iÄ,iÅ,iÆ,iÇ,iÈ,iÉ,iÊ,iË,jÌ,jÍ,jÎ,jÏ,jÐ,jÑ,jÒ,jÓ,jÔ,jÕ,jÖ,j×,jØ,jÙ,jÚ,kÛ,kÜ,kÝ,kÞ,kß,kà,ká,kâ,kã,kä,kå,kæ,kç,kè,ké,kê,kë,lì,lí,lî,lï,lð,lñ,lò,ló,lô,lõ,lö,l÷,lø,lù,lú,lû,lü,lý,lþ,lÿ,l€-l�-l‚-lƒ-l„-l…-l†-l‡-lˆ-l‰-lŠ-l‹-lŒ-l�-lŽ-l�-l�-l‘-l’-l“-l”-l•-l–-l—-l˜-l™-lš-l›-lœ-l�-lž-lŸ-l -l¡-l¢-l£-l¤-l¥-l¦-l§-l¨-l©-lª-l«-l¬-l­-l®-l¯-l°-l±-l²-l³-l´-lµ-l¶-l·-l¸-l¹-lº-l»-l¼-l½-l¾-l¿-lÀ-lÁ-lÂ-lÃ-lÄ-lÅ-lÆ-lÇ-lÈ-lÉ-lÊ-lË-lÌ-lÍ-lÎ-lÏ-lÐ-lÑ-lÒ-lÓ-lÔ-lÕ-lÖ-l×-lØ-lÙ-lÚ-lÛ-lÜ-lÝ-lÞ-lß-là-lá-lâ-lã-lä-lå-læ-lç-lè-lé-lê-lë-lì-lí-lî-lï-lð-lñ-lò-ló-lô-lõ-lö-l÷-lø-lù-lú-lû-mü-ný-nþ-oÿ-o€.o�.o‚.oƒ.o„.o….o†.o‡.oˆ.o‰.oŠ.o‹.oŒ.o�.oŽ.o�.o�.o‘.o’.o“.o”.o•.o–.o—.o˜.o™.oš.o›.oœ.o�.ož.oŸ.o .o¡.o¢.o£.o¤.o¥.o¦.o§.o¨.o©.oª.o«.o¬.o­.o®.o¯.o°.o±.o².o³.o´.oµ.o¶.o·.o¸.o¹.oº.o».o¼.o½.o¾.o¿.oÀ.oÁ.oÂ.oÃ.oÄ.oÅ.oÆ.oÇ.oÈ.oÉ.oÊ.oË.oÌ.oÍ.oÎ.oÏ.oÐ.oÑ.oÒ.oÓ.oÔ.oÕ.oÖ.o×.oØ.oÙ.oÚ.oÛ.oÜ.oÝ.oÞ.oß.oà.oá.oâ.oã.oä.oå.oæ.oç.oè.oé.oê.oë.oì.oí.oî.oï.oð.oñ.oò.oó.oô.oõ.oö.o÷.oø.où.oú.oû.oü.oý.pþ.pÿ.p€/p�/p‚/pƒ/p„/p…/p†/p‡/pˆ/p‰/pŠ/p‹/pŒ/p�/pŽ/p�/p�/p‘/p’/p“/q”/q•/q–/q—/q˜/q™/qš/q›/qœ/q�/qž/qŸ/q /q¡/q¢/q£/q¤/q¥/q¦/q§/q¨/q©/qª/q«/q¬/q­/q®/q¯/q°/q±/q²/q³/q´/qµ/q¶/q·/q¸/q¹/qº/q»/q¼/q½/q¾/q¿/qÀ/qÁ/qÂ/qÃ/qÄ/qÅ/qÆ/qÇ/qÈ/qÉ/qÊ/qË/qÌ/qÍ/qÎ/qÏ/qÐ/qÑ/qÒ/qÓ/qÔ/qÕ/qÖ/q×/qØ/qÙ/qÚ/qÛ/qÜ/qÝ/qÞ/rß/rà/rá/râ/rã/rä/rå/ræ/rç/rè/ré/rê/rë/rì/rí/rî/rï/rð/rñ/rò/ró/rô/rõ/rö/r÷/rø/rù/rú/rû/rü/rý/rþ/rÿ/r€0r�0r‚0rƒ0r„0r…0r†0r‡0rˆ0r‰0rŠ0r‹0rŒ0r�0rŽ0r�0r�0r‘0r’0r“0r”0r•0r–0r—0r˜0r™0rš0r›0rœ0r�0rž0rŸ0r 0r¡0r¢0r£0r¤0r¥0r¦0r§0r¨0r©0rª0r«0r¬0r­0r®0r¯0r°0r±0r²0r³0r´0rµ0r¶0r·0r¸0r¹0rº0r»0r¼0r½0r¾0r¿0rÀ0rÁ0rÂ0rÃ0rÄ0rÅ0rÆ0rÇ0rÈ0rÉ0rÊ0rË0rÌ0rÍ0rÎ0rÏ0rÐ0rÑ0rÒ0rÓ0rÔ0rÕ0rÖ0r×0rØ0rÙ0rÚ0rÛ0rÜ0rÝ0rÞ0rß0rà0rá0râ0rã0rä0rå0ræ0rç0rè0ré0rê0rë0rì0rí0rî0rï0rð0rñ0rò0ró0rô0rõ0rö0r÷0rø0rù0rú0rû0rü0rý0rþ0rÿ0r€1r�1r‚1rƒ1r„1r…1r†1r‡1rˆ1r‰1rŠ1r‹1rŒ1r�1rŽ1r�1r�1r‘1r’1r“1r”1r•1r–1r—1r˜1r™1rš1r›1rœ1r�1rž1rŸ1r 1r¡1r¢1r£1r¤1r¥1r¦1r§1r¨1r©1rª1r«1r¬1r­1r®1r¯1r°1r±1r²1r³1r´1rµ1r¶1r·1r¸1r¹1rº1r»1r¼1r½1r¾1r¿1rÀ1rÁ1rÂ1rÃ1rÄ1rÅ1rÆ1rÇ1rÈ1rÉ1rÊ1rË1rÌ1rÍ1rÎ1rÏ1rÐ1rÑ1rÒ1rÓ1rÔ1rÕ1rÖ1r×1rØ1rÙ1rÚ1rÛ1rÜ1rÝ1rÞ1rß1rà1rá1râ1rã1rä1rå1ræ1rç1rè1ré1rê1rë1rì1rí1rî1rï1rð1rñ1rò1ró1rô1rõ1rö1r÷1rø1rù1rú1rû1rü1rý1rþ1rÿ1r€2r�2r‚2rƒ2r„2r…2r†2r‡2rˆ2r‰2rŠ2r‹2rŒ2r�2rŽ2r�2r�2r‘2r’2r“2r”2r•2r–2r—2r˜2r™2rš2r›2rœ2r�2rž2rŸ2r 2r¡2r¢2r£2r¤2r¥2r¦2r§2r¨2r©2rª2r«2r¬2r­2r®2r¯2r°2r±2r²2r³2r´2rµ2r¶2r·2r¸2r¹2rº2r»2r¼2r½2r¾2r¿2rÀ2rÁ2rÂ2rÃ2rÄ2rÅ2rÆ2rÇ2rÈ2rÉ2rÊ2rË2rÌ2rÍ2rÎ2rÏ2rÐ2rÑ2rÒ2rÓ2rÔ2rÕ2rÖ2r×2rØ2rÙ2rÚ2rÛ2rÜ2rÝ2rÞ2rß2rà2rá2râ2rã2rä2rå2ræ2rç2rè2ré2rê2rë2rì2rí2rî2rï2rð2rñ2rò2ró2rô2rõ2rö2r÷2rø2rù2rú2rû2rü2rý2rþ2rÿ2r€3r�3r‚3rƒ3r„3r…3r†3r‡3rˆ3r‰3rŠ3r‹3rŒ3r�3rŽ3r�3r�3r‘3r’3r“3r”3r•3r–3r—3r˜3r™3rš3r›3rœ3r�3rž3sŸ3s 3s¡3s¢3s£3s¤3s¥3s¦3s§3s¨3s©3tª3t«3t¬3t­3t®3t¯3t°3t±3t²3t³3t´3tµ3t¶3t·3t¸3t¹3tº3t»3t¼3t½3t¾3t¿3tÀ3tÁ3tÂ3tÃ3tÄ3tÅ3tÆ3tÇ3tÈ3tÉ3tÊ3tË3tÌ3tÍ3tÎ3tÏ3tÐ3tÑ3tÒ3tÓ3tÔ3tÕ3tÖ3t×3tØ3tÙ3tÚ3tÛ3tÜ3tÝ3tÞ3tß3tà3tá3tâ3tã3tä3tå3tæ3tç3tè3té3tê3të3tì3tí3tî3tï3tð3tñ3tò3tó3tô3tõ3tö3t÷3tø3tù3tú3tû3tü3tý3tþ3tÿ3t€4t�4t‚4tƒ4t„4t…4t†4t‡4tˆ4t‰4tŠ4t‹4tŒ4t�4tŽ4t�4t�4t‘4t’4t“4t”4t•4t–4t—4t˜4t™4tš4t›4tœ4t�4tž4tŸ4t 4t¡4t¢4t£4t¤4t¥4t¦4t§4t¨4t©4tª4t«4t¬4t­4t®4u¯4u°4u±4u²4u³4u´4uµ4u¶4u·4u¸4u¹4uº4u»4u¼4u½4u¾4u¿4uÀ4uÁ4uÂ4uÃ4uÄ4uÅ4uÆ4uÇ4uÈ4vÉ4vÊ4vË4vÌ4vÍ4vÎ4vÏ4vÐ4vÑ4vÒ4vÓ4vÔ4vÕ4vÖ4v×4vØ4vÙ4vÚ4vÛ4vÜ4vÝ4vÞ4vß4và4vá4vâ4vã4vä4vå4væ4vç4vè4vé4vê4vë4vì4ví4vî4vï4vð4vñ4vò4vó4vô4võ4vö4v÷4vø4vù4vú4vû4vü4vý4vþ4wÿ4w€5w�5w‚5wƒ5w„5w…5w†5w‡5wˆ5w‰5wŠ5w‹5wŒ5w�5wŽ5w�5w�5w‘5w’5w“5w”5w•5w–5w—5w˜5w™5wš5w›5wœ5w�5wž5wŸ5w 5w¡5w¢5w£5w¤5w¥5w¦5w§5w¨5w©5wª5w«5w¬5w­5w®5w¯5w°5w±5w²5w³5w´5wµ5w¶5w·5x¸5x¹5xº5x»5x¼5x½5x¾5x¿5xÀ5xÁ5xÂ5xÃ5xÄ5xÅ5xÆ5xÇ5xÈ5xÉ5xÊ5xË5xÌ5xÍ5xÎ5xÏ5xÐ5xÑ5xÒ5xÓ5xÔ5xÕ5yÖ5y×5yØ5yÙ5yÚ5yÛ5yÜ5yÝ5yÞ5yß5yà5yá5yâ5yã5yä5yå5yæ5yç5yè5yé5yê5yë5yì5yí5yî5yï5yð5yñ5yò5yó5yô5yõ5yö5y÷5yø5yù5yú5yû5yü5yý5yþ5yÿ5y€6y�6y‚6yƒ6y„6y…6y†6y‡6yˆ6y‰6yŠ6y‹6yŒ6y�6yŽ6y�6y�6z‘6z’6z“6z”6z•6z–6z—6z˜6z™6zš6z›6zœ6z�6zž6zŸ6z 6z¡6z¢6z£6z¤6z¥6z¦6z§6z¨6{©6{ª6{«6{¬6{­6{®6{¯6{°6{±6{²6{³6{´6{µ6{¶6{·6{¸6{¹6{º6{»6{¼6{½6{¾6{¿6{À6{Á6{Â6{Ã6{Ä6{Å6|Æ6|Ç6|È6|É6|Ê6|Ë6|Ì6|Í6|Î6|Ï6|Ð6|Ñ6|Ò6|Ó6|Ô6|Õ6|Ö6|×6|Ø6|Ù6|Ú6|Û6|Ü6|Ý6|Þ6|ß6|à6|á6|â6|ã6|ä6|å6|æ6|ç6|è6|é6|ê6|ë6|ì6|í6|î6|ï6|ð6|ñ6|ò6|ó6|ô6|õ6|ö6|÷6|ø6|ù6|ú6|û6|ü6|ý6|þ6|ÿ6|€7|�7|‚7|ƒ7|„7|…7|†7|‡7|ˆ7|‰7|Š7|‹7|Œ7|�7|Ž7|�7|�7|‘7|’7|“7|”7|•7|–7|—7|˜7|™7|š7|›7|œ7|�7|ž7|Ÿ7| 7|¡7|¢7|£7|¤7|¥7|¦7|§7|¨7|©7|ª7|«7|¬7|­7|®7|¯7|°7|±7|²7|³7|´7|µ7|¶7|·7|¸7|¹7|º7|»7|¼7|½7|¾7|¿7|À7|Á7|Â7|Ã7|Ä7|Å7|Æ7|Ç7|È7|É7|Ê7|Ë7|Ì7|Í7|Î7|Ï7|Ð7|Ñ7|Ò7|Ó7|Ô7|Õ7|Ö7|×7|Ø7|Ù7|Ú7|Û7|Ü7|Ý7|Þ7|ß7|à7|á7|â7|ã7|ä7|å7|æ7|ç7|è7|é7|ê7|ë7|ì7|í7|î7|ï7|ð7|ñ7|ò7|ó7|ô7|õ7|ö7|÷7|ø7|ù7|ú7|û7|ü7|ý7|þ7|ÿ7|€8|�8|‚8|ƒ8|„8|…8|†8|‡8|ˆ8|‰8|Š8|‹8|Œ8|�8|Ž8|�8|�8|‘8|’8|“8|”8|•8|–8|—8|˜8|™8|š8|›8|œ8|�8|ž8|Ÿ8| 8|¡8|¢8|£8|¤8|¥8|¦8|§8|¨8|©8|ª8|«8|¬8|­8|®8|¯8|°8|±8|²8|³8|´8|µ8|¶8|·8|¸8|¹8|º8|»8|¼8|½8|¾8|¿8|À8|Á8|Â8|Ã8|Ä8|Å8|Æ8|Ç8|È8|É8|Ê8|Ë8|Ì8|Í8|Î8|Ï8|Ð8|Ñ8|Ò8|Ó8|Ô8|Õ8|Ö8|×8|Ø8|Ù8|Ú8|Û8|Ü8|Ý8|Þ8|ß8|à8|á8|â8|ã8|ä8|å8|æ8|ç8|è8|é8|ê8|ë8|ì8|í8|î8|ï8|ð8|ñ8|ò8|ó8|ô8|õ8|ö8|÷8|ø8|ù8|ú8|û8|ü8|ý8|þ8|ÿ8|€9|�9|‚9|ƒ9|„9|…9|†9|‡9|ˆ9|‰9|Š9|‹9|Œ9|�9|Ž9|�9|�9|‘9|’9|“9|”9|•9|–9|—9|˜9|™9|š9|›9|œ9|�9|ž9|Ÿ9| 9|¡9|¢9|£9|¤9|¥9|¦9|§9|¨9|©9|ª9|«9|¬9|­9|®9|¯9|°9|±9|²9|³9|´9|µ9|¶9|·9|¸9|¹9|º9|»9|¼9|½9|¾9|¿9|À9|Á9|Â9|Ã9|Ä9|Å9|Æ9|Ç9|È9|É9|Ê9|Ë9|Ì9|Í9|Î9|Ï9|Ð9|Ñ9|Ò9|Ó9|Ô9}Õ9}Ö9}×9}Ø9}Ù9}Ú9}Û9}Ü9}Ý9}Þ9}ß9}à9}á9}â9}ã9}ä9}å9}æ9}ç9}è9}é9}ê9}ë9}ì9}í9}î9}ï9}ð9}ñ9}ò9~ó9~ô9~õ9~ö9~÷9~ø9~ù9~ú9~û9~ü9~ý9~þ9~ÿ9~€:~�:~‚:~ƒ:~„:~…:~†:~‡:~ˆ:~‰:~Š:~‹:~Œ:~�:~Ž:~�:~�:~‘:~’:~“:~”:~•:~–:~—:~˜:~™:~š:~›:~œ:~�:~ž:~Ÿ:~ :~¡:~¢:~£:~¤:~¥:~¦:§:¨:©:ª:«:¬:­:®:¯:°:±:²:³:´:µ:¶:·:¸:¹:º:»:¼:½:¾:¿:À:Á:Â:Ã:Ä:Å:Æ:Ç:È:É:Ê:Ë:Ì:Í:Î:Ï:Ð:Ñ:Ò:Ó:Ô:Õ:Ö:×:Ø:Ù:Ú:Û:Ü:Ý:€Þ:€ß:€à:€á:€â:€ã:€ä:€å:€æ:€ç:€è:€é:€ê:€ë:€ì:€í:€î:€ï:€ð:€ñ:�ò:�ó:�ô:�õ:�ö:�÷:�ø:�ù:�ú:�û:�ü:�ý:�þ:�ÿ:�€;��;�‚;�ƒ;�„;�…;�†;�‡;�ˆ;�‰;�Š;�‹;�Œ;��;�Ž;��;��;�‘;�’;�“;�”;�•;�–;�—;�˜;�™;�š;�›;�œ;��;�ž;�Ÿ;� ;�¡;�¢;�£;�¤;�¥;�¦;�§;�¨;�©;�ª;�«;�¬;�­;�®;�¯;�°;�±;�²;�³;�´;�µ;�¶;�·;�¸;�¹;�º;�»;�¼;�½;�¾;�¿;�À;�Á;�Â;�Ã;�Ä;�Å;�Æ;�Ç;�È;�É;�Ê;�Ë;�Ì;�Í;�Î;�Ï;�Ð;�Ñ;�Ò;�Ó;�Ô;�Õ;�Ö;�×;�Ø;�Ù;�Ú;�Û;�Ü;�Ý;�Þ;�ß;�à;�á;�â;�ã;�ä;�å;�æ;�ç;�è;�é;�ê;�ë;�ì;�í;�î;�ï;�ð;�ñ;�ò;�ó;�ô;�õ;�ö;�÷;�ø;�ù;�ú;�û;�ü;�ý;�þ;�ÿ;�€<��<�‚<�ƒ<�„<�…<�†<�‡<‚ˆ<‚‰<‚Š<‚‹<‚Œ<ƒ�<ƒŽ<ƒ�<ƒ�<ƒ‘<ƒ’<ƒ“<ƒ”<ƒ•<ƒ–<ƒ—<ƒ˜<ƒ™<ƒš<ƒ›<ƒœ<ƒ�<ƒž<ƒŸ<ƒ <ƒ¡<ƒ¢<ƒ£<„¤<„¥<„¦<„§<„¨<„©<„ª<„«<„¬<„­<„®<„¯<„°<„±<„²<„³<„´<„µ<„¶<„·<„¸<„¹<„º<„»<„¼<„½<…¾<…¿<…À<…Á<…Â<…Ã<…Ä<…Å<…Æ<…Ç<…È<…É<…Ê<…Ë<…Ì<…Í<…Î<…Ï<…Ð<…Ñ<…Ò<…Ó<…Ô<…Õ<…Ö<…×<…Ø<…Ù<…Ú<…Û<…Ü<…Ý<…Þ<…ß<…à<…á<…â<…ã<…ä<…å<…æ<…ç<…è<…é<…ê<…ë<…ì<…í<…î<…ï<…ð<…ñ<…ò<…ó<…ô<…õ<…ö<…÷<…ø<…ù<…ú<…û<†ü<†ý<†þ<†ÿ<†€=†�=†‚=†ƒ=†„=†…=††=†‡=†ˆ=†‰=†Š=†‹=†Œ=†�=†Ž=†�=†�=†‘=†’=†“=†”=†•=†–=†—=†˜=†™=†š=†›=†œ=†�=†ž=†Ÿ=† =†¡=†¢=†£=†¤=‡¥=‡¦=‡§=‡¨=‡©=‡ª=‡«=‡¬=‡­=‡®=‡¯=‡°=‡±=‡²=‡³=‡´=‡µ=‡¶=‡·=‡¸=‡¹=‡º=‡»=‡¼=‡½=‡¾=‡¿=‡À=‡Á=‡Â=‡Ã=‡Ä=‡Å=‡Æ=‡Ç=‡È=‡É=‡Ê=‡Ë=‡Ì=‡Í=‡Î=‡Ï=‡Ð=‡Ñ=‡Ò=‡Ó=‡Ô=‡Õ=‡Ö=‡×=‡Ø=‡Ù=‡Ú=ˆÛ=ˆÜ=ˆÝ=ˆÞ=ˆß=ˆà=ˆá=ˆâ=ˆã=ˆä=ˆå=ˆæ=ˆç=ˆè=ˆé=ˆê=ˆë=ˆì=ˆí=ˆî=ˆï=ˆð=ˆñ=ˆò=ˆó=ˆô=ˆõ=ˆö=ˆ÷=ˆø=ˆù=ˆú=ˆû=ˆü=ˆý=ˆþ=ˆÿ=ˆ€>ˆ�>ˆ‚>ˆƒ>ˆ„>ˆ…>ˆ†>ˆ‡>ˆˆ>ˆ‰>ˆŠ>ˆ‹>ˆŒ>ˆ�>ˆŽ>ˆ�>ˆ�>ˆ‘>ˆ’>ˆ“>ˆ”>ˆ•>ˆ–>ˆ—>ˆ˜>ˆ™>ˆš>ˆ›>ˆœ>ˆ�>ˆž>ˆŸ>ˆ >ˆ¡>ˆ¢>ˆ£>ˆ¤>ˆ¥>ˆ¦>ˆ§>ˆ¨>ˆ©>ˆª>ˆ«>ˆ¬>ˆ­>ˆ®>ˆ¯>ˆ°>ˆ±>ˆ²>ˆ³>ˆ´>ˆµ>ˆ¶>ˆ·>ˆ¸>ˆ¹>ˆº>ˆ»>ˆ¼>ˆ½>ˆ¾>ˆ¿>ˆÀ>ˆÁ>ˆÂ>ˆÃ>ˆÄ>ˆÅ>ˆÆ>ˆÇ>ˆÈ>ˆÉ>ˆÊ>ˆË>ˆÌ>ˆÍ>ˆÎ>ˆÏ>ˆÐ>ˆÑ>ˆÒ>ˆÓ>ˆÔ>ˆÕ>ˆÖ>ˆ×>ˆØ>ˆÙ>ˆÚ>ˆÛ>ˆÜ>ˆÝ>ˆÞ>ˆß>ˆà>ˆá>ˆâ>ˆã>ˆä>ˆå>ˆæ>ˆç>ˆè>ˆé>ˆê>ˆë>ˆì>ˆí>ˆî>ˆï>ˆð>ˆñ>ˆò>ˆó>ˆô>ˆõ>ˆö>ˆ÷>ˆø>ˆù>ˆú>ˆû>ˆü>ˆý>ˆþ>ˆÿ>ˆ€?ˆ�?ˆ‚?ˆƒ?ˆ„?ˆ…?ˆ†?ˆ‡?ˆˆ?ˆ‰?ˆŠ?ˆ‹?ˆŒ?ˆ�?ˆŽ?ˆ�?ˆ�?ˆ‘?ˆ’?ˆ“?ˆ”?ˆ•?ˆ–?ˆ—?ˆ˜?ˆ™?ˆš?ˆ›?ˆœ?ˆ�?ˆž?ˆŸ?ˆ ?ˆ¡?ˆ¢?ˆ£?ˆ¤?ˆ¥?ˆ¦?ˆ§?ˆ¨?ˆ©?ˆª?ˆ«?ˆ¬?ˆ­?ˆ®?ˆ¯?ˆ°?ˆ±?ˆ²?ˆ³?ˆ´?ˆµ?ˆ¶?ˆ·?ˆ¸?ˆ¹?ˆº?ˆ»?ˆ¼?ˆ½?ˆ¾?ˆ¿?ˆÀ?ˆÁ?ˆÂ?ˆÃ?ˆÄ?ˆÅ?ˆÆ?ˆÇ?ˆÈ?ˆÉ?ˆÊ?ˆË?ˆÌ?ˆÍ?ˆÎ?ˆÏ?ˆÐ?ˆÑ?ˆÒ?ˆÓ?ˆÔ?ˆÕ?ˆÖ?ˆ×?ˆØ?ˆÙ?ˆÚ?ˆÛ?ˆÜ?ˆÝ?ˆÞ?ˆß?ˆà?ˆá?ˆâ?ˆã?ˆä?ˆå?ˆæ?ˆç?ˆè?ˆé?ˆê?ˆë?ˆì?ˆí?ˆî?ˆï?ˆð?ˆñ?ˆò?ˆó?ˆô?ˆõ?ˆö?ˆ÷?ˆø?ˆù?ˆú?ˆû?ˆü?ˆý?ˆþ?ˆÿ?ˆ€@ˆ�@ˆ‚@ˆƒ@ˆ„@ˆ…@ˆ†@ˆ‡@ˆˆ@ˆ‰@ˆŠ@ˆ‹@ˆŒ@ˆ�@ˆŽ@ˆ�@ˆ�@ˆ‘@ˆ’@ˆ“@ˆ”@ˆ•@ˆ–@ˆ—@ˆ˜@ˆ™@ˆš@ˆ›@ˆœ@ˆ�@ˆž@ˆŸ@ˆ @ˆ¡@ˆ¢@ˆ£@ˆ¤@ˆ¥@ˆ¦@ˆ§@ˆ¨@ˆ©@ˆª@ˆ«@ˆ¬@ˆ­@ˆ®@ˆ¯@‰°@‰±@‰²@‰³@‰´@‰µ@‰¶@‰·@‰¸@‰¹@‰º@‰»@‰¼@‰½@‰¾@‰¿@‰À@‰Á@‰Â@‰Ã@‰Ä@‰Å@‰Æ@‰Ç@‰È@‰É@‰Ê@‰Ë@‰Ì@‰Í@‰Î@‰Ï@‰Ð@‰Ñ@‰Ò@‰Ó@‰Ô@‰Õ@‰Ö@‰×@‰Ø@‰Ù@‰Ú@‰Û@‰Ü@‰Ý@‰Þ@‰ß@‰à@‰á@‰â@‰ã@‰ä@‰å@‰æ@‰ç@‰è@‰é@‰ê@‰ë@‰ì@‰í@‰î@‰ï@‰ð@‰ñ@‰ò@‰ó@‰ô@‰õ@‰ö@‰÷@‰ø@‰ù@‰ú@‰û@‰ü@‰ý@‰þ@‰ÿ@‰€A‰�A‰‚A‰ƒA‰„A‰…A‰†A‰‡A‰ˆA‰‰A‰ŠA‰‹A‰ŒA‰�A‰ŽA‰�A‰�A‰‘A‰’A‰“A‰”A‰•A‰–A‰—A‰˜A‰™A‰šA‰›A‰œA‰�A‰žA‰ŸA‰ A‰¡A‰¢A‰£A‰¤A‰¥A‰¦A‰§A‰¨A‰©A‰ªA‰«A‰¬A‰­A‰®A‰¯A‰°A‰±A‰²A‰³A‰´A‰µA‰¶A‰·A‰¸A‰¹A‰ºA‰»A‰¼A‰½A‰¾A‰¿A‰ÀA‰ÁA‰ÂA‰ÃA‰ÄA‰ÅA‰ÆA‰ÇA‰ÈA‰ÉA‰ÊA‰ËA‰ÌA‰ÍA‰ÎA‰ÏA‰ÐA‰ÑA‰ÒA‰ÓAŠÔAŠÕAŠÖAŠ×AŠØAŠÙAŠÚAŠÛAŠÜAŠÝAŠÞAŠßAŠàAŠáAŠâAŠãAŠäAŠåAŠæAŠçAŠèAŠéAŠêAŠëAŠìAŠíAŠîAŠïAŠðAŠñAŠòAŠóAŠôAŠõAŠöAŠ÷AŠøAŠùAŠúAŠûAŠüAŠýAŠþAŠÿAŠ€BŠ�BŠ‚BŠƒBŠ„BŠ…BІBЇBŠˆBЉBŠŠBŠ‹BŠŒBŠ�BŠŽBŠ�BŠ�BŠ‘BŠ’BŠ“BŠ”BŠ•BŠ–BŠ—BŠ˜BŠ™BŠšBŠ›BŠœBŠ�BŠžBŠŸBŠ BŠ¡BŠ¢BŠ£BФBŠ¥BЦBЧBЍBŠ©BŠªBŠ«BЬB‹­B‹®B‹¯B‹°B‹±B‹²B‹³B‹´B‹µB‹¶B‹·B‹¸B‹¹B‹ºB‹»B‹¼B‹½B‹¾B‹¿B‹ÀB‹ÁB‹ÂB‹ÃB‹ÄB‹ÅB‹ÆB‹ÇB‹ÈB‹ÉB‹ÊB‹ËB‹ÌB‹ÍB‹ÎB‹ÏB‹ÐB‹ÑB‹ÒB‹ÓB‹ÔB‹ÕB‹ÖB‹×B‹ØB‹ÙB‹ÚB‹ÛB‹ÜB‹ÝB‹ÞB‹ßB‹àB‹áB‹âB‹ãB‹äB‹åB‹æB‹çB‹èB‹éB‹êB‹ëB‹ìB‹íB‹îB‹ïB‹ðB‹ñB‹òB‹óB‹ôB‹õB‹öB‹÷B‹øB‹ùB‹úB‹ûB‹üB‹ýB‹þB‹ÿB‹€C‹�C‹‚C‹ƒC‹„C‹…C‹†C‹‡C‹ˆC‹‰C‹ŠC‹‹C‹ŒC‹�C‹ŽC‹�C‹�C‹‘C‹’C‹“C‹”C‹•C‹–C‹—C‹˜C‹™C‹šC‹›C‹œC‹�C‹žC‹ŸC‹ C‹¡C‹¢C‹£C‹¤C‹¥C‹¦C‹§C‹¨C‹©C‹ªC‹«C‹¬C‹­C‹®C‹¯C‹°C‹±C‹²C‹³C‹´C‹µC‹¶C‹·C‹¸C‹¹C‹ºC‹»C‹¼C‹½C‹¾C‹¿C‹ÀC‹ÁC‹ÂC‹ÃC‹ÄC‹ÅC‹ÆC‹ÇC‹ÈCŒÉCŒÊCŒËCŒÌCŒÍCŒÎCŒÏCŒÐCŒÑCŒÒCŒÓCŒÔCŒÕCŒÖCŒ×CŒØCŒÙCŒÚCŒÛCŒÜCŒÝCŒÞCŒßCŒàCŒáCŒâCŒãCŒäCŒåCŒæCŒçCŒèCŒéCŒêCŒëCŒìCŒíCŒîCŒïCŒðCŒñCŒòCŒóCŒôCŒõCŒöCŒ÷CŒøCŒùCŒúCŒûCŒüCŒýCŒþCŒÿCŒ€DŒ�DŒ‚DŒƒDŒ„DŒ…DŒ†DŒ‡DŒˆDŒ‰DŒŠDŒ‹DŒŒDŒ�DŒŽDŒ�DŒ�DŒ‘DŒ’DŒ“DŒ”DŒ•DŒ–DŒ—DŒ˜DŒ™DŒšDŒ›DŒœDŒ�D�žD�ŸD� D�¡D�¢D�£D�¤D�¥D�¦D�§D�¨D�©D�ªD�«D�¬D�­D�®D�¯D�°D�±D�²D�³D�´D�µD�¶D�·D�¸D�¹D�ºD�»D�¼D�½D�¾D�¿D�ÀD�ÁD�ÂD�ÃD�ÄD�ÅD�ÆD�ÇD�ÈD�ÉD�ÊD�ËD�ÌDŽÍDŽÎDŽÏDŽÐDŽÑDŽÒDŽÓDŽÔDŽÕDŽÖDŽ×DŽØDŽÙDŽÚDŽÛDŽÜDŽÝDŽÞDŽßDŽàDŽáDŽâDŽãDŽäDŽåDŽæDŽçDŽèDŽéDŽêDŽëDŽìDŽíDŽîDŽïDŽðDŽñDŽòDŽóDŽôDŽõDŽöD÷DøDùD�úD�ûD�üD�ýD�þD�ÿD�€E��E�‚E�ƒE�„E�…E�†E�‡E�ˆE�‰E�ŠE�‹E�ŒE��E�ŽE��E��E�‘E�’E�“E�”E�•E�–E‘—E‘˜E‘™E‘šE‘›E‘œE‘�E‘žE‘ŸE‘ E‘¡E‘¢E‘£E‘¤E‘¥E‘¦E‘§E‘¨E’©E’ªE’«E’¬E“­E“®E”¯E”°E”±E”²E•³E•´E•µE•¶E•·E•¸E•¹E•ºE–»E–¼E–½E–¾E–¿E–ÀE–ÁE–ÂE–ÃE–ÄE–ÅE–ÆE–ÇE–ÈE—ÉE—ÊE—ËE—ÌE—ÍE—ÎE—ÏE—ÐE—ÑE—ÒE—ÓE—ÔE—ÕE—ÖE˜×E˜ØE˜ÙE˜ÚE˜ÛE˜ÜE˜ÝE˜ÞE˜ßE˜àE˜áE˜âE˜ãE˜äE˜åE˜æE˜çE˜èE˜éE˜êE˜ëE˜ìE˜íE˜îE˜ïE˜ðE˜ñE˜òE˜óE˜ôE˜õE˜öE˜÷E˜øE˜ùE˜úE˜ûE˜üE˜ýE˜þE˜ÿE˜€F˜�F˜‚F˜ƒF˜„F˜…F˜†F˜‡F˜ˆF˜‰F˜ŠF˜‹F˜ŒF˜�F˜ŽF˜�F˜�F˜‘F˜’F˜“F˜”F˜•F˜–F˜—F˜˜F˜™F˜šF˜›F˜œF˜�F˜žF˜ŸF˜ F˜¡F˜¢F˜£F˜¤F˜¥F˜¦F˜§F˜¨F˜©F˜ªF˜«F˜¬F˜­F˜®F˜¯F˜°F˜±F˜²F˜³F˜´F˜µF˜¶F˜·F˜¸F˜¹F˜ºF˜»F˜¼F˜½F˜¾F˜¿F˜ÀF˜ÁF˜ÂF˜ÃF˜ÄF˜ÅF˜ÆF˜ÇF˜ÈF˜ÉF˜ÊF˜ËF˜ÌF˜ÍF˜ÎF˜ÏF˜ÐF˜ÑF˜ÒF˜ÓF˜ÔF˜ÕF˜ÖF˜×F˜ØF˜ÙF˜ÚF˜ÛF˜ÜF˜ÝF˜ÞF˜ßF˜àF˜áF˜âF˜ãF˜äF˜åF˜æF˜çF˜èF˜éF˜êF˜ëF˜ìF˜íF˜îF˜ïF˜ðF˜ñF˜òF˜óF˜ôF˜õF˜öF˜÷F˜øF˜ùF˜úF˜ûF˜üF˜ýF˜þF˜ÿF˜€G˜�G˜‚G˜ƒG˜„G˜…G˜†G˜‡G˜ˆG˜‰G˜ŠG˜‹G˜ŒG˜�G˜ŽG˜�G˜�G˜‘G˜’G˜“G˜”G˜•G˜–G˜—G˜˜G˜™G˜šG˜›G˜œG˜�G˜žG˜ŸG˜ G˜¡G˜¢G˜£G˜¤G˜¥G˜¦G˜§G˜¨G˜©G˜ªG˜«G˜¬G˜­G˜®G˜¯G˜°G˜±G˜²G˜³G˜´G˜µG˜¶G˜·G˜¸G˜¹G˜ºG˜»G˜¼G˜½G˜¾G˜¿G˜ÀG˜ÁG˜ÂG˜ÃG˜ÄG˜ÅG˜ÆG˜ÇG˜ÈG˜ÉG˜ÊG˜ËG˜ÌG˜ÍG˜ÎG˜ÏG˜ÐG˜ÑG˜ÒG˜ÓG˜ÔG˜ÕG˜ÖG˜×G˜ØG˜ÙG˜ÚG˜ÛG˜ÜG˜ÝG˜ÞG˜ßG˜àG˜áG˜âG˜ãG˜äG˜åG˜æG˜çG˜èG˜éG˜êG˜ëG˜ìG˜íG˜îG˜ïG˜ðG˜ñG˜òG˜óG˜ôG˜õG˜öG˜÷G˜øG˜ùG˜úG˜ûG˜üG˜ýG˜þG˜ÿG˜€H˜�H˜‚H˜ƒH˜„H˜…H˜†H˜‡H˜ˆH˜‰H˜ŠH˜‹H˜ŒH˜�H˜ŽH˜�H˜�H˜‘H™’H™“Hš”Hš•Hš–Hš—Hš˜Hš™HššHš›HšœHš�HšžHšŸHš Hš¡Hš¢Hš£Hš¤Hš¥Hš¦Hš§Hš¨Hš©HšªHš«Hš¬Hš­Hš®Hš¯Hš°Hš±Hš²Hš³Hš´HšµHš¶Hš·Hš¸Hš¹HšºHš»Hš¼Hš½Hš¾Hš¿HšÀHšÁHšÂHšÃHšÄHšÅHšÆHšÇHšÈHšÉHšÊHšËHšÌHšÍHšÎHšÏHšÐHšÑHšÒH›ÓH›ÔH›ÕH›ÖH›×H›ØH›ÙH›ÚH›ÛH›ÜH›ÝH›ÞH›ßH›àH›áH›âH›ãH›äH›åH›æH›çH›èH›éH›êH›ëH›ìH›íH›îH›ïH›ðH›ñH›òH›óH›ôH›õH›öH›÷H›øH›ùH›úH›ûH›üH›ýHœþHœÿHœ€Iœ�Iœ‚IœƒIœ„Iœ…Iœ†Iœ‡IœˆIœ‰IœŠIœ‹IœŒIœ�IœŽIœ�Iœ�Iœ‘Iœ’Iœ“Iœ”Iœ•Iœ–Iœ—Iœ˜Iœ™IœšIœ›IœœIœ�IœžIœŸIœ Iœ¡Iœ¢Iœ£Iœ¤Iœ¥Iœ¦Iœ§Iœ¨Iœ©IœªIœ«Iœ¬Iœ­Iœ®Iœ¯Iœ°Iœ±Iœ²I�³I�´I�µI�¶I�·I�¸I�¹I�ºI�»I�¼I�½I�¾I�¿I�ÀI�ÁI�ÂI�ÃI�ÄI�ÅI�ÆI�ÇI�ÈI�ÉI�ÊI�ËI�ÌI�ÍI�ÎI�ÏI�ÐI�ÑI�ÒI�ÓI�ÔI�ÕI�ÖI�×I�ØI�ÙIžÚIžÛIžÜIžÝIžÞIžßIžàIžáIžâIžãIžäIžåIžæIžçIžèIžéIžêIžëIžìIžíIžîIžïIžðIžñIžòIžóIžôIžõIžöIž÷IžøIžùIžúIžûIžüIžýIžþIžÿIž€Jž�Jž‚JžƒJž„Jž…Jž†Jž‡JžˆJž‰JžŠJž‹JžŒJž�JžŽJž�Jž�Jž‘Jž’Jž“Jž”Jž•Jž–Jž—Jž˜Jž™JžšJž›JžœJž�JžžJžŸJž Jž¡Jž¢Jž£Jž¤Jž¥Jž¦Jž§Jž¨Jž©JžªJž«Jž¬Jž­Jž®Jž¯Jž°Jž±Jž²Jž³Jž´JžµJž¶Jž·Jž¸Jž¹JžºJž»Jž¼JŸ½JŸ¾JŸ¿JŸÀJŸÁJŸÂJŸÃJŸÄJŸÅJŸÆJŸÇJŸÈJŸÉJŸÊJŸËJŸÌJŸÍJŸÎJŸÏJŸÐJŸÑJŸÒJŸÓJŸÔJŸÕJŸÖJŸ×JŸØJŸÙJŸÚJŸÛJŸÜJŸÝJŸÞJŸßJŸàJŸáJŸâJŸãJŸäJŸåJŸæJŸçJŸèJŸéJŸêJŸëJŸìJŸíJŸîJŸïJŸðJŸñJŸòJŸóJŸôJŸõJŸöJŸ÷JŸøJŸùJŸúJŸûJŸüJŸýJŸþJŸÿJŸ€KŸ�KŸ‚KŸƒKŸ„KŸ…KŸ†KŸ‡KŸˆKŸ‰KŸŠKŸ‹KŸŒKŸ�KŸŽKŸ�KŸ�KŸ‘KŸ’KŸ“KŸ”KŸ•KŸ–KŸ—KŸ˜KŸ™KŸšKŸ›KŸœKŸ�K žK ŸK  K ¡K ¢K £K ¤K ¥K ¦K §K ¨K ©K ªK «K ¬K ­K ®K ¯K °K ±K ²K ³K ´K µK ¶K ·K ¸K ¹K ºK »K ¼K ½K ¾K ¿K ÀK ÁK ÂK ÃK ÄK ÅK ÆK ÇK ÈK ÉK ÊK ËK ÌK ÍK ÎK ÏK ÐK ÑK ÒK ÓK ÔK ÕK ÖK ×K ØK ÙK ÚK ÛK¡ÜK¡ÝK¡ÞK¡ßK¡àK¡áK¡âK¡ãK¡äK¡åK¡æK¡çK¡èK¡éK¡êK¡ëK¡ìK¢íK¢îK¢ïK¢ðK¢ñK¢òK¢óK¢ôK¢õK¢öK¢÷K¢øK¢ùK¢úK¢ûK¢üK¢ýK¢þK¢ÿK¢€L¢�L¢‚L¢ƒL¢„L¢…L¢†L¢‡L¢ˆL¢‰L¢ŠL¢‹L¢ŒL¢�L¢ŽL¢�L¢�L¢‘L¢’L¢“L¢”L¢•L¢–L¢—L¢˜L¢™L£šL£›L£œL£�L£žL£ŸL£ L£¡L£¢L££L£¤L£¥L£¦L£§L£¨L£©L£ªL£«L£¬L£­L£®L£¯L£°L£±L£²L£³L£´L£µL£¶L£·L£¸L£¹L£ºL£»L£¼L£½L£¾L£¿L£ÀL£ÁL£ÂL£ÃL£ÄL£ÅL£ÆL£ÇL£ÈL£ÉL£ÊL£ËL£ÌL£ÍL£ÎL£ÏL£ÐL£ÑL£ÒL£ÓL£ÔL£ÕL£ÖL£×L£ØL£ÙL£ÚL£ÛL£ÜL£ÝL£ÞL£ßL£àL£áL£âL£ãL£äL£åL£æL£çL£èL£éL£êL£ëL£ìL£íL£îL£ïL£ðL£ñL£òL£óL£ôL£õL£öL£÷L£øL¤ùL¤úL¤ûL¤üL¤ýL¤þL¤ÿL¤€M¤�M¤‚M¤ƒM¤„M¤…M¤†M¤‡M¤ˆM¤‰M¤ŠM¤‹M¤ŒM¤�M¤ŽM¤�M¤�M¤‘M¤’M¥“M¥”M¥•M¥–M¥—M¥˜M¥™M¥šM¥›M¥œM¥�M¥žM¥ŸM¥ M¥¡M¦¢M¦£M§¤M§¥M§¦M§§M¨¨M¨©M¨ªM¨«M¨¬M¨­M¨®M¨¯M¨°M¨±M¨²M¨³M¨´M¨µM¨¶M¨·M¨¸M¨¹M¨ºM¨»M¨¼M©½M©¾M©¿M©ÀM©ÁMªÂMªÃMªÄMªÅMªÆMªÇMªÈMªÉMªÊMªËMªÌMªÍMªÎM¨ÏM¨ÐM«ÑM«ÒM«ÓM«ÔM«ÕM«ÖM«×M«ØM«ÙM«ÚM«ÛM«ÜM«ÝM«ÞM«ßM«àM«áM«âM«ãM«äM«åM«æM«çM«èM«éM«êM«ëM«ìM«íM«îM«ïM«ðM«ñM«òM«óM«ôM«õM«öM«÷M«øM«ùM«úM«ûM«üM«ýM«þM«ÿM«€N«�N«‚N«ƒN«„N«…N«†N«‡N«ˆN«‰N«ŠN«‹N«ŒN«�N«ŽN«�N«�N«‘N«’N«“N«”N«•N«–N¬—N¬˜N¬™N¬šN¬›N¬œN¬�N­žN­ŸN­ N­¡N­¢N­£N­¤N­¥N­¦N­§N­¨N­©N­ªN­«N­¬N­­N­®N­¯N­°N­±N­²N­³N®´N®µN®¶N®·N®¸N®¹N®ºN®»N®¼N®½N®¾N®¿N®ÀN®ÁN®ÂN®ÃN®ÄN®ÅN®ÆN®ÇN®ÈN®ÉN®ÊN®ËN®ÌN®ÍN®ÎN®ÏN®ÐN®ÑN®ÒN®ÓN®ÔN®ÕN®ÖN®×N®ØN®ÙN®ÚN®ÛN®ÜN®ÝN®ÞN®ßN®àN®áN®âN®ãN®äN®åN®æN®çN®èN®éN®êN®ëN®ìN®íN®îN®ïN®ðN®ñN®òN®óN®ôN®õN®öN®÷N®øN®ùN®úN®ûN®üN®ýN®þN®ÿN®€O®�O®‚O®ƒO®„O®…O®†O®‡O®ˆO®‰O®ŠO®‹O®ŒO®�O®ŽO®�O®�O®‘O®’O®“O®”O®•O®–O®—O®˜O®™O®šO®›O®œO®�O®žO®ŸO® O®¡O®¢O®£O®¤O®¥O®¦O®§O®¨O®©O®ªO®«O®¬O®­O®®O®¯O®°O®±O®²O®³O®´O®µO®¶O®·O®¸O®¹O®ºO®»O®¼O®½O®¾O®¿O®ÀO®ÁO®ÂO®ÃO®ÄO®ÅO®ÆO®ÇO®ÈO®ÉO®ÊO®ËO®ÌO®ÍO®ÎO®ÏO®ÐO®ÑO®ÒO®ÓO®ÔO®ÕO®ÖO®×O®ØO®ÙO®ÚO®ÛO®ÜO®ÝO®ÞO®ßO®àO®áO®âO®ãO®äO®åO®æO®çO®èO®éO®êO®ëO®ìO®íO®îO®ïO®ðO®ñO®òO®óO®ôO®õO®öO®÷O®øO®ùO®úO®ûO®üO®ýO®þO®ÿO®€P®�P®‚P®ƒP®„P®…P®†P®‡P®ˆP®‰P®ŠP®‹P®ŒP®�P®ŽP®�P®�P®‘P®’P®“P®”P®•P®–P®—P®˜P®™P®šP®›P®œP®�P®žP®ŸP® P®¡P®¢P®£P®¤P®¥P®¦P®§P®¨P®©P®ªP®«P®¬P®­P®®P®¯P®°P®±P®²P®³P®´P®µP®¶P®·P®¸P®¹P®ºP®»P®¼P®½P®¾P®¿P®ÀP®ÁP®ÂP®ÃP®ÄP®ÅP®ÆP®ÇP®ÈP®ÉP®ÊP®ËP®ÌP®ÍP®ÎP®ÏP®ÐP®ÑP®ÒP®ÓP®ÔP®ÕP®ÖP®×P®ØP®ÙP®ÚP®ÛP®ÜP®ÝP®ÞP®ßP®àP®áP®âP®ãP®äP®åP®æP®çP®èP®éP®êP®ëP®ìP®íP®îP®ïP®ðP®ñP®òP®óP®ôP®õP®öP®÷P®øP®ùP®úP®ûP®üP®ýP®þP®ÿP®€Q®�Q®‚Q®ƒQ®„Q®…Q®†Q®‡Q®ˆQ®‰Q®ŠQ®‹Q®ŒQ®�Q®ŽQ®�Q®�Q®‘Q®’Q®“Q®”Q®•Q®–Q®—Q®˜Q®™Q®šQ®›Q®œQ®�Q®žQ®ŸQ® Q®¡Q®¢Q®£Q®¤Q®¥Q®¦Q®§Q®¨Q®©Q®ªQ®«Q®¬Q®­Q®®Q®¯Q®°Q®±Q®²Q®³Q®´Q®µQ®¶Q®·Q®¸Q®¹Q®ºQ®»Q®¼Q®½Q®¾Q®¿Q®ÀQ®ÁQ®ÂQ®ÃQ®ÄQ®ÅQ®ÆQ®ÇQ®ÈQ®ÉQ®ÊQ®ËQ®ÌQ®ÍQ®ÎQ®ÏQ®ÐQ®ÑQ®ÒQ®ÓQ®ÔQ®ÕQ®ÖQ®×Q®ØQ®ÙQ®ÚQ®ÛQ®ÜQ®ÝQ¯ÞQ¯ßQ¯àQ¯áQ¯âQ¯ãQ¯äQ¯åQ¯æQ¯çQ¯èQ¯éQ¯êQ¯ëQ¯ìQ¯íQ¯îQ¯ïQ¯ðQ¯ñQ¯òQ¯óQ¯ôQ¯õQ¯öQ¯÷Q¯øQ¯ùQ¯úQ¯ûQ¯üQ¯ýQ¯þQ¯ÿQ¯€R¯�R¯‚R¯ƒR¯„R¯…R¯†R¯‡R¯ˆR¯‰R¯ŠR¯‹R¯ŒR¯�R¯ŽR¯�R¯�R¯‘R¯’R¯“R¯”R¯•R¯–R¯—R¯˜R¯™R¯šR¯›R¯œR¯�R¯žR¯ŸR¯ R¯¡R¯¢R¯£R¯¤R¯¥R¯¦R¯§R¯¨R¯©R¯ªR¯«R¯¬R¯­R¯®R¯¯R¯°R¯±R¯²R¯³R¯´R°µR°¶R°·R°¸R°¹R°ºR°»R°¼R°½R°¾R°¿R°ÀR°ÁR°ÂR°ÃR°ÄR°ÅR°ÆR°ÇR°ÈR°ÉR°ÊR°ËR°ÌR°ÍR°ÎR±ÏR±ÐR±ÑR²ÒR²ÓR²ÔR²ÕR²ÖR²×R²ØR²ÙR²ÚR²ÛR²ÜR²ÝR²ÞR²ßR²àR²áR²âR²ãR²äR²åR²æR²çR²èR²éR²êR²ëR²ìR²íR²îR²ïR²ðR²ñR²òR²óR²ôR²õR²öR²÷R²øR²ùR²úR²ûR²üR²ýR²þR²ÿR²€S²�S²‚S²ƒS²„S²…S²†S²‡S²ˆS²‰S²ŠS²‹S²ŒS²�S²ŽS²�S²�S²‘S²’S²“S²”S³•S³–S³—S³˜S³™S³šS³›S³œS³�S³žS³ŸS³ S³¡S³¢S³£S³¤S³¥S³¦S³§S³¨S³©S³ªS³«S³¬S³­S³®S³¯S³°S³±S³²S³³S³´S³µS³¶S³·S³¸S³¹S³ºS³»S³¼S³½S³¾S³¿S³ÀS³ÁS³ÂS³ÃS³ÄS³ÅS³ÆS³ÇS³ÈS³ÉS³ÊS³ËS³ÌS³ÍS³ÎS³ÏS³ÐS³ÑS³ÒS³ÓS³ÔS³ÕS³ÖS³×S³ØS³ÙS³ÚS³ÛS³ÜS³ÝS³ÞS³ßS³àS³áS³âS³ãS³äS³åS³æS³çS³èS³éS³êS³ëS³ìS³íS³îS³ïS³ðS³ñS³òS³óS³ôS³õS³öS³÷S³øS³ùS³úS³ûS³üS³ýS³þS³ÿS³€T³�T³‚T³ƒT³„T³…T³†T³‡T³ˆT³‰T³ŠT³‹T³ŒT³�T³ŽT³�T³�T³‘T³’T³“T³”T³•T³–T³—T³˜T³™T³šT³›T³œT³�T³žT³ŸT³ T³¡T³¢T³£T³¤T³¥T³¦T³§T³¨T³©T³ªT³«T³¬T³­T³®T³¯T³°T³±T³²T³³T³´T³µT³¶T³·T³¸T³¹T³ºT³»T´¼T´½T´¾T´¿T´ÀT´ÁT´ÂT´ÃT´ÄT´ÅT´ÆT´ÇT´ÈT´ÉT´ÊT´ËT´ÌT´ÍT´ÎT´ÏT´ÐT´ÑT´ÒT´ÓT´ÔT´ÕT´ÖT´×T´ØT´ÙT´ÚT´ÛT´ÜT´ÝT´ÞT´ßT´àT´áT´âT´ãT´äT´åT´æT´çT´èT´éT´êT´ëT´ìT´íT´îT´ïT´ðT´ñT´òT´óT´ôT´õT´öT´÷T´øT´ùT´úT´ûT´üT´ýT´þT´ÿT´€U´�Uµ‚UµƒUµ„Uµ…Uµ†Uµ‡UµˆUµ‰UµŠUµ‹UµŒUµ�UµŽUµ�Uµ�Uµ‘Uµ’Uµ“Uµ”Uµ•Uµ–Uµ—Uµ˜Uµ™UµšUµ›UµœUµ�U¶žU¶ŸU¶ U¶¡U¶¢U¶£U¶¤U¶¥U¶¦U¶§U¶¨U¶©U¶ªU¶«U¶¬U¶­U¶®U¶¯U¶°U¶±U¶²U¶³U¶´U¶µU¶¶U¶·U¶¸U¶¹U¶ºU¶»U¶¼U¶½U¶¾U¶¿U¶ÀU¶ÁU¶ÂU¶ÃU¶ÄU¶ÅU¶ÆU¶ÇU¶ÈU¶ÉU¶ÊU¶ËU¶ÌU¶ÍU¶ÎU¶ÏU¶ÐU¶ÑU¶ÒU¶ÓU¶ÔU¶ÕU¶ÖU¶×U¶ØU¶ÙU¶ÚU¶ÛU¶ÜU¶ÝU¶ÞU¶ßU¶àU¶áU¶âU¶ãU¶äU¶åU¶æU¶çU¶èU¶éU¶êU¶ëU¶ìU¶íU¶îU¶ïU¶ðU¶ñU¶òU¶óU¶ôU¶õU¶öU¶÷U¶øU¶ùU¶úU¶ûU¶üU¶ýU¶þU¶ÿU¶€V¶�V¶‚V¶ƒV¶„V¶…V¶†V¶‡V¶ˆV¶‰V¶ŠV¶‹V¶ŒV¶�V¶ŽV¶�V¶�V¶‘V¶’V¶“V¶”V¶•V¶–V¶—V¶˜V¶™V¶šV¶›V¶œV¶�V¶žV¶ŸV¶ V¶¡V¶¢V¶£V¶¤V¶¥V¶¦V¶§V¶¨V¶©V¶ªV¶«V¶¬V¶­V¶®V¶¯V¶°V¶±V¶²V¶³V¶´V¶µV¶¶V¶·V¶¸V¶¹V¶ºV¶»V¶¼V¶½V¶¾V¶¿V¶ÀV¶ÁV¶ÂV¶ÃV¶ÄV¶ÅV¶ÆV¶ÇV¶ÈV¶ÉV¶ÊV¶ËV¶ÌV¶ÍV¶ÎV¶ÏV¶ÐV¶ÑV¶ÒV¶ÓV¶ÔV¶ÕV¶ÖV¶×V¶ØV¶ÙV¶ÚV¶ÛV¶ÜV¶ÝV¶ÞV¶ßV¶àV¶áV¶âV¶ãV¶äV¶åV¶æV¶çV¶èV¶éV¶êV¶ëV¶ìV¶íV¶îV¶ïV¶ðV¶ñV¶òV¶óV¶ôV¶õV¶öV¶÷V¶øV¶ùV¶úV¶ûV¶üV¶ýV¶þV¶ÿV¶€W¶�W¶‚W¶ƒW¶„W¶…W¶†W¶‡W¶ˆW¶‰W¶ŠW¶‹W¶ŒW¶�W¶ŽW¶�W¶�W¶‘W¶’W¶“W¶”W¶•W¶–W¶—W¶˜W¶™W¶šW¶›W¶œW¶�W¶žW¶ŸW¶ W¶¡W¶¢W¶£W¶¤W¶¥W¶¦W¶§W¶¨W¶©W¶ªW¶«W¶¬W¶­W¶®W¶¯W¶°W¶±W¶²W¶³W¶´W¶µW¶¶W¶·W¶¸W¶¹W¶ºW¶»W¶¼W¶½W¶¾W¶¿W¶ÀW¶ÁW¶ÂW¶ÃW¶ÄW¶ÅW¶ÆW¶ÇW¶ÈW¶ÉW¶ÊW¶ËW¶ÌW¶ÍW¶ÎW¶ÏW¶ÐW¶ÑW¶ÒW¶ÓW¶ÔW¶ÕW¶ÖW¶×W¶ØW¶ÙW¶ÚW¶ÛW¶ÜW¶ÝW¶ÞW¶ßW¶àW¶áW¶âW¶ãW¶äW¶åW¶æW¶çW¶èW¶éW¶êW¶ëW¶ìW¶íW¶îW¶ïW¶ðW¶ñW¶òW¶óW¶ôW¶õW¶öW¶÷W¶øW¶ùW¶úW¶ûW¶üW¶ýW¶þW¶ÿW¶€X¶�X¶‚X¶ƒX¶„X¶…X¶†X¶‡X¶ˆX¶‰X¶ŠX¶‹X¶ŒX¶�X¶ŽX¶�X¶�X¶‘X¶’X¶“X¶”X¶•X¶–X¶—X¶˜X¶™X¶šX¶›X¶œX¶�X¶žX¶ŸX¶ X¶¡X¶¢X¶£X¶¤X¶¥X¶¦X¶§X¶¨X¶©X¶ªX¶«X¶¬X¶­X¶®X¶¯X¶°X¶±X¶²X¶³X¶´X¶µX¶¶X¶·X¶¸X¶¹X¶ºX¶»X¶¼X¶½X¶¾X¶¿X¶ÀX¶ÁX¶ÂX¶ÃX¶ÄX¶ÅX¶ÆX¶ÇX¶ÈX¶ÉX¶ÊX¶ËX¶ÌX¶ÍX¶ÎX¶ÏX¶ÐX¶ÑX¶ÒX¶ÓX¶ÔX¶ÕX¶ÖX¶×X¶ØX¶ÙX¶ÚX¶ÛX¶ÜX¶ÝX¶ÞX¶ßX¶àX¶áX¶âX¶ãX¶äX¶åX¶æX¶çX¶èX¶éX¶êX¶ëX¶ìX¶íX¶îX¶ïX¶ðX¶ñX¶òX¶óX¶ôX¶õX¶öX¶÷X¶øX¶ùX¶úX¶ûX¶üX¶ýX¶þX¶ÿX¶€Y¶�Y¶‚Y¶ƒY¶„Y¶…Y¶†Y¶‡Y¶ˆY¶‰Y¶ŠY¶‹Y¶ŒY¶�Y¶ŽY¶�Y¶�Y¶‘Y¶’Y¶“Y¶”Y¶•Y¶–Y¶—Y¶˜Y¶™Y¶šY¶›Y¶œY¶�Y¶žY¶ŸY¶ Y¶¡Y¶¢Y¶£Y¶¤Y¶¥Y¶¦Y¶§Y¶¨Y¶©Y¶ªY¶«Y¶¬Y¶­Y¶®Y¶¯Y¶°Y¶±Y¶²Y¶³Y¶´Y¶µY¶¶Y¶·Y¶¸Y¶¹Y¶ºY¶»Y¶¼Y¶½Y¶¾Y¶¿Y¶ÀY¶ÁY¶ÂY¶ÃY¶ÄY¶ÅY¶ÆY¶ÇY¶ÈY¶ÉY¶ÊY¶ËY¶ÌY¶ÍY¶ÎY¶ÏY¶ÐY¶ÑY¶ÒY¶ÓY¶ÔY¶ÕY¶ÖY¶×Y¶ØY¶ÙY¶ÚY¶ÛY¶ÜY¶ÝY¶ÞY¶ßY¶àY¶áY¶âY¶ãY¶äY¶åY¶æY¶çY¶èY¶éY¶êY¶ëY¶ìY¶íY¶îY¶ïY¶ðY¶ñY¶òY¶óY¶ôY¶õY¶öY¶÷Y¶øY¶ùY¶úY¶ûY¶üY¶ýY¶þY¶ÿY¶€Z¶�Z¶‚Z¶ƒZ¶„Z¶…Z¶†Z¶‡Z¶ˆZ¶‰Z¶ŠZ¶‹Z¶ŒZ¶�Z¶ŽZ¶�Z¶�Z¶‘Z¶’Z¶“Z¶”Z¶•Z¶–Z¶—Z¶˜Z¶™Z¶šZ¶›Z¶œZ¶�Z¶žZ¶ŸZ¶ Z¶¡Z¶¢Z¶£Z¶¤Z¶¥Z¶¦Z¶§Z¶¨Z¶©Z¶ªZ¶«Z¶¬Z¶­Z¶®Z¶¯Z¶°Z¶±Z¶²Z¶³Z¶´Z¶µZ¶¶Z¶·Z¶¸Z¶¹Z¶ºZ¶»Z¶¼Z¶½Z¶¾Z¶¿Z¶ÀZ¶ÁZ¶ÂZ¶ÃZ¶ÄZ¶ÅZ¶ÆZ¶ÇZ¶ÈZ¶ÉZ¶ÊZ¶ËZ¶ÌZ¶ÍZ¶ÎZ¶ÏZ¶ÐZ¶ÑZ¶ÒZ¶ÓZ¶ÔZ¶ÕZ¶ÖZ¶×Z¶ØZ¶ÙZ¶ÚZ¶ÛZ¶ÜZ¶ÝZ¶ÞZ¶ßZ¶àZ¶áZ¶âZ¶ãZ¶äZ¶åZ¶æZ¶çZ¶èZ¶éZ¶êZ¶ëZ¶ìZ¶íZ¶îZ¶ïZ¶ðZ¶ñZ¶òZ¶óZ¶ôZ¶õZ¶öZ¶÷Z¶øZ¶ùZ¶úZ¶ûZ¶üZ¶ýZ¶þZ¶ÿZ¶€[¶�[¶‚[¶ƒ[¶„[¶…[¶†[¶‡[¶ˆ[¶‰[¶Š[¶‹[¶Œ[¶�[¶Ž[¶�[¶�[¶‘[¶’[¶“[¶”[¶•[¶–[¶—[¶˜[¶™[¶š[¶›[¶œ[¶�[¶ž[¶Ÿ[¶ [¶¡[¶¢[¶£[¶¤[¶¥[¶¦[¶§[¶¨[¶©[¶ª[¶«[¶¬[¶­[¶®[¶¯[¶°[¶±[¶²[¶³[¶´[¶µ[¶¶[¶·[¶¸[¶¹[¶º[¶»[¶¼[¶½[¶¾[¶¿[¶À[¶Á[¶Â[¶Ã[¶Ä[¶Å[¶Æ[¶Ç[¶È[¶É[¶Ê[¶Ë[¶Ì[¶Í[¶Î[¶Ï[¶Ð[¶Ñ[¶Ò[¶Ó[¶Ô[¶Õ[¶Ö[¶×[¶Ø[¶Ù[¶Ú[¶Û[¶Ü[¶Ý[¶Þ[¶ß[¶à[¶á[¶â[¶ã[¶ä[¶å[¶æ[¶ç[¶è[¶é[¶ê[¶ë[¶ì[¶í[¶î[¶ï[¶ð[¶ñ[¶ò[¶ó[¶ô[¶õ[¶ö[¶÷[¶ø[¶ù[¶ú[¶û[¶ü[¶ý[¶þ[¶ÿ[¶€\¶�\¶‚\¶ƒ\¶„\¶…\¶†\¶‡\¶ˆ\¶‰\¶Š\¶‹\¶Œ\¶�\¶Ž\¶�\¶�\¶‘\¶’\¶“\¶”\¶•\¶–\¶—\¶˜\¶™\¶š\¶›\¶œ\¶�\¶ž\¶Ÿ\¶ \¶¡\¶¢\¶£\¶¤\¶¥\¶¦\¶§\¶¨\¶©\¶ª\¶«\¶¬\¶­\¶®\¶¯\¶°\¶±\¶²\¶³\¶´\¶µ\¶¶\¶·\¶¸\¶¹\¶º\¶»\¶¼\¶½\¶¾\¶¿\¶À\¶Á\¶Â\¶Ã\¶Ä\¶Å\¶Æ\¶Ç\¶È\¶É\¶Ê\¶Ë\¶Ì\¶Í\¶Î\¶Ï\¶Ð\¶Ñ\¶Ò\¶Ó\¶Ô\¶Õ\¶Ö\¶×\¶Ø\¶Ù\¶Ú\¶Û\¶Ü\¶Ý\¶Þ\¶ß\¶à\¶á\¶â\¶ã\¶ä\¶å\¶æ\¶ç\¶è\¶é\¶ê\¶ë\¶ì\¶í\¶î\¶ï\¶ð\¶ñ\¶ò\¶ó\¶ô\¶õ\¶ö\¶÷\¶ø\¶ù\¶ú\¶û\¶ü\¶ý\¶þ\¶ÿ\¶€]¶�]¶‚]¶ƒ]¶„]¶…]¶†]¶‡]¶ˆ]¶‰]¶Š]¶‹]¶Œ]¶�]¶Ž]¶�]¶�]¶‘]¶’]¶“]¶”]¶•]¶–]¶—]¶˜]¶™]¶š]¶›]¶œ]¶�]¶ž]¶Ÿ]¶ ]¶¡]¶¢]¶£]¶¤]¶¥]¶¦]¶§]¶¨]¶©]¶ª]¶«]¶¬]¶­]¶®]¶¯]¶°]¶±]¶²]¶³]¶´]¶µ]¶¶]¶·]¶¸]¶¹]¶º]¶»]¶¼]¶½]¶¾]¶¿]¶À]¶Á]¶Â]¶Ã]¶Ä]¶Å]¶Æ]¶Ç]¶È]¶É]¶Ê]¶Ë]¶Ì]¶Í]¶Î]¶Ï]¶Ð]¶Ñ]¶Ò]¶Ó]¶Ô]¶Õ]¶Ö]¶×]¶Ø]¶Ù]¶Ú]¶Û]¶Ü]¶Ý]¶Þ]¶ß]¶à]¶á]¶â]¶ã]¶ä]¶å]¶æ]¶ç]¶è]¶é]¶ê]¶ë]¶ì]¶í]¶î]¶ï]¶ð]¶ñ]¶ò]¶ó]¶ô]¶õ]¶ö]¶÷]¶ø]¶ù]¶ú]¶û]¶ü]¶ý]¶þ]¶ÿ]¶€^¶�^¶‚^¶ƒ^¶„^¶…^¶†^¶‡^¶ˆ^¶‰^¶Š^¶‹^¶Œ^¶�^¶Ž^¶�^¶�^¶‘^¶’^¶“^¶”^¶•^¶–^¶—^¶˜^¶™^¶š^¶›^¶œ^¶�^¶ž^¶Ÿ^¶ ^¶¡^¶¢^¶£^¶¤^¶¥^¶¦^¶§^¶¨^¶©^¶ª^¶«^¶¬^¶­^¶®^¶¯^¶°^¶±^¶²^¶³^¶´^¶µ^¶¶^¶·^¶¸^¶¹^¶º^¶»^¶¼^¶½^¶¾^¶¿^¶À^¶Á^¶Â^¶Ã^¶Ä^¶Å^¶Æ^¶Ç^¶È^¶É^¶Ê^¶Ë^¶Ì^¶Í^¶Î^¶Ï^¶Ð^¶Ñ^¶Ò^¶Ó^¶Ô^¶Õ^¶Ö^¶×^¶Ø^¶Ù^¶Ú^¶Û^¶Ü^¶Ý^¶Þ^¶ß^¶à^¶á^¶â^¶ã^¶ä^¶å^¶æ^¶ç^¶è^¶é^¶ê^¶ë^¶ì^¶í^¶î^¶ï^¶ð^¶ñ^¶ò^¶ó^¶ô^¶õ^¶ö^¶÷^¶ø^¶ù^¶ú^¶û^¶ü^¶ý^¶þ^¶ÿ^¶€_¶�_¶‚_¶ƒ_¶„_¶…_¶†_¶‡_¶ˆ_¶‰_¶Š_¶‹_¶Œ_¶�_¶Ž_¶�_¶�_¶‘_¶’_¶“_¶”_¶•_¶–_¶—_¶˜_¶™_¶š_¶›_¶œ_¶�_¶ž_¶Ÿ_¶ _¶¡_¶¢_¶£_¶¤_¶¥_¶¦_¶§_¶¨_¶©_¶ª_¶«_¶¬_¶­_¶®_¶¯_¶°_¶±_¶²_¶³_¶´_¶µ_¶¶_¶·_¶¸_¶¹_¶º_¶»_¶¼_¶½_¶¾_¶¿_¶À_¶Á_¶Â_¶Ã_¶Ä_¶Å_¶Æ_¶Ç_¶È_¶É_¶Ê_¶Ë_¶Ì_¶Í_¶Î_¶Ï_¶Ð_¶Ñ_¶Ò_¶Ó_¶Ô_¶Õ_¶Ö_¶×_¶Ø_¶Ù_¶Ú_¶Û_¶Ü_¶Ý_¶Þ_¶ß_¶à_¶á_¶â_¶ã_¶ä_¶å_¶æ_¶ç_¶è_¶é_¶ê_¶ë_¶ì_¶í_¶î_¶ï_¶ð_¶ñ_¶ò_¶ó_¶ô_¶õ_¶ö_¶÷_¶ø_¶ù_¶ú_¶û_¶ü_¶ý_¶þ_¶ÿ_¶€`¶�`¶‚`¶ƒ`¶„`¶…`¶†`¶‡`¶ˆ`¶‰`¶Š`¶‹`¶Œ`¶�`¶Ž`¶�`¶�`¶‘`¶’`¶“`¶”`¶•`¶–`¶—`¶˜`¶™`¶š`¶›`¶œ`¶�`¶ž`¶Ÿ`¶ `¶¡`¶¢`¶£`¶¤`¶¥`¶¦`¶§`¶¨`¶©`¶ª`¶«`¶¬`¶­`¶®`¶¯`¶°`¶±`¶²`¶³`¶´`¶µ`¶¶`¶·`¶¸`¶¹`¶º`¶»`¶¼`¶½`¶¾`¶¿`¶À`¶Á`¶Â`¶Ã`¶Ä`¶Å`¶Æ`¶Ç`¶È`¶É`¶Ê`¶Ë`¶Ì`¶Í`¶Î`¶Ï`¶Ð`¶Ñ`¶Ò`¶Ó`¶Ô`¶Õ`¶Ö`¶×`¶Ø`¶Ù`¶Ú`¶Û`¶Ü`¶Ý`¶Þ`¶ß`¶à`¶á`¶â`¶ã`¶ä`¶å`¶æ`¶ç`¶è`¶é`¶ê`¶ë`¶ì`¶í`¶î`¶ï`¶ð`¶ñ`¶ò`¶ó`¶ô`¶õ`¶ö`¶÷`¶ø`¶ù`¶ú`¶û`¶ü`¶ý`¶þ`¶ÿ`¶€a¶�a¶‚a¶ƒa¶„a¶…a¶†a¶‡a¶ˆa¶‰a¶Ša¶‹a¶Œa¶�a¶Ža¶�a¶�a¶‘a¶’a¶“a¶”a¶•a¶–a¶—a¶˜a¶™a¶ša¶›a¶œa¶�a¶ža¶Ÿa¶ a¶¡a¶¢a¶£a¶¤a¶¥a¶¦a¶§a¶¨a¶©a¶ªa¶«a¶¬a¶­a¶®a¶¯a¶°a¶±a¶²a¶³a¶´a¶µa¶¶a¶·a¶¸a¶¹a¶ºa¶»a¶¼a¶½a¶¾a¶¿a¶Àa¶Áa¶Âa¶Ãa¶Äa¶Åa¶Æa¶Ça¶Èa¶Éa¶Êa¶Ëa¶Ìa¶Ía¶Îa¶Ïa¶Ða¶Ña¶Òa¶Óa¶Ôa¶Õa¶Öa¶×a¶Øa¶Ùa¶Úa¶Ûa¶Üa¶Ýa¶Þa¶ßa¶àa¶áa¶âa¶ãa¶äa¶åa¶æa¶ça¶èa¶éa¶êa¶ëa¶ìa¶ía¶îa¶ïa¶ða¶ña¶òa¶óa¶ôa¶õa¶öa¶÷a¶øa¶ùa¶úa¶ûa¶üa¶ýa¶þa¶ÿa¶€b¶�b¶‚b¶ƒb¶„b¶…b¶†b¶‡b¶ˆb¶‰b¶Šb¶‹b¶Œb¶�b¶Žb¶�b¶�b¶‘b¶’b¶“b¶”b¶•b¶–b¶—b¶˜b¶™b¶šb¶›b¶œb¶�b¶žb¶Ÿb¶ b¶¡b¶¢b¶£b¶¤b¶¥b¶¦b¶§b¶¨b¶©b¶ªb¶«b¶¬b¶­b¶®b¶¯b¶°b¶±b¶²b¶³b¶´b¶µb¶¶b¶·b¶¸b¶¹b¶ºb¶»b¶¼b¶½b¶¾b¶¿b¶Àb¶Áb¶Âb¶Ãb¶Äb¶Åb¶Æb¶Çb¶Èb¶Éb¶Êb¶Ëb¶Ìb¶Íb¶Îb¶Ïb¶Ðb¶Ñb¶Òb¶Ób¶Ôb¶Õb¶Öb¶×b¶Øb¶Ùb¶Úb¶Ûb¶Üb¶Ýb¶Þb¶ßb¶àb¶áb¶âb¶ãb¶äb¶åb¶æb¶çb¶èb¶éb¶êb¶ëb¶ìb¶íb¶îb¶ïb¶ðb¶ñb¶òb¶ób¶ôb¶õb¶öb¶÷b¶øb¶ùb¶úb¶ûb¶üb¶ýb¶þb¶ÿb¶€c¶�c¶‚c¶ƒc¶„c¶…c¶†c¶‡c¶ˆc¶‰c¶Šc¶‹c¶Œc¶�c¶Žc¶�c¶�c¶‘c¶’c¶“c¶”c¶•c¶–c¶—c¶˜c¶™c¶šc¶›c¶œc¶�c¶žc¶Ÿc¶ c¶¡c¶¢c¶£c¶¤c¶¥c¶¦c¶§c¶¨c¶©c¶ªc¶«c¶¬c¶­c¶®c¶¯c¶°c¶±c¶²c¶³c¶´c¶µc¶¶c¶·c¶¸c¶¹c¶ºc¶»c¶¼c¶½c¶¾c¶¿c¶Àc¶Ác¶Âc¶Ãc¶Äc¶Åc¶Æc¶Çc¶Èc¶Éc¶Êc¶Ëc¶Ìc¶Íc¶Îc¶Ïc¶Ðc¶Ñc¶Òc¶Óc¶Ôc¶Õc¶Öc¶×c¶Øc¶Ùc¶Úc¶Ûc¶Üc¶Ýc¶Þc¶ßc¶àc¶ác¶âc¶ãc¶äc¶åc¶æc¶çc¶èc¶éc¶êc¶ëc¶ìc¶íc¶îc¶ïc¶ðc¶ñc¶òc¶óc¶ôc¶õc¶öc¶÷c¶øc¶ùc¶úc¶ûc¶üc¶ýc¶þc¶ÿc¶€d¶�d¶‚d¶ƒd¶„d¶…d¶†d¶‡d¶ˆd¶‰d¶Šd¶‹d¶Œd¶�d¶Žd¶�d¶�d¶‘d¶’d¶“d¶”d¶•d¶–d¶—d¶˜d¶™d¶šd¶›d¶œd¶�d¶žd¶Ÿd¶ d¶¡d¶¢d¶£d¶¤d¶¥d¶¦d¶§d¶¨d¶©d¶ªd¶«d¶¬d¶­d¶®d¶¯d¶°d¶±d¶²d¶³d¶´d¶µd¶¶d¶·d¶¸d¶¹d¶ºd¶»d¶¼d¶½d¶¾d¶¿d¶Àd¶Ád¶Âd¶Ãd¶Äd¶Åd¶Æd¶Çd¶Èd¶Éd¶Êd¶Ëd¶Ìd¶Íd¶Îd¶Ïd¶Ðd¶Ñd¶Òd¶Ód¶Ôd¶Õd¶Öd¶×d¶Ød¶Ùd¶Úd¶Ûd¶Üd¶Ýd¶Þd¶ßd¶àd¶ád¶âd¶ãd¶äd¶åd¶æd¶çd¶èd¶éd¶êd¶ëd¶ìd¶íd¶îd¶ïd¶ðd¶ñd¶òd¶ód¶ôd¶õd¶öd¶÷d¶ød¶ùd¶úd¶ûd¶üd¶ýd¶þd¶ÿd¶€e¶�e¶‚e¶ƒe¶„e¶…e¶†e¶‡e¶ˆe¶‰e¶Še¶‹e¶Œe¶�e¶Že¶�e¶�e¶‘e¶’e¶“e¶”e¶•e¶–e¶—e¶˜e¶™e¶še¶›e¶œe¶�e¶že¶Ÿe¶ e¶¡e¶¢e¶£e¶¤e¶¥e¶¦e¶§e¶¨e¶©e¶ªe¶«e¶¬e¶­e¶®e¶¯e¶°e¶±e¶²e¶³e¶´e¶µe¶¶e¶·e¶¸e¶¹e¶ºe¶»e¶¼e¶½e¶¾e¶¿e¶Àe¶Áe¶Âe¶Ãe¶Äe¶Åe¶Æe¶Çe¶Èe¶Ée¶Êe¶Ëe¶Ìe¶Íe¶Îe¶Ïe¶Ðe¶Ñe¶Òe¶Óe¶Ôe¶Õe¶Öe¶×e¶Øe¶Ùe¶Úe¶Ûe¶Üe¶Ýe¶Þe¶ße¶àe¶áe¶âe¶ãe¶äe¶åe¶æe¶çe¶èe¶ée¶êe¶ëe¶ìe¶íe¶îe¶ïe¶ðe¶ñe¶òe¶óe¶ôe¶õe¶öe¶÷e¶øe¶ùe¶úe¶ûe¶üe¶ýe¶þe¶ÿe¶€f¶�f¶‚f¶ƒf¶„f¶…f¶†f¶‡f¶ˆf¶‰f¶Šf¶‹f¶Œf¶�f¶Žf¶�f¶�f¶‘f¶’f¶“f¶”f¶•f¶–f¶—f¶˜f¶™f¶šf¶›f¶œf¶�f¶žf¶Ÿf¶ f¶¡f¶¢f¶£f¶¤f¶¥f¶¦f¶§f¶¨f¶©f¶ªf¶«f¶¬f¶­f¶®f¶¯f¶°f¶±f¶²f¶³f¶´f¶µf¶¶f¶·f¶¸f¶¹f¶ºf¶»f¶¼f¶½f¶¾f¶¿f¶Àf¶Áf¶Âf¶Ãf¶Äf¶Åf¶Æf¶Çf¶Èf¶Éf¶Êf¶Ëf¶Ìf¶Íf¶Îf¶Ïf¶Ðf¶Ñf¶Òf¶Óf¶Ôf¶Õf¶Öf¶×f¶Øf¶Ùf¶Úf¶Ûf¶Üf¶Ýf¶Þf¶ßf¶àf¶áf¶âf¶ãf¶äf¶åf¶æf¶çf¶èf¶éf¶êf¶ëf¶ìf¶íf¶îf¶ïf¶ðf¶ñf¶òf¶óf¶ôf¶õf¶öf¶÷f¶øf¶ùf¶úf¶ûf¶üf¶ýf¶þf¶ÿf¶€g¶�g¶‚g¶ƒg¶„g¶…g¶†g¶‡g¶ˆg¶‰g¶Šg¶‹g¶Œg¶�g¶Žg¶�g¶�g¶‘g¶’g¶“g¶”g¶•g¶–g¶—g¶˜g¶™g¶šg¶›g¶œg¶�g¶žg¶Ÿg¶ g¶¡g¶¢g¶£g¶¤g¶¥g¶¦g¶§g¶¨g¶©g¶ªg¶«g¶¬g¶­g¶®g¶¯g¶°g¶±g¶²g¶³g¶´g¶µg¶¶g¶·g¶¸g¶¹g¶ºg¶»g¶¼g¶½g¶¾g¶¿g¶Àg¶Ág¶Âg¶Ãg¶Äg¶Åg¶Æg¶Çg¶Èg¶Ég¶Êg¶Ëg¶Ìg¶Íg¶Îg¶Ïg¶Ðg¶Ñg¶Òg¶Óg¶Ôg¶Õg¶Ög¶×g¶Øg¶Ùg¶Úg¶Ûg¶Üg¶Ýg¶Þg¶ßg¶àg¶ág¶âg¶ãg¶äg¶åg¶æg¶çg¶èg¶ég¶êg¶ëg¶ìg¶íg¶îg¶ïg¶ðg¶ñg¶òg¶óg¶ôg¶õg¶ög¶÷g¶øg¶ùg¶úg¶ûg¶üg¶ýg¶þg¶ÿg¶€h¶�h¶‚h¶ƒh¶„h¶…h¶†h¶‡h¶ˆh¶‰h¶Šh¶‹h·Œh·�h·Žh·�h·�h·‘h·’h·“h·”h·•h·–h·—h·˜h·™h·šh·›h·œh·�h·žh·Ÿh· h·¡h·¢h·£h·¤h·¥h·¦h·§h·¨h·©h·ªh·«h·¬h·­h·®h·¯h·°h·±h·²h·³h·´h·µh·¶h··h·¸h·¹h·ºh·»h·¼h·½h·¾h·¿h·Àh·Áh·Âh·Ãh·Äh·Åh·Æh·Çh·Èh·Éh·Êh·Ëh·Ìh·Íh·Îh·Ïh·Ðh·Ñh·Òh·Óh·Ôh·Õh·Öh·×h·Øh·Ùh·Úh·Ûh·Üh·Ýh·Þh·ßh·àh·áh·âh·ãh·äh·åh·æh·çh·èh·éh·êh·ëh·ìh·íh·îh·ïh·ðh·ñh·òh·óh·ôh·õh·öh·÷h·øh·ùh·úh·ûh·üh·ýh·þh·ÿh·€i·�i·‚i·ƒi·„i·…i·†i·‡i·ˆi·‰i·Ši·‹i·Œi·�i·Ži·�i·�i·‘i·’i·“i·”i·•i·–i·—i·˜i·™i·ši·›i·œi·�i·ži·Ÿi· i·¡i·¢i·£i·¤i·¥i·¦i·§i·¨i·©i·ªi·«i·¬i·­i·®i·¯i·°i·±i·²i·³i·´i·µi·¶i··i·¸i·¹i·ºi·»i·¼i·½i·¾i·¿i·Ài·Ái·Âi·Ãi·Äi·Åi·Æi·Çi·Èi·Éi·Êi·Ëi·Ìi·Íi·Îi·Ïi·Ði·Ñi·Òi·Ói·Ôi·Õi·Öi·×i¸Øi¸Ùi¸Úi¸Ûi¸Üi¸Ýi¸Þi¸ßi¸ài¸ái¸âi¸ãi¸äi¸åi¸æi¸çi¸èi¸éi¸êi¸ëi¸ìi¸íi¸îi¸ïi¸ði¸ñi¸òi¸ói¸ôi¸õi¸öi¸÷i¸øi¸ùi¸úi¸ûi¸üi¸ýi¸þi¸ÿi¸€j¸�j¸‚j¹ƒj¹„jº…j»†j¼‡j¼ˆj¼‰j¼Šj¼‹j¼Œj¼�j¼Žj¼�j¼�j¼‘j¼’j¼“j¼”j¼•j½–j½—j½˜j½™j½šj½›j½œj½�j½žj½Ÿj½ j½¡j½¢j½£j½¤j½¥j½¦j½§j½¨j½©j½ªj½«j½¬j½­j½®j½¯j¾°j¾±j¾²j¾³j¾´j¾µj¾¶j¾·j¾¸j¾¹j¾ºj¾»j¾¼j¾½j¾¾j¾¿j¾Àj¾Áj¾Âj¾Ãj¾Äj¾Åj¾Æj¾Çj¾Èj¾Éj¾Êj¾Ëj¾Ìj¾Íj¾Îj¾Ïj¾Ðj¾Ñj¾Òj¾Ój¾Ôj¾Õj¾Öj¾×j¾Øj¾Ùj¾Új¾Ûj¾Üj¾Ýj¾Þj¾ßj¾àj¾áj¾âj¾ãj¾äj¾åj¾æj¾çj¾èj¾éj¾êj¾ëj¾ìj¾íj¾îj¾ïj¾ðj¾ñj¾òj¾ój¾ôj¾õj¾öj¾÷j¾øj¾ùj¾új¾ûj¾üj¾ýj¾þj¾ÿj¾€k¾�k¾‚k¾ƒk¾„k¾…k¾†k¾‡k¾ˆk¾‰k¾Šk¾‹k¾Œk¾�k¾Žk¾�k¾�k¾‘k¾’k¾“k¾”k¾•k¾–k¾—k¾˜k¾™k¾šk¾›k¾œk¾�k¾žk¾Ÿk¾ k¾¡k¾¢k¾£k¾¤k¾¥k¾¦k¾§k¾¨k¾©k¾ªk¾«k¾¬k¾­k¾®k¾¯k¾°k¾±k¾²k¾³k¾´k¾µk¾¶k¾·k¾¸k¾¹k¾ºk¾»k¾¼k¾½k¾¾k¾¿k¾Àk¾Ák¾Âk¾Ãk¾Äk¾Åk¾Æk¾Çk¾Èk¾Ék¾Êk¾Ëk¾Ìk¾Ík¾Îk¾Ïk¾Ðk¾Ñk¾Òk¾Ók¾Ôk¾Õk¾Ök¾×k¾Øk¾Ùk¾Úk¾Ûk¾Ük¾Ýk¾Þk¾ßk¾àk¾ák¾âk¾ãk¾äk¾åk¾æk¾çk¾èk¾ék¾êk¾ëk¾ìk¾ík¾îk¾ïk¾ðk¾ñk¾òk¾ók¾ôk¾õk¾ök¾÷k¾øk¾ùk¾úk¾ûk¾ük¾ýk¾þk¾ÿk¾€l¾�l¾‚l¾ƒl¾„l¾…l¾†l¾‡l¾ˆl¾‰l¾Šl¾‹l¾Œl¾�l¾Žl¾�l¾�l¾‘l¾’l¾“l¾”l¾•l¾–l¾—l¾˜l¾™l¾šl¾›l¾œl¾�l¾žl¾Ÿl¾ l¾¡l¾¢l¾£l¾¤l¾¥l¾¦l¾§l¾¨l¾©l¾ªl¾«l¾¬l¾­l¾®l¾¯l¾°l¾±l¾²l¾³l¾´l¾µl¾¶l¾·l¾¸l¾¹l¾ºl¾»l¾¼l¾½l¾¾l¾¿l¾Àl¾Ál¾Âl¾Ãl¾Äl¾Ål¾Æl¾Çl¾Èl¾Él¾Êl¾Ël¾Ìl¾Íl¾Îl¾Ïl¾Ðl¾Ñl¿ÒlÀÓlÀÔlÀÕlÀÖlÀ×lÀØlÀÙlÀÚlÀÛlÀÜlÀÝlÀÞlÀßlÁàlÁálÁâlÁãlÁälÁålÁælÁçlÁèlÁélÂêlÂëlÂìlÂílÂîlÂïlÂðlÂñlÂòlÂólÂôlÂõlÂölÂ÷lÂølÂùlÂúlÂûlÂülÂýlÂþlÂÿl€mÂ�m‚mƒm„mÂ…m†m‡mˆm‰mŠm‹mÂŒmÂ�mÂŽmÂ�mÂ�m‘mÂ’m“m”m•m–m—m˜m™mšm›mœmÂ�mžmŸm m¡m¢m£m¤mÂ¥m¦m§m¨m©mªm«m¬m­m®m¯mðmñmIJmijmÅ´mŵmƶmÆ·mǸmȹmɺmÉ»mɼmɽmɾmÉ¿mÉÀmÉÁmÊÂmËÃmÌÄmÍÅmÍÆmÍÇmÍÈmÎÉmÏÊmÏËmÏÌmÏÍmÏÎmÏÏmÏÐmÐÑmÐÒmÐÓmÐÔmÐÕmÐÖmÑ×mÒØmÓÙmÓÚmÓÛmÓÜmÓÝmÓÞmÓßmÓàmÓámÓâmÔãmÕämÕåmÕæmÕçmÕèmÕémÕêmÕëmÕìmÕímÕîmÕïmÕðmÕñmÖòm×óm×ôm×õm×öm×÷m×øm×ùm×úm×ûm×üm×ým×þm×ÿm×€n×�nׂn׃nׄn×…n׆nׇn׈n׉n׊n׋n׌n×�n׎nØ�nØ�nØ‘nØ’nÙ“nÙ”nÚ•nÚ–nÔ—nÔ˜nÔ™nÔšnÔ›nÔœnÔ�nÔžnÔŸnÔ nÔ¡nÔ¢nÔ£nÔ¤nÔ¥nÔ¦nÔ§nÔ¨nÔ©nÔªnÔ«nÔ¬nÔ­nÔ®nÔ¯nÔ°nÔ±nÔ²nÔ³nÔ´nÔµnÔ¶nÔ·nÔ¸nÔ¹nÔºnÔ»nÔ¼nÔ½nÔ¾nÔ¿nÔÀnÔÁnÔÂnÔÃnÔÄnÔÅnÔÆnÔÇnÔÈnÔÉnÔÊnÔËnÔÌnÔÍnÔÎnÔÏnÔÐnÔÑnÔÒnÔÓnÔÔnÔÕnÔÖnÔ×nÔØnÛÙnÛÚnÛÛnÛÜnÛÝnÛÞnÛßnÛànÛánÛânÛãnÛänÛånÛænÛçnÜènÜénÝênÝënÝìnÝínÝînÝïnÝðnÝñnÝònÝónÞônÞõnßönà÷náønáùnáúnáûnáünáýnáþnáÿná€oá�oá‚oáƒoá„oá…oá†oá‡oáˆoá‰oáŠoá‹oáŒoá�oáŽoá�oá�oâ‘oâ’oâ“oâ”oâ•oã–oã—oã˜oã™oãšoã›oãœoã�oãžoãŸoã oã¡oã¢oã£oã¤oã¥oã¦oã§oã¨oã©oãªoã«oã¬oã­oã®oã¯oã°oã±oã²oã³oã´oãµoã¶oã·oã¸oã¹oãºoã»oã¼oã½oã¾oã¿oãÀoãÁoãÂoãÃoãÄoãÅoãÆoãÇoãÈoãÉoãÊoãËoãÌoãÍoãÎoãÏoãÐoãÑoãÒoãÓoãÔoãÕoãÖoã×oãØoãÙoãÚoãÛoãÜoãÝoãÞoãßoãàoãáoäâoäãoääoäåoäæoäçoäèoäéoäêoäëoäìoäíoäîoäïoäðoäñoäòoäóoäôoäõoäöoä÷oäøoäùoåúoåûoåüoåýoåþoåÿoå€på�på‚påƒpå„på…på†på‡påˆpå‰påŠpå‹påŒpå�påŽpå�pæ�pæ‘pæ’pæ“pæ”pæ•pæ–pæ—pæ˜pæ™pæšpæ›pæœpæ�pæžpæŸpæ pæ¡pæ¢pæ£pæ¤pæ¥pæ¦pæ§pæ¨pæ©pæªpæ«pæ¬pæ­pæ®pæ¯pæ°pæ±pæ²pæ³pæ´pæµpæ¶pæ·pæ¸pæ¹pæºpæ»pæ¼pæ½pæ¾pæ¿pæÀpæÁpæÂpæÃpæÄpæÅpæÆpæÇpæÈpæÉpæÊpæËpæÌpæÍpæÎpæÏpæÐpæÑpæÒpæÓpæÔpæÕpæÖpæ×pæØpæÙpæÚpæÛpæÜpæÝpæÞpæßpæàpæápæâpæãpæäpæåpææpæçpæèpæépæêpæëpæìpæípæîpæïpæðpæñpæòpæópæôpæõpæöpæ÷pæøpæùpæúpæûpæüpæýpæþpçÿpç€qç�qç‚qçƒqç„qç…qç†qè‡qèˆqè‰qèŠqè‹qèŒqè�qèŽqè�qè�qè‘qè’qè“qè”qè•qè–qè—qè˜qè™qèšqè›qèœqè�qèžqèŸqè qè¡qé¢qé£qé¤qé¥qÓ¦qÓ§qÓ¨qÓ©qÓªqÓ«qÓ¬qÓ­qÓ®qÓ¯qÓ°qÓ±qÓ²qÓ³qÓ´qÓµqÓ¶qÓ·qÓ¸qÓ¹qÓºqÓ»qÓ¼qÓ½qÓ¾qÓ¿qÓÀqÓÁqÓÂqÓÃqÓÄqÓÅqÓÆqÓÇqÓÈqÓÉqÓÊqÓËqÓÌqÓÍqÓÎqÓÏqÓÐqÓÑqÓÒqÓÓqÓÔqÓÕqÓÖqÓ×qÓØqÓÙqÓÚqÓÛqÓÜqÓÝqÓÞqÓßqÓàqÓáqÓâqÓãqÓäqÓåqÓæqÓçqÓèqÓéqÓêqÓëqÓìqÓíqÓîqÓïqÓðqÓñqÓòqÓóqÓôqÓõqÓöqÓ÷qÓøqÓùqÓúqÓûqÓüqÓýqêþqêÿqê€rê�rê‚rëƒrë„rì…rì†rì‡rìˆrì‰rìŠrì‹rìŒrì�rìŽrì�rì�rì‘rì’rì“rì”rì•rí–rí—rí˜rí™ríšrí›ríœrí�rížríŸrí rí¡rí¢rí£rí¤rí¥rí¦rí§rí¨rí©ríªrí«rí¬rí­rí®rí¯rí°rí±rí²rí³rí´ríµrí¶rí·rí¸rí¹ríºrí»rí¼rí½rí¾rí¿ríÀríÁríÂríÃríÄríÅríÆríÇríÈríÉríÊríËríÌríÍríÎríÏríÐríÑríÒríÓríÔríÕrîÖrî×rîØrïÙrïÚrïÛrïÜrïÝrïÞrïßrïàrïárïârïãrïärïårïærïçrïèrïérïêrïërïìrïírïîrïïrïðrïñrïòrïórïôrïõrïörï÷rïørïùrïúrïûrïürïýrïþrïÿrï€sï�sï‚sïƒsï„sï…sï†sï‡sðˆsð‰sðŠsð‹sðŒsñ�sñŽsñ�sñ�sñ‘sñ’sò“sò”sò•sò–sò—sò˜sò™sòšsò›sòœsò�sòžsòŸsò sò¡sò¢sò£sò¤sò¥sò¦sò§sò¨sò©sòªsò«sò¬sò­sò®sò¯sò°sò±sò²sò³sò´sòµsò¶sò·sò¸sò¹sòºsò»sò¼sò½sò¾sò¿sòÀsòÁsòÂsòÃsòÄsòÅsòÆsòÇsòÈsòÉsòÊsòËsòÌsòÍsòÎsòÏsòÐsòÑsòÒsòÓsòÔsòÕsóÖsó×sóØsóÙsóÚsóÛsóÜsóÝsóÞsóßsóàsóásóâsóãsóäsóåsóæsóçsóèsóésóêsóësóìsóísóîsóïsóðsóñsóòsóósóôsóõsóösó÷sóøsóùsóúsóûsóüsóýsóþsóÿsó€tó�tó‚tóƒtó„tó…tó†tó‡tóˆtó‰tóŠtó‹tóŒtó�tóŽtó�tó�tó‘tó’tó“tó”tó•tó–tó—tó˜tó™tóštó›tóœtó�tóžtóŸtó tó¡tó¢tó£tó¤tó¥tó¦tó§tó¨tó©tóªtô«tô¬tô­tô®tô¯tõ°tõ±tõ²tõ³tõ´tõµtƶtÆ·tƸtƹtƺtÆ»tƼtƽtƾtÆ¿tÆÀtÆÁtÆÂtÆÃtÆÄtÆÅtÆÆtÆÇtÆÈtÆÉtÆÊtÆËtÆÌtÆÍtÆÎtÆÏtÆÐtÆÑtÆÒtÆÓtÆÔtÆÕtÆÖtÆ×tÆØtÆÙtÆÚtÕÛtÕÜtÕÝtÕÞtÕßtÕàtÕátÕâtÕãtÕätÕåtÕætÕçtÕètÕétÕêtÕëtÕìtÕítÕîtÕïtÕðtÕñtÕòtÕótÕôtÕõtÕötÕ÷tÕøtÕùtÕútÕûtÕütÕýtÕþtÕÿtÕ€uÕ�uÕ‚uÕƒuÕ„uÕ…uÕ†uÕ‡uÕˆuÕ‰uÕŠuÕ‹uÕŒuÕ�uÕŽuÕ�uÕ�uÕ‘uÕ’uÕ“uÕ”uÕ•uÕ–uÕ—uÕ˜uÕ™uÕšuÕ›uÕœuÕ�uÕžuÕŸuÕ uÕ¡uÕ¢uÕ£uÕ¤uÕ¥uÕ¦uÕ§uÕ¨uÕ©uÕªuÕ«uÕ¬uÕ­uÕ®uÕ¯uÕ°uÕ±uÕ²uÕ³uÕ´uÕµuÕ¶uÕ·uÕ¸uÕ¹uÕºuÕ»uÕ¼uÕ½uÕ¾uÕ¿uÕÀuÕÁuÕÂuÕÃuÕÄuÕÅuÕÆuÕÇuÕÈuÕÉuÕÊuöËuöÌuÖÍuÖÎuÖÏuÖÐuÖÑuÖÒuÖÓuÖÔuÖÕuÖÖu÷×uøØuÐÙuÐÚuÐÛuÐÜuÐÝuÐÞuÐßuÐàuÐáuÐâuÐãuÐäuÐåuÐæuÐçuÐèuÐéuÐêuÐëuÐìuÐíuÐîuÐïuÐðuÐñuÐòuÐóuÐôuÐõuÐöuÐ÷uÐøuÐùuÐúuÐûuÐüuÐýuÐþuÐÿuЀvÐ�vЂvЃvЄvÐ…vІvЇvЈvЉvЊvЋvÐŒvÐ�vÐŽvÐ�vÐ�vБvÐ’vГvДvЕvЖvЗvИvЙvКvЛvМvÐ�vОvПvРvСvТvУvФvÐ¥vЦvЧvШvЩvЪvЫvЬvЭvЮvЯvаvбvвvгvдvеvжvзvиvйvкvлvмvнvоvпvÐÀvÐÁvÐÂvÐÃvÐÄvÐÅvÐÆvÐÇvÐÈvÐÉvÐÊvÐËvÐÌvÐÍvÐÎvÐÏvÐÐvÐÑvùÒvùÓvùÔvùÕvùÖvù×vùØvùÙvùÚvùÛvùÜvùÝvùÞvùßvúàvúávúâvúãvúävûåvûævûçvûèvûévûêvûëvûìvûívûîvûïvüðvüñvüòvüóvüôvüõvüövü÷vüøvüùvüúvüûvüüvüývüþvüÿvü€wü�wý‚wýƒwý„wý…wþ†wþ‡wþˆwþ‰wþŠwþ‹wþŒwþ�wþŽwþ�wþ�wþ‘wþ’wþ“wÿ”wÿ•wÿ–wÿ—w€˜w€™w€šw€›w€œw€�w�žw�Ÿw� w�¡w�¢w�£w�¤w‚¥w‚¦wƒ§wƒ¨wƒ©wƒªwƒ«wƒ¬wƒ­wƒ®w߯wß°wß±wß²wß³wß´wßµwß¶wß·w߸wß¹wߺwß»wß¼wß½wß¾wß¿wßÀwßÁwßÂwßÃwßÄwßÅw߯wßÇwßÈwßÉwßÊwßËwßÌwßÍwßÎwßÏwßÐwßÑwßÒwßÓwßÔwßÕwßÖwß×wߨwßÙwßÚwßÛwßÜwßÝwßÞwßßwßàwßáwßâwßãwßäwßåwßæwßçwßèwßéwßêwßëwßìwßíwßîwßïwßðwßñwßòwßówßôwßõwßöwß÷wßøwßùwßúwßûwßüwßýwßþwßÿw߀xß�xß‚x߃xß„xß…x߆x߇x߈x߉xߊxß‹xߌxß�xߎxß�xß�xß‘xß’xß“xß”xß•xß–xß—xߘxß™xßšxß›xßœxß�xßžxߟxß xß¡xߢxߣxߤxߥxߦxß§xߨxß©xߪxß«x߬xß­xß®x߯xß°xß±xß²xß³xß´xßµxß¶xß·x߸xß¹xߺxß»xß¼xß½xß¾xß¿xßÀxßÁxßÂxßÃxßÄxßÅx߯xßÇxßÈxßÉxßÊxßËxßÌxßÍxßÎxßÏxßÐxßÑxßÒxßÓxßÔxßÕxßÖxß×xߨxßÙxßÚxßÛxßÜxßÝxßÞxßßxßàxßáxßâxßãxßäxßåxßæxßçxßèxßéxßêxßëxßìxßíxßîxßïxßðxßñxßòxßóxßôxßõxßöxß÷xßøxßùxßúxßûxßüxßýxßþxßÿx߀yß�yß‚y߃yß„yß…y߆y߇y߈yê‰yêŠyê‹yêŒyê�yêŽyê�yê�yê‘yê’yê“yê”yê•yê–yê—yê˜yê™yêšyê›yêœyê�yêžyêŸyê yê¡yê¢yê£yê¤yê¥yê¦yê§yê¨yê©yêªyê«yê¬yê­yê®yê¯yê°yê±yê²yê³yê´yêµyê¶yê·yê¸yê¹yêºyê»yê¼yê½yê¾yê¿yêÀyêÁyêÂyêÃyêÄyêÅyêÆyêÇyêÈyêÉyêÊyêËyêÌyêÍyêÎyêÏyêÐyêÑyêÒyêÓyêÔyêÕyêÖyê×yÒØyÒÙyÒÚyÒÛyÒÜyÒÝyÒÞyÒßyÒàyÒáyÒâyÒãyÒäyÒåyÒæyÒçyÒèyÒéyÒêyÒëyÒìyÒíyÒîyÒïyÒðyÒñyÒòyÒóyÒôyÒõyÒöyÒ÷yÒøyÒùyÒúyÒûyÒüyÒýyÒþyÒÿyÒ€z„�z„‚z„ƒz…„z……z…†z…‡z…ˆz…‰z…Šz…‹z…Œz…�z…Žz…�z…�z…‘z…’z…“z…”z†•z†–z†—z†˜z†™z†šz†›z†œz†�z†žz†Ÿz† z†¡z†¢z†£z†¤z†¥z†¦z‡§z‡¨z‡©z‡ªz‡«z‡¬z‡­z‡®z‡¯z‡°z‡±z‡²z‡³z‡´zˆµzˆ¶zˆ·zˆ¸zˆ¹zˆºzˆ»zˆ¼zˆ½zˆ¾zˆ¿zˆÀzˆÁzˆÂzˆÃzˆÄzˆÅzˆÆzˆÇzˆÈzˆÉzˆÊzˆËzˆÌzˆÍzˆÎzˆÏzˆÐzˆÑzˆÒzˆÓzˆÔzˆÕzˆÖzˆ×zˆØzˆÙzˆÚzˆÛzˆÜzˆÝzˆÞzˆßzˆàzˆázˆâzˆãzˆäzˆåzˆæzˆçzˆèzˆézˆêzˆëz‰ìz‰íz‰îz‰ïz‰ðz‰ñz‰òz‰óz‰ôz‰õz‰öz‰÷z‰øz‰ùz‰úz‰ûz‰üz‰ýz‰þz‰ÿz‰€{‰�{Š‚{Šƒ{‹„{‹…{‹†{Œ‡{Œˆ{Œ‰{ŒŠ{Œ‹{ŒŒ{Œ�{ŒŽ{Œ�{Œ�{Œ‘{Œ’{�“{�”{�•{�–{�—{�˜{�™{�š{�›{�œ{��{�ž{�Ÿ{� {�¡{�¢{�£{�¤{�¥{�¦{�§{�¨{�©{�ª{�«{�¬{�­{�®{�¯{�°{�±{�²{�³{�´{޵{�¶{�·{�¸{�¹{‘º{‘»{‘¼{‘½{‘¾{‘¿{‘À{‘Á{‘Â{‘Ã{‘Ä{‘Å{‘Æ{‘Ç{‘È{‘É{‘Ê{‘Ë{‘Ì{‘Í{‘Î{‘Ï{‘Ð{‘Ñ{‘Ò{‘Ó{‘Ô{‘Õ{‘Ö{‘×{‘Ø{‘Ù{‘Ú{‘Û{‘Ü{‘Ý{‘Þ{‘ß{‘à{‘á{‘â{‘ã{‘ä{‘å{‘æ{‘ç{‘è{‘é{‘ê{‘ë{‘ì{‘í{‘î{‘ï{‘ð{‘ñ{‘ò{‘ó{‘ô{‘õ{‘ö{‘÷{‘ø{‘ù{‘ú{‘û{‘ü{‘ý{‘þ{‘ÿ{‘€|’�|’‚|’ƒ|’„|’…|’†|’‡|’ˆ|’‰|’Š|’‹|’Œ|’�|’Ž|’�|’�|’‘|’’|’“|’”|’•|’–|’—|’˜|’™|’š|’›|“œ|”�|”ž|”Ÿ|” |”¡|”¢|”£|”¤|•¥|–¦|–§|–¨|–©|–ª|–«|–¬|–­|Ä®|į|İ|—±|—²|—³|—´|—µ|—¶|—·|—¸|—¹|—º|—»|—¼|—½|—¾|—¿|—À|—Á|—Â|—Ã|—Ä|—Å|—Æ|—Ç|—È|—É|—Ê|—Ë|—Ì|—Í|—Î|—Ï|—Ð|—Ñ|—Ò|—Ó|—Ô|—Õ|—Ö|—×|—Ø|—Ù|—Ú|—Û|—Ü|—Ý|—Þ|—ß|—à|—á|—â|—ã|—ä|—å|—æ|—ç|—è|—é|—ê|—ë|—ì|—í|—î|—ï|—ð|—ñ|—ò|—ó|—ô|—õ|—ö|—÷|—ø|—ù|—ú|—û|—ü|—ý|—þ|—ÿ|—€}—�}—‚}—ƒ}—„}—…}—†}—‡}—ˆ}—‰}—Š}˜‹}˜Œ}˜�}˜Ž}˜�}˜�}™‘}™’}™“}™”}™•}™–}™—}™˜}™™}™š}™›}™œ}™�}™ž}™Ÿ}™ }™¡}™¢}™£}™¤}™¥}™¦}™§}™¨}™©}™ª}™«}™¬}™­}™®}™¯}™°}™±}™²}™³}™´}™µ}™¶}™·}™¸}™¹}™º}™»}™¼}™½}™¾}™¿}™À}™Á}™Â}™Ã}™Ä}™Å}™Æ}™Ç}™È}™É}™Ê}™Ë}™Ì}™Í}™Î}™Ï}™Ð}™Ñ}™Ò}™Ó}™Ô}™Õ}™Ö}™×}™Ø}×Ù}×Ú}×Û}×Ü}×Ý}×Þ}×ß}×à}×á}×â}×ã}×ä}×å}׿}×ç}×è}×é}×ê}×ë}×ì}×í}×î}×ï}×ð}×ñ}×ò}×ó}×ô}×õ}×ö}×÷}×ø}×ù}×ú}×û}×ü}×ý}×þ}×ÿ}×€~×�~ׂ~׃~ׄ~×…~׆~ׇ~׈~׉~׊~׋~׌~×�~׎~×�~×�~ב~×’~ד~×”~ו~×–~×—~ט~×™~ך~×›~ל~×�~מ~ן~× ~ס~×¢~×£~פ~×¥~צ~×§~ר~ש~ת~׫~׬~×­~×®~ׯ~×°~×±~ײ~׳~×´~×µ~×¶~×·~׸~×¹~׺~×»~×¼~×½~×¾~׿~×À~×Á~×Â~×Ã~×Ä~×Å~ׯ~×Ç~×È~×É~šÊ~šË~›Ì~›Í~›Î~›Ï~œÐ~œÑ~öÒ~öÓ~öÔ~öÕ~öÖ~ö×~öØ~öÙ~öÚ~öÛ~öÜ~öÝ~öÞ~öß~öà~öá~öâ~öã~öä~öå~öæ~öç~öè~�é~�ê~�ë~�ì~�í~�î~�ï~�ð~�ñ~�ò~�ó~�ô~�õ~�ö~�÷~�ø~�ù~�ú~�û~�ü~�ý~žþ~žÿ~ž€ž�ž‚žƒž„ž…ž†ž‡žˆž‰žŠž‹žŒž�žŽž�ž�ž‘ž’ž“ž”ž•ž–ž—ž˜ž™žšž›žœž�žžžŸž ž¡ž¢ž£ž¤ž¥ž¦ž§ž¨ž©žªž«ž¬ž­ž®ž¯ž°ž±ž²ž³ž´žµž¶ž·ž¸Ÿ¹ŸºŸ»Ÿ¼Ÿ½Ÿ¾Ÿ¿ŸÀŸÁŸÂŸÃŸÄŸÅŸÆŸÇŸÈŸÉŸÊŸËŸÌŸÍŸÎŸÏŸÐŸÑŸÒŸÓŸÔŸÕŸÖŸ×ŸØŸÙŸÚŸÛŸÜŸÝŸÞŸßŸàŸáŸâŸãŸäŸåŸæŸçŸèŸéŸêŸë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ÷ÿ÷€€÷�€÷‚€÷ƒ€÷„€÷…€÷†€÷‡€÷ˆ€÷‰€÷Š€÷‹€÷Œ€÷�€÷Ž€÷�€÷�€÷‘€÷’€÷“€÷”€÷•€÷–€÷—€÷˜€÷™€÷š€÷›€÷œ€÷�€÷ž€÷Ÿ€÷ €÷¡€÷¢€÷£€÷¤€÷¥€÷¦€÷§€÷¨€÷©€÷ª€¡«€¡¬€¡­€¡®€¡¯€¢°€¢±€¢²€£³€£´€£µ€£¶€£·€£¸€£¹€£º€£»€£¼€£½€£¾€£¿€£À€£Á€£€£À£Ä€£Å€£Æ€£Ç€£È€£É€£Ê€£Ë€£Ì€£Í€£΀£Ï€£Ѐ£Ñ€£Ò€£Ó€£Ô€£Õ€£Ö€£×€£Ø€£Ù€£Ú€£Û€£Ü€£Ý€£Þ€£߀£à€£á€£â€£ã€£ä€£å€£æ€£ç€£è€Ñé€Ñê€Ñë€Ñì€Ñí€Ñî€Ñï€Ñð€Ññ€Ñò€Ñó€Ñô€Ñõ€Ñö€Ñ÷€Ñø€Ñù€Ñú€Ñû€Ñü€Ñý€Ñþ€Ñÿ€Ñ€�Ñ��Ñ‚�у�Ñ„�Ñ…�ц�ч�ш�щ�ÑŠ�Ñ‹�ÑŒ�Ñ��ÑŽ�Ñ��Ñ��Ñ‘�Ñ’�Ñ“�Ñ”�Ñ•�Ñ–�Ñ—�ј�Ñ™�Ñš�Ñ›�Ñœ�Ñ��Ñž�ÑŸ�Ñ �Ñ¡�Ñ¢�Ñ£�Ѥ�Ñ¥�Ѧ�ѧ�Ѩ�Ñ©�Ѫ�Ñ«�Ѭ�Ñ­�Ñ®�ѯ�Ѱ�ѱ�Ѳ�ѳ�Ñ´�ѵ�Ѷ�Ñ·�Ѹ�ѹ�Ѻ�Ñ»�Ѽ�ѽ�Ѿ�Ñ¿�ÑÀ�ÑÁ�ÑÂ�ÑÃ�ÑÄ�ÑÅ�ÑÆ�ÑÇ�ÑÈ�ÑÉ�ÑÊ�ÑË�ÑÌ�ÑÍ�ÑÎ�ÑÏ�ÑÐ�ÑÑ�ÑÒ�ÑÓ�ÑÔ�ÑÕ�ÑÖ�Ñ×�ÑØ�ÑÙ�ÑÚ�ÑÛ�ÑÜ�ÑÝ�ÑÞ�Ñß�Ñà�Ñá�Ñâ�Ñã�Ñä�Ñå�Ñæ�Ñç�¤è�¤é�¤ê�¤ë�¤ì�¤í�¤î�¤ï�¤ð�øñ�øò�øó�øô�øõ�øö�ø÷�øø�øù�øú�øû�øü�øý�øþ�øÿ�ø€‚ø�‚ø‚‚øƒ‚ø„‚ø…‚ø†‚ø‡‚øˆ‚ø‰‚øŠ‚ø‹‚øŒ‚ø�‚øŽ‚ø�‚ø�‚ø‘‚ú’‚ú“‚ú”‚ú•‚ú–‚ú—‚ú˜‚ú™‚úš‚ú›‚úœ‚ú�‚úž‚úŸ‚ú ‚ú¡‚ú¢‚ú£‚ú¤‚ú¥‚ú¦‚ú§‚ú¨‚ú©‚úª‚ú«‚ú¬‚ú­‚ú®‚ú¯‚ú°‚ú±‚ú²‚ú³‚ú´‚úµ‚ú¶‚ú·‚ú¸‚ú¹‚úº‚ú»‚ú¼‚ú½‚ú¾‚ú¿‚úÀ‚úÁ‚ú‚úÂúÄ‚úÅ‚úÆ‚úÇ‚úÈ‚úÉ‚úÊ‚úË‚úÌ‚úÍ‚ú΂úÏ‚úЂúÑ‚úÒ‚¥Ó‚¥Ô‚¥Õ‚¥Ö‚¥ׂ¥Ø‚¥Ù‚¥Ú‚¥Û‚¥Ü‚¥Ý‚¥Þ‚¥ß‚¥à‚¥á‚¥â‚¥ã‚¥ä‚¥å‚¥æ‚¥ç‚¥è‚¥é‚¥ê‚¥ë‚¥ì‚¥í‚¥î‚¥ï‚¥ð‚¥ñ‚¥ò‚¥ó‚¥ô‚¥õ‚¥ö‚¥÷‚¥ø‚¥ù‚¥ú‚¥û‚¥ü‚¥ý‚¥þ‚¥ÿ‚¥€ƒ¥�ƒ¥‚ƒ¥ƒƒ¥„ƒ¥…ƒ¥†ƒ¥‡ƒ¥ˆƒ¥‰ƒ¥Šƒ¥‹ƒ¥Œƒû�ƒûŽƒû�ƒû�ƒû‘ƒû’ƒû“ƒû”ƒû•ƒû–ƒû—ƒû˜ƒû™ƒûšƒû›ƒûœƒû�ƒûžƒ¦Ÿƒ¦ ƒ¦¡ƒ¦¢ƒ¦£ƒ¦¤ƒ¦¥ƒ¦¦ƒ¦§ƒ¦¨ƒ¦©ƒ¦ªƒ¦«ƒ¦¬ƒ¦­ƒ¦®ƒ¦¯ƒ¦°ƒ¦±ƒ¦²ƒ¦³ƒ¦´ƒ¦µƒ¦¶ƒ¦·ƒ¦¸ƒ¦¹ƒ¦ºƒ¦»ƒ¦¼ƒ¦½ƒ¦¾ƒ¦¿ƒ¦Àƒ¦Áƒ¦ƒ¦Ã¦ă¦Ń¦ƃ¦ǃ¦ȃ¦Ƀ¦ʃ¦˃¦̃¦̓¦΃¦σ¦Ѓ¦у¦Òƒ¦Óƒ¦Ôƒ¦Õƒ¦Öƒ¦׃¦؃¦Ùƒ¦Úƒ¦Ûƒ¦܃¦݃¦Þƒ¦߃¦àƒ¦áƒ¦âƒ¦ãƒ¦äƒ¦åƒ¦æƒ¦çƒÙèƒÙéƒÙêƒÙëƒÙìƒÙíƒÙîƒÙïƒÙðƒÙñƒÙòƒÙóƒÙôƒÙõƒÙöƒÙ÷ƒÙøƒÙùƒ§úƒ§ûƒ§üƒ§ýƒ§þƒ§ÿƒ§€„§�„§‚„§ƒ„§„„§…„¨†„¨‡„¨ˆ„¨‰„¨Š„¨‹„¨Œ„¨�„¨Ž„¨�„¨�„¨‘„¨’„¨“„¨”„¨•„¨–„¨—„¨˜„¨™„¨š„¨›„¨œ„¨�„¨ž„¨Ÿ„¨ „¨¡„¨¢„¨£„¨¤„¨¥„¨¦„¨§„¨¨„¨©„¨ª„¨«„¨¬„¨­„¨®„¨¯„¨°„¨±„¨²„¨³„¨´„¨µ„¨¶„¨·„¨¸„¨¹„¨º„¨»„¨¼„¨½„¨¾„¨¿„¨À„¨Á„¨„¨Ä¨Ä„¨Å„¨Æ„¨Ç„¨È„¨É„¨Ê„¨Ë„¨Ì„¨Í„¨΄¨Ï„¨Є¨Ñ„¨Ò„¨Ó„¨Ô„¨Õ„¨Ö„¨ׄ¨Ø„¨Ù„¨Ú„¨Û„¨Ü„¨Ý„¨Þ„¨ß„¨à„¨á„¨â„¨ã„¨ä„¨å„¨æ„¨ç„¨è„¨é„¨ê„¨ë„¨ì„¨í„©î„©ï„©ð„©ñ„©ò„©ó„©ô„©õ„©ö„©÷„©ø„©ù„©ú„ªû„ªü„ªý„ªþ„«ÿ„«€…«�…«‚…«ƒ…«„…«……«†…«‡…«ˆ…«‰…¬Š…¬‹…¬Œ…¬�…¬Ž…¬�…¬�…¬‘…¬’…¬“…¬”…¬•…¬–…¬—…¬˜…¬™…¬š…¬›…¬œ…¬�…¬ž…¬Ÿ…¬ …¬¡…¬¢…¬£…¬¤…¬¥…¬¦…¬§…¬¨…¬©…¬ª…¬«…¬¬…¬­…¬®…¬¯…¬°…¬±…¬²…¬³…¬´…¬µ…¬¶…¬·…¬¸…¬¹…¬º…¬»…¬¼…¬½…¬¾…¬¿…¬À…¬Á…¬Â…¬Ã…¬Ä…¬Å…¬Æ…¬Ç…¬È…¬É…¬Ê…¬Ë…¬Ì…¬Í…¬Î…¬Ï…¬Ð…¬Ñ…¬Ò…¬Ó…¬Ô…¬Õ…¬Ö…¬×…¬Ø…¬Ù…¬Ú…¬Û…¬Ü…¬Ý…¬Þ…¬ß…¬à…¬á…¬â…¬ã…¬ä…¬å…¬æ…¬ç…¬è…¬é…¬ê…¬ë…¬ì…¬í…¬î…¬ï…¬ð…¬ñ…¬ò…¬ó…¬ô…¬õ…¬ö…¬÷…¬ø…¬ù…¬ú…¬û…¬ü…¬ý…¬þ…¬ÿ…¬€†¬�†¬‚†¬ƒ†¬„†¬…†¬††­‡†­ˆ†­‰†­І­‹†­Œ†­�†­ކ­�†­�†­‘†­’†­“†­”†­•†­–†­—†­˜†­™†­š†­›†­œ†­�†­ž†­Ÿ†­ †­¡†­¢†­£†­¤†­¥†­¦†­§†­¨†­©†­ª†­«†­¬†­­†­®†­¯†­°†­±†­²†­³†­´†­µ†­¶†­·†­¸†­¹†­º†­»†­¼†­½†­¾†­¿†­À†­Á†­†­Æ­Ć­ņ­Ɔ­dž­Ȇ­Ɇ­ʆ­ˆ­̆­͆­Ά­φ­І­ц­Ò†­Ó†­Ô†­Õ†­Ö†­׆­؆­Ù†­Ú†­Û†­܆­݆­Þ†­߆­à†­á†­â†­ã†­ä†­å†­æ†­ç†­è†­é†­ê†­ë†­ì†­í†­î†­ï†­ð†­ñ†­ò†®ó†®ô†®õ†®ö†®÷†®ø†®ù†®ú†®û†®ü†®ý†®þ†®ÿ†®€‡®�‡®‚‡®ƒ‡¯„‡¯…‡¯†‡¯‡‡¯ˆ‡¯‰‡¯Ї¯‹‡¯Œ‡¯�‡¯އ¯�‡¯�‡¯‘‡¯’‡¯“‡¯”‡¯•‡¯–‡¯—‡¯˜‡¯™‡¯š‡¯›‡¯œ‡¯�‡¯ž‡¯Ÿ‡¯ ‡¯¡‡¯¢‡¯£‡¯¤‡¯¥‡¯¦‡¯§‡¯¨‡¯©‡¯ª‡¯«‡¯¬‡¯­‡¯®‡¯¯‡°°‡°±‡°²‡°³‡°´‡°µ‡±¶‡±·‡±¸‡±¹‡±º‡±»‡±¼‡±½‡±¾‡±¿‡±À‡±Á‡±‡±Ç±ć±Ň±Ƈ±LJ±ȇ±ɇ±ʇ±ˇ±̇±͇±·±χ±Ї±ч±Ò‡±Ó‡±Ô‡±Õ‡±Ö‡±ׇ±؇±Ù‡±Ú‡±Û‡±܇±݇±Þ‡±߇±à‡±á‡±â‡±ã‡²ä‡²å‡²æ‡²ç‡²è‡²é‡²ê‡²ë‡²ì‡²í‡³î‡³ï‡³ð‡³ñ‡³ò‡³ó‡³ô‡´õ‡µö‡µ÷‡µø‡µù‡µú‡µû‡µü‡µý‡µþ‡µÿ‡µ€ˆµ�ˆµ‚ˆµƒˆµ„ˆµ…ˆµ†ˆµ‡ˆµˆˆµ‰ˆµŠˆµ‹ˆµŒˆµ�ˆµŽˆµ�ˆµ�ˆµ‘ˆµ’ˆµ“ˆµ”ˆµ•ˆµ–ˆµ—ˆµ˜ˆµ™ˆµšˆµ›ˆµœˆµ�ˆµžˆµŸˆµ ˆµ¡ˆµ¢ˆµ£ˆµ¤ˆµ¥ˆµ¦ˆµ§ˆµ¨ˆµ©ˆµªˆµ«ˆµ¬ˆµ­ˆµ®ˆµ¯ˆµ°ˆµ±ˆµ²ˆµ³ˆµ´ˆµµˆµ¶ˆµ·ˆµ¸ˆµ¹ˆµºˆµ»ˆµ¼ˆµ½ˆµ¾ˆµ¿ˆµÀˆµÁˆµˆµÈµĈµňµƈµLjµȈµɈµʈµˈµ̈µ͈µΈµψµЈµшµÒˆµÓˆµÔˆµÕˆµÖˆµ׈µ؈µÙˆµÚˆµÛˆµ܈µ݈µÞˆµ߈µàˆµáˆµâˆµãˆµäˆµåˆµæˆµçˆµèˆµéˆµêˆµëˆµìˆµíˆµîˆµïˆµðˆµñˆµòˆµóˆµôˆµõˆ¶öˆ¶÷ˆ¶øˆ¶ùˆ¶úˆ¶ûˆ¶üˆ¶ýˆ¶þˆ¶ÿˆ¶€‰¶�‰¶‚‰¶ƒ‰¶„‰¶…‰¶†‰¶‡‰¶ˆ‰¶‰‰¶Љ¶‹‰¶Œ‰¶�‰¶މ¶�‰¶�‰¶‘‰¶’‰¶“‰¶”‰¶•‰¶–‰¶—‰¶˜‰¶™‰¶š‰¶›‰¶œ‰¶�‰¶ž‰¶Ÿ‰¶ ‰¶¡‰¶¢‰¶£‰¶¤‰¶¥‰¶¦‰¶§‰¶¨‰¶©‰¶ª‰¶«‰¶¬‰Ú­‰·®‰·¯‰·°‰à±‰à²‰à³‰à´‰àµ‰à¶‰à·‰à¸‰à¹‰àº‰à»‰à¼‰à½‰à¾‰à¿‰ØÀ‰ØÁ‰Ø‰ØÉØĉØʼnØƉØljØȉØɉØʉØˉØ̉Ø͉ØΉØωØЉØщØÒ‰ØÓ‰ØÔ‰ØÕ‰ØÖ‰Ø׉Ø؉šÙ‰šÚ‰šÛ‰š܉¸݉¸Þ‰¸߉¸à‰¸á‰¸â‰¸ã‰¸ä‰¸å‰¸æ‰¸ç‰¸è‰¸é‰¸ê‰¸ë‰¸ì‰¸í‰¸î‰¸ï‰¸ð‰¸ñ‰¸ò‰¸ó‰¸ô‰¸õ‰¸ö‰¸÷‰¸ø‰¸ù‰¸ú‰¸û‰¸ü‰¸ý‰¸þ‰¸ÿ‰¸€Š¸�Џ‚ŠëƒŠë„Šë…Šë†Šë‡ŠëˆŠë‰ŠëŠŠë‹ŠëŒŠë�ŠëŽŠë�Šë�Šë‘Šë’й“й”й•й–й—й˜Š¹™Š¹šŠ¹›Š¹œŠ¹�йžŠ¹ŸŠ¹ Š¹¡Š¹¢Š¹£Šº¤Šº¥Šº¦Šº§Šº¨Šº©ŠºªŠº«Šº¬Šº­Šº®Šº¯Šº°Šº±Šº²Šº³Šº´ŠºµŠº¶Šº·Šº¸Šº¹ŠººŠº»ŠË¼ŠË½ŠË¾ŠË¿ŠËÀŠËÁŠËŠËÊËÄŠËÅŠËÆŠËÇŠËÈŠËÉŠËÊŠËËŠËÌŠËÍŠðΊðÏŠðЊðÑŠðÒŠðÓŠðÔŠðÕŠðÖŠð׊ðØŠðÙŠðÚŠðÛŠðÜŠðÝŠðÞŠðߊðàŠðኻ⊻㊻䊻劻抻犻芻銻ꊻ늻슻튻ðŠ»ñŠ»òŠ»óŠ»ôŠ»õŠ»öŠ»÷Š»øŠ»ùŠ»úŠ»ûŠ»üŠ»ýŠ»þŠ»ÿŠ»€‹»�‹»‚‹»ƒ‹»„‹»…‹»†‹»‡‹»ˆ‹»‰‹»Š‹»‹‹»Œ‹»�‹»Ž‹»�‹»�‹»‘‹»’‹»“‹»”‹»•‹»–‹»—‹»˜‹»™‹»š‹»›‹»œ‹»�‹»ž‹»Ÿ‹» ‹»¡‹»¢‹»£‹»¤‹»¥‹»¦‹»§‹»¨‹»©‹»ª‹»«‹»¬‹»­‹»®‹»¯‹»°‹»±‹»²‹»³‹»´‹¼µ‹¼¶‹¼·‹¼¸‹¼¹‹¼º‹¼»‹¼¼‹¼½‹¼¾‹¼¿‹¼À‹¼Á‹¼‹ÇËÇÄ‹ùÅ‹ùÆ‹ùÇ‹ùÈ‹ùÉ‹ùÊ‹ùË‹ùÌ‹ùÍ‹ù΋ùÏ‹ùЋùÑ‹ùÒ‹ùÓ‹ùÔ‹ùÕ‹ùÖ‹ù׋ùØ‹ùÙ‹ùÚ‹ùÛ‹ùÜ‹ùÝ‹ùÞ‹ùß‹ùà‹ùá‹ùâ‹ùã‹ùä‹ùå‹ùæ‹ùç‹ùè‹ùé‹ùê‹ùë‹ùì‹ùí‹ùî‹ùï‹ùð‹ùñ‹ùò‹ùó‹ùô‹ùõ‹ùö‹ù÷‹ùø‹ùù‹ùú‹ùû‹ùü‹ùý‹ùþ‹ùÿ‹ù€Œù�Œù‚ŒùƒŒù„Œù…Œù†Œü‡ŒüˆŒü‰ŒüŠŒü‹ŒüŒŒü�ŒüŽŒü�Œü�Œü‘Œü’Œü“Œü”Œü•Œü–Œü—Œü˜Œü™ŒüšŒü›ŒüœŒü�ŒüžŒüŸŒü Œü¡Œü¢Œü£Œü¤Œü¥Œü¦Œþ§Œþ¨Œþ©ŒþªŒþ«Œþ¬Œþ­Œþ®Œþ¯Œþ°Œþ±Œþ²Œ½³Œ½´Œ½µŒ½¶Œ½·Œ½¸Œ½¹Œ½ºŒ½»Œ½¼Œ½½Œ¾¾Œ¾¿Œ¾ÀŒ¾ÁŒ¾ÂŒ¾ÃŒ¿ÄŒ¿ÅŒ¿ÆŒ¿ÇŒ¿ÈŒ¿ÉŒ¿ÊŒ¿ËŒ¿ÌŒ¿ÍŒ¿ÎŒ¿ÏŒ¿ÐŒ¿ÑŒ¿ÒŒ¿ÓŒ¿ÔŒ¿ÕŒ¿ÖŒ¿׌¿ØŒ¿ÙŒ¿ÚŒ¿ÛŒ¿ÜŒ¿ÝŒ¿ÞŒ¿ߌ¿àŒ¿áŒ¿âŒ¿ãŒ¿äŒ¿åŒ¿æŒ¿çŒ¿èŒ¿éŒ¿êŒ¿ëŒ¿ìŒ¿íŒ¿îŒ¿ïŒ¿ðŒ¿ñŒ¿òŒ¿óŒ¿ôŒ¿õŒ¿öŒ¿÷Œ¿øŒ¿ùŒ¿úŒ¿ûŒ¿üŒ¿ýŒ¿þŒ¿ÿŒ¿€�¿��¿‚�¿ƒ�¿„�¿…�¿†�¿‡�¿ˆ�¿‰�¿Š�¿‹�¿Œ�¿��¿Ž�¿��¿��¿‘�¿’�¿“�¿”�¿•�¿–�¿—�¿˜�À™�Àš�À›�Áœ�Á��Áž�ÁŸ� �¡�¢�£�¤�Â¥�¦�§�¨�©�ª�«�¬�­�®�¯�°�±�²�³�´�µ�¶�·�¸�¹�º�»�¼�½�¾�¿�ÂÀ�ÂÁ�ÂÂ�ÂÃ�ÂÄ�ÃÅ�ÃÆ�ÃÇ�ÃÈ�ÃÉ�ÃÊ�ÃË�ÃÌ�ÃÍ�ÄÎ�ÄÏ�ÄÐ�ÄÑ�ÄÒ�ÄÓ�ÄÔ�ÄÕ�ÄÖ�Ä×�ÄØ�ÄÙ�ÄÚ�ÄÛ�ÄÜ�ÄÝ�ÄÞ�Äß�Åà�Åá�Åâ�Åã�Åä�Åå�Åæ�Åç�Åè�Åé�Åê�Åë�Åì�Åí�Åî�Åï�Åð�Åñ�Åò�Åó�Åô�Åõ�Åö�Å÷�Åø�Åù�Åú�Åû�Åü�Åý�Åþ�Åÿ�Å€ŽÅ�ŽÅ‚ŽÆƒŽÆ„ŽÆ…ŽÆ†ŽÆ‡ŽÆˆŽÎ‰ŽÎŠŽÎ‹ŽÎŒŽÎ�ŽÎŽŽÎ�ŽÎ�ŽÎ‘ŽÎ’ŽÎ“ŽÎ”ŽÎ•ŽÎ–ŽÎ—ŽÎ˜ŽÎ™ŽÎšŽÎ›ŽÎœŽÇ�ŽÇžŽÇŸŽÇ ŽÇ¡ŽÇ¢ŽÇ£ŽÇ¤ŽÇ¥ŽÇ¦ŽÇ§ŽÇ¨ŽÇ©ŽÇªŽÇ«ŽÇ¬ŽÇ­ŽÇ®ŽÇ¯ŽÇ°ŽÇ±ŽÇ²ŽÇ³ŽÇ´ŽÇµŽÈ¶ŽÈ·ŽÈ¸ŽÌ¹ŽÌºŽÌ»ŽÌ¼ŽÌ½ŽÌ¾ŽÌ¿ŽÌÀŽÌÁŽÌÂŽÌÃŽÌÄŽÌÅŽÌÆŽÌÇŽÌÈŽÌÉŽÌÊŽÌËŽÌÌŽÌÍŽÌÎŽÌÏŽÌÐŽÌÑŽÉÒŽÉÓŽÉÔŽÉÕŽÉÖŽÉ׎ÉØŽÉÙŽÉÚŽÉÛŽÉÜŽÉÝŽÉÞŽÉߎÉàŽÉáŽÉâŽÉãŽÉäŽÉåŽÉæŽÉçŽÉèŽÉéŽÉêŽÉëŽÉìŽÉíŽÉîŽÉïŽÉðŽÉñŽÉòŽÉóŽÉôŽÉõŽÉöŽÉ÷ŽÉøŽÉùŽÉúŽÉûŽÉüŽÉýŽÉþŽÉÿŽÉ€�É��É‚�Ƀ�É„�É…�Ɇ�ɇ�Ɉ�ɉ�ÉŠ�É‹�ÉŒ�É��ÉŽ�É��É��É‘�É’�É“�É”�É•�É–�É—�Ϙ�Ï™�Ïš�Ï›�Ïœ�Ï��Ïž�ÏŸ�Ï �Ï¡�Ï¢�Ï£�Ϥ�Ï¥�Ϧ�ϧ�Ϩ�Ï©�Ϫ�Ï«�Ϭ�Ï­�Ï®�ϯ�ϰ�ϱ�ϲ�ϳ�Ï´�ϵ�϶�Ï·�ϸ�Ϲ�Ϻ�Ï»�ϼ�Ͻ�Ͼ�Ï¿�ÏÀ�ÏÁ�ÏÂ�ÏÃ�ÏÄ�ÏÅ�ÏÆ�ÏÇ�ÏÈ�ÏÉ�ÏÊ�ÏË�ÏÌ�ÏÍ�ÏÎ�ÏÏ�ÏÐ�ÏÑ�ÏÒ�ÊÓ�ÊÔ�ÊÕ�ÊÖ�Ê×�ÊØ�ÊÙ�ÊÚ�ÊÛ�ÊÜ�ÊÝ�ÿÞ�ÿß�Êà�Êá�Êâ�Êã�Êä�Êå�Êæ�Êç�Êè�Êé�Êê�Êë�Êì�Êí�Êî�Êï�Êð�Êñ�Êò�Êó�Êô�Êõ�Êö�Ê÷�Ëø�Ëù�Ëú�Ëû�Ëü�Ìý�Ìþ�Ìÿ�Ì€�Ì��Ì‚�̃�Ì„�Ì…�̆�̇�̈�̉�ÌŠ�Ì‹�ÌŒ�Ì��ÌŽ�Ì��Ì��Ì‘�Ì’�Ì“�Ì”�Ì•�Ì–�Ì—�̘�Ì™�Ìš�Ì›�Ìœ�Ì��Ìž�ÌŸ�Ì �Ì¡�Þ¢�Þ£�Þ¤�Þ¥�Þ¦�Þ§�Þ¨�Þ©�Þª�Þ«�Þ¬�Þ­�Þ®�ů�Ű�ű�Ų�ų�Å´�ŵ�Ŷ�Å·�Ÿ�Ź�ź�Å»�ż�Ž�ž�Å¿�ÅÀ�ýÁ�ýÂ�ýÃ�ýÄ�ýÅ�ýÆ�ýÇ�ýÈ�ýÉ�ýÊ�ýË�ýÌ�ýÍ�ýÎ�ýÏ�ýÐ�ýÑ�ýÒ�ýÓ�ýÔ�ýÕ�ýÖ�ý×�ýØ�ýÙ�ýÚ�ýÛ�ýÜ�ýÝ�ýÞ�ýß�ýà�ýá�ýâ�ýã�ýä�ýå�ýæ�ýç�ýè�ýé�ýê�Íë�Íì�Íí�Íî�Íï�Íð�Íñ�Íò�Íó�Íô�Íõ�Íö�Í÷�Íø�Íù�Íú�Íû�Íü�Íý�Íþ�Íÿ�Í€‘Í�‘Í‚‘̓‘Í„‘Í…‘͆‘͇‘͈‘͉‘ÍŠ‘Í‹‘ÍŒ‘Í�‘ÍŽ‘Í�‘Í�‘Í‘‘Í’‘Í“‘Í”‘Í•‘Í–‘Í—‘͘‘Í™‘Íš‘Í›‘Íœ‘Í�‘Íž‘ÍŸ‘Í ‘Í¡‘Í¢‘Í£‘ͤ‘Í¥‘ͦ‘ͧ‘ͨ‘Í©‘ͪ‘Í«‘ͬ‘Í­‘Í®‘ͯ‘Ͱ‘ͱ‘Ͳ‘ͳ‘Í´‘͵‘Ͷ‘Í·‘͸‘͹‘ͺ‘Í»‘ͼ‘ͽ‘;‘Í¿‘ÍÀ‘ÍÁ‘Í‘ÍÑÍÄ‘ÍÅ‘ÍÆ‘ÍÇ‘ÍÈ‘ÍÉ‘ÈÊ‘ÈË‘ÈÌ‘ÈÍ‘ÈΑÈÏ‘ÈБÈÑ‘ÈÒ‘ÈÓ‘ÈÔ‘ÈÕ‘ÈÖ‘ÈבÈØ‘ÈÙ‘ÈÚ‘ÈÛ‘ÈÜ‘ÈÝ‘ÈÞ‘Èß‘Èà‘Èá‘Èâ‘Èã‘Èä‘Èå‘Èæ‘Èç‘Èè‘Îé‘Îê‘Îë‘Îì‘Îí‘Îî‘Îï‘Îð‘Ïñ‘Ïò‘Ðó‘Ðô‘Ðõ‘Ðö‘Ð÷‘Ðø‘Ðù‘Ðú‘Ðû‘Ðü‘Ðý‘Ðþ‘Ðÿ‘Ѐ’.�’.‚’.ƒ’.„’.…’.†’.‡’.ˆ’.‰’.Š’.‹’.Œ’.�’.Ž’.�’.�’.‘’.’’.“’.”’.•’.–’.—’.˜’.™’.š’.›’.œ’.�’.ž’.Ÿ’. ’.¡’.¢’.£’.¤’.¥’.¦’.§’.¨’.©’.ª’.«’.¬’.­’.®’.¯’.°’.±’.²’.³’.´’.µ’.¶’.·’.¸’.¹’.º’.»’.¼’.½’.¾’.¿’.À’.Á’.Â’.Ã’.Ä’.Å’.Æ’.Ç’.È’.É’.Ê’.Ë’.Ì’.Í’.Î’.Ï’.Ð’.Ñ’.Ò’.Ó’.Ô’.Õ’.Ö’.×’.Ø’.Ù’.Ú’.Û’.Ü’.Ý’.Þ’.ß’.à’.á’.â’.ã’.ä’.å’.æ’.ç’.è’.é’.ê’.ë’.ì’.í’.î’.ï’.ð’.ñ’.ò’.ó’.ô’.õ’.ö’.÷’.ø’.ù’.ú’.û’.ü’.ý’.þ’.ÿ’.€“.�“Ñ‚“у“Ò„“Ò…“Ó†“Ó‡“Óˆ“Ó‰“ÔŠ“Õ‹“ÕŒ“Ö�“ÖŽ“Ö�“Ö�“Ö‘“Ö’“ד“Ø”“Ù•“Ù–“Ú—“Ú˜“Û™“Ûš“Û›“Ûœ“Û�“Üž“ÜŸ“Ü “Ý¡“Ý¢“Þ£“Þ¤“Þ¥“Þ¦“Þ§“ߨ“ß©“ߪ“ß«“߬“ß­“ß®“߯“ß°“ß±“ß²“ß³“ß´“ßµ“ß¶“ß·“߸“ß¹“ߺ“ß»“༓ནྒྷ࿓àÀ“àÁ“à“àÓàÄ“àÅ“àÆ“áÇ“áÈ“áÉ“áÊ“áË“áÌ“áÍ“áΓáÏ“áГáÑ“áÒ“áÓ“áÔ“áÕ“áÖ“áדáØ“áÙ“áÚ“áÛ“áÜ“áÝ“áÞ“áß“áà“áá“áâ“áã“áä“áå“áæ“âç“âè“âé“âê“âë“âì“âí“âî“âï“âð“âñ“âò“âó“âô“âõ“âö“â÷“âø“âù“âú“âû“âü“âý“âþ“âÿ“—â�”ₔ⃔℔⅔↔⇔∔≔⊔⋔㌔ä�”䎔ä�”ä�”䑔䒔䓔䔔䕔䖔䗔䘔䙔䚔囔朔æ�”枔柔栔桔梔棔椔楔榔秔稔穔窔竔笔答箔篔簔籔粔糔純絔綔緔縔織纔绔缔罔羔翔çÀ”çÁ”ç”çÔçÄ”çÅ”çÆ”çÇ”çÈ”çÉ”çÊ”çË”çÌ”çÍ”çΔçÏ”çДçÑ”çÒ”çÓ”çÔ”çÕ”çÖ”ç×”çØ”çÙ”çÚ”çÛ”çÜ”çÝ”çÞ”çß”çà”çá”çâ”çã”çä”çå”çæ”çç”çè”çé”çê”çë”çì”çí”çî”çï”çð”çñ”çò”çó”çô”çõ”çö”ç÷”çø”çù”çú”çû”çü”çý”çþ”çÿ”瀕ç�•炕烕焕煕熕燕爕牕犕狕猕ç�•玕ç�•ç�•瑕璕瓕甕畕疕痕瘕癕皕盕眕ç�•瞕矕砕硕碕磕礕祕禕秕稕穕窕竕笕筕箕篕簕豕貕賕贕赕趕跕踕蹕躕軕輕轕辕迕éÀ•éÁ•é•éÕéÄ•éŕ鯕éÇ•éÈ•éÉ•éÊ•éË•éÌ•éÍ•éΕéÏ•éЕéÑ•éÒ•éÓ•éÔ•éÕ•éÖ•éוêØ•ëÙ•ëÚ•ëÛ•ëÜ•ëÝ•ëÞ•ëß•ëà•ëá•ëâ•ëã•ëä•ëå•ëæ•ëç•ëè•ëé•ëê•ëë•ëì•ëí•ëî•ëï•ëð•ëñ•ëò•ëó•ìô•ìõ•ìö•ì÷•íø•íù•íú•íû•íü•îý•îþ•îÿ•î�–î�–î�–î�–î�–ﬖð­–ð®–ð¯–ð°–ñ±–ñ²–ñ³–ñ´–ñµ–ñ¶–ñ·–ñ¸–ñ¹–ñº–ñ»–ñ¼–ñ½–ñ¾–ñ¿–ñÀ–ñÁ–ñ–ñÖñÄ–ñÅ–ñÆ–ñÇ–ñÈ–ñÉ–ñÊ–ñË–ñÌ–ñÍ–ñΖñÏ–ñЖñÑ–ñÒ–ñÓ–ñÔ–ñÕ–ñÖ–ñ×–ñØ–òÙ–òÚ–òÛ–òÜ–óÝ–óÞ–óß–óà–óá–óâ–óã–óä–óå–óæ–óç–óè–óé–óê–óë–óì–óí–óî–óï–óð–ôñ–ôò–ôó–ôô–ôõ–ôö–ô÷–ôø–ôù–õú–õû–õü–õý–õþ–õÿ–õ€—õ�—õ‚—õƒ—õ„—õ…—õ†—õ‡—õˆ—õ‰—õŠ—õ‹—õŒ—õ�—õŽ—õ�—õ�—ö‘—ö’—ö“—ö”—÷•—÷–—÷——÷˜—÷™—÷š—÷›—÷œ—÷�—÷ž—÷Ÿ—÷ —÷¡—ø¢—ø£—ø¤—ø¥—ø¦—ø§—ø¨—ø©—øª—ø«—ø¬—ø­—ø®—ø¯—ø°—ø±—ø²—ø³—ø´—øµ—ø¶—ø·—ø¸—ø¹—øº—ø»—ø¼—ø½—ø¾—ø¿—øÀ—øÁ—ø—ø×øÄ—øÅ—øÆ—øÇ—øÈ—øÉ—øÊ—øË—øÌ—øÍ—øΗøÏ—øЗøÑ—øÒ—øÓ—øÔ—øÕ—ùÖ—ú×—úØ—úÙ—úÚ—úÛ—úÜ—úÝ—úÞ—úß—úà—úá—úâ—úã—úä—úå—úæ—úç—úè—úé—úê—úë—úì—úí—úî—úï—úû 2.7.20250701† None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó}ÀÇReturn the error corresponding to an exit code from the Agda processÃ113Ä154Å71Æ42Ç1 ¿ÀÁ5ÂÃÄÅÆÇ ÂÃÄÅÆÇÀ¿5ÁÈü*1Éü$(Êü "ËüNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóÌ.A data file path relative to the project root.ÍAgda's embedded data files.ÎÆThe subdirectory in the Agda data directory containing the emacs mode.Ï×The Agda mode's Emacs Lisp files, given in the order in which they should be compiled.ÍÌÏÎÌÍÎÏNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó½ÐThe default termination depth.ÑÉCut off structural order comparison at some depth in termination checker?Òc >= 0( means: record decrease up to including c+1.ÐÑÒÓÑÒÓÐÔý Õý Öý×ý None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóòØThe standard semiring on ð—s.ÛHasZero€ is needed for sparse matrices, to tell which is the element that does not have to be stored. It is a cut-down version of SemiRing, which is definable without the implicit ?cutoff.Ý Semirings.ß Addition.àMultiplication.á×Zero. The one is never used in matrix multiplication , one :: a -- ^ One.âThe standard semiring on ñ—s.ãThe standard semiring on ò—s. ØÙÚÛÜÝÞßàá ÛÜÝÞßàáÚÙØâþ- -ãþ% %None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóyå%A term with many holes (error value).æ,A term with one hole and the (old) contents.çA constant term.äåæçäåæçèÿ $éÿ None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó6êGuard: return the value a only if the boolean is TrueëGuard: return the action f only if the boolean is TrueìBranch over a ó— collection of values.íBranch over a ó—3 collection of values using the supplied action.îBetter name for ô—.êëìíîïëêìíîïNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóhðBoolean algebras.òSet difference, dual to õ.ùTypes isomorphic to ð—. €þ�ÿ‚€ƒ�„‚…ƒ†„‡…ˆ†‰‡ðñòóôõö÷øùúûüýðñòóôõö÷øþÿ€„…†‡ùúûüý�‚ƒñøˆŠÌ ̉ŠÕ Õ'ŠŠÏ ÏNone) #&'()+,/159<=>?ÀÁÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó‰ ‹ Conclude u2 from  funUniv u1 u2 and u1.Œ Conclude u1 from  funUniv u1 u2 and u2.�ÝCompute the universe type of a function space from the universe types of domain and codomain.ŽÍHacky showing of standard universes, does not take actual names into account.�Fibrancy of standard universes.�*The successor universe type of a universe.‘We have IsFibrant < IsStrict.’Fibrant universe.“Non-fibrant universe.”Flavor of standard universe (Prop < Type < SSet,).•!Fibrant universe of propositions.–Non-fibrant universe.—Fibrant universe.‹” kind of the funSort.” kind of the domain.”* kind of the codomain, if uniquely exists.ŒHave •?” kind of the funSort.” kind of the codomain.” kind of the domain, if unique. ‹Œ�Ž��‘’“”•–— ”•–—‘’“��Œ‹�Ž ˜‹! !™‹")š‹+/›‹œ‹�‹#ž‹18Ÿ‹& & ‹¡‹¢‹£‹ ¤‹ ŒNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó�¥ Transform a  CallStack by filtering each CallSite¦Get the most recent CallSite in a  CallStack, if there is one.§ Transform a  CallStack by transforming its list of CallSite¨Pops n entries off a  CallStack using  popCallStack.. Note that frozen callstacks are unaffected.©1The same as the un-exported internal function in %GHC.Exceptions (prettyCallStackLines) Prints like: +doFoo, called at foo.hs:190:24 in main:MainªPretty-print a  CallStack". This has a few differences from GHC.Stack.prettyCallStackLines–. We omit the "CallStack (from GetCallStack)" header line for brevity. If there is only one entry (which is common, due to the manual nature of the  HasCallStacké constraint), shows the entry on one line. If there are multiple, then the following lines are indented.« CallStack! comprising only the most recent CallSite¯Type of an entry in a  CallStack²Type of a filter for CallSite³$Type of the name of a function in a CallSite | e.g. proveEverything´Type of a column of a SrcLocµType of a filename of a SrcLoc | e.g. `srcfullAgdaUtilsFoo.hs`¶Type of a line number of a SrcLoc·Type of the module name of a SrcLoc | e.g. �ޏType of the package name of a SrcLoc | e.g. `Agda-2.¦@`#¥¦§¨©ª«¬­®3$¯°±²³´µ¶·¸  None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó)¹ðTotal function to convert an integer to a character. Maps surrogate code points to the replacement character U+FFFD.º&Is a character a surrogate code point.»?Map surrogate code points to the unicode replacement character.¼%The unicode replacement character ýÿ .¹º»¼¼º»¹None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó"½çExpand a telescope of environment variables (each value may refer to variables earlier in the list).¿&List of environment variable bindings.õ—~.ö— $VARIABLE or  ${VARIABLE}.÷—Ordinary characters.ø—3Tokenization for environment variable substitution.ù—Tokenize a string. The ~ is recognized as $HOME% only at the beginning of the string.ú—Home directory.&Environment variable substitution map.Input.Output with variables and ~ (home) substituted.½¾¿¿¾½À�. .Á�..None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóÂÃÄÅÃÄÅÂÆ�!Ç� È�#(É�  None) #&'()+,/0159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó àÊapplyUnless b f a applies f to a unless b.ËapplyUnlessIts p f a applies f to a unless p a.ÌMonadic version of  applyUnlessÍapplyWhen b f a applies f to a when b.ÎapplyWhenIts p f a applies f to a when p a.Ïû— version of Í.ÐMonadic version of  applyWhenÑû— version of Ê.ÒRepeat a state transition f :: a -> (b, a) with output b while condition condÙ on the output is true. Return all intermediate results and the final result where cond is False.(Postconditions (when it terminates): (fst (last (iterWhile cond f a)) == False. $all fst (init (interWhile cond f a)).ÓÓ n f x applies f to x n times and returns the result.)The applications are calculated strictly.ÔIteration to fixed-point.iterateUntil r f a0 iterates endofunction f, starting with a0 , until r( relates its result to its input, i.e., f a r a.9This is the generic pattern behind saturation algorithms.If f is monotone with regard to r , meaning a r b implies f a r f b , and f-chains starting with a09 are finite then iteration is guaranteed to terminate.*A typical instance will work on sets, and r could be set inclusion, and a0 the empty set, and f- the step function of a saturation algorithm.ÕMonadic version of Ô.Ö®Repeat something while a condition on some state is true. Return the last state (including the changes of the last transition, even if the condition became false then).×Monadic version of Ö.ØÕMore general trampoline, which allows some final computation from iteration state a into result type b.ÙMonadic version of Ø.Ú%A version of the trampoline function.The usual function iterates f :: a -> Maybe a as long as Just{}, is returned, and returns the last value of a upon Nothing.ÉusualTrampoline f = trampolineWhile $ a -> maybe (False,a) (True,) (f a).trampolineWhile is very similar to  repeatWhileÁ, only that it discards the state on which the condition went False;, and returns the last state on which the condition was True.ÛMonadic version of Ú.ÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛ,ÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛ,None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóyàSemiring with idempotent ü— == dioidáE.g. +âneutral element of compose , e.g. zero‘êÜÝÞßàáâãäåæçèéÜÝÞßçèéêåæãäàáâë’  None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóº ì?Composition: pure function after functorial (monadic) function.íAny decoration is a lens. set is a special case of dmap.î#Any decoration is traversable with traverse = traverseF. Just like any ý—6 is a functor, so is any decoration, given by just  traverseF , a functor.ïThe true pure for loop. “” is a misnomer, it should be forA.ð?A decoration is a functor that is traversable into any functor.The þ—Ó superclass is given because of the limitations of the Haskell class system.  traverseF actually implies functoriality.Minimal complete definition:  traverseF or  distributeF.ñ%Decorations commute into any functor.ò traverseF is the defining property.õ3Decorations compose. (Thus, they form a category.)ö%The identity functor is a decoration.÷0A typical decoration is pairing with some stuff.•ó–ô ìíîï)'(ðñò ìïðòñôóîí')(ì õ—Ç ÇÂö—à Ã÷—Ó ÓNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó?ø (bag ! a) finds all elements equal to a(. O(log n). Total function, returns [] if none are.ùÃReturn the multiplicity of the given element. O(log n + count _ _).ú!Returns the bag, with duplicates.ûO(1)ü !fromList = unions . map singletoný:Returns the elements of the bag, grouped by equality (==).þ "insert a b = union b (singleton a)ÿ#Returns the bag without duplicates.€O(n).� O(log n).‚ O(log n).ƒIs the bag empty?„O(1)…7Number of elements in the bag. Duplicates count. O(n).‡!Returns the bag, with duplicates.‹ÙA set with duplicates. Faithfully stores elements which are equal with regard to (==).�%The list contains all occurrences of aÎ (not just the duplicates!). Hence, the invariant: the list is never empty.øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�‹Œ�ƒ…ø�‚ùû„‰Šþüý‡ÿú†€ˆŽ˜ �˜� ��˜˜ ˜!‘˜• •$’˜“˜’ ’ (c) Sven Panne 2002-2005 BSD-styleNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó‘”ðProcess the command-line, and return the list of values that matched (and those that didn't). The arguments are:The order requirements (see ›)The option descriptions (see Ÿ)9The actual command line arguments (presumably got from ™š).”ê returns a triple consisting of the option arguments, a list of non-options, and a list of error messages.•This is almost the same as ”’, but returns a quadruple consisting of the option arguments, a list of non-options, a list of unrecognized options, and a list of error messages.–�Return a string describing the usage of a command, derived from the header (first argument) and the options described by the second argument.—óDescribes whether an option takes an argument or not, and if so how the argument is injected into a value of type a.˜no argument expected™optional argumentšoption requires argument›.What to do with options following non-options.œ*freely intersperse options and non-options�+no option processing after first non-optionžwrap non-options into optionsŸEach Ÿ describes a single option.The arguments to   are:list of short option characters*list of long option strings (without "--")argument descriptorexplanation of option for user  description of a single options:ÿ—2Kind of command line argument (internal use only):€˜ an option�˜an un-recognized option‚˜ a non-optionƒ˜!end-of-options marker (i.e. "--")„˜something went wrong...…˜ÃTake a look at the next cmd line arg and decide what to do with it.†˜Handle long option.‡˜Handle short option.”non-option handlingoption descriptorsthe command-line arguments &(options, non-options, error messages)•non-option handlingoption descriptorsthe command-line arguments 4(options, non-options, unrecognized, error messages)–headeroption descriptors'nicely formatted description of options list of short option characters*list of long option strings (without "--")argument descriptorexplanation of option for user ”•–—˜™š›œ�žŸ  ”•–›œ�žŸ —˜™š¡›Æ Æ¢›> >£›à ÃNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó"¤An empty hash table.¥ÀInserts the key and the corresponding value into the hash table.§ÁTries to find a value corresponding to the key in the hash table.¨"Converts the hash table to a list.5The order of the elements in the list is unspecified.© Hash tables.¤¥¦§¨©©¤¥§¨¦None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó°¸Should not be used when ¹ could be used.¹Should only be used in let or where.â7Unstructured pragma (Andreas, 2017-08-23, issue #2712).ܪ«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…ÜÜÝàáâÎÏÐÑÒÓÔ´µ¶·¸¹º»¼±²³¯°úûü½­®ôõöÌÍÚÛÿ€�‚ƒ„…æçèéêëìíî÷øù¾¿ÀÁÂÃÄÅÆÇÈÉÊË«¬ÕÖרÙÞßïðñãäåòóýþª†œè 臜% %ˆœ: :‰œ3 3Šœ+ +‹œÇ ÇŒœ. .�œ( (Žœå å�œÖ Ö�œë 둜= =’œÑ Ñ“œð ð”œö ö•œó ó–œù ù—œ7 7˜œü ü™œðð None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóš The function ›Á makes every function argument, case and generator pattern, and ¹ß binding strict (except for those patterns that are marked as irrefutable, and anything in a · or Ä:). Note that only the outermost patterns are made strict.š›š› œ�Ù Ù��8 8ž� Ÿ�È È �? ?¡� (¢�) )£� .¤� ¥�- -¦�; ;§�à ÞNone) #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèï󈘉˜Š˜‹˜Œ˜�˜Ž˜�˜�˜‘˜’˜“˜”˜•˜–˜—˜˜˜™˜š˜›˜œ˜�˜ž˜Ÿ˜ ˜¡˜¢˜£˜!None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóN¨ÁReturns a close function for the file together with the contents.¨¨"None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó¤©copyDirContent src dest recursively copies directory src onto dest.×First, a to-do list of copy actions is created. Then, the to-do list is carried out.ÍThis avoids copying files we have just created again, which can happen if src and dest( are not disjoint. (See issue #2705.)ªcopyIfChanged src dst makes sure that dst' exists and has the same content as dst.«ÂSearch a directory recursively, with recursion controlled by a RecursionPredicateÄ. Lazily return a unsorted list of all files matching the given FilterPredicateÂ. Any errors that occur are ignored, with warnings printed to stderr.¤˜=Action to be carried out for copying a directory recursively.¥˜Create directory if missing.¦˜Copy file if changed.§˜Perform scheduled ¤˜.¨˜copyDirContentDryRun src dest; creates a to-do list for recursively copying directory src onto dest.«&Control recursion into subdirectories.,Decide whether a file appears in the result.Directory to start searching.Files that matched the FilterPredicate.©ª«©ª«#None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóR¬ÅCreates a temporary file, writes some stuff, and returns the filepath¬¬$None) #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóÝ­‰Reads a UTF8-encoded text file and converts many character sequences which may be interpreted as line or paragraph separators into 'n'.&If the file cannot be decoded, then a ± is raised.®‰Reads a UTF8-encoded text file and converts many character sequences which may be interpreted as line or paragraph separators into 'n'.&If the file cannot be decoded, then a ± is raised.¯ÑWrites a UTF8-encoded text file. The native convention for line endings is used.°ÑWrites a UTF8-encoded text file. The native convention for line endings is used.±*A kind of exception that can be thrown by ® and ­.©˜#Decoding failed for the given file.ª˜åConverts many character sequences which may be interpreted as line or paragraph separators into 'n'.«˜,Strip the byte order mark (BOM) from a Text. (https://github.com/agda/agda/issues/6524 Èhttps://github.com/haskell-hvr/cassava/issues/106#issuecomment-373986176­®¯°±±®­¯°²Ÿ8 8!³Ÿ6 6%None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóE´Read ¬˜+, modify it strictly, and return old value. ´­˜®˜¯˜°˜±˜²˜³˜´˜µ˜¬˜´&None) #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó6µ Throw an ¿1 error reporting the location where you place µ.¶ Throw an ¿* error reporting the *caller's* call site.· Throw an  UnreachableŽ error reporting the *caller's* call site. Note that this call to "withFileAndLine" will be filtered out due its filter on the srcLocModule.¸Construct a value of ¿8 reporting the location where you call this function.¹áAbort by throwing an "impossible" error. You should not use this function directly. Instead use  IMPOSSIBLEºÀMonads in which we can catch an "impossible" error, if possible.» Catch any ¿ exception.¼ Catch only ¿# exceptions selected by the filter.½ Version of », with argument order suiting short handlers.¾ Version of ¼, with argument order suiting short handlers.¿ú"Impossible" errors, annotated with a file name and a line number corresponding to the source code location of the error.ÀàWe reached a program point without all the required primitives or BUILTIN to proceed forward. (ImpMissingDefinitions neededDefs forThisÁ7We reached a program point which should be unreachable. Impossible‡ with a different error message. Used when we reach a program point which can in principle be reached, but not for a certain run. Ã¡Ä¢Å£Æµ¶·¸¹º»¼½¾¿ÀÁ¿ÀÁ¹º»¼½¾ÃÄÅÆ¸µ¶·Ç¤å åȤÀ Àɤ) )ʤ2 2ˤ/ /̤, ,'None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóÇÎtoImpossible e extracts the  Impossible value raised via  IMPOSSIBLE to create the element e of type Empty. It proceeds by evaluating eÞ to weak head normal form and catching the exception. We are forced to wrap things in a Maybe because of catchImpossible's type.ÑValues of type Ï are not forced, because Ï' is used as a constructor argument in r¥.ÍÎÏÏÍÎЦ Ѧ Ò¦ Ó¦ (None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóÄÙThe empty set.ânot . member b.äA singleton set.ètoSingleton s == Just b iff s == singleton b.é The full set.ëIsomorphic to Set ð—.ÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëëÔÕÖרÙÜÚÛÝÞßàáâãäåçæèéêì§-"-)í§-- î§- -ï§--ð§--)None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó= ñAll integers `>= n`òAll integers `< n`ô No integers.õ All integers.ö Invariant.÷ MembershipøA single integer.ù'If finite, return the list of elements.úÒRepresents a set of integers. Invariants: - All cannot be the argument to ¶˜ or ·˜ - at most one  IntsBelow - at most one  IntsAbove¦ - if `Below lo` and `Below hi`, then `lo < hi` - if `Below lo .. (Some xs)` then `all (> lo) xs` - if `Above hi .. (Some xs)` then `all (< hi - 1) xs`¸˜From a list of integers. ñòóôõö÷øùú úôõòñøó÷ùöû¨ ü¨î îý¨è èþ¨ None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóèÿ?Modify a part of the state monadically, and return some result.€Modify a part of the state.�'Modify a part of the state monadically.‚Write a part of the state.ƒGet inner part i of structure o as designated by  Lens' o i.„ Focus on given element in a set.…8Focus on a part of the state for a stateful computation.†#Build a lens out of an isomorphism.‡"Access a map value at a given key.Š(Build a lens from a getter and a setter.‹&Only sound if the lenses are disjoint!Œ/Modify a part of the state in a subcomputation.Ž#Modify a part of the state locally.�Modify inner part i of structure o using a function i -> i.�Set inner part i of structure o as designated by  Lens' o i.‘Read a part of the state.’ Ask for part of read-only state.“ôVan Laarhoven style homogeneous lenses. Mnemoic: "Lens outer inner", same type argument order as 'get :: o -> i'.ÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’(“”•–Aÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–(Aÿ€�‚ƒ*None* #&'()+,/12359<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó[ —!All indices into an indexed list.˜/Turning an indexed list back into a plain list.™!Indices are just natural numbers.š>If you have an index you can get a lens for the given element.›)Looking up an element in an indexed list.œ/Constructing an indexed list from a plain list.�Mapping over an indexed list.žUnpacking a wrapped value.Ÿ4Lists indexed by a type-level list. A value of type All p [x�A..x™A]% is a sequence of values of types p x�A, .., p x™A.¢ An index into a type-level list.¥&Existential wrapper for indexed types.—˜™š›œ�žŸ ¡¢£¤¥¦¥¦žŸ ¡œ˜¢£¤™�š›—+None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóP§Ã(View source:) This is how you implement a lens for a record field.§¨©ª«¬©ª«¬§¨,None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó—­;Update monadically the value at one position (must exist!).® Wrapper for ­ for convenience.¯Filter a map based on the keys.­®¯­®¯-None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóDZA more general type would be )Null m => Map k a -> (Map1 k a -> m) -> mÀ but this type is problematic as we do not have a general %instance Applicative m => Null (m ()).‘°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿À‘°±²¿³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾À/None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó¨ÌLazy version of allJust  . sequence. (allJust = mapM for the Maybe/ monad.) Only executes monadic effect while isJust.ÍRetain object when tag is ¹˜.Î Version of º˜ with different argument ordering. Often, we want to case on a û—%, do something interesting in the »˜( case, but only a default action in the ¼˜* case. Then, the argument ordering of  caseMaybe is preferable. $caseMaybe m d f = flip (maybe d) m fÏMonadic version of Î. That is, Ö$ with a different argument ordering.ÐFiltering a singleton list. filterMaybe p a = ½˜ (¾˜ p [a])Ñ Version of ¿˜" with different argument ordering.ÒMonadic version of À˜.ÓÎ with flipped branches.ÔÏ with flipped branches.ÕLift a maybe to an Alternative.ÖMonadic version of º˜.×Like Á˜É, takes the prefix of a list satisfying a predicate. Returns the run of »˜s until the first ¼˜, and the tail of the list.Ø unionWith for collections of size <= 1.Ù unionsWith for collections of size <= 1.Ú Unzipping a list of length <= 1.ÛA more telling name for ©ª for the û— collection type. Or: Î without the ¼˜ case.ÜÏ without the ¼˜ case.Ý Pendent to Û.ÞÏ without the »˜ case.ÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞ˜ØÀ˜ĘŘ½˜¿˜º˜Ƙû—»˜¼˜ÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞ0None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó‡ß"Simple, non-reentrant memoisation.àÒRecursive memoisation, second argument is the value you get on recursive calls.ßàáâßàáâ1None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó;ã/Maximum of on-negative (small) natural numbers.ãäåãäåæ« ! %ç«  è« é« ê« ë«  ì«  2None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó×íAny ǘ is a ú.îEmbed Ș.ï%Represent a non-empty disjunction of Șs as ü.ð8Comparing the information content of two elements of ü'. More precise information is smaller.Includes equality: x ð x == True.ñ Opposites.related a po b iff related b (oppPO po) a.òòCombining two pieces of information (picking the least information). Used for the dominance ordering on tuples.orPO1 is associative, commutative, and idempotent. orPO has dominant element POAny, but no neutral element.ó+Are two elements related in a specific way? related a o b holds iff comparable a b is contained in o.ôChains (transitivity)  x R y S z.seqPO1 is associative, commutative, and idempotent. seqPO has dominant element POAny and neutral element (unit) POEQ.õA ü! information is a disjunction of Ș informations.÷Inclusion comparison wrapper.úDecidable partial orderings.ü6The result of comparing two things (of the same type).ýNo information (incomparable).þEqualÿGreater or equal.€ Greater than.�Less or equal than.‚ Less than.ƒPointwise comparison wrapper.Ž1Partial ordering forms a monoid under sequencing.�$Partial ordering for disjoint sums: Left _ and Right _ are unrelated.‘(Sets are partially ordered by inclusion.’Sublist for ordered lists.•¼˜ and »˜ _ are unrelated.Partial ordering for Maybe a is the same as for  Either () a.–.Less is ``less general'' (i.e., more precise).—4The pointwise ordering for lists of the same length.ñThere are other partial orderings for lists, e.g., prefix, sublist, subset, lexicographic, simultaneous order.˜&Pointwise partial ordering for tuples.related (x1,x2) o (y1,y2) iff related x1 o x2 and related y1 o y2.íîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…üýþÿ€�‚ðñòôîïõöúûí󃄅÷øù†¬$‡¬ˆ¬ê ꉬ Š¬Ó Ó‹¬êê#Œ¬ÓÓ�¬ü ü ެù ù#�¬êê�¬À ÀÁ‘¬ƒ ƒ1’¬î î/“¬¨ ¨”¬« «•¬· ·.–¬‰ ‰$—¬Ú Ú4˜¬Ë Ë;™¬° °š¬êꛬœ¬ÓÓ3None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó¥�hasLeftAdjoint x checks whether  x^-1 := x Ÿ mempty is such that x Ÿ y == x^-1 <> y for any y.ž?Completing POMonoids with inverses to form a Galois connection.ÂLaw: composition and inverse composition form a Galois connection. & related (inverseCompose p x) POLE y  == related x POLE (p <> y)  Partially ordered monoid."Law: composition must be monotone. Ð related x POLE x' && related y POLE y' ==> related (x <> y) POLE (x' <> y') ¡Partially ordered semigroup."Law: composition must be monotone. Ð related x POLE x' && related y POLE y' ==> related (x <> y) POLE (x' <> y') �žŸ ¡¡ žŸ�4None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó›¢ Semirings ( &https://en.wikipedia.org/wiki/Semiring).§Star semirings ( 5https://en.wikipedia.org/wiki/Semiring#Star_semirings).¢£¤¥¦§¨¢£¤¥¦§¨©­ *ª­ «­( (2¬­% %None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó#­® Ç®® į® ǰ® Ʊ®! !Ë None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóò³ Lossless ö. Opposite of ò.´A more general type would be %Null m => Set a -> (Set1 a -> m) -> mÀ but this type is problematic as we do not have a general %instance Applicative m => Null (m ()).Ͳ³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúû0/ÁͲ³´µû¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùú0/Á5None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóS ý Converts '€A'-'‰A' to '0'-'9'.-Precondition: The digit needs to be in range.þ'Is the character one of the subscripts '€A'-'‰A'?ÿIncrease the suffix by one.€ Print suffix.� Parse suffix.‚ Converts '0'-'9' to '€A'-'‰A'-Precondition: The digit needs to be in range.ƒ&Classification of identifier variants.„Identifier ends in number Integer (ordinary digits).…Identifier ends in Integer many primes.†Identifier ends in number Integer (subscript digits). üýþÿ€�‚ƒ„…† þ‚ýƒ„…†ÿ�€ü6None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóæ‰Partition a list into 3 groups.)Preserves the relative order or elements.ŠPartition a list into 3 groups.)Preserves the relative order or elements.‹Disjoint sum of three.�Enum type with 3 elements. ‡ˆ‰Š‹Œ�Ž��‘’ ��‘’‰‹Œ�ŽŠˆ‡“¯  #”¯ % )•¯" "–¯ —¯""˜¯  ™¯""š¯  None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóЛBifunctoriality for pairs.œLifted pairing.ž mapFst f = f -*- idŸMonadic ž. Monadic version of ›.¡ mapSnd g = id -*- g¢Monadic ¡.¤ Order a pair.›œ�žŸ ¡¢£¤¥¦§ ¨©›ž¡œ¤�£¥ ¦§ Ÿ¢¨©›œª°Û Û«°Ù Ù'¬°ÙÙ­°Ù)Ù1®°ÙÙ¯°ß ß%°°Ù Ù±°Ù3Ù>None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó%YÉ•  A variant of ±²Ó that might provide more informative error messages if the index is out of bounds.4Precondition: The index should not be out of bounds.– *Lookup function (safe). O(min n index).— ÎAnalogous to zip, combines two lists by taking the union using These (strict).˜ ÓCheck whether all consecutive elements of a list satisfy the given relation. O(n).™ ìRemove the first representative for each list element. Thus, returns all duplicate copies. O(n log n).&allDuplicates xs == sort $ xs \ nub xs.š ÆChecks if all the elements in the list are equal. Assumes that the ɘ6 instance stands for an equivalence relation. O(n).›  A version of ³´ that avoids a final µ¶#. It is right-folding just like ³´.-Precondition: the right-unit law holds, i.e. m  | A.empty = m.œ A right-folding ³´( for nonempty lists, never producing µ¶.� Breaks a list just after1 an element satisfying the predicate is found.breakAfter even [1,3,5,2,4,7,8]([1,3,5,2],[4,7,8])ž Breaks a list just after1 an element satisfying the predicate is found. breakAfter1 even 1 [3,5,2,4,7,8](1 :| [3,5,2],[4,7,8])Ÿ 5Case distinction for lists, with list first. O(1).Cf. :·.  5Case distinction for lists, with list first. O(1).Cf. :·.¡ 2Chop up a list in chunks of a given length. O(n).¢ ÆChop a list at the positions when the predicate holds. Contrary to wordsByÛ, consecutive separator elements will result in an empty segment in the result. O(n). *intercalate [x] (chopWhen (== x) xs) == xs£ 6Compute the common prefix of two lists. O(min n m).¤ 4Compute the common suffix of two lists. O(n + m).¥ ×Check whether all elements in a list are distinct from each other. Assumes that the ɘ- instance stands for an equivalence relation.O(n²) in the worst case distinct xs == True.¦ downFrom n = [n-1,..1,0] . O(n).§ ÌDrops from both lists simultaneously until one list is empty. O(min n m).¨ *Drop from the end of a list. O(length). &dropEnd n = reverse . drop n . reverseForces the whole list even for n==0.© dropFrom marker xs drops everything from xs starting with (and including) marker.ÀIf the marker does not appear, the string is returned unchanged.+The following two properties hold provided marker has no overlap with xs: È dropFrom marker (xs ++ marker ++ ys) == xs dropFrom marker xs == xs ª éReturns an (arbitrary) representative for each list element that occurs more than once. O(n log n).« *Implemented using dynamic programming and  Data.Array . O(n*m).¬ ÊImplemented using tree recursion, don't run me at home! O(3^(min n m)).­ An optimised version of ¥ . O(n log n)./Precondition: The list's length must fit in an ñ—.® Like ¾˜Ó, but additionally return the last partition of the list where the predicate is False everywhere. O(n).¯ ,Find the longest suffix of the first string xs* that is a prefix of the second string ysœ. So, basically, find the overlap where the strings can be glued together. Returns the index where the overlap starts and the length of the overlap. The length of the overlap plus the index is the length of the first string. Note that in the worst case, the empty overlap  (length xs,0) is returned.)Worst-case time complexity is quadratic:  O(min(n,m)²) where  n = length xs and  m = length ys.‹There might be asymptotically better implementations following Knuth-Morris-Pratt (KMP), but for rather short lists this is good enough.° åFind an element satisfying a predicate and return it with its index. O(n) in the worst case, e.g. findWithIndex f xs = Nothing.%TODO: more efficient implementation!?± A generalised variant of  elemIndex. O(n).² åCheck membership for the same list often. Use partially applied to create membership predicate hasElem xs :: a -> Bool. First time:  O(n log n) in the worst case.Subsequently: O(log n).Specification: hasElem xs == (ʘ xs).³ ÆHead function (safe). Returns a default value on empty lists. O(1). >headWithDefault 42 [] = 42 headWithDefault 42 [1,2,3] = 1´ 7All ways of removing one element from a list. O(n²).µ ÍLookup function with default value for index out of range. O(min n index).The name is chosen akin to ¸¹.¶ ˘& of non-empty list, safe. O(n). init1 a as = init (a:as)· ˘ and ̘ in one go, safe. O(n).¸ ˘ and ̘& of non-empty list, safe. O(n). *initLast1 a as = (init (a:as), last (a:as)¹ init, safe. O(n).º init, safe. O(n).» 3Last element of non-empty list (safe). O(n). last1 a as = last (a : as)¼ "Last two elements (safe). O(n).½  last2' x y zs# computes the last two elements of x:y:zs . O(n).¾ Last element (safe). O(n).¿ ÅLast element (safe). Returns a default list on empty lists. O(n).À 4Case distinction for lists, with list last. O(1).Á Like ¿˜Þ, but additionally return the last partition of the list where the function always returns Nothing . O(n). Maybe cons. O(1). "mcons ma as = maybeToList ma ++ asÄ ûPartition a list into first and later occurrences of elements (modulo some quotient given by a representation function).Time: O(n log n).Specification: ÅnubAndDuplicatesOn f xs = (ys, xs List.\\ ys) where ys = nubOn f xsÅ  A variant of Ç Â that is parametrised by a function that is used to select which element from a group of equal elements that is returned. The returned elements keep the order that they had in the input list. maybe (Left a) Right (f a))Note: ¿˜ f = snd . partitionMaybe f.É ÐAppend a single element at the end. Time: O(length); use only on small lists.Ê &Check whether a list is sorted. O(n).Assumes that the ǘ% instance implements a partial order.Ë ÉSplit off the largest suffix whose elements satisfy a predicate. O(n).spanEnd p xs = (ys, zs) where  xs = ys ++ zs and all p zs and #maybe True (not . p) (lastMaybe yz).Ì A generalized version of span. O(length . fst . spanJust f).Í #splitExactlyAt n xs = Just (ys, zs) iff  xs = ys ++ zs and genericLength ys = n.Î äCheck if a list has a given prefix. If so, return the list minus the prefix. O(length prefix).Ï &stripReversedSuffix rsuf xs = Just pre iff xs = pre ++ reverse suf . O(n).Ð stripSuffix suf xs = Just pre iff xs = pre ++ suf. O(n).Ñ �Returns a list with one boolean for each non-empty suffix of the list, starting with the longest suffix (the entire list). Each boolean is ¹˜Ñ exactly when every element in the corresponding suffix satisfies the predicate. An example:  Ñ  º» AbCde( = [False, False, False, True, True] For total predicates p and finite and total lists xs the following holds:  Ñ  p xs = Θ (Ϙ p) (¼½ (¼¾ xs)) Ò Tail function (safe). O(1).Ó ÆTail function (safe). Returns a default list on empty lists. O(1).Ô A generalized version of  takeWhile . (Cf. mapMaybe vs. filter#). @O(length . takeWhileJust f)."takeWhileJust f = fst . spanJust f.Õ Efficient variant of nubBy for finite lists. O(n log n). ÆuniqOn f == 'List.sortBy' (compare `'on'` f) . 'nubBy' ((==) `'on'` f),If there are several elements with the same f--representative, the first of these is kept.× /Update nth element of a list, if it exists. O(min index n). Precondition: the index is >= 0.Ø :Update the first element of a list, if it exists. O(1).Ù 9Update the last element of a list, if it exists. O(n).Ú 5Requires both lists to have the same length. O(n). Otherwise, Nothing is returned.Û Like ИÚ but keep the rest of the second list as-is (in case the second list is longer). O(n). Ä zipWithKeepRest f as bs == zipWith f as bs ++ drop (length as) bs Þ $Internal state for stripping suffix.ß Error.à +"Positive string" (result). Non-empty list.á 8"Negative string" to remove from end. List may be empty.Å ÞThe values returned by this function are used to determine which element from a group of equal elements that is returned: the smallest one is chosen (and if two elements are equally small, then the first one is chosen).ÝTwo elements are treated as equal if this function returns the same value for both elements.Ü  The list before the split point.â The list after the split point.Ï• – — ˜ ™ š › œ � ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û %Ü Ý Þ ß à á â Ï• – — ˜ ™ š › œ � ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â %ENone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó0 Ä ÀReturn Just x if it's a finite number, otherwise return Nothing.Ï �Decode a Double to its mantissa and its exponent, normalised such that the mantissa is the smallest possible number without loss of accuracy.Ð ÊDenotational equality for floating point numbers, checks bitwise equality.ÕNOTE: Denotational equality distinguishes NaNs, so its results may vary depending on the architecture and compilation flags. Unfortunately, this is a problem with floating-point numbers in general.Ñ ²I guess "denotational orderings" are now a thing? The point is that we need an Ord instance which provides a total ordering, and is consistent with the denotational equality.NOTE: The ordering induced via æ * is total, and is consistent with Ð ý. However, it is *deeply* unintuitive. For one, it considers all negative numbers to be larger than positive numbers.Ó .Encode a mantissa and an exponent as a Double.å $Decode a Double to an integer ratio.ì ÅChecks whether or not the Double is within a safe range of operation.í $Encode an integer ratio as a double.î Remove suffix .0$ from printed floating point number.ј‹The smallest representable mantissa. Simultaneously, the smallest integer which can be represented as a Double without loss of precision.Ò˜‰The largest representable mantissa. Simultaneously, the largest integer which can be represented as a Double without loss of precision.Ó˜#The largest representable exponent.Ô˜$The smallest representable exponent.+Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î +Ä ê è ë é ì Ô × Ù ç Ü Ú ä Û Ò Ý á Õ Ø ß Í â Ç Å É Ê à Î ã È Æ Ë Þ Ö Ì Ð Ñ æ å í Ï Ó î None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó ²çLookup keys in the same association list often. Use partially applied to create partial function apply m :: k -> Maybe v. First time:  O(n log n) in the worst case.Subsequently: O(log n).Specification:  apply m == (& m).³ùO(n). Delete a binding. The key must be in the domain of the finite map. Otherwise, an internal error is raised.´ÊO(1). Add a new binding. Assumes the binding is not yet in the list.µ9O(n). Get the domain (list of keys) of the finite map.¶O(n). Named in analogy to ¿Àõ. To preserve the invariant, it is sufficient that the key transformation is injective (rather than monotonic).·?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó3¾All p as ensures that the constraint p is satisfied by all the types in asÚ. (Types is between scare-quotes here because the code is actually kind polymorphic)ÀArrows [a1,..,an] r corresponds to a1 -> .. -> an -> r | Products [a1,..,an] corresponds to (a1, (..,( an, ())..))È Currying as b# witnesses the isomorphism between  Arrows as b and Products as -> bÏ. It is defined as a type class rather than by recursion on a singleton for asØ so all of that these conversions are inlined at compile time for concrete arguments.ËUsing IsBase we can define notions of Domains and  CoDomains. which *reduce* under positive information IsBase t ~ 'True even though the shape of t is not formally exposedÍOn ListsÎ Version of FoldrÖ taking a defunctionalised argument so that we can use partially applied functions.Ð On BooleansÑIsBase t is 'True whenever t is *not* a function space.¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙ¾ÐÍÎÒÃÄÅÀÓ×ØÙ¼½ÑËÌÁÂÈÉÊÔÕÖÏÆÇ¿ÚÁù ù/ÛÁõ õÜÁ† †;ÝÁ‚ ‚8None) #&'()+,/1359<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó’àÝA known boolean is one we can obtain a singleton for. Concrete values are trivially known.â"Singleton for type level booleans.ÞßàáâãäâãäßàáÞå æÂ 9None) #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÎÐÕØÛÝÞàçèïó(ç–Checks if two arguments are equal as pointers in memory. Please note, that this function is a hack, and it can worsen the behavior of compiler. See  ühttps://gitlab.haskell.org/ghc/ghc/-/blob/d151546e59a50158f25c3df6728b00d3c27bb4b9/compiler/GHC/Builtin/primops.txt.pp#L3455.çç:None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó—éDisjunction (interpreting null _ as False).ô Satisfying null empty == True.õThe default implementation of ô compares with ó9, first trying pointer equality, then falling back to ɘ equality.÷Viewing ð— as û— (), a boolean is ô when it is false.† A û— is ô' when it corresponds to the empty list.Ãõ èéêëìíîïðñòóôòóôõìêíëðîñïèéöÄâ â÷Ä� �øÄÖ Ö(ùÄÒ Ò)úÄ” ”ûÄæ æüÄê êýÄ   7þÄú úÿÄþ þ€ Äœ œ� Ę ˜%‚ Äî îƒ Äò ò„ ÄÞ Þ… Äö ö† Ä‹ ‹‡ Ĥ ¤4ˆ Ĩ ¨7‰ Ä‚ ‚РĆ †‹ Ĭ ¬6Œ ÄÚ Ú� ÄÆ Æ(Ž ÄÊ Ê2� ÄÎ Î<� Ġ‘ İ °ÁNone) #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóé’  Time O(1).“  Time O(n).”  Time O(1).•  Time O(1).–  Time O(n).— The empty set. Time O(1).˜  Time O(n).™  Time O(n).š  Time O(n).›  Time O(1).œ  Time O(1).�  Time O(1).ž not . member a . Time O(1).Ÿ  Time O(1).  A singleton set. Time O(1).¡  Time O(n).¢  Time O(n).£ The full set. Time O(1).¤  Time O(n).¨ An element in a small set.This must implement Õ˜ and  , and contain at most 64 values.’ “ ” • – — ˜ ™ š › œ � ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ ¥ ¦ § ¨ ’ “ ” • – — š ˜ ™ › œ � ž Ÿ   ¢ ¡ £ ¤ © Å; ;ª ÅÅ Å2« Å Â5¬ Å;;"­ Å> >5® Å;;¯ Å;;;None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóà° 0Create-only collection with at most one element.² ßA create-only possibly empty collection is a monoid with the possibility to inject elements.´  Overloaded  singleton constructor for collections.ƶ Ç· ° ± ² ³ ´ µ ² ³ · ° ± ¶ ´ µ !¸ ÈÈ È¹ ÈÇ Çº È6 6$» È: :?¼ È< >;¿ È4 4'À È3 3(Á È2 2* È1 1!à È5 5%Ä È9 9=Å È; ;=Æ È= =9Ç È? ?>È ÈØ ØÉ Èâ â5Ê Èá á5Ë ÈÞ Þ&Ì ÈÝ Ý&Í ÈÓ Ó!Î ÈÒ Ò"Ï ÈÚ Ú7Ð ÈÑ Ñ$Ñ ÈÐ ÐÒ ÈÏ Ï!Ó ÈÔ Ô!Ô ÈÕ Õ$Õ ÈÖ ÖÖ È× ×× ÈÛ Û7Ø Èà à5<None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó_Ù Given a function f :: a -> NonEmpty c9 which returns a non-empty list of characteristics of a, partition a list of a†s into groups such that each element in a group shares at least one characteristic with at least one other element of the group.Ú Partition a list of a¹s paired with a non-empty list of characteristics into groups such that each element in a group shares at least one characteristic with at least one other element of the group.Û Given a function f :: a -> NonEmpty c9 which returns a non-empty list of characteristics of a , partition a non-empty list of a†s into groups such that each element in a group shares at least one characteristic with at least one other element of the group.Ü Partition a non-empty list of a¹s paired with a non-empty list of characteristics into groups such that each element in a group shares at least one characteristic with at least one other element of the group.Ö˜:Lift a function on non-empty lists to a function on lists. Duplicate of É.Ù Ú Û Ü Ù Ú Û Ü =None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóµ Ý  Version of ð  with different argument ordering. Often, we want to case on a õ %, do something interesting in the ö ( case, but only a default action in the ÷ * case. Then, the argument ordering of  caseMaybe is preferable. (caseMaybe m err f = flip (maybe err) m fÞ Monadic version of Ý . That is, ä $ with a different argument ordering.ß Filtering a singleton list. filterMaybe p a = î  (¾˜ p [a])à  Version of ï " with different argument ordering.á Monadic version of ë .â Þ  with flipped branches.ä Monadic version of ð .å  unionWith for collections of size <= 1.æ  Unzipping a list of length <= 1.ç A more telling name for ©Ê for the õ  collection type. Or: Ý  without the ÷  case.è Þ  without the ÷  case.ø Note that strict Maybe is an טÏ only modulo strictness. The laws only hold in the strict semantics. Eg. pure f  * pure _|_ = _|_#, but according to the laws for ט it should be  pure (f _|_)3. We ignore this issue here, it applies also to ó— and ý—.Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ é ê ë ì í î ï ð ñ õ ö ÷ ò ó ô Ý Þ ß à á â ã ä å æ ç è ø Ë ù Ë% %>None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóˆú *Adjust value at key, leave subtree intact.åDisclaimer: may return a non-canoncial trie because it does not clean up subtries that become empty.û .Delete value at key, but leave subtree intact.åDisclaimer: may return a non-canoncial trie because it does not clean up subtries that become empty.ü everyPrefix k v! is a trie where every prefix of k (including k itself) is mapped to v.ý Filter a trie.þ .Insert. Overwrites existing value if present. %insert = insertWith ( new old -> new)ÿ 6Insert with function merging new value with old value.€ 8Returns the value associated with the given key, if any.� &Collect all values along a given path.‚ (Get the subtrie rooted at the given key.ƒ ×Create new values based on the entire subtrie. Almost, but not quite comonad extend.„ %Is the given key present in the trie?… Singleton trie.† Convert to ascending list.‡ Convert to ascending list.ˆ ÝConvert to list where nodes at the same level are ordered according to the given ordering.‰ Left biased union.#union = unionWith ( new old -> new).Š /Pointwise union with merge function for values.‹  Key lens.Œ Finite map from [k] to v.With the strict û— type, Œ  is also strict in v.’  Empty trie.ؘ"Helper function used to implement …  and ü .ú û ü ý þ ÿ € � ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ óŒ � Œ � ó… ü þ ÿ ‰ Š ú û ‡ † ˆ € „ � ‚ ƒ ý ‹ Ž Ì.. � Ì33� Ì22‘ Ì6 63’ Ì: :“ Ì-- None) #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóà ã ÆChecks if all the elements in the list are equal. Assumes that the ɘ6 instance stands for an equivalence relation. O(n).ä Breaks a list just after1 an element satisfying the predicate is found.breakAfter even [1,3,5,2,4,7,8](1 :| [3,5,2],[4,7,8])å Like ÍÎ.æ (Concatenate one or more non-empty lists.è Like ¼Ï.é List ¸Ð- but with a base case for the singleton list.ê Safe version of ÑÒ.ë More precise type for Ó. A variant of ¼Ô: which applies the predicate to consecutive pairs. O(n).ì  [a] -> (List1 a -> m) -> mÉ often causes type inference to fail, as we do not in general have %instance Applicative m => Null (m ()).� Like ¸Ü.‚ Like Ý.ƒ 6Update the first element of a non-empty list. O(1).„ 5Update the last element of a non-empty list. O(n).… ÆSplit a list into sublists. Generalisation of the prelude function words . Same as Þß and àßÁ, but with the non-emptyness guarantee on the chunks. O(n). words xs == wordsBy isSpace xs† Like áâ.‡ Like áâ.ê $Default value if convertee is empty.&List to convert, supposedly non-empty.Converted list.ïã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ € � ‚ ƒ „ … † ‡ vN|}hCO_cfikonrlpmqILSTW]u^KBRFwxjst~a`Y[Z\MXPzQ{gdJUVbeyGEHD*=>” ˆ ??ðã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ € � ‚ ƒ „ … † ‡ ” ˆ vN|}hCO_cfikonrlpmqILSTW]u^KBRFwxjst~a`Y[Z\MXPzQ{gdJUVbeyGEHD=> ?@?*?None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó²¯ Cache the size of an object.° ,The size of a collection (i.e., its length).± *Lazily compute a (possibly infinite) size.1Use when comparing a size against a fixed number.² Strict size computation.Anti-patterns:  size xs == n where n is 0, 10 or another number that is likely smaller than size xs. Similar for  size xs >= 1 etc. Use ±  instead.See  ïhttps://wiki.haskell.org/Haskell_programming_tips#Don.27t_ask_for_the_length_of_a_list_when_you_don.27t_need_it .³ ÞThing decorated with its size. The thing should fit into main memory, thus, the size is an Int.Æ Return the cached size.ãº ä» ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ ° ± ² º » ³ ´ µ ¶ ¯ · ¸ ¹ ¼ åÑ Ñ'½ å6 6¾ å7 7¿ å8 8À å< <Á å4 4 å: :à å9 9Ä å; ;Å å5 5Æ åÍ ÍCNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó( ¬ 1Adds a final newline if there is not already one.­ $Adds hyphens around the given stringputStrLn $ delimiter "Title"<”@”@”@”@ Title ”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@® ÇTurns the string into a Haskell string literal, avoiding escape codes.¯ -Indents every line the given number of steps.° Remove leading whitespace.±  Append an "s"5 to the second argument if the first has cardinality /= 1.² ² É adds double quotes around the string, replaces newline characters with nè, and escapes double quotes and backslashes within the string. This is different from the behaviour of ݘ: > Þ˜ $ ݘ "\x2200" "\8704" > Þ˜ $ ²  "\x2200" "€D" Ö(The code examples above have been tested using version 4.2.0.0 of the base library.)³ Remove trailing whitespace.´ 6Show a number using comma to separate powers of 1,000.µ 'Remove leading and trailing whitesapce.¶ ߘ, but remove empty words first. ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ ² ® ­ ¬ ¯ ¶ ± ´ ° ³ µ · æô ô?¸ æ÷ ÷<¹ æ º æú ú?» æý ý>¼ æ€ €ÉDNone) #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó ½  Print an à˜ without the call stack.¾ Catch á˜s in an extension of the ☠monad.À "Upon exception, the error is lost.Á  Alias of 㘠for the IO monad. #Upon exception, the state is reset.à +Upon exception, the written output is lost.½ ¾ ¿ ¾ ¿ ½ À ç ,Á ç  ç% %+à ç ,@None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóÇ ÉTurn a possible non-surjective permutation into a surjective permutation.È 2permute (compose p1 p2) == permute p1 . permute p2É 9Pick the elements that are not picked by the permutation.Ê  expandP i n À in the domain of À replace the ith element by n elements.Ë 8permPicks (flipP p) = permute p (downFrom (permRange p)) or Çpermute (flipP (Perm n xs)) [0..n-1] = permute (Perm n xs) (downFrom n)äCan be use to turn a permutation from (de Bruijn) levels to levels to one from levels to indices.See èé.Ì Identity permutation.Í  invertP err p is the inverse of p) where defined, otherwise defaults to err. composeP p (invertP err p) == pÎ liftP k takes a  Perm {m} n to a Perm {m+k} (n+k). Analogous to êë?, but Permutations operate on de Bruijn LEVELS, not indices.Ï 'permute [1,2,0] [x0,x1,x2] = [x1,x2,x0] More precisely, permute indices list = sublist , generates sublist from list1 by picking the elements of list as indicated by indices. *permute [1,3,0] [x0,x1,x2,x3] = [x1,x3,x0]Agda typing: ,permute (Perm {m} n is) : Vec A m -> Vec A nPrecondition for Ï  (ß  _ is) xs: Every index in is must be non-negative and, if xsÆ is finite, then every index must also be smaller than the length of xs.�The implementation is supposed to be extensionally equal to the following one (if different exceptions are identified), but in some cases more efficient:  permute (ß  _ is) xs = Θ (xs ²) is Ð  ?permute (reverseP p) xs == reverse $ permute p $ reverse xs Example: Ñ permute (reverseP (Perm 4 [1,3,0])) [x0,x1,x2,x3] == permute (Perm 4 $ map (3-) [0,3,1]) [x0,x1,x2,x3] == permute (Perm 4 [3,0,2]) [x0,x1,x2,x3] == [x3,x0,x2] == reverse [x2,x0,x3] == reverse $ permute (Perm 4 [1,3,0]) [x3,x2,x1,x0] == reverse $ permute (Perm 4 [1,3,0]) $ reverse [x0,x1,x2,x3] With reversePã, you can convert a permutation on de Bruijn indices to one on de Bruijn levels, and vice versa.Ñ "Restrict a permutation to work on n elements, discarding picks >=n.Ò þStable topologic sort. The first argument decides whether its first argument is an immediate parent to its second argument.Ô %Things that support delayed dropping.Ø )Delayed dropping which allows undropping.Ú Where to drop from.Û &Non-negative number of things to drop.Ü 3Invert a Permutation on a partial finite int map. inversePermute perm f = f' such that permute perm f' = f!Example, with map represented as  [Maybe a]: ò f = [Nothing, Just a, Just b ] perm = Perm 4 [3,0,2] f' = [ Just a , Nothing , Just b , Nothing ]  Zipping perm with f gives  [(0,a),(2,b)], after compression with  catMaybes. This is an IntMap9 which can easily written out into a substitution again.Þ Partial permutations. Examples:)permute [1,2,0] [x0,x1,x2] = [x1,x2,x0] (proper permutation).&permute [1,0] [x0,x1,x2] = [x1,x0] (partial permuation).,permute [1,0,1,2] [x0,x1,x2] = [x1,x0,x1,x2]- (not a permutation because not invertible).Agda typing would be: 9Perm : {m : Nat}(n : Nat) -> Vec (Fin n) m -> Permutation m is the ²  of the permutation.Õ Perform the dropping.Ö  Drop more.× Pick up dropped stuff.ìâ íã Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á Þ ß à á Ï Ü Ý Ì Ñ É Î È Í Ç Ð Ë Ê Ò Ó Ø Ù Ú Û Ô Õ Ö × â ã ä îœ œå îŸ Ÿæ î� �ç î( (è î�%�-é î��#ê î((ë î… …-ì îþ þ-í î� �,î îû û,ï î: :ð î6 6ñ î��ò î��ó î* *ô î2 2õ î�/�:ANone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó$ö ÈParse and add a profiling option to a set of profiling options. Returns 䘃 with a helpful error message if the option doesn't parse or if it's incompatible with existing options. The special string "all" adds all options compatible with the given set and prefering the first of incompatible options. So `--profile=all` sets ‚  over „  and ÿ 0, but `--profile=modules --profile=all` sets „  and not ‚ .÷ ËCheck if a given profiling option is present in a set of profiling options.ø #The empty set of profiling options.ù Use only for serialization.ú Use only for serialization.û Strings accepted by ö ü ŸVarious things that can be measured when checking an Agda development. Turned on with the `--profile` flag, for instance `--profile=sharing` to turn on the †  option. ‚ , „ , and ÿ  are mutually exclusive.ÒNOTE: Changing this data type requires bumping the interface version number in ”ï.ý +Collect statistics about constraint solvingþ ,Collect statistics about conversion checkingÿ 3Measure time spent on individual (Agda) definitions€ (Collect statistics about instance search� $Measure time of interactive commands‚ ÕMeasure time taken by various parts of the system (type checking, serialization, etc)ƒ %Count number of created metavariables„ /Measure time spent on individual (Agda) modules… /Collect detailed statistics about serialization† !Measure things related to sharing‡  A set of ü sö ÷ ø ù ú û ü ý þ ÿ € � ‚ ƒ „ … † ‡ ü ý þ ÿ € � ‚ ƒ „ … † ‡ ø ö ÷ ú ù û ˆ ð+"+)‰ ð++ Š ð++‹ ð11Œ ð+++2� ð- -Ž ð11� ð11#� ð++‘ ð+ +’ ð1 1BNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó�“ O(length first list).” O(length first list).– 2Concatenate at least 2 lists of length at least 1.— O(1).˜  Unsafe! O(1).™ Any ”  is either a singleton or a ¢ . O(1).š  Safe. O(1).›  Safe. O(1).œ  Safe. O(1).�  Safe. O(n).ž O(n).Ÿ  Safe. O(1).   Safe. O(1).¡  Inverse of ™ . O(1).¢ Lists of length åD2.§  is unsafe.“ ” • – — ˜ ™ š › œ � ž Ÿ   ¡ ¢ £ “ ” • – — ˜ ™ š › œ � ž Ÿ   ¡ ¢ £ ¤ ñ ¥ ñ % -¦ ñ  #§ ñ% %¨ ñú ú&© ñ  ª ñ  « ñ / : None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïókï Returns »˜ input_with_tags_stripped if all elements are to the ä˜, and otherwise ¼˜.ð Returns »˜ input_with_tags_stripped2 if all elements are to the right, and otherwise ¼˜. ä allRight xs == if all isRight xs then Just (map ((Right x) -> x) xs) else Nothing ñ Monadic version of å˜$ with a different argument ordering.ò  Analogue of òó.ó  Analogue of /ô.ô  Analogue of òó.õ  Analogue of /ô.ö )Groups a list into alternating chunks of ä˜ and æ˜ values÷ 'Either _ b' is a functor.ø 'Either a' is a functor.ù Safe projection from ä˜. 8maybeLeft (Left a) = Just a maybeLeft Right{} = Nothingú Safe projection from æ˜. = 4.10.0.0 already present in õö.þ  Loop while we have an exception.ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ -.þ ñ ÷ ø ý -.ò ô ó õ ù ú ï ð ö û ü None) #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó‡ÿ Strict ap€  Binary bind.‚ Lazy monadic disjunction with Either> truth values. Returns the last error message if all fail.ƒ Lazy monadic conjunction.† ;Bracket without failure. Typically used to preserve state.‡ Generalises the ˜& function from lists to an arbitrary .‰ A monadic version of  dropWhileEnd :: (a -> Bool) -> [a] -> m [a]:. Effects happen starting at the end of the list until p becomes false.Š A monadic version of è˜ :: (a -> Bool) -> [a] -> [a].� Finally for the ErrorÆ class. Errors in the finally part take precedence over prior errors.Ž Generalized version of 3for_ :: Applicative m => [a] -> (a -> m ()) -> m ()‘ The for version of ž .’ The for version of Ÿ .”  Translates û— to .– Monadic guard.— Like • -, but raise given error when condition fails.˜ Monadic if-then-else.™ ifNotM mc = ifM (not  $ mc)š  Restore state after computation.› Generalized version of 8traverse_ :: Applicative m => (a -> m ()) -> [a] -> m ()î Executes effects and collects results in left-to-right order. Works best with left-associative monoids.!Note that there is an alternative !mapM' f t = foldr mappend mempty  $ mapM f t‡that collects results in right-to-left order (effects still left-to-right). It might be preferable for right associative monoids.ž A monadic version of ¿˜ :: (a -> Maybe b) -> [a] -> [b].Ÿ  A version of ž ' with a computation for the input list.  Lazy monadic disjunction.¡ èLazy monadic disjunction with accumulation of errors in a monoid. Errors are discarded if we succeed.£ A `monadic' version of @ partition# :: (a -> Bool) -> [a] -> ([a],[a])¤ "Branch over elements of a monadic ó— data structure.¥ Output a single value.¦ 1Run a command, catch the exception and return it.§ Try a computation, return ¼˜ if an Error occurs.† Acquires resource. Run first.Releases resource. Run last. Computes result. Run in-between.Çÿ € � ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ � Ž � � ‘ ’ “ ” • – — ˜ ™ š › œ � ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª «  <876;9:12'+4“”‘’Éÿ € � ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ � Ž � � ‘ ’ “ ” • – — ˜ ™ š › œ � ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª «  <876;9:12+4“”"!‘’'ÿ FNone) #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóY¬ ÄLazy monadic conjunction of lazy monadic list, effects left-to-right­ ÄLazy monadic disjunction of lazy monadic list, effects left-to-right®  Case distinction over lazy list.¯ The join operation of the ListT m monad.° Consing a value to a lazy list.±  Monadic cons.² +Folding a lazy list, effects left-to-right.³  Change from one monad to another´ Boilerplate function to lift é˜ through the ½  transformer.µ  Extending a monadic function to ½ .¶ !Alternative implementation using ² .· The empty lazy list.¸ We can `run' a computation of a ½  as it is monadic itself.¹ 8Force all values in the lazy list, effects left-to-rightº Singleton lazy list.» Monadic singleton.¼  Inverse to ´ .½ .Lazy monadic computation of a list of results.¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ ½ ¾ ¿ ´ ¼ · ° º ® ² ­ ¬ ¹ ¯ ¸ ± » µ ¶ ³ À ÷ú úÆÁ ÷‚ ‚ÆÂ ÷ à ÷ž ž(Ä ÷Œ ŒÀÅ ÷“ “9Æ ÷þ þÄÇ ÷– –ÅÈ ÷š šÃÉ ÷� �Ê ÷÷ ÷'Ë ÷ô ô*GNone) #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó Ì Makes the path absolute.This function may raise an __IMPOSSIBLE__ error if ê˜" does not return an absolute path.Í !Resolve symlinks etc. Preserves Ô .Î Case-sensitive ë˜ for Windows.÷This is case-sensitive only on the file name part, not on the directory part. (Ideally, path components coming from module name components should be checked case-sensitively and the other path components should be checked case insensitively.)Ï  Extract the Ö  to be used as ì˜.Ð õTrue if the first file is newer than the second file. If a file doesn't exist it is considered to be infinitely old.Ñ ÐMakes a path relative to a root without assuming that either path is canonical.Ò  Constructs Ö s.2Precondition: The path must be absolute and valid.Ó A partial version of øù& with flipped arguments, returning ¼˜6 if the given path cannot be relativized to the given root.Ô ñTries to establish if the two file paths point to the same file (or directory). False negatives may be returned.Õ  Generalizes í˜.Ö %Paths which are known to be absolute.Note that the ɘ and ǘÓ instances do not check if different paths point to the same files or directories.Ó (The absolute path we seek to relativize.The root for relativization.The relative path, if any. Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ö × Ï Ò Ì Í Ô Î Ð Ó Ñ Õ Ø ú,,Ù ú,,$Ú ú,&,,Û ú,,Ü ú, ,HNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó[ß -Hashing a module name for unique identifiers.à Hashes a piece of î˜.Ý Þ ß à á â â Þ á à Ý ß INone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó_å The defaultWarningModeÙ is a curated set of warnings covering non-fatal errors and disabling style-related onesç Warnings enabled by  --exact-split.ì ìThe flag corresponding to a warning is precisely the name of the constructor minus the trailing underscore.î  warningUsage generated using warningNameDescriptionñ warningModeUpdate str computes the action of str over the current  WarningModeõ: it may reset the set of warnings, add or remove a specific flag or demand that any warning be turned into an errorô Common sets of warningsõ A  WarningModeÿ has two components: a set of warnings to be displayed and a flag stating whether warnings should be turned into fatal errors.ù 2Some warnings are errors and cannot be turned off.ú  Warning that cannot be disabled.û Unknown warning.ü The  WarningNameå data enumeration is meant to have a one-to-one correspondance to existing warnings in the codebase.’8Some warning could not be set or unset. Parser Warningsï˜9From user-given directives we compute WarningMode updatesð˜ WarningNameÚ descriptions used for generating usage information Leave String empty to skip that name.üThe description should be a completion of the sentence "This warning is about ...". So, typically the subject is in plural.³ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ €�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•³õ ö ÷ ø ó ð é å ã ï ê í è æ ç ä ù ú û ë ñ ô ü ý þ ÿ €�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•ò ì î –ûÿ(ÿ/—ûÿ"ÿ&˜û99™ûÿ ÿšû99 ›ûØØœûÿ1ÿ8�û; ;žûÚ Ú!Ÿû� � ûÿÿ¡ûÿÿ ¢û99£ûØ Ø¤ûÿÿJNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïór ¥¾Compare a new set of favorites to an old one and discard the new favorites that are dominated by the old ones and vice verse. (Skewed conservatively: faithful to the old favorites.) 'compareFavorites new old = (new', old')¦Gosh, got some pretty aö here, compare with my current favorites! Discard it if there is already one that is better or equal. (Skewed conservatively: faithful to the old favorites.) If there is no match for it, add it, and dispose of all that are worse than a.ÆWe require a partial ordering. Less is better! (Maybe paradoxically.)§ùConstruct favorites from elements of a partial order. The result depends on the order of the list if it contains equal elements, since earlier seen elements are favored over later seen equals. The first element of the list is seen first.¨%Compare, then insert accordingly. :insert a l = insertCompared a l (compareWithFavorites a l)©)After comparing, do the actual insertion.ª=Insert all the favorites from the first list into the second.¬;Result of comparing a candidate with the current favorites.­øGreat, you are dominating a possibly (empty list of favorites) but there is also a rest that is not dominated. If null dominated, then  notDominated2 is necessarily the complete list of favorites.®.Sorry, but you are dominated by that favorite.²!A list of incomparable favorites.µÌEquality checking is a bit expensive, since we need to sort! Maybe use a Set! of favorites in the first place?¸² forms a ñ˜ under ó and 'union.¥¦§¨©ª«¬­®¯°±²³´²³´¬­®¯°±¦¥«©¨ª§µü #¶ü ·üð ð.¸üî î1¹ü!ºü»ü#.KNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóá¼;Modifies the value at the given position, if any. O(log n).Precondition: See ½.½The precondition for ¼ f k m is that, if the value v is inserted into m, and â v% is defined, then no key other than k may map to a value v' for which â v' = â v.¾ËModifies the value at the given position, if any. If the function returns ¼˜&, then the value is removed. O(log n).Precondition: See À.¿ËModifies the value at the given position, if any. If the function returns ¼˜&, then the value is removed. O(log n).The precondition for ¿ f k m is that, if the value v is inserted into m, and â v% is defined, then no key other than k may map to a value v' for which â v' = â v.ÀThe precondition for ¾ f k m is that, if the value v is inserted into m, and â v% is defined, then no key other than k may map to a value v' for which â v' = â v.ÁThe invariant for Ü.Â>The values, ordered according to the corresponding keys. O(n).ÃèConversion from two lists that contain distinct keys/tags, with the keys/tags in ascending order. O(n).Precondition: See Ä.ÅÝConversion from lists of pairs. Later entries take precedence over earlier ones. O(n log n).Precondition: See Æ.Ç0Insertion. Overwrites existing values. O(log n).Precondition: See Ê.ÈÔInserts a binding into the map. If a binding for the key already exists, then the value obtained by applying the function to the key, the new value and the old value is inserted, and the old value is returned.Precondition: See É.ÉThe precondition for È f k v m is that, if the value v' is inserted into m, and â v'% is defined, then no key other than k may map to a value v'' for which â v'' = â v'.ÊThe precondition for Ç k v m: If v has a â (â v àD ¼˜), then m must not contain any mapping k' ¦C v' for which k àD k' and â v = â v'.ËInverse lookup. O(log n).Ì#The keys, in ascending order. O(n).ÍLookup. O(log n).ÎáChanges all the values using the given function, which is also given access to keys. O(n log n).Precondition: See Ñ.ÏÛChanges all the values using the given function, which is also given access to keys. O(n).Precondition: See Ð". Note that tags must not change.ÐThe precondition for Ï f m is that, if m maps k to v, then â (f k v) == â v.ÑThe precondition for Î f m!: For any two distinct mappings k�A ¦C v�A, k‚A ¦C v‚A in m for which the tags of f k�A v�A and f k‚A v‚A are defined the values of f must be distinct (f k�A v�A àD f k‚A v‚A). Furthermore â must be injective for { f k v | (k, v) ˆD m }.ÒSingleton map. O(1).Ó$Is the value a source key? O(log n).ÔChecks if the function âÒ is injective for the values in the given list for which the function is defined.Õ$Is the value a target key? O(log n).ÖGenerates input suitable for Ã. O(n).ׯConversion to lists of pairs, with the keys in ascending order. O(n).Ø0Left-biased union. For the time complexity, see ýÛ.Precondition: See Ù.ÚËModifies the value at the given position, if any. If the function returns ¼˜&, then the value is removed. O(log n).Precondition: See Û.ÛThe precondition for Ú f k m is that, if the value v is inserted into m, and â v% is defined, then no key other than k may map to a value v' for which â v' = â v.ÜFinite maps from k to v!, with a way to quickly get from v to k for certain values of type v (those for which â is defined).&Every value of this type must satisfy Á.à0Partial injections from a type to some tag type.The idea is that â( should be injective on its domain: if â x = â y = »˜ i, then x = yÔ. However, this property does not need to hold globally. The preconditions of the Ü3 operations below specify for which sets of values â must be injective.'¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâ'àáâÔÜÝÞßÁÓÕÍËÒÇÊ¿¾ÀÚÛ¼½ÈÉÎÑÏÐØÙÅÆ×ÌÂÃÄÖãþ¼ ¼(äþ ÂåþÓ Óæþ¿ ¿+çþ Â.LNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóËïÖWas this module name constructed from a file name rather than declared in the file?ûThe range is not forced.þ=The record selector is not included in the resulting strings. èéêëìíîïðñò éêëèòìíîïðñ óÿ ôÿ2 2(õÿ,,öÿ ÷ÿ. .,øÿùÿ8 8.úÿ ûÿ= =,üÿýÿ5 5)þÿ ÿÿ, ,MNone* #&'()+,/1359<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóƒÁ€=Killing the range of an object sets all range information to ”.�%Backup the position by one character.(Precondition: The character must not be 'n'.‚ beginningOf rÎ is an empty range (a single, empty interval) positioned at the beginning of r. If r" does not have a beginning, then ” is returned.ƒýAre the intervals consecutive and separated, do they all point to the same file, and do they satisfy the interval invariant?„?Returns the shortest continuous range containing the given one.…0Removes gaps between intervals on the same line.†4Finds the least interval which covers the arguments.‡ÄPrecondition: The ranges must point to the same file (or be empty).ˆfuseRanges r r' unions the ranges r and r'.!Meaning it finds the least range r0 that covers r and r'.ÃPrecondition: The ranges must point to the same file (or be empty).ŠThe length of an interval.Œ*Interleaves two streams of ranged elementsªIt will report the conflicts as a list of conflicting pairs. In case of conflict, the element with the earliest start position is placed first. In case of a tie, the element with the earliest ending position is placed first. If both tie, the element from the first list is placed first.Ž0Converts a file name and an interval to a range.�8Turns a file name plus a list of intervals into a range.Precondition: ƒ.�*Remove ranges in keys and values of a map.‘A smart constructor for Ç.’?Advance the position by one character. A newline character ('n'þ) moves the position to the first character in the next line. Any other character moves the position to the next column.“!Advance the position by a string.  movePosByString = foldl' movePos”$Ranges between two unknown positions•ÙConverts a file name and two positions to an interval. Sort the positions ascendingly.–"Converts two positions to a range.;Precondition: The positions have to point to the same file.—2Converts a file name and two positions to a range.™;The position after the final position in the range, if any.š;The position after the final position in the range, if any.›*The initial position in the range, if any.œ*The initial position in the range, if any.�"The file the range is pointing to.ž7Range pointing to the first position in the given file.ŸÔThe intervals that make up the range. The intervals are consecutive and separated (ƒ). Range invariant.¡*The range's top-level module name, if any.¢*The range's top-level module name, if any.If there is no range, then ¼˜? is returned. If there is a range without a module name, then »˜ ¼˜ is returned.£çConverts a range to an interval, if possible. Note that the information about the source file is lost.¤-Converts a range to an interval, if possible.¥%Conflate a range to its right margin.¦;The first position in a file: position 1, line 1, column 1.§;The first position in a file: position 1, line 1, column 1.¨x `withRangeOf` y sets the range of x to the range of y.©ÎReturn an empty range (a single, empty interval) at the beginning of the file.ª5Things that have a range are instances of this class.¬Things that have a Ë are instances of this class.¯An interval. The iEnd* position is not included in the interval.4Note the invariant which intervals have to satisfy: �.º Represents a point in the input.If two positions have the same ¿ and ¾ï components, then the final two components should be the same as well, but since this can be hard to enforce the program should not rely too much on the last two components; they are mainly there to improve error messages for the user.4Note the invariant which positions have to satisfy: ˜.¼Column number, counting from 1.½Line number, counting from 1.¾Position, counting from 1.¿File.Á1Wrapper to indicate that range should be printed.ÄŽA range is a file name, plus a sequence of intervals, assumed to point to the given file. The intervals should be consecutive and separated.1Note the invariant which ranges have to satisfy:  .ÇFile information used in the ¹, ® and à types.É1The file's top-level module name (if applicable).�This field is optional, but some things may break if the field is not instantiated with an actual top-level module name. For instance, the ɘ and ǘ( instances only make use of this field.The field uses û— rather than €Íß because it should be possible to instantiate it with something that is not yet defined (see È�).>This '(TopLevelModuleName' Range)' should not contain a range.ÊThe file's path.Ì;If it is also possible to set the range, this is the class.Instances should satisfy « (Í r x) == r.ÕbeginningOfFile rà is an empty range (a single, empty interval) at the beginning of rÜ's starting position's file. If there is no such position, then an empty range is returned.Û Only the É component is compared.éÙPrecondition: The ranges of the list elements must point to the same file (or be empty).íÙPrecondition: The ranges of the list elements must point to the same file (or be empty).ñÚPrecondition: The ranges of the tuple elements must point to the same file (or be empty).òÚPrecondition: The ranges of the tuple elements must point to the same file (or be empty).óÚPrecondition: The ranges of the tuple elements must point to the same file (or be empty).ôÚPrecondition: The ranges of the tuple elements must point to the same file (or be empty).õÚPrecondition: The ranges of the tuple elements must point to the same file (or be empty).öÚPrecondition: The ranges of the tuple elements must point to the same file (or be empty).�Overlaps with  KillRange [a].® Only the É component is compared.ò˜ÄPrecondition: The ranges must point to the same file (or be empty).‚σЄхÒÏ�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶€·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÓ¹Àº»¼½¾¿ÎÇÈÉÊ‘˜¦§’“�®´¯°³²�‹‰•±Š†ÃËÄÅÆ ƒ�ŽžŸ�¢¡¥”–—›œ™š£¤„…Áª«Ï¬­ÐÌÍÒ€·Ñ¸�µ¶¨‡ˆ‚©ŒèÓ†ï ï&Ô†è è!Õ†õ õÖ†ì ì#׆ÐÐØ†� �"Ù†Ï ÏÚ†û ûÛ†´ ´Ü†Ð%Ð-݆„„$Þ†ûû&߆ÐÐ#à†„„á†ûûâ†Ð<ÐÃㆄ3„:ä†û5û<冨¨æ†â â熗 —;è†Ù Ùé†ð ð$ê†õ õ*ë†ö ö*ì†÷ ÷)í†ô ô*î†ÏÏï†Ü Üð†å å.ñ†û û4ò†€ €Âó†… …Ðô†Š ŠÞõ†� �ìö†” ”ú÷†ß ßø†¬ ¬"ù†Ë ËÜú†£ £1û†³ ³:ü†µ µÀý†¶ ¶Àþ†· ·?ÿ†´ ´À€†¦ ¦.�†¹ ¹Õ‚†¼ ¼îƒ†¿ ¿‡„†Â  …†Å ʆ†È ÈÒ‡†© © ˆ†î î=‰†ê ê/Іÿ ÿ‹†’ ’+Œ†© ©>�†‚ ‚ކ… …�†��;�†ŒŒ.‘†” ”,’†��Á“†– –3”†• •,•†› ›4–†“ “,—†ˆ ˆ˜†Ï*Ï3™†ö öš†˜˜È›†ë ë/œ†ž ž8�†¡ ¢ž†¥ ¦ Ÿ†ü ü †ù ù¡†� �#¢†ˆ ˆ&£†Ø Ø$¤†Õ Õ¥†Å Å$¦†Â §†€ €'¨†¼ ¼©†‚ ‚ª†ÐЫ†� �$¬†ÏÏ­†ûû®†¹ ¹¯†Ú Ú$°†Û Û*±†Ï Ï(²†× ׳†è è.´†Ð 冄 „¶†ûû ·†¨ ¨¸†Ð/Ð:¹†„&„1º†û(û3NNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóÿ%¼"Non-code contents in literate AgdaÀÚDelimiters used to separate the Agda code blocks from the other contents in literate AgdaÁIs the name an operator part?ÃÊText occurring in pragmas that does not have a more specific aspect.ÄThings like Set and Prop.Æ Symbols like forall, =, ->, etc.Ç6Syntactic aspects of the code. (These cannot overlap.)ËMeta information which can be associated with a character/character range.ÊÇThe definition site of the annotated thing, if applicable and known.Ë×This note, if not null, can be displayed as a tool-tip or something like that. It should contain useful information about the range (like the module containing a certain identifier, or the fixity of an operator).ÍIs this entry token-based?Ð#A pretty name for the HTML linking.Ñ Has this DefinitionSite/ been created at the defining site of the name?ÒThe defining module.ÓÅThe file position in that module. File positions are counted from 1.×NameKind(s are figured out during scope checking.Ø!Named argument, like x in {x = v}ÙBound variable.Ú%Inductive or coinductive constructor.Ü Record field.ÞäGeneralizable variable. (This includes generalizable variables that have been generalized).ßMacro.à Module name.â Primitive.ã Record type.äÚOther aspects, generated by type checking. (These can overlap with each other and with »s.)ç$Nothing serious, just a beauty flaw.éàUsed for highlighting unreachable clauses, unreachable RHS (because of an absurd pattern), etc.ì.A warning that is considered fatal in the end.íÇWhen this constructor is used it is probably a good idea to include a Ë* explaining why the pattern is incomplete.îUnusable instance etc.ï1Function declaration without matching definition.ñ8Used for shadowed repeated variable names in telescopes.ó!Code which is being type-checked.ôèUnsolved constraint not connected to meta-variable. This could for instance be an emptyness constraint.öÒIs the highlighting "token-based", i.e. based only on information from the lexer?‹NameKind in Name can get more precise.ŒSome ×#s are more informative than others.>»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷ø>ÔÕÖ»¼½¾¿ÀÁÂÃÄůרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõÇÈÉÊËÌÍÎÏÐÑÒÓö÷øù‡Ú$Ú+ú‡ÚÚ"û‡ü‡   ý‡— —þ‡ ÿ‡33€‡ÚÚ�‡ž ž‚‡ ƒ‡ˆˆ„‡••…‡33 †‡Ú-Ú4‡‡¤ ¤ˆ‡¨ ¨‰‡  ЇÚÚ‹‡ì ìŒ‡Ý Ý�‡Ž‡33�‡ˆ ˆ�‡• •‘‡  ’‡ÚÚ“‡žžNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóä” a  ? b = hang a 2 b•align max rows lays out the elements of rowsð in two columns, with the second components aligned. The alignment column of the second components is at most max2 characters to the right of the left-most column.Precondition: max > 0.–Attach a simple », rather than a full set of Ç, to a document.ª1Separate, but only if both separees are not null.®Apply ° to È if boolean is true.¯?Handles strings with newlines properly (preserving indentation)±Only wrap in parens if not ó³Used for with-like  telescopes´"Pretty print a single association.¶+Comma separated list, without the brackets.·!Pretty print an association list.¸Pretty print a set.¹Use instead of ݘ when printing to world.º pshow = text . showÅReturn ó for empty strings.È5The type of documents. We use documents annotated by ÇÙ to record syntactic highlighting information that is generated during pretty-printing.ÉWhile ó˜- is for rendering data in Haskell syntax, ÉÌ is for displaying data to the world, i.e., the user and the environment.ÂAtomic data has no inner document structure, so just implement Ê as pretty a = text $ ... a ....—Wrap document in {...}˜Wrap document in [...]œWrap document in "..."°Wrap document in (...)½Wrap document in '...'ˆÍ‰ÎŠÏ䔕–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇ´µ¶¦·§°¸¯¼½³­®¬²©±º¾»ª¹¨«ÈÉÊËÌš�ž›œ•–—˜™Ÿ ¢£¡¤¥ç”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ´µ¶¦·§°¸¯¼½³­®¬²©±º¾»ª¹¨«š�ž›œ•–—˜™Ÿ ¢£¡¤¥”Ћ‡ ‡Ñ‹Õ ÕÒ‹Þ ÞÓ‹æ æ)Ô‹Û ÛÕ‹Ö ÖÖ‹× ×׋ÿ ÿ'Ø‹ù ùÙ‹Ø ØÚ‹© ©9Û‹˜ ˜$Ü‹ó ó Ý‹‚ ‚2Þ‹ï ï&ß‹ö ö&à‹• •$á‹� �9â‹´ ´9㋱ ±6䋊 Šå‹ü ü$æ‹Ü Üç‹ì ì/è‹é éé‹Ù Ùê‹Ú ÚONone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóÚíThe current time.îÏMeasure the time of a computation. Of course, does not work with exceptions.ï"CPU time in pico (10^-12) seconds.ñ Timestamps.ù(Print CPU time in milli (10^-3) seconds.ëìíîïðññíìîïðë òŒ'''+óŒ' 'ôŒ'-'5õŒ'!'%öŒ'7'=÷Œ''øŒ''ùŒ. .úŒ''PNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóûPrecedence of atoms.üPrecedence of >>=.ýPrecedence of  |.þõUses the given document as the printed representation of the given parser. The document's precedence is taken to be û.ÿ.Parses a token satisfying the given predicate.€Precedence of  *.�Precedence of ÆE and +.‚Parses a given token.ƒParses a single token.„(Documents paired with precedence levels.…The parser type.The parameters of the type Parser k r tok a have the following meanings: kType used for memoisation keys.rÔThe type of memoised values. (Yes, all memoised values have to have the same type.)tokThe token type.aThe result type.‡ÛUses the given function to modify the printed representation (if any) of the given parser.ˆ&Tries to print the parser, or returns �¶Æ, depending on the implementation. This function might not terminate.‰Memoises the given parser./Every memoised parser must be annotated with a uniqueÊ key. (Parametrised parsers must use distinct keys for distinct inputs.)ŠÁMemoises the given parser, but only if printing, not if parsing./Every memoised parser must be annotated with a uniqueÊ key. (Parametrised parsers must use distinct keys for distinct inputs.)‹Runs the parser.ŒÏParses a token satisfying the given predicate. The computed value is returned.�ÀAn extended parser type, with some support for printing parsers.ô˜ÅThis must be a lazy tuple so that we don't generate the docs eagerly.õ˜Continuations.ö˜íThe extended parser type computes one top-level document, plus one document per encountered memoisation key.¼˜õ is used to mark that a given memoisation key has been seen, but that no corresponding document has yet been stored.÷˜State monad used by the parser.ø˜ Positions.ù˜Memoised values.ú˜The constructor.û˜A helper function.ü˜ Pretty-prints a memoisation key.ý˜A helper function.ûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�†‡ˆ‰Š‹Œÿƒ‚þ„üý€�û…� ŽŽï ï&�Žè è&�ަ ¦1‘Ž– –1’Žä ä"“Ž“ “-”Žß ß •ŽŒ Œ+–ŽÈ È9—Ž© ©.QNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó/÷˘Returns True iff the graph is acyclic.™'Combines each node label with a unique ñ—.ÈPrecondition: The number of nodes in the graph must not be larger than ͘ :: ñ—.Time complexity: O(n + e log n).šRemoves ô edges. O(n + e).›Transitive closure ported from Agda.Termination.CallGraph.%Relatively efficient, see Issue 1560.œ Version of ›þ that produces a list of intermediate results paired to the left with a difference that lead to the new intermediat result.ÔThe last element in the list is the transitive closure, paired with the empty graph. (complete g = snd $ last $ completeIter g�composeWith times plus g g' finds all edges s --c_i--> t_i --d_i--> u) and constructs the result graph from !edge(s,u) = sum_i (c_i times d_i).Complexity: For each edge s --> t in g' we look up all edges starting with t in g'.>Precondition: The two graphs must have exactly the same nodes.ž Constructs a â structure. O(n + e log n).ŸÕ invariant. All self-loops.  O(n log n).¡ÆChecks whether the graph is discrete (containing no edges other than ô edges). O(n + e).¢The graph's edges. O(n + e).£edgesFrom g nsô is a list containing all edges originating in the given nodes (i.e., all outgoing edges for the given nodes). If nsÔ does not contain duplicates, then the resulting list does not contain duplicates. O(|ns| log |n| + |edgesFrom g ns|).¤ edgesTo g nsî is a list containing all edges ending in the given nodes (i.e., all incoming edges for the given nodes). If nsÕ does not contain duplicates, then the resulting list does not contain duplicates. O(|ns | n log n).¥"Empty graph (no nodes, no edges). O(1).¦0Keep only the edges that satisfy the predicate. O(n + e).§ The graph filterNodes p g# contains exactly those nodes from g that satisfy the predicate p=. Edges to or from nodes that are removed are also removed. O(n + e).¨óRemoves the nodes that do not satisfy the predicate from the graph, but keeps the edges: if there is a path in the original graph between two nodes that are retained, then there is a path between these two nodes also in the resulting graph.(Precondition: The graph must be acyclic.Worst-case time complexity:  O(e n log n)) (this has not been verified carefully).© fromEdges es$ is a graph containing the edges in es=, with the caveat that later edges overwrite earlier edges. O(|es| log n).ªfromEdgesWith f es$ is a graph containing the edges in esÍ. Later edges are combined with earlier edges using the supplied function. O(|es| log n).«ÊConstructs a completely disconnected graph containing the given nodes. O(n).¬ÊConstructs a completely disconnected graph containing the given nodes.  O(n log n).­-Computes the transitive closure of the graph.�Uses the Gauss-Jordan-Floyd-Warshall-McNaughton-Yamada algorithm (as described by Russell O'Connor in "A Very General Method of Computing Shortest Paths"  'http://r6.ca/blog/20110808T035622Z.html), implemented using ß, and with some shortcuts:ÓZero edge differences are not added to the graph, thus avoiding some zero edges.ÍStrongly connected components are used to avoid computing some zero edges.ùThe graph's strongly connected components (in reverse topological order) are returned along with the transitive closure.®-Computes the transitive closure of the graph.�Uses the Gauss-Jordan-Floyd-Warshall-McNaughton-Yamada algorithm (as described by Russell O'Connor in "A Very General Method of Computing Shortest Paths"  'http://r6.ca/blog/20110808T035622Z.html), implemented using matrices.4The resulting graph does not contain any zero edges.ÊThis algorithm should be seen as a reference implementation. In practice ­! is likely to be more efficient.¯ Inserts an edge into the graph. O(log n).° Inserts an edge into the graph. O(log n).± A variant of ². O(log n).²insertWith f s t new inserts an edge from s to t3 into the graph. If there is already an edge from s to t with label old6, then this edge gets replaced by an edge with label  f new old%, and otherwise the edge's label is new. O(log n).³Internal invariant.´*Nodes without incoming or outgoing edges. O(n + e log n).µConstructs a graph g', with the same nodes as the original graph g. In g' there is an edge from n1 to n2> if and only if there is a (possibly empty) simple path from n1 to n2 in gï. In that case the edge is labelled with all of the longest (in terms of numbers of edges) simple paths from n1 to n2 in g), as well as the lengths of these paths.ãPrecondition: The graph must be acyclic. The number of nodes in the graph must not be larger than ͘ :: ñ—.>Worst-case time complexity (if the paths are not inspected):  O(e n log n)( (this has not been verified carefully).1The algorithm is based on one found on Wikipedia.¶If there is an edge from s to t, then  lookup s t g is »˜ e, where e is the edge's label. O(log n).· A variant of ܘ< that provides extra information to the function argument. O(n + e).¸neighbours u g consists of all nodes v" for which there is an edge from u to v in g-, along with the corresponding edge labels.  O(log n + |neighbours u g|).¹neighboursMap u g consists of all nodes v" for which there is an edge from u to v in g-, along with the corresponding edge labels. O(log n).º All nodes. O(n).»The opposite DAG.¼'The nodes reachable from the given SCC.½reachableFrom g n/ is a map containing all nodes reachable from n in g¨. For each node a simple path to the node is given, along with its length (the number of edges). The paths are as short as possible (in terms of the number of edges).Precondition: n must be a node in g<. The number of nodes in the graph must not be larger than ͘ :: ñ—.ËAmortised time complexity (assuming that comparisons take constant time):  O(e log n)ê, if the lists are not inspected. Inspection of a prefix of a list is linear in the length of the prefix.¾reachableFromSet g ns/ is a set containing all nodes reachable from ns in g.Precondition: Every node in ns must be a node in g<. The number of nodes in the graph must not be larger than ͘ :: ñ—.ËAmortised time complexity (assuming that comparisons take constant time): O((|ns | + e) log n).¿removeEdge s t g removes the edge going from s to t , if any. O(log n).ÀremoveNode n g removes the node n% (and all corresponding edges) from g. O(n + e).ÁremoveNodes ns g removes the nodes in ns% (and all corresponding edges) from g. O((n + e) log |ns|).ÂRenames the nodes.6Precondition: The renaming function must be injective.Time complexity: O((n + e) log n).ÃRenames the nodes.$Precondition: The renaming function ren" must be strictly increasing (if x þ˜ y then ren x þ˜ ren y).Time complexity: O(n + e).ÄÇConstructs a DAG containing the graph's strongly connected components.ÅÇConstructs a DAG containing the graph's strongly connected components.ÆÉThe graph's strongly connected components, in reverse topological order.The time complexity is likely O(n + e log n)Õ (but this depends on the, at the time of writing undocumented, time complexity of ��).ÇÉThe graph's strongly connected components, in reverse topological order.The time complexity is likely O(n + e log n)Õ (but this depends on the, at the time of writing undocumented, time complexity of ��).È5A graph with two nodes and a single connecting edge. O(1).ÉNodes with outgoing edges. O(n).ÊNodes with incoming edges. O(n + e log n).ËThe transitive closure. Using ­�. NOTE: DO NOT USE () AS EDGE LABEL SINCE THIS MEANS EVERY EDGE IS CONSIDERED A ZERO EDGE AND NO NEW EDGES WILL BE ADDED! Use 'Maybe ()' instead.Ì…The transitive reduction of the graph: a graph with the same reachability relation as the graph, but with as few edges as possible.ãPrecondition: The graph must be acyclic. The number of nodes in the graph must not be larger than ͘ :: ñ—.Worst-case time complexity:  O(e n log n)) (this has not been verified carefully).1The algorithm is based on one found on Wikipedia.Í.The opposite graph (with all edges reversed). O((n + e) log n).ÎReverses an edge. O(1).ÏLeft-biased union.Time complexity: See Ð.ЧUnion. The function is used to combine edge labels for edges that occur in both graphs (labels from the first graph are given as the first argument to the function).Time complexity:  O(n�A log (n‚An�A + 1) + e�A log e‚A), where Ðn�A/ is the number of nodes in the graph with the smallest number of nodes and n‚A0 is the number of nodes in the other graph, and e�AÍ is the number of edges in the graph with the smallest number of edges and e‚A+ is the number of edges in the other graph."Less complicated time complexity: O((n + e) log n (where n and e refer to the resulting graph).ÑUnion. O((n + e) log n (where n and e refer to the resulting graph).ÒÜUnion. The function is used to combine edge labels for edges that occur in several graphs. O((n + e) log n (where n and e refer to the resulting graph).ÓUnzips the graph. O(n + e).Ô#walkSatisfying every some g from to% determines if there is a walk from from to to in g/, in which every edge satisfies the predicate every(, and some edge satisfies the predicate someç. If there are several such walks, then a shortest one (in terms of the number of edges) is returned.Precondition: from and to must be nodes in g<. The number of nodes in the graph must not be larger than ͘ :: ñ—.éAmortised time complexity (assuming that comparisons and the predicates take constant time to compute): O(n + e log n).Õ SCC DAGs.0The maps map SCC indices to and from SCCs/nodes.ÚEdges.ÜEdge label (weight).ÝOutgoing node.ÞIncoming node.ß Graph n e, is a type of directed graphs with nodes in n and edges in e.ìAt most one edge is allowed between any two nodes. Multigraphs can be simulated by letting the edge type e be a collection type.ËThe graphs are represented as adjacency maps (adjacency lists, but using finite maps instead of arrays and lists). This makes it possible to compute a node's outgoing edges in logarithmic time (O(log n)Â). However, computing the incoming edges may be more expensive.ÌNote that neither the number of nodes nor the number of edges may exceed ͘ :: ñ—.áForward edges.âVarious kinds of nodes.ä!All nodes, with or without edges.åNodes with outgoing edges.æNodes with incoming edges.çWithUniqueInt n consists of pairs of (unique) ñ—s and values of type n.2Values of this type are compared by comparing the ñ—s.ÿ˜‘’ with a more precise type.€™Used to implement ½ and ¾.Å*The graph's strongly connected components.Ó˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêÓßàá³ÚÛÜÝÞ¶¢¸¹£¤ ºÉÊ´âãäåæž¡˜¬«©ª¥È¯²°±ÏÐÑÒ·ÎÍšÀÁ¿§¦¨ÂÃçèéê™Ó�ÇÆÕÖ×ØÙŸ»¼ÅĽ¾Ôµ­®ËÌ›œë“¦¦ì“� �í“¶ ¶î“¦¦ï“† †ð“´´ñ“¦¦ò“¹ ¹ó“¨ ¨3ô“‘ ‘;õ“¼ ¼.ö“¦!¦%÷“˜ ˜5ø“´ ´RNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó†ùùtopoligical sort with smallest-numbered available vertex first | input: nodes, edges | output is Nothing if the graph is not a DAG Note: should be stable to preserve order of generalizable variables. Algorithm due to Richard Eisenberg, and works by walking over the list left-to-right and moving each node the minimum distance left to guarantee topological ordering.ùùSNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóüGraph structureúûüûúü”None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó�™• ‚™• ƒ™• None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó#¥¦§¨©ª«¬­®3$¯°±²³´µ¶·¸  #¥¦§¨©ª«¬­®3$¯°±²³´µ¶·¸  TNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó¨ý;Register a new file identifier or retrieve an existing one.þ Register a new file identifier (¹˜) or retrieve an existing one („™).ÿ;Register a new file identifier or retrieve an existing one.If ¼˜. is returned, the file was already registered.‰Unique identifier of a file.�.Translate a file to an ID; mapping must exist.�-Translate a ID to a file; mapping must exist.–•—–ýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”€‰Š‹Œ‘�‚ƒ„�Ž��…†‡ˆýþÿ’“”•–—˜$%$)˜˜$ $™˜..š˜==›˜$$#œ˜ì ì�˜ï ï#ž˜è 蟘ô ô ˜ø ø¡˜û û#¢˜â â4£˜ã ã4¤˜ä ä3¥˜‹ ‹¦˜Œ Œ §˜Š Ѝ˜€ €©˜„ „ª˜$+$.«˜$$¬˜$$UNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó˜­"Add to specified CPU time account.®.Bill a pure computation to a specific account.¯æBill a computation to a specific account. Works even if the computation is aborted by an exception.°;Bill a CPS function to an account. Can't handle exceptions.³Semantic editor combinator.´Semantic editor combinator.µSemantic editor combinator.¶.Resets the account and the timing information.·Turn benchmarking on/off.¸ãBill current account with time up to now. Switch to new account. Return old account (if any).¹(Account we can bill computation time to.ºñBenchmark structure is a trie, mapping accounts (phases and subphases) to CPU time spent on their performance.¼Are we benchmarking at all?½!What are we billing to currently?¾/The accounts and their accumulated timing bill.Ã3Record when we started billing the current account.Ä'Monad with access to benchmarking data.ÆÅWe need to be able to terminate benchmarking in case of an exception.Ö$Initial benchmark structure (empty).×2Print benchmark as three-column table with totals.¸Maybe new account.Maybe old account.™ËšÌ­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊ ¹ÃÊ¿ÀÁ²º»¼½¾³´µ­ÄÅÆÇÈÉË̱·¸¶¯°® Í›Á ÁΛ0 0Ï›° °2Л¸ ¸.Ñ›˜ ˜2Ò›§ §1Ó›   >Ô›ø ø*Õ›÷ ÷,Ö›Ä Ä×›Þ Þ3VNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó#ØØ (+) m1 m2 adds m1 and m2, using (+) to add values.  O(n1 + n2).Returns a matrix of size ã m1 m2.ÙÙ x m adds a new column to mà, after the columns already existing in the matrix. All elements in the new column get set to x.ÚÚ x m adds a new row to mÙ, after the rows already existing in the matrix. All elements in the new row get set to x.Û#Constructs a matrix from a list of (index, value) -pairs. O(n) where n is size of the list.!Precondition: indices are unique.ÜÜ sz rsÌ constructs a matrix from a list of lists of values (a list of rows). O(size) where size = rows × cols.Precondition: …™ rs Ù˜ õ sz and Ϙ ((ô sz Ù˜) . …™) rs.Ý"Association list intersection.  O(n1 + n2). ÁinterAssocWith f l l' = { (i, f a b) | (i,a) ˆD l and (i,b) ˆD l' }ÈUsed to combine sparse matrices, it might introduce zero elements if f( can return zero for non-zero arguments.ÞÞ f m1 m2! build the pointwise conjunction m1 and m2 . Uses f to combine non-zero values.  O(n1 + n2).Returns a matrix of size  infSize m1 m2.ßReturns ¹˜ iff the matrix is empty.à (i,)  $ f a), and same for gs and g.ç?General pointwise combination function for sparse matrices.  O(n1 + n2).èé m extracts the diagonal of m.æFor non-square matrices, the length of the diagonal is the minimum of the dimensions of the matrix.ê%Type of matrix indices (row, column).ì Column index 1 <= col <= cols.í Row index, 1 <= row <= rows.î6Type of matrices, parameterised on the type of values.áSparse matrices are implemented as an ordered association list, mapping coordinates to values.ðDimensions of the matrix.ñ!Association of indices to values.òSize of a matrix.ôNumber of columns, >= 0.õNumber of rows, >= 0.†™Transposable things.÷Diagonal of sparse matrix.O(n) where n2 is the number of non-zero elements in the matrix.�ÎPointwise comparison. Only matrices with the same dimension are comparable.†Transposing coordinates.‡Matrix transposition. O(n log n) where n2 is the number of non-zero elements in the matrix.ˆSize of transposed matrix.‡™àTurn a sparse vector into a vector by inserting a fixed element at the missing positions. O(size) where size is the dimension of the vector.ˆ™?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó/ŠMultiplication of �.s. (Corresponds to sequential composition.)ŒSmart constructor for Decr k :: Order which cuts off too big values.Possible values for k:  - ?cutoff Š™ k Š™ ?cutoff + 1.�$Raw decrease which does not cut off.ŽDecreasing and usable?�$Raw increase which does not cut off.�%The infimum of a (non empty) list of �$s. Gets the worst information.  & is the least element, thus, dominant.‘ÈMatrix-shaped order is decreasing if any diagonal element is decreasing.“le, lt,  decreasing, unknown4: for backwards compatibility, and for external use.”Usable decrease.–ÒSmart constructor for matrix shaped orders, avoiding empty and singleton matrices.—ÿWe use a record for semiring instead of a type class since implicit arguments cannot occur in instance constraints, like +instance (?cutoff :: Int) => SemiRing Order.™+The supremum of a (possibly empty) list of �;s. More information (i.e., more decrease) is bigger.  # is no information, thus, smallest.›ÜA partial order, aimed at deciding whether a call graph gets worse during the completion.�:In the paper referred to above, there is an order R with   Š™ Le Š™ Lt.This is generalized to   Š™ 'Decr k' where Decr 1 replaces Lt and Decr 0 replaces LeÖ. A negative decrease means an increase. The generalization allows the termination checker to record an increase by 1 which can be compensated by a following decrease by 2 which results in an overall decrease.´However, the termination checker of the paper itself terminates because there are only finitely many different call-matrices. To maintain termination of the terminator we set a cutoff€ point which determines how high the termination checker can count. This value should be set by a global or file-wise option.See Call for more information.9TODO: document orders which are call-matrices themselves.ž2Decrease of callee argument wrt. caller parameter.The Bool€ indicates whether the decrease (if any) is usable. In any chain, there needs to be one usable decrease. Unusable decreases come from SIZELT constraints which are not in inductive pattern match or a coinductive copattern match. See issue #2331.ÝUPDATE: Andreas, 2017-07-26: Feature #2331 is unsound due to size quantification in terms. While the infrastructure for usable/unusable decrease remains in place, no unusable decreases are generated by TermCheck.Ÿ&Matrix-shaped order, currently UNUSED. ÅNo relation, infinite increase, or increase beyond termination depth.£/We assume the matrices have the same dimension.¤It does not get worse then ` increase'Ã. If we are still decreasing, it can get worse: less decreasing.¦Information order:  Í is least information. The more we decrease, the more information we have.®When having comparable call-matrices, we keep the lesser one. Call graph completion works toward losing the good calls, tending towards Unknown (the least information).‹™(�, ‹™, Š) forms a semiring, with   as zero and Le as one.Œ™Pick the worst information.�™ collapse mWe assume that mÄ codes a permutation: each row has at most one column that is not Unknown.…To collapse a matrix into a single value, we take the best value of each column and multiply them. That means if one column is all UnknownÒ, i.e., no argument relates to that parameter, then the collapsed value is also Unknown.,This makes order multiplication associative.Ž™'Can two matrices be multplied together?Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ �žŸ Œ��˜Š™�—“”š–‹•Ž‘›œ’¡�Ë Ë¢�Ò Ò£�� �Á¤�ò ò¥�Ë˦�Û Û§�Ò Ò¨�ËËXNone) #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó …©Insert into a call matrix set.ªNon-augmented call matrix.«/Convert into a list of augmented call matrices.¬Union two call matrix sets.­0Call matrix indices = function argument indices.Machine integer ñ—Þ is sufficient, since we cannot index more arguments than we have addresses on our machine.®ÖSets of incomparable call matrices augmented with path information. Use overloaded ô, ó, µ , �™.±0Call matrix multiplication and call combination.´Call matrices.A call matrix for a call f --> g has dimensions  ar(g) × ar(f).9Each column corresponds to one formal argument of caller f9. Each row corresponds to one argument in the call to g.ÆIn the presence of dot patterns, a call argument can be related to several different formal arguments of f. See e.g. testsucceedDotPatternTermination.agda: … data D : Nat -> Set where cz : D zero c1 : forall n -> D n -> D (suc n) c2 : forall n -> D n -> D n f : forall n -> D n -> Nat f .zero cz = zero f .(suc n) (c1 n d) = f n (c2 n d) f n (c2 .n d) = f n d 'Call matrices (without guardedness) are à -1 -1 n < suc n and n < c1 n d ? = c2 n d <= c1 n d = -1 n <= n and n < c2 n d ? -1 d < c2 n d àHere is a part of the original documentation for call matrices (kept for historical reasons):€This datatype encodes information about a single recursive function application. The columns of the call matrix stand for sourceÄ function arguments (patterns). The rows of the matrix stand for target function arguments. Element (i, j)0 in the matrix should be computed as follows:žŸ (less than) if the j-th argument to the target; function is structurally strictly smaller than the i-th pattern.ž  (less than or equal) if the j-th argument to the target+ function is structurally smaller than the i-th pattern.ž¡ otherwise.·,Call matrix augmented with path information.¹Meta info, like call path.º"The matrix of the (composed call).»1Call matrix set product is the Cartesian product.¼Call matrix multiplication.f --(m1)--> g --(m2)--> h is combined to f --(m2 á m1)--> h9Note the reversed order of multiplication: The matrix c1 of the second call g-->h in the sequence  f-->g-->h is multiplied with the matrix c2 of the first call.Preconditions: m1 has dimensions  ar(g) × ar(f). m2 has dimensions  ar(h) × ar(g).Postcondition:  m1 >*< m2 has dimensions  ar(h) × ar(f).½%Augmented call matrix multiplication.©ª«¬­®¯°±²³´µ¶·¸¹º­´µ¶³±²·¸¹ºª®¯°©¬«»¢± ±0¼¢ü ü½¢� �8¾¢ä ä1¿¢’ ’.À¢Þ ÞÁ¢� �¢Þ%Þ-âÞÞ#Ä¢­­%Å¢­­Æ¢ââ&Ç¢˜ ˜(È¢­'­+É¢ÞÞÊ¢Þ<ÞÆË¢• •*Ì¢Ï Ï.ꢃ ÉÎ¢Ì Ì6Ï¢­­Ð¢��Ñ¢ÞÞÒ¢­-­ÌÓ¢Þ/Þ:YNone) #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó¬Õ"Call graph comparison. A graph cs' is `worse' than csù if it has a new edge (call) or a call got worse, which means that one of its elements that was better or equal to Le moved a step towards Un.†A call graph is complete if combining it with itself does not make it any worse. This is sound because of monotonicity: By combining a graph with itself, it can only get worse, but if it does not get worse after one such step, it gets never any worse.Õ cs completes the call graph csÂ. A call graph is complete if it contains all indirect calls; if f -> g and g -> h are present in the graph, then f -> h should also be present.×!Inserts a call into a call graph.Ø!Make a call with a single matrix.ÙMake a call with empty cinfo.ÚÀReturns all the nodes with incoming edges. Somewhat expensive. O(e).ÛÍConverts a call graph to a list of calls with associated meta information.Ü#Takes the union of two call graphs.Ý�Calls are edges in the call graph. It can be labelled with several call matrices if there are several pathes from one function to another.ÞçA call graph is a set of calls. Every call also has some associated meta information, which should be ñ˜âal so that the meta information for different calls can be combined when the calls are combined.áCall graph nodes.Machine integer ñ—Ô is sufficient, since we cannot index more than we have addresses on our machine.ãÞ is a monoid under Ü.èô: checks whether the call graph is completely disconnected.é?Displays the recursion behaviour corresponding to a call graph.�™ÍConverts a list of calls with associated meta information to a call graph.‘™Call graph combination.Application of ² to all pairs (c1,c2) for which Ý c1 = Þ c2.)ÔÕÖרÙÚÛÜÝÞßàá²ÝÞ³ áÝØÙÝÞÔ²ÞßàÚ³ ÛÜ×ÕÖ â£€ €3ã£ö ö%ä£ù ù"壗—.棓 “5磙 ™Éè£ê ê é£Ô Ô2ê£Õ Õë£ý ý2ZNone) #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó‡íA call c! is idempotent if it is an endo (Ý == Þ–) of order 1. (Endo-calls of higher orders are e.g. argument permutations). We can test idempotency by self-composition. Self-composition c >*< c: should not make any parameter-argument relation worse.îî cs( checks if the functions represented by cs terminate. The call graph cs should have one entry (Ý&) per recursive function application.ÖThe termination criterion is taken from Jones et al. In the completed call graph, each idempotent call-matrix from a function to itself must have a decreasing argument. Idempotency is wrt. matrix multiplication.ƒThis criterion is strictly more liberal than searching for a lexicographic order (and easier to implement, but harder to justify).ð.Would termination go through with guardedness?ñ+Guardedness does not help with termination.ò/Guardedness would provide termination evidence.ó*Result of running the termination checker.ô3Termination proved without considering guardedness.õ÷Termination could not be proven, witnessed by the supplied problematic call path. Guardedness could help, though.ïÃOnly consider calls whose source and target satisfy this predicate.Callgraph augmented with cinfo.A bad call path of type cinfo%, if termination could not be proven. ìíîïðñòóôõ óôõðñòîïìí ö¤ì ì"÷¤)&)-ø¤) )$ù¤) )ú¤))û¤ñ ñ!ü¤ö ö!ý¤é éþ¤))[None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóí‡ÃReturn the glyph set based on a given (unicode or ascii) glyph mode‰‹Picking the appropriate set of special characters depending on whether we are allowed to use unicode or have to limit ourselves to ascii.’ËWe want to know whether we are allowed to insert unicode characters or not.“'false: Stick to ASCII.”÷!: Unicode characters are allowed.’™/Choose the glyph set based on the unsafe IORef.“™3Are we allowed to use unicode supscript characters?ÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”’“”ˆ‡€�ƒ…†‚ÿ„‰Š‹Œ�Ž��‘•¥$ $ –¥  $—¥  ˜¥  ™¥ & -š¥) )›¥" "œ¥ \None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó- ‹+Lookup a builtin by the string used in the BUILTIN pragma.ø•Builtins that come without a definition in Agda syntax. These are giving names to Agda internal concepts which cannot be assigned an Agda type.,An example would be a user-defined name for Set.{-# BUILTIN TYPE Type #-} The type of Type would be Type : Level ’C SetÉ which is not valid Agda.ù%Lookup a primitive by its identifier.ûA builtin name, defined by the BUILTIN pragma.Ç-The class of types which can be converted to º.ÈÇGet the identifier for this builtin, generally used for error messages.É Convert this value to a builtin.Ê!A primitive name, defined by the  primitive block.º Either a û or Ê, used for some lookups. �žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼ º»¼ÇÈÉûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆø÷ú¾êòÄÂÅ¿ÃÀÁñ¨ª©˜Œæîïފ픹Ǝ»Ç³£Ë̬«¥¤ÉÊ®²�‘’쯰±çèäßáãàâ¦Ý—�ÖÙµ´¸¶ÐÛåÑÜÚ·™š›ÒÂÇÄÅÆÃÈŸž§ðר­ÓÔÕ¼½†‡‰ˆÏÍΕ–‚…„ƒ�ž÷�ûúùøþÿü€ý­°±¯®¹µ¸³²·¶´£¥¤ÁÀ¼½¾¿»©¨¬§ª«¦ºÉìÎðïãÒæëÐÞÛâÝÖ×ÕØÙáßÏÓêñéäóôòõËÌÊÍÜÔåöíÚÑàîè矡 ¢‹ÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹¡ ¢éœóõôö“�Èë�ºù½¦úú#¾¦œœ#¿¦ú%ú)À¦œ%œ)Á¦úú¦œœÃ¦Ä¦ú+ú2Ŧœ+œ2Ʀ#Ǧþ þȦ   É¦ ʦ‡ ‡Ë¦© ©Ì¦% %ͦ� �Φ£ £Ï¦ü üЦž žÑ¦ Ò¦úúÓ¦œœÔ¦Õ¦„ „Ö¦¦ ¦×¦ú úئœ œÙ¦ ]None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóÍ ÚClear the running info buffer.ÛClear the warning bufferÜÁDisplay running information about what the type-checker is up to.Þ-Writes a response command to standard output.ßFormats a response command. Replaces 'n'= with spaces to ensure that each command is a single line.àSimple Emacs Lisp expressions.áAtom.ãList.”™$The name of the running info buffer.•™0displayInBuffer buffername append header content displays content (with header header%) in some suitable way in the buffer  buffername. If append is Trueè, then the content is appended to previous content (if any), otherwise any previous content is deleted. ÚÛÜÝÞßàáâãä àáâãäßÞÝÚÛÜå§ æ§" "%^None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó³çCreate a keyword range.è5Range dedicated to a keyword or fixed token sequence.Motivation: by lacking a Ì0 instance we indicate that it cannot be updated.çèèçé¨ ê¨ ë¨ ì¨% %í¨ î¨ï¨( (ð¨_None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó`ÇóCombine inferred Ý. The unit is à.ô–# forms a pointwise additive monoid.õCombine inferred Ó.öCombine inferred �. The unit is •.÷î. forms an additive monoid with zero Quantity0.øCombine inferred ‚. The unit is ƒ.üƒCompose with cohesion flag from the left. This function is e.g. used to update the cohesion information on pattern variables a- after a match against something of cohesion rel.ýƒCompose with modality flag from the left. This function is e.g. used to update the modality information on pattern variables a- after a match against something of modality q.þƒCompose with polarity flag from the left. This function is e.g. used to update the polarity information on pattern variables a- after a match against something of polarity pol.ÿƒCompose with quantity flag from the left. This function is e.g. used to update the quantity information on pattern variables a- after a match against something of quantity q.€…Compose with relevance flag from the left. This function is e.g. used to update the relevance information on pattern variables a! after a match against something rel.‚ö can be embedded into î.…)Prefer user-written over system-inserted.†Ý composition. à is dominant, Þ is neutral.‡Composition of values of type ö.ö is dominant. ø is neutral.Right-biased for the origin.ˆ(Multiplicative monoid (standard monoid).‰Ó composition.Š� composition. • is dominant, ” is neutral.‹+Composition of quantities (multiplication).ï is dominant. ð is neutral.Right-biased for origin.Œ‚ composition. ƒ is dominant, „+ is neutral. Composition coincides with –™.‘/The default Modality terms are checked against.’:Default Cohesion is the identity element under composition“The default value of type ö : not erased.•Default is directive is private% (use everything, but do not export).˜‹The default Modality Beware that this is neither the additive unit nor the unit under composition, because the default quantity is É.š+Default used when not caring about polarity›ìAbsorptive element! This differs from Relevance and Cohesion whose default is the multiplicative unit.œ;Default Relevance is the identity element under compositionžî can be projected onto ö.ŸDoes an argument arg fit the shape dom of the next expected argument?ãThe hiding has to match, and if the argument has a name, it should match the name of the domain.¼˜ should be µ, so use as @ fromMaybe  IMPOSSIBLE $ fittingNamedArg arg dom @¬ Check for ï.­ Check for ð.® Check for ñ.¯¡ arguments are hidden.³Left division by a Ý3. Used e.g. to modify context when going into a rel argument.´Left division by a –3. Used e.g. to modify context when going into a m argument.3Note that this function does not change quantities.µLeft division by a Ó3. Used e.g. to modify context when going into a pol argument.¶Left division by a î3. Used e.g. to modify context when going into a q argument.·Left division by a ‚3. Used e.g. to modify context when going into a rel argument.¸inverseComposeCohesion r x returns the least y such that forall x, y we have (x `moreCohesion` (r `composeCohesion` y) iff /(r `inverseComposeCohesion` x) `moreCohesion` y1 (Galois connection). The above law fails for  r = Squash.¹inverseComposeModality r x returns the least modality y such that forall x, y we have .x `moreUsableModality` (r `composeModality` y) iff 5(r `inverseComposeModality` x) `moreUsableModality` y (Galois connection).ºinverseComposePolarity r x returns the least y such that forall x, y we have x `morePolarity'\` (r `composePolarity` y) iff ,(r `inverseComposePolarity` x) `morePolarity'\` y (Galois connection).»inverseComposePolarity r x returns the least y such that forall x, y we have x `morePolarity'\` (r `composePolarity` y) iff ,(r `inverseComposePolarity` x) `morePolarity'\` y (Galois connection).¼inverseComposeQuantity r x returns the least quantity y such that forall x, y we have (x `moreQuantity` (r `composeQuantity` y) iff /(r `inverseComposeQuantity` x) `moreQuantity` y (Galois connection).½inverseComposeRelevance r x returns the most irrelevant y such that forall x, y we have )x `moreRelevant` (r `composeRelevance` y) iff 0(r `inverseComposeRelevance` x) `moreRelevant` y (Galois connection).¿ËIrrelevant function arguments may appear non-strictly in the codomain type.ÁisDefaultImportDir implies null, but not the other way round.ÂIs the value "erased"?ßMonoidal composition of   information in some data.à Alias for Mixed polarity.áInformation ordering. ÐFlat `moreCohesion` Continuous `moreCohesion` Sharp `moreCohesion` SquashãmorePolarity' x yü is True whenever a variable of polarity x can be used anywhere where a variable of polarity y is expected. Note that morePolarity' x y actually means x <= y.äm moreUsableQuantity m' means that an m can be used where ever an m' is required.åInformation ordering. ÆRelevant `moreRelevant` ShapeIrrelevant `moreRelevant` Irrelevantæm æ m' means that an m can be used where ever an m' is required.èGet the content of a ¢.é,Equality of argument names of things modulo à and ¯.ê Alias for ’ polarity.ïAn abbreviation: noPlaceholder = Š €©.ð*Did the user supply a quantity annotation?ñ¢ and ¡ arguments are  notVisible.óLike partitionEithers.ôÉExtract the positional modality component for checks regarding only them.÷prettyHiding info visible doc# puts the correct braces around doc according to info info and returns  visible doc% if the we deal with a visible thing.ÿEquality ignoring origin.€Equality ignoring origin.�Ignores Ë.‚Equality ignoring origin.ƒ,Equality of argument names of things modulo à and ¯.„Equality for polarities.…Equality ignoring origin.†Equality ignoring origin.� ,setNamedArg a b = updateNamedArg (const b) a”ÂApplied when working on types (unless --experimental-irrelevance).•splittablePolarity pol == False& iff we cannot split on a variable of pol.˜"Absorptive element under addition.™"Absorptive element under addition.š"Absorptive element under addition.›Absorptive element is É.œ"Absorptive element under addition.�Identity under compositionžIdentity under compositionŸIdentity under composition. "Identity element under composition¡"Identity element under composition¥Thing with no range info.¦The functor instance for ¢8 would be ambiguous, so we give it another name here.¨usableCohesion rel == False! iff we cannot use a variable of rel.ªusablePolarity pol == False! iff we cannot use a variable of pol.«9A thing of quantity 0 is unusable, all others are usable.¬usableRelevance rel == False! iff we cannot use a variable of rel.®£ arguments are visible.¯xs `withArgsFrom` args translates xs into a list of Ás, using the elements in args to fill in the non-Ä fields.5Precondition: The two lists should have equal length.²Ý4 forms a monoid under addition, and even a semiring.³Identity under addition´�4 forms a monoid under addition, and even a semiring.µIdentity element under addition¶‚4 forms a monoid under addition, and even a semiring.·Access modifier.¸ Store the ¯ô of the private block that lead to this qualifier. This is needed for more faithful printing of declarations. è is the range of the private keyword.¼ÄWe have a tuple of annotations, which might not be fully orthogonal.¾øFitch-style dependent right adjoints. See Modal Dependent Type Theory and Dependent Right Adjoints, arXiv:1804.05236.¿"Is any element of a collection an ³.Å4A function argument can be hidden and/or irrelevant.ÇÚSometimes we want a different kind of binder/pi-type, without it supporting any of the Modality interface.ÌNames in binders and arguments.ÎAssociativity.Ö.Positions of variables in syntax declarations.ؽThe position (in the left-hand side of the syntax declaration) of the hole in which the variable is bound, counting from zero (and excluding parts that are not holes). For instance, for  syntax £ A (» x ’C B) = B , A , x the number for x is 1, corresponding to B (0 would correspond to A).Ù…The position in the list of variables for this particular variable, counting from zero, and including wildcards. For instance, for "syntax F (» x _ y ’C A) = y ! A ! x the number for x is 0, the number for _ is 1, and the number for y is 2.ÚÃ1 of the CATCHALL pragma for a clause, if any. ¼˜ means no such pragma.ÝÎCohesion modalities see "Brouwer's fixed-point theorem in real-cohesive homotopy type theory" (arXiv:1509.07584) types are now given an additional topological layer which the modalities interact with.Þåidentity modality. | Sharp -- ^ same points, codiscrete topology, idempotent monad, diamond-like.ß=same points, discrete topology, idempotent comonad, box-like.àÁsingle point space, artificially added for Flat left-composition.áWhere does the ConP or Con come from?â#User wrote a constructor (pattern).ãUser wrote a record (pattern).ä(Generated by interactive case splitting.å8Inserted by system or expanded from an implicit pattern.è/Distinguish constructors from pattern synonyms.ë0Can we construct a record by copattern matching?í!Coverage check? (Default is yes).ðVariants of Cubical Agda.óÅDistinguish parsing a DISPLAY pragma from an ordinary left hand side.öA special case of î: erased or not.Note that the ǘ2 instance does *not* ignore the origin arguments.þ*Expression kinds: Expressions or patterns.‰Fixity of operators.�&Range of the whole fixity declaration.ŽçThe notation is handled as the fixity in the renamer. Hence, they are grouped together in this type.‘àRange of the name in the fixity declaration (used for correct highlighting, see issue #2140).”$Fixity level declared as the number.•No fixity declared.™ÁPattern and copattern matching is allowed in the presence of eta.ÑIn the absence of eta, we have to choose whether we want to allow matching on the constructor or copattern matching with the projections. Having both leads to breakage of subject reduction (issue #4560).š%Does a record come with eta-equality?¥ÙThe things you are allowed to say when you shuffle names between name spaces (i.e. in import,  namespace, or open declarations).ª Only for openÄ. Exports the opened names from the current module. Range of the public keyword.¬3An imported name can be a module or a defined name.­Imported module name of type m.®Imported name of type n.²Abstract or concrete.µÀFunctions can be defined in both infix and prefix style. See |ª.¸0Is this definition eligible for instance search?¹ Range of the instance keyword.»Is this a macro definition?ÁOpaque or transparent.ÂÈThis definition is opaque, and it is guarded by the given opaque block.Ä4Monoid representing the combined opaque blocks of a ó—* containing possibly-opaque declarations.Å%More than one opaque block was found.ÆNothing here is opaque.Ç= 0.¦Number >= 1.§Notation as provided by the syntax declaration.¨Notation parts.©ÎA hole: a place where argument expressions can be written. For instance, for _+_) the two underscores are holes, and for  syntax £ A (» x ’C B) = B , A , x the variables A and Bç are holes. The number is the position of the hole, counting from zero. For instance, the number for A is 0, and the number for B is 1.ª&An identifier part. For instance, for _+_ the only identifier part is +.«A bound variable.©The first range is the range of the variable in the right-hand side of the syntax declaration, and the second range is the range of the variable in the left-hand side.¬/A wildcard (an underscore in binding position).­ÞThe unique identifier of an opaque block. Second argument is the top-level module identifier.¯Origin of arguments.°&Produced by an interactive case split.± An expanded hidden argument pun.²&Inserted by the generalization process³E.g. inserted hidden arguments.´%Produced by the reflection machinery.µÛNamed application produced to represent a substitution. E.g. "?0 (x = n)" instead of "?0 n"¶/From the source file / user input. (Preserve!)· Origin of ƒ.¸User wrote ".".¹User wrote nothing.ºUser wrote "@irr".»User wrote "@irrelevant".¼ Origin of „.½User wrote nothing.¾User wrote "@relevant".¿ Origin of ….ÀUser wrote "..".ÁUser wrote nothing.ÂUser wrote "@shirr".ÃUser wrote "@shape-irrelevant".ÄÎThe possible overlap modes for an instance, also used for instance candidates.ňNo user-written overlap pragma. This instance can be overlapped by an OVERLAPPING instance, and it can overlap OVERLAPPABLE instances.Æ'Overlapping instances in record fields.ǨUser-written INCOHERENT pragma: both overlappable and overlapping; and, if there are multiple candidates after all overlap has been handled, make an arbitrary choice.ÈàUser-written OVERLAPPABLE pragma: this candidate can *be removed* by a more specific candidate.ÉØUser-written OVERLAPPING pragma: this candidate can *remove* a less specific candidate.ÊÀUser-written OVERLAPS pragma: both overlappable and overlapping.Î/Can we pattern match on the record constructor?Ð=For a record without eta, which type of matching do we allow?Ñ5Can copattern match using the projections. (Default.)Ò$Can match on the record constructor.Õ#The actual polarity of the variableÖãThe locks of the variable (= composition of all denominators the variable has been left divided by)×,The original polarity annotation by the userØ4The position of a name part or underscore in a name.Ù;The following underscore is at the beginning of the name: _foo.Ú4The following underscore is at the end of the name: foo_.Û8The following underscore is in the middle of the name: foo_bar.Ü#Positivity check? (Default = True).ß Precedence levels for operators.àéA "problem" consists of a set of constraints and the same constraint can be part of multiple problems.â"Where does a projection come from?ã User wrote a postfix projection.äUser wrote a prefix projection.å'Projection was generated by the system.æ Origin of ï.çUser wrote "@0".èUser wrote "@erased".éUser wrote nothing.ê Origin of ð.ëUser wrote "@1".ìUser wrote nothing.íUser wrote "@linear".îQuantity for linearity.íA quantity is a set of natural numbers, indicating possible semantic uses of a variable. A singleton set {n}= requires that the corresponding variable is used exactly n times.ï Zero uses {0}, erased at runtime.ð Linear use {1}ó (could be updated destructively). Mostly TODO (needs postponable constraints between quantities to compute uses).ñUnrestricted use •B.ò Origin of ñ.óUser wrote "@É".ôUser wrote nothing.õUser wrote "@plenty".öString with range info.÷Thing with range info.ûA RawName is some sort of string.‚:A function argument can be relevant or irrelevant. See Agda.TypeChecking.Irrelevance.ƒ3The argument is irrelevant at compile- and runtime.„4The argument is (possibly) relevant at compile-time.…Like ï�, the argument may never flow into evaluation position. So it is irrelevant at run-time, yet treated relevantly during equality checking.Unlike ï, it is used to type ƒ* arguments in functions: If you enable --experimental-irrelevanceÜ, then the type of an irrelevant function is forced to be shape-irrelevant. See: -  (https://doi.org/10.2168/LMCS-8(1:29)2012ß example 2.8 (Not enforcing shape-irrelevant codomains can break subject reduction!) -  &https://dl.acm.org/doi/10.1145/3110277 - 'https://doi.org/10.1145/3209108.3209119ˆNew fixity of Š (optional).‰Rename from this name.Š#To this one. Must be same kind as ‰.‹ÃThe range of the "to" keyword. Retained for highlighting purposes.�RewriteEqn' qn p e represents the rewrite and irrefutable with clauses of the LHS. qnÖ stands for the QName of the auxiliary function generated to implement the feature nm/ is the type of names for pattern variables p is the type of patterns e is the type of expressionsŽ with p <- e in eq�  using p <- e�  rewrite e‘0Termination check? (Default = TerminationCheck).’#Skip termination checking (unsafe).“Treat as non-terminating.”/Treat as terminating (unsafe). Same effect as ’.•Run the termination checker.–2Skip termination checking but use measure instead.—;Type wrapper to indicate additive monoid/semigroup context.™ÐType wrapper to indicate composition or multiplicative monoid/semigroup context.ž!Universe check? (Default is yes).¡The using clause of import directive.¢No using clause given.£using the specified names.¤Decorating something with   information.¨Decorating something with ¯ information.­ Default is ´.Á Ignores range.š",Composition is left-biased, taking the left à if both have one.¢" , is an idempotent partial monoid, with unit £. ¢ and £ are incompatible.¥"+Semigroup computes if any of several is an ³.§"Conjunctive semigroup (À is absorbing).ª"éRight-biased composition, because the left relevance acts as context, and the right one as occurrence.®"éRight-biased composition, because the left relevance acts as context, and the right one as occurrence.°" Just for the  9 instance. Should never combine different overlapping.´"èRight-biased composition, because the left quantity acts as context, and the right one as occurrence.¶"èRight-biased composition, because the left quantity acts as context, and the right one as occurrence.¸"èRight-biased composition, because the left quantity acts as context, and the right one as occurrence.½"à is the additive unit.¾"Ý" forms a semigroup under addition.¿"'' is the additive unit.À"�" forms a semigroup under addition.Á"Pointwise additive unit.Â"Pointwise addition.Ã"ÚIn the absense of finite quantities besides 0, É is the unit. Otherwise, 1 is the unit.Ä"+Composition of quantities (multiplication).ï is dominant. ð is neutral.Right-biased for origin.Å"„ is the unit under composition.Æ"‚% forms a semigroup under composition.Ç" Continous is the multiplicative unit.È"Ý% forms a semigroup under composition.É" Continous is the multiplicative unit.Ê"�% forms a semigroup under composition.Ë"Pointwise composition unit.Ì"Pointwise composition.ä"Ranges are not forced.ƒ#Ranges are not forced.†#Ranges are not forced.�#ô5 shall mean no information, not even origin or range.–#nullç for import directives holds when everything is imported unchanged (no names are hidden or renamed).Ÿ#ô0 means no information, not even origin or range.¢#ô0 means no information, not even origin or range.¬#2Order is given by implication: flatter is smaller.Ô#Ignores range.Õ#More relevant is smaller.ê#Flatter is smaller.ë#¡The derived Ord instance for ModalPolarity is just used for serialisation and has no particular meaning. The actual order on modalities is a partial order.ì#Dominance ordering.î#Note that the order is É äD 0,1, more options is smaller.ï#More relevant is smaller.”$Ignores range.Ñ$?The record selectors are not included in the resulting strings.#«¬¬®­¯®°¯±°²±³²´³µ´¶µ·¶¸·º¸»¹¼º½»¾¼¿½À¾Á¿ÂÀÃÁÄÂÅÃÆÄÇÅÈÆÉÇÊÈËÉÌÊÍËÎÌÏÍÐÌñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶çè·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�õžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«ÔÕÖèéêëìíîïðñòâñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¸¼½¾¿À¬ÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ®»ÆÐÑÒÓ¼ÇÔÕÖׯ½ÈØÙÚÛÜÝÞß°¾Éàáâ㱿ÊäåæçèéêëÀËìíîï²ÁÌðñòó³ÂÍôõöº÷øùú´ÃÎûüýþµÄÏÿ€�‚¶ÅЃ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�õžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�·žŸ ¡¢£¤¥¦§¨©ª«ÔÕÖ°­ÎРйÎú úÑ΄ „ÒΉ ‰,ÓΊ Š2ÔΨ ¨"ÕΫ «.Öά ¬4×Ω ©#ØÎ§;§ÂÙΰ °&ÚήÁ®ÈÛβ ² Üέ­#ÝÎ� �ÞÎŽ ŽßÎÆÆ&àÎÁ"Á)áÎ�"�)âÎôô#ãΛ&›-äΆ&†-å΂$‚+æÎÏ"Ï)çÎê"ê)èÎââ!éεµ#êÎÒ"Ò)ëÎÌÌ#ìΊ Š)í· ‡5îμ ¼ïκº%ðκ º!ñÎØØ%òΟ Ÿó·‡ôί ¯õÎ� �öΛ›#÷ÎÆÆøÎÁÁ ùÎ�� úÎô%ô)ûΛ ›$üή®ýΆ †$þθ ¸ÿ΂‚€ Λ ›� Îê ê‚ ÎÏÏ ƒ Îêê „ ε%µ)… ÎÙÙ† ÎÒÒ ‡ ÎÌ%Ì)ˆ Îëë‰ ÎÔ Ô Š Îºº‹ Ψ¨Œ Î××� ÎÒÒŽ Îî î� ÎÚ Ú� ÎÆÆ‘ ÎÁÁ’ Îô ô“ Îêê” Î› ›• Îã ã – ÎÁÁ— Ϊ ª˜ ÎÕ Õ™ Îñ ñš Ι ™› ÎÄ Äœ Îà à� ÎÏÏž ΂‚Ÿ ÎРР Î� �¡ γ ³¢ Ψ¨£ ΂‚¤ Îàॠδ´¦ ÎÈȧ ÎÄ Ä¨ Î×ש Îûûª Î��« Ά†¬ Î� �­ β ²® ΂ ‚"¯ ÎÄİ Γ“± ÎØØ² · ‡³ Îââ´ Î……µ ÎÏ϶ Î¥¥· Îêê¸ Îä ä¹ Î††º ε µ» ÎÙ Ù¼ ÎÒÒ½ ο¿¾ ÎÆÆ¿ ÎëëÀ ÎÍÍÁ Î’ ’ Îµµ à Îì ì Ä Î” ”Š΢¢Æ ΧħÆÇ ήʮÌÈ ÎÌ ÌÉ Îö öÊ Î­ ­Ë Λ ›Ì κ'º/Í ÎÏ%Ï-Î Î��'Ï ÎØ'Ø/Р·‡$Ñ Îµ"µ*Ò Î” ”(Ó Î­%­-Ô Î›%›-Õ ÎÏÏ#Ö Î��× ÎµµØ Δ”٠΢¢ Ú ÎÔ Ô %Û ÎÒÒÜ ÎÚÚÝ ÎÆ(Æ/Þ ÎÁ+Á2ß Î��à Îô+ô2á Îêê â Λ›ã Îã ã #ä ÎÕÕ#å ΂‚%æ ÎÈÈ#ç Î××#è Îûû é Î��ê Ά†ë β²ì ΂-‚4í ÎÄÄ%î Γ“ï Îââð η · ñ ή ® ò ÎÀ À ó Îâ#â*ô ε+µ2õ ÎÒ+Ò2ö ο¿÷ ÎÆÆø Îëëù ÎÍÍú Îê ê û ÎÌ+Ì2ü Îé é$ý Îõ õþ ÎÖ Ö ÿ ο ¿(€!Ϊ ª�!ÎË Ë‚!΄ „ ƒ!Îû û„!ÎÑ Ñ,…!Î� �†!η ·Ň!ÎÁ Áˆ!Η —‰!λ »Š!ÎË Ë‹!Η —5Œ!ÎÊ Ê�!ν ½/Ž!Κ š�!· ‡�!Îû û #‘!ÎÓ Ó !’!Ω © (“!Îð ð%”!Îê ê#•!Îá á–!Î� �—!ε µ ˜!ÎÀ À™!Ι ™š!ξ ¾6›!Îï ï œ!ξ ¾>�!Ψ ¨àž!κ º;Ÿ!ζ ¶/ !Σ £/¡!ÎÌ Ì¢!Τ ¤£!Îó ó¤!ά¬¥!έ­¦!ÎÙ"Ù*§!ÎÙÙ ¨!΢ ¢©!Î’ ’ª!Îø ø«!ÎÙ Ù ¬!ÎÅ Å*­!έ ­®!ÎÔ Ô$¯!Îè è°!ÎÑ Ñ±!ΊŲ!Îö ö!³!· ‡ ´!ÎÏ Ï$µ!Îþ þ¶!Σ £·!Îë ë!¸!ÎÔ Ô.¹!Π  º!ÎÇ ÇÈ»!ÎÒ Òż!Κ š½!ε µ!¾!Ζ –¿!ζ ¶À!ÎÊ ÊÁ!ÎÙ ÙÂ!Îý ýÃ!Λ ›7Ä!ÎÍ ÍÅ!Ε •Æ!Îà ÃÃÇ!Ψ ¨ È!Îä äÉ!Ί ŠÊ!Ή ‰ $Ë!ÎÝ Ý "Ì!η · )Í!ÎÚ ÚÎ!Îó ó&Ï!Îð ð$Ð!η ·#Ñ!ÎÖ ÖÒ!Îí íÓ!Μ œÔ!ÎÁ Á Õ!ÎÌ ÌÖ!Μ œ×!ÎÁ Á8Ø!Îû û Ù!ÎÏ ÏÁÚ!ή ®åÛ!Τ ¤7Ü!ÎÎ Î!Ý!ÎË Ë>Þ!μ ¼1ß!Ω ©1à!Ί Š8á!Έ ˆ.â!Έ ˆ 9ã!Ά † /ä!ÎÉ É8å!ÎÇ Ç.æ!ÎÅ ÅÀç!Îà Ã6è!ÎÖ Ö8é!ÎÔ Ô.ê!Îõ õ #ë!Îú ú ì!ÎÔ Ô í!Îü üî!θ ¸ï!Σ £ð!Îå åñ!Îï ïò!Îþ þó!ξ ¾ô!γ ³õ!ζ ¶ö!Î’ ’#÷!ÎÏ Ï#ø!Î� �)ù!΃ ƒú!ÎÀ Àû!ÎÓ Óü!ÎÝ Ý1ý!ÎØ Ø#þ!Ξ ž#ÿ!Îá á€"έ ­�"Ω ©‚"Τ ¤ƒ"Ψ ¨#„"Îê ê#…"΃ ƒ$†"Î� �,‡"Έ ˆˆ"Ίʼn"Îï ïŠ"Îü ü*‹"Îÿ ÿŒ"΃ ƒ"�"Î� �Ž"ÎÊ Ê�"ÎÁ Á�"ÎÆ Æ#‘"Ξ ž’"Îà à“"Îù ù”"ΰ ° •"Ι ™–"ÎÛ Û—"Îô ô ˜"Ε • !™"Îâ âš"ÎÝ Ý›"Îÿ ÿœ"Îú ú!�"ÎË Ë!ž"ÎÆ Æ$Ÿ"Îç ç "Îâ â!¡"Ι ™¢"Î’ ’£"Îæ æä"ÎÝ ÝÆ¥"Î… …¦"ÎÌ Ì§"ÎÇ Ç¨"Îî î ©"Îø ø !ª"Îð ð $«"ÎÐ Ð ¬"ÎÊ Ê "­"Φ ¦ &®"Ξ ž )¯"ή ®°"Ω © ±"ÎÀ À ²"λ »#³"ÎÚ Ú´"ÎÓ Óµ"Ή ‰¶"΂ ‚·"ι ¹¸"β ²¹"Î� �)º"Î� �,»"ÎŽ Ž *¼"΋ ‹ -½"ÎÑ Ñ)¾"ÎÍ Í,¿"ÎÍ Í1À"ÎÉ É4Á"ÎÞ Þ)Â"ÎÚ Ú,Ã"΃ ƒ,Ä"Îþ þ/Å"Î� � -Æ"Îý ý 0Ç"ΠÂ,È"ξ ¾/É"ξ ¾4Ê"κ º7Ë"ÎÏ Ï,Ì"ÎË Ë/Í"Îý ýÎ"Îø ø Ï"Îò òÐ"Îã ã Ñ"Îù ù$Ò"ν ½Ó"ÎÙ Ù!Ô"ί ¯&Õ"Îí íÖ"ÎÔ Ô×"ÎÃ ÃØ"Ζ –,Ù"΃ ƒÚ"Îì ìÛ"΂ ‚ Ü"ÎÓ Ó!Ý"Îá áÞ"Î� �ß"Π  à"ÎË Ëá"Îî îâ"Î× ×(ã"Σ £ä"΂ ‚?å"ÎŽ Ž<æ"ί¯ç"Ι ™è"ÎÀ Àé"ÎÍ Íê"ÎÜ Üë"΀ €ì"Ε •í"Ο Ÿ1î"ÎÉ Éï"ÎÐ Ðð"Ρ ¡ñ"ÎÏ Ï:ò"β ²ó"Îð ðô"Î� �õ"ÎŒ Œ !ö"Îà à ÷"κ º &ø"ÎÝ Ýù"β ²ú"Îì ì#û"Îó ó!ü"ÎÄ Ä ý"ÎÙ1Ù7þ"ÎÔ Ôÿ"Îó ó€#΢ ¢�#ÎÇ Ç ‚#ÎÒ Òƒ#Τ ¤'„#ÎÄ Ä2…#Îþ þ †#΋ ‹8‡#Ζ –Öˆ#Ψ ¨1‰#ÎÑ ÑŠ#Î… …5‹#ο ¿+Œ#ά ¬+�#Îß ß Ž#Îï ï�#Îå å�#Îî î‘#Îà Ò#Î÷ ÷“#Μ œ”#ÎÆ Æ•#Î� �–#Î× ×%—#Î’ ’˜#ÎÄ Ä™#Îç ç š#ÎÄ Ä ›#Ε • $œ#Îò ò�#ÎÞ Þž#Î� �Ÿ#ÎÆ Æ #ν ½¡#η ·.¢#Ϋ « £#Î� �¤#Ϋ«¥#ÎÙ,Ù/¦#Îëë§#ÎÔ Ô ¨#κº©#Ψ¨ª#Î×׫#Îîî¬#΄ „­#ÎÁÁ®#Îôô¯#Îã ã °#ÎÕÕ±#Îô ô²#ÎÄij#Îàà´#ÎÏϵ#΂‚¶#Î��·#Ω©¸#΂‚¹#Îààº#δ´»#ÎÈȼ#Î××½#Î� �#¾#Ά/†2¿#Î��À#β²Á#΂‚Â#ÎÄÄÃ#Γ“Ä#ÎØØÅ#ÎŽ ŽÆ#ÎââÇ#Î……È#ÎÏÏÉ#Î¥¥Ê#ÎêêË#ÎââÌ#Ά†Í#εµÎ#ÎÙÙÏ#ÎÒÒÐ#ο ¿#Ñ#ÎÆ Æ#Ò#Îë ë#Ó#ÎÍ Í#Ô#Ζ –!Õ#Π Ö#ΧȧË×#ήήÑØ#ÎÌÌÙ#έ­Ú#Λ›Û#Ε •+Ü#Γ “ ,Ý#ÎÖ Ö+Þ#ÎÒ Ò3ß#Îã ã+à#Δ ”.á#Î’ ’ /â#ÎÕ Õ.ã#ÎÑ Ñ6ä#Îâ â.å#· ‡1æ#Î… … 2ç#ÎÆ Æ1è#ΠÂ9é#ÎÓ Ó1ê#Α ‘ë#Ί Š"ì#ÎÇ Çí#Îù ù%î#Θ ˜ï#ÎÏ Ï ð#Χͧ×ñ#ήӮÝò#Îý ý'ó#Î� �*ô#Îú ú3õ#Îí íö#Îò ò$÷#ÎÙ Ùø#ÎÙ Ùù#Α ‘,ú#ÎŒ Œ û#Î× ×ü#΄ „ý#ÎÏ Ïþ#΄ „ÿ#ÎØ Ø?€$Îð ð<�$Γ “‚$β ²ƒ$α ±„$δ ´…$Ζ –†$Îå å‡$Θ ˜ˆ$ÎÒ Ò'‰$Îç çŠ$ÎÆ Æ !‹$ÎÁ Á Œ$ÎÍ Í &�$ÎÑ ÑŽ$Îö ö!�$ÎÝ Ý�$Îù ù‘$Ψ ¨’$Ρ ¡“$ÎØ Ø”$ÎŽ Ž'•$ÎÄ Ä –$Îô ô8—$Μ œ˘$Îë ë5™$Ο Ÿ+š$Π  +›$Î� � -œ$ΠÂ(�$ÎΠΞ$ÎÀ À/Ÿ$Ρ ¡ $΂ ‚ #¡$ÎØ Ø !¢$ΰ ° (£$Îí í#¤$Îç ç¥$Ζ –¦$λ » §$ÎÆ ƨ$Îõ õ ©$ι ¹/ª$Φ ¦/«$Îëë¬$ÎÔ Ô ­$κº®$Λ›¯$Ψ¨°$Î××±$ÎÒ Ò²$Îîî³$ÎÚÚ´$ÎÆÆµ$ÎÁ Á¶$Î� �·$Îôô¸$Îêê¹$Λ›º$Îã ã »$ÎÁ Á¼$Ϊª½$ÎÕÕ¾$Îç ç¿$Δ ”À$ÎÄÄÁ$ÎààÂ$ÎÏ ÏÃ$΂ ‚Ä$ÎÐÐÅ$Î��Æ$ΪªÇ$΂‚È$ÎààÉ$δ´Ê$ÎÈ ÈË$ÎÄÄÌ$Î× ×Í$ÎûûÎ$Î� �Ï$Ά †Ð$Î�6�:Ñ$ΠÂÒ$΂‚Ó$ÎÄÄÔ$Γ!“%Õ$ÎØØÖ$Î… …×$Îâ!â%Ø$Î… …Ù$η · Ú$ή ® Û$ÎÀ À Ü$ÎÏ ÏÝ$Î¥ ¥Þ$Îê êß$Îââà$Ά †á$εµâ$ÎÜ Üã$ÎÒ Òä$ο ¿å$ÎÆ Ææ$Îë ëç$ÎÍ Íè$· ‡é$εµê$Îê ê ë$γ³ì$Δ”í$΢¢î$Χ5§9ï$ή;®?ð$ÎÌÌñ$Îööò$έ­ó$κ1º<ô$ÎÏ/Ï:õ$Î�)�4ö$ÎØ1Ø<÷$·&‡1ø$ε,µ7ù$Δ*”5ú$έ/­:û$Λ/›:ü$ÎÉ Éý$ÎÌ Ìþ$ÎÆ Æ`None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó€%ØBlanks the non-code parts of a given file, preserving positions of characters corresponding to code. This way, there is a direct correspondence between source positions and positions in the processed result.�%Returns True& if the role corresponds to Agda code.‚%Returns True! if the layer contains Agda code.ƒ%ÊShort list of extensions for literate Agda files. For display purposes.„%Preprocessor for Markdown.…%$Preprocessor for Org mode documents.†%ÛList of valid extensions for literate Agda files, and their corresponding preprocessors.ùIf you add new extensions, remember to update test/Utils.hs so that test cases ending in the new extensions are found.‡%"Preprocessor for reStructuredText.ˆ%Preprocessor for literate TeX.‰%9A sequence of characters in a file playing the same role.Ž% Role of a character in the file.’%A list of contiguous layers.“%/Type of a literate preprocessor: Invariants:  f : Processorproposition> f pos s /= []*proposition> f pos s >>= layerContent == s—™7Annotates a tokenized string with position information.˜™6Replaces non-space characters in a string with spaces.™™*Check if a character is a blank character.š™ØReturns a tuple consisting of the first line of the input, and the rest of the input.›™2Canonical decomposition of an empty literate file.œ™äCreate a regular expression that: - Must match the whole string - Works across line boundaries�™#Preprocessor for Forester documentsÿ$€%�%‚%ƒ%„%…%†%‡%ˆ%‰%Š%‹%Œ%�%Ž%�%�%‘%’%“%†%ƒ%ˆ%‡%„%…%€%ÿ$“%’%‰%Š%‹%Œ%�%Ž%�%�%‘%�%‚%”%Ï,,•%Ï: :#–%Ï44—%Ï, ,aNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóÇ ˜%*Does a function application need brackets?™%*Does a function application need brackets?š%#Argument context preferring parens.œ%›Does a lambda-like thing (lambda, let or pi) need brackets in the given context? A peculiar thing with lambdas is that they don't need brackets in certain right operand contexts. To decide we need to look at the stack of precedences and not just the current precedence. Example: m�A >>= (» x ’C x) >>= m‚A (for _>>=_ left associative).�%ìDo we need to bracket an operator application of the given fixity in a context with the given precedence.ž%ìDo we need to bracket an operator application of the given fixity in a context with the given precedence.Ÿ%$Does a function space need brackets?¤%&Does a with application need brackets?¥%*Do we prefer parens around arguments like » x ’C x or not? See œ%.¨%(Precedence is associated with a context.³%°When printing we keep track of a stack of precedences in order to be able to decide whether it's safe to leave out parens around lambdas. An empty stack is equivalent to °%. Invariant: `notElem TopCtx`.´%Decorating something with Fixity'.˜%™%š%›%œ%�%ž%Ÿ% %¡%¢%£%¤%¥%¦%§%¨%©%ª%«%¬%­%®%¯%°%±%²%³%´%µ%´%µ%¥%¦%§% %¡%¨%©%ª%«%¬%­%®%¯%°%±%²%³%¢%›%š%�%ž%œ%˜%™%¤%Ÿ%£%¶%Ð" "·%Ð33¸%й%Ð º%Ð""#»%Ð33 ¼%Й ™6½%Ð )¾%Ð (¿%Ð$ $ À%Ð5 5Á%Ð""Â%Ð7 7Ã%Ð""Ä%Ð33Å%Ð-1Æ%Ð +bNone) #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóW Ç%õUses the given document as the printed representation of the given parser. The document's precedence is taken to be atomP.È%&Tries to print the parser, or returns emptyÆ, depending on the implementation. This function might not terminate.É%Memoises the given parser./Every memoised parser must be annotated with a uniqueÉ key. (Parametrised parsers must use distinct keys for distinct inputs.)Ê%ÀMemoises the given parser, but only if printing, not if parsing./Every memoised parser must be annotated with a uniqueÉ key. (Parametrised parsers must use distinct keys for distinct inputs.)Ë%Runs the parser.Ì%.Parses a token satisfying the given predicate.Í%ÏParses a token satisfying the given predicate. The computed value is returned.Î%Memoisation keys.Õ%The parser monad.Ç%È%É%Ê%Ë%Ì%Í%Î%Ï%Ð%Ñ%Ò%Ó%Ô%Õ%Ö%Î%Ï%Ð%Ñ%Ò%Ó%Ô%Ö%Õ%Ë%Í%Ì%Ç%É%Ê%È%×%Ñ% %Ø%Ñ%%Ù%Ñ) )Ú%Ñ%%cNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó $Û%ØGet the first version of the concrete name that does not satisfy the given predicate.ß%öAn open mixfix identifier is either prefix, infix, or suffix. That is to say: at least one of its extremities is a Holeà%-Is the name an operator? Needs at least 2 �&s.ã%Is the name (un)qualified?å%$Zoom on the last non-hole in a name.æ%Don't use on 'NoName{}'.ç%(Lens for the unqualified part of a QNameé%ÊGet a raw version of the name with all suffixes removed. For instance, nameRoot "x�A‚AƒA" = "x".ë%ÊLens for accessing and modifying the suffix of a name. The suffix of a NoName is always Nothing, and should not be changed.ì%,Split a name into a base name plus a suffix.î%Û%Ü%Ý%Þ%ß%à%á%â%ã%ä%å%æ%ç%è%é%ê%ë%ì%í%î%ï%ð%ñ%ò%ó%ô%õ%ö%÷%ø%ù%ú%û%ü%ý%þ%ÿ%€&�&‚&ƒ&„&…&†&‡&ˆ&‰&Š&‹&Œ&�&Ž&�&�&‘&’&“&”&•&–&—&˜&Æ&‡&ˆ&‰&Š&‹&Œ&“&ß%�&‘&’&–&—&˜&ø%ö%÷%æ%í%è%ê%ù%”&•&à%Ü%â%á%Ý%Þ%�&Ž&�&€&�&‚&ƒ&„&…&™&›&œ&�&û%ü%ý%ï%î%å%Û%ë%ì%õ%é%ô%ç%ó%ú%ò%ã%ä%ñ%ð%þ%ÿ%š&'ž&×ΠΟ&×Ì Ì &×Ù Ù¡&×î î¢&×à ã&ש ©¤&×­ ­¥&×ú ú¦&×÷ ÷§&×ý ý¨&ׄ „©&׈ ˆ+ª&׉ ‰/«&×½ ½¬&×¹ ¹­&×à à®&×Ý Ý!¯&×å å°&×Ë Ë±&׊Ų&×Ï Ï³&×Ó Ó´&×­ ­µ&ת ª¶&×± ±·&×Ó Ó¸&×Þ Þ¹&×îîº&×— —»&×› ›¼&ן Ÿ½&×± ±¾&×µ µ¿&×��À&×ÌÌÁ&×�� Â&ב‘Ã&×8 8Ä&×ð ðdNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó'Ï&Print list of errors.Û&Extra information for error Û&.ä&What kind of declaration? See also žØ.å&Name of a data type.æ&Name of a function.ç&Name of a record type.è&Nicifier errors.÷&The reason for an ErasedDatatype error.ø& The flag --erased-matches is not used.ù&The K rule is not activated.ú&There are several constructors.û&Symbolic name of an Agda error.‡)Reasons for error ‡).‹)Reasons for error ‹).�)#Things not allowed in dot patterns.åÅ&Æ&Ç&È&É&Ê&Ë&Ì&Í&Î&Ï&Ð&Ñ&Ò&Ó&Ô&Õ&Ö&×&Ø&Ù&Ú&Û&Ü&Ý&Þ&ß&à&á&â&ã&ä&å&æ&ç&è&é&ê&ë&ì&í&î&ï&ð&ñ&ò&ó&ô&õ&ö&÷&ø&ù&ú&û&ü&ý&þ&ÿ&€'�'‚'ƒ'„'…'†'‡'ˆ'‰'Š'‹'Œ'�'Ž'�'�'‘'’'“'”'•'–'—'˜'™'š'›'œ'�'ž'Ÿ' '¡'¢'£'¤'¥'¦'§'¨'©'ª'«'¬'­'®'¯'°'±'²'³'´'µ'¶'·'¸'¹'º'»'¼'½'¾'¿'À'Á'Â'Ã'Ä'Å'Æ'Ç'È'É'Ê'Ë'Ì'Í'Î'Ï'Ð'Ñ'Ò'Ó'Ô'Õ'Ö'×'Ø'Ù'Ú'Û'Ü'Ý'Þ'ß'à'á'â'ã'ä'å'æ'ç'è'é'ê'ë'ì'í'î'ï'ð'ñ'ò'ó'ô'õ'ö'÷'ø'ù'ú'û'ü'ý'þ'ÿ'€(�(‚(ƒ(„(…(†(‡(ˆ(‰(Š(‹(Œ(�(Ž(�(�(‘(’(“(”(•(–(—(˜(™(š(›(œ(�(ž(Ÿ( (¡(¢(£(¤(¥(¦(§(¨(©(ª(«(¬(­(®(¯(°(±(²(³(´(µ(¶(·(¸(¹(º(»(¼(½(¾(¿(À(Á(Â(Ã(Ä(Å(Æ(Ç(È(É(Ê(Ë(Ì(Í(Î(Ï(Ð(Ñ(Ò(Ó(Ô(Õ(Ö(×(Ø(Ù(Ú(Û(Ü(Ý(Þ(ß(à(á(â(ã(ä(å(æ(ç(è(é(ê(ë(ì(í(î(ï(ð(ñ(ò(ó(ô(õ(ö(÷(ø(ù(ú(û(ü(ý(þ(ÿ(€)�)‚)ƒ)„)…)†)‡)ˆ)‰)Š)‹)Œ)�)Ž)�)�)‘)’)“)”)•)–)—)˜)™)š)›)œ)�)ž)Ÿ) )¡)¢)£)¤)¥)¦)§)¨)©)åÛ&Ü&Ý&ä&å&æ&ç&÷&ø&ù&ú&�)Ž)�)‡)ˆ)‰)Š)‹)Œ)û&ü&ý&þ&ÿ&€'�'‚'ƒ'„'…'†'‡'ˆ'‰'Š'‹'Œ'�'Ž'�'�'‘'’'“'”'•'–'—'˜'™'š'›'œ'�'ž'Ÿ' '¡'¢'£'¤'¥'¦'§'¨'©'ª'«'¬'­'®'¯'°'±'²'³'´'µ'¶'·'¸'¹'º'»'¼'½'¾'¿'À'Á'Â'Ã'Ä'Å'Æ'Ç'È'É'Ê'Ë'Ì'Í'Î'Ï'Ð'Ñ'Ò'Ó'Ô'Õ'Ö'×'Ø'Ù'Ú'Û'Ü'Ý'Þ'ß'à'á'â'ã'ä'å'æ'ç'è'é'ê'ë'ì'í'î'ï'ð'ñ'ò'ó'ô'õ'ö'÷'ø'ù'ú'û'ü'ý'þ'ÿ'€(�(‚(ƒ(„(…(†(‡(ˆ(‰(Š(‹(Œ(�(Ž(�(�(‘(’(“(”(•(–(—(˜(™(š(›(œ(�(ž(Ÿ( (¡(¢(£(¤(¥(¦(§(¨(©(ª(«(¬(­(®(¯(°(±(²(³(´(µ(¶(·(¸(¹(º(»(¼(½(¾(¿(À(Á(Â(Ã(Ä(Å(Æ(Ç(È(É(Ê(Ë(Ì(Í(Î(Ï(Ð(Ñ(Ò(Ó(Ô(Õ(Ö(×(Ø(Ù(Ú(Û(Ü(Ý(Þ(ß(à(á(â(ã(ä(å(æ(ç(è(é(è&é&ê&ë&ì&í&î&ï&ð&ñ&ò&ó&ô&õ&ö&î(ï(ð(ñ(û(ü(ò(ó(ô(õ(ö(÷(ø(ù(ú(ý(þ(ÿ(€)�)‚)ƒ)„)…)†)�)‘)’)“)”)•)–)—)˜)™)š)Þ&ß&à&á&â&ã&ê(ë(ì(í(›)œ)�)ž)Ÿ) )¡)¢)£)¤)¥)¦)§)¨)©)Ê&Ë&Ì&Ç&È&É&Î&Ñ&Ð&Ò&Ó&Ô&Õ&Ö&×&Å&Æ&Í&Ø&Ï&Ù&Ú&˪)Ù")«)ÙŠ"Š)¬)Ù")­)ÙÎή)Ù*"*)¯)Ùºº°)Ù�"�)±)ÙÕÕ²)Ùå"å)³)ÙÚÚ´)Ù¢£4µ)Ùê"ê)¶)Ùó"ó)·)Ù="=)¸)ÙÃ"Ã)¹)Ù1"1)º)Ù‚‚»)Ù¡"¡)¼)Ù ½)ÙŠŠ ¾)Ù ¿)ÙÎ ÎÀ)ÙÍÍÁ)Ù** Â)Ùº ºÃ)Ù11 Ä)ÙÃà Å)Ù== Æ)Ù¡¡ Ç)Ù‚ ‚È)ÙÚ ÚÉ)Ùåå Ê)Ùêê Ë)ÙÕ ÕÌ)Ù�� Í)Ù¹¹Î)ÙÔÔÏ)Ùóó Ð)ÙÙÙÑ)Ù ¡1Ò)Ù��Ó)ÙÔ)ÙŠŠÕ)ÙÖ)Ù**×)Ù��Ø)ÙååÙ)ÙêêÚ)ÙóóÛ)Ù==Ü)ÙÃÃÝ)Ù11Þ)Ù¡¡ß)Ù¥ ¥ à)Ù¦ ¦%á)Ù¨ ¨$â)Ù© ©'ã)Ù§ §(ä)Ù å)ÙŠ Šæ)Ù ç)ÙÍ Íè)Ù* *é)Ù¹ ¹ê)Ù= =ë)Ù� �ì)ÙÔ Ôí)Ùå åî)ÙÙ Ùï)Ùê êð)Ùó óñ)Ùà Ãò)Ù1 1ó)Ù� �ô)Ù¡ ¡eNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó†*Arbitrary JS code.Ú¡*Û£*,õ)ö)÷)ø)ù)ú)û)ü)ý)þ)ÿ)€*�*‚*ƒ*„*…*†*‡*ˆ*‰*Š*‹*Œ*�*Ž*�*�*‘*’*“*”*•*–*—*˜*™*š*›*œ*�*ž*Ÿ* *.÷)ø)ù)ú)û)ü)ý)þ)ÿ)€*�*‚*ƒ*„*…*†*‡*ˆ*‰*Š*”*•*�*�*–*—*˜*õ)ö)‹*Œ*�*Ž*“*™*š*›*œ*�*ž*Ÿ* *£*‘*’*¡*"¢*Ü11¤*Ü66¥*Ü; ;¦*Ü''§*Ü1 1¨*Ü. .©*Ü6 6ª*܉ ‰«*ÜŒ Œ¬*ܘ ˜­*Üÿ ÿ"®*Ü� �(¯*Ü€ €(°*Ü› ›±*܃ ƒ2²*܆ †À³*Ü99$´*Ü99µ*Ü< <¶*Ü..·*Ü9 9¸*Ü' '¹*ܠº*Ü11»*Ü..¼*Ü66½*ÜÌ Ì¾*Üâ â¿*Üå åÀ*Üô ôÁ*ÜÙ ÙÂ*ÜÚ Ú"Ã*ÜÜ Ü)Ä*Üß ß4fNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóÅ*Æ*Ç*È*É*Ê*Ë*Ì*Í*Î*Ï*Ð*Ñ*Ò*Ó*Ô*Õ*Ö*×*Ë*Ï*Ð*Ñ*Ò*Õ*Ô*Ì*Ó*Å*Ê*Î*É*Æ*Ç*È*Ö*×*Í*gNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó¶Ù*Separate by blank line.Ú*1Separate by space that will be removed by minify.For non-removable space, use d <> " " <> d'.ä*³Check if a string is a valid JS identifier. The check ignores keywords as we prepend z_ to our identifiers. The check is conservative and may not admit all valid JS identifiers.ç*Apply è* to ó* if boolean is true.ò*1Concatenate vertically, separated by blank lines.ˆ…+І+-Ø*Ù*Ú*Û*Ü*Ý*Þ*ß*à*á*â*ã*ä*å*æ*ç*è*é*ê*ë*ì*í*î*ï*ð*ñ*ò*ó*ô*õ*ö*÷*ø*ù*ú*û*ü*ý*þ*ÿ*€+�+‚+ƒ+„+/ü*ý*þ*ÿ*ó*ô*õ*ö*÷*ø*ù*ú*û*å*ë*Ø*Ù*Ú*í*à*ã*Þ*ì*â*á*ñ*ò*ê*è*Ý*Ü*ç*î*ï*‚+ƒ+„+…+†+é*€+�+Û*æ*ß*ð*ä*Ø*Ù*Ú*‡+Ý) )ˆ+Ýå å‰+Ýí íŠ+Ýè è‹+Ýå å"Œ+Ýë ë4�+Ýè è(Ž+Ýü ü�+݃ ƒ�+Ýõ õ‘+ݱ ±%’+Ýð ð“+ÝÚ Ú&”+Ýø ø•+ݶ ¶–+ÝÝ Ý.hNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó Ž!˜+Get the name if unambiguous.™+%Get the first of the ambiguous names.š+Is a name ambiguous.›+ÆA module is anonymous if the qualification path ends in an underscore.�+/Is the first module a weak child of the second?ž+0Is the first module a weak parent of the second?Ÿ+1Is the first module a proper child of the second? +2Is the first module a proper parent of the second?¡+Is the name an operator?«+9Get the next version of the concrete name. For instance, nextName "x" = "x�A". The name must not be a NoName.®+‘Turn a qualified name into a concrete name. This should only be used as a fallback when looking up the right concrete name in the scope fails.µ+ Convert a Ç+ to a Ï+ (add no module name).¸+%Useful for debugging scoping problems¹+A singleton "ambiguous" name.º+çSets the ranges of the individual names in the module name to match those of the corresponding concrete names. If the concrete names are fewer than the number of module name name parts, then the initial name parts get the range ”.C.D.E `withRangesOf` [A, B] returns C.D.E! but with ranges set as follows:C: ”.D: the range of A.E: the range of B.êPrecondition: The number of module name name parts has to be at least as large as the length of the list.»+Like º+â, but uses the name parts (qualifier + name) of the qualified name as the list of concrete names.¼+?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó ˜,&The map contains bindings of the form  bound |-> ess?, satisfying the following property: for every non-empty list w, / ¥ w Š™ bound iff ž™ [ Ϙ every w Ÿ™  ™ some w | (every, some) <- ess ].š,+productOfEdgesInBoundedWalk occ g u v bound returns a value distinct from ¼˜ iff there is a walk c (a list of edges) in g, from u to v, for which the product / ¥ (Θ occ c) Š™ bound&. In this case the returned value is »˜ (/ ¥ c) for one such walk c.Preconditions: u and v must belong to g, and bound must belong to the domain of boundToEverySome.›,÷Subterm occurrences for positivity checking. The constructors are listed in increasing information they provide: 3Mixed <= JustPos <= StrictPos <= GuardPos <= Unused Mixed <= JustNeg <= Unused.œ,ÖGuarded strictly positive occurrence (i.e., under žD). For checking recursive records.�,Negative occurrence.ž,/Positive occurrence, but not strictly positive.Ÿ,-Arbitrary occurrence (positive and negative). ,Strictly positive occurrence.¢,Description of an occurrence.£,ƒThe elements of the sequences, read from left to right, explain how to get to the occurrence. The second sequence includes the main information, and if the first sequence is non-empty, then it includes information about the context of the second sequence.¤,1List of polarities stemming from POLARITY pragma.¥,-One part of the description of an occurrence.¦,in the type of a constructor§,&in an endpoint of a higher constructor¨,(in the nth argument of a define constant©,'in the nth clause of a defined functionª,in the definition of a constant«,$in a datatype index of a constructor¬,"is an index of an inductive family®,1matched against in a clause of a defined function¯, as an argument of a metavariable°,'in the principal argument of built-in žD±,õas an argument to a bound variable. The polarity, if given, is the polarity of the argument the occurence is inÅ,›,* is a complete lattice with least element Ÿ, and greatest element ¡,.&It forms a commutative semiring where ¤ is meet (glb) and ¥0 is composition. Both operations are idempotent.For ¤, ¡, is neutral (zero) and Ÿ, is dominant. For ¥,  , is neutral (one) and ¡, is dominant.˜,™,š,›,œ,�,ž,Ÿ, ,¡,¢,£,¤,¥,¦,§,¨,©,ª,«,¬,­,®,¯,°,±,¤,›,œ,�,ž,Ÿ, ,¡,¢,£,¥,¦,§,¨,©,ª,«,¬,­,®,¯,°,±,˜,š,™,²,àá"á)³,àáá ´,àááµ,à99¶,àÒÒ·,à99#¸,àÒÒ#¹,à‡ ‡º,à… …»,à; ;¼,àÔ Ô½,๠¹¾,à= =¿,àááÀ,à99Á,àÒÒÂ,àå åÃ,àþ þÄ,àî îÅ,à“ “Æ,àá áÇ,à9 9È,àÒ ÒÉ,àÁ ÁÊ,à± ±!jNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóÙÌ,ÀEach redundant field comes with a range of associated dead code.Í,…Record type, fields not supplied by user, non-fields but supplied. The redundant fields come with a range of associated dead code.Ë,Ì,Í,Î,Ï,Ð,Ñ,Ò,Ë,Ì,Í,Î,Ï,Ð,Ñ,Ò,Ó,á")Ô,á Õ,áÖ,á×,á $Ø,á Ù,á kNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó"ç,Ranges are not forced. Ú,Û,Ü,Ý,Þ,ß,à,á,â,ã,ä, ä,Ü,Ý,Þ,ß,à,á,â,ã,Û,Ú,å,â4 4æ,âØ Øç,âã ãè,âÁ Áé,â ê,â lNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó ²í,Expose the format  coerce f args.÷We fuse coercions, even if interleaving with applications. We assume that coercion is powerful enough to satisfy / coerce (coerce f a) b = coerce f a b î,=Strip leading coercions and indicate whether there were some.ï,filterUsed used args drops those args which are labelled  ArgUnused in list used.Specification: Ó filterUsed used args = [ a | (a, ArgUsed) <- zip args $ used ++ repeat ArgUsed ]  Examples: ø filterUsed [] == id filterUsed (repeat ArgUsed) == id filterUsed (repeat ArgUnused) == const [] ò,Introduces a new binding�-4Usage status of function arguments in treeless code.‡-&Is this a match on an erased argument?”-¼˜, if treeless usage analysis has not run yet.–- The treeless compiler can behave differently depending on the target language evaluation strategy. For instance, more aggressive erasure for lazy targets.š-³Matches on the given constructor. If the match succeeds, the pattern variables are prepended to the current environment (pushes all existing variables aArity steps further away)›-Binds no variablesÊThe guard must only use the variable that the case expression matches on.£-´Code which could not be obtained because of a hole in the program. This should throw a runtime error. The string gives some information about the meta variable that got compiled.¤-‹Code which is unreachable. E.g. absurd branches or missing case defaults. Runtime behaviour of unreachable code is undefined, but preferably the program will exit with an error message. The compiler is free to assume that this code is unreachable and to remove it.¥-ÃCompiler-related primitives. This are NOT the same thing as primitives in Agda's surface or internal syntax! Some of the primitives have a suffix indicating which type of arguments they take, using the following naming convention: Char | Type C | Character F | Float I | Integer Q | QName S | String½-?Treeless Term. All local variables are using de Bruijn indices.¿-ÏCase scrutinee (always variable), case type, default value, alternatives First, all TACon alternatives are tried; then all TAGuard alternatives in top to bottom order. TACon alternatives must not overlap.À-Used by the GHC backendÄ-,A runtime error, something bad has happened.Æ-âintroduces a new (non-recursive) local binding. The bound term MUST only be evaluated if it is used inside the body. Sharing may happen, but is optional. It is also perfectly valid to just inline the bound term in the body.Í-5Checks if the given expression is unreachable or not.«—+˜+™+š+›+œ+�+ž+Ÿ+ +¡+¢+£+¤+¥+¦+§+¨+©+ª+«+¬+­+®+¯+°+±+²+³+´+µ+¶+·+¸+¹+º+»+ë,ì,í,î,ï,ð,ñ,ò,ó,ô,õ,ö,÷,ø,ù,ú,û,ü,ý,þ,ÿ,€-¼+½+¾+¿+À+Á+Â+Ã+Ä+Å+Æ+Ç+È+É+Ê+Ë+Ì+Í+Î+Ï+Ð+Ñ+Ò+Ó+Ô+Õ+Ö+×+Ø+Ù+û%ü%ý%þ%ÿ%�-‚-ƒ-„-…-†-‡-ˆ-‰-Š-‹-Œ-�-Ž-�-�-‘-’-“-”-•-–-—-˜-™-š-›-œ-�-ž-Ÿ- -¡-¢-£-¤-¥-¦-§-¨-©-ª-«-¬-­-®-¯-°-±-²-³-´-µ-¶-·-¸-¹-º-»-¼-½-¾-¿-À-Á-Â-Ã-Ä-Å-Æ-Ç-È-É-Ê-Ë-Ì-Í-ãë,ì,í,î,ï,ð,ñ,ò,ó,ô,õ,ö,÷,ø,ù,ú,û,ü,ý,þ,ÿ,€-�-‚-ƒ-„-…-†-‡-ˆ-‰-Š-‹-Œ-�-Ž-�-�-‘-’-“-”-•-–-—-˜-™-š-›-œ-�-ž-Ÿ- -¡-¢-£-¤-¥-¦-§-¨-©-ª-«-¬-­-®-¯-°-±-²-³-´-µ-¶-·-¸-¹-º-»-¼-½-¾-¿-À-Á-Â-Ã-Ä-Å-Æ-Ç-È-É-Ê-Ë-Ì-Í--Î-ã''Ï-ãÖÖÐ-ãÏÏÑ-ã!!Ò-ã- -Ó-ãããÔ-ãïïÕ-ãèèÖ-ãÌÌ×-ã''#Ø-ãÖÖ#Ù-ãÏÏ#Ú-ã!!#Û-ããã#Ü-ãïï#Ý-ãèè#Þ-ãÌÌ#ß-ãþ þà-ã   á-㤠¤â-㣠£ã-㟠Ÿä-㥠¥å-㦠¦æ-㢠¢ç-ã¡ ¡è-ã''é-ãÖÖê-ãÏÏë-ã!!ì-ãããí-ãïïî-ãèèï-ãÌÌð-ã' 'ñ-ãÖ Öò-ãÏ Ïó-ã! !ô-ã--õ-ãã ãö-ãï ï÷-ãè èø-ãÌ Ìù-ãö öú-ãù ùmNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó9¡™,Split alts into TAGuard alts and other alts.û-û-nNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó]ü-ÐWe lose track of @-patterns in the internal syntax. This pass puts them back.ü-ü-ý-ä oNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóöþ-Unconditional layout keywords.ÛSome keywords introduce layout only in certain circumstances, these are not included here.Ý.A misplaced end-comment "-}".ò.ÂArbitrary string (not enclosed in double quotes), used in pragmas.÷þ-ÿ-€.�.‚.ƒ.„.….†.‡.ˆ.‰.Š.‹.Œ.�.Ž.�.�.‘.’.“.”.•.–.—.˜.™.š.›.œ.�.ž.Ÿ. .¡.¢.£.¤.¥.¦.§.¨.©.ª.«.¬.­.®.¯.°.±.².³.´.µ.¶.·.¸.¹.º.».¼.½.¾.¿.À.Á.Â.Ã.Ä.Å.Æ.Ç.È.É.Ê.Ë.Ì.Í.Î.Ï.Ð.Ñ.Ò.Ó.Ô.Õ.Ö.×.Ø.Ù.Ú.Û.Ü.Ý.Þ.ß.à.á.â.ã.ä.å.æ.ç.è.é.ê.ë.ì.í.î.ï.ð.ñ.ò.ó.ô.÷é.ê.ë.ì.í.î.ï.ð.ñ.ò.ó.ô.ÿ-€.�.‚.ƒ.„.….†.‡.ˆ.‰.Š.‹.Œ.�.Ž.�.�.‘.’.“.”.•.–.—.˜.™.š.›.œ.�.ž.Ÿ. .¡.¢.£.¤.¥.¦.§.¨.©.ª.«.¬.­.®.¯.°.±.².³.´.µ.¶.·.¸.¹.º.».¼.½.¾.¿.À.Á.Â.Ã.Ä.Å.Æ.Ç.È.É.Ê.Ë.Ì.þ-Í.Î.Ï.Ð.Ñ.Ò.Ó.Ô.Õ.Ö.×.Ø.Ù.Ú.Û.Ü.Ý.Þ.ß.à.á.â.ã.ä.å.æ.ç.è.õ.å--ö.åÐÐ÷.åççø.åé éù.åö ö#ú.å--û.åÐÐü.åççpNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó' ý.Drop …/ constructors. (Safe)þ.Drop ‡/ constructors. (Safe)ÿ. Discards Proj f entries.€/Drop …/ constructor. (Safe)‚/Only …/ variant.ƒ/Split at first non-…/„/5Eliminations, subsuming applications and projections.…/ Application.†/'IApply x y r, x and y are the endpoints‡/ Projection. Ï+ is name of a record projection.Ž/This instance cheats on ‡/, use with care. ‡/s are always assumed to be ¶, since they have no Å. Same for IApply ý.þ.ÿ.€/�/‚/ƒ/„/…/†/‡/ˆ/‰/ „/…/†/‡/€/�/‚/ý.ƒ/ˆ/‰/ÿ.þ. Š/æ$‹/æŒ/æ? ?�/æÌ Ì,Ž/æ �/æÕ Õ&�/æÏ Ï(‘/æ ’/æ&1qNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó êŸ/When trying to reduce f es(, on match failed on one elimination e ˆD es that came with info r :: NotBlocked.  stuckOn e r produces the new  NotBlocked info.¿/é must be propagated, as this is blockage that can be lifted in the future (as more clauses are added).Á/ e0Æ is also propagated, since it provides more precise information as  StuckOn e (as e0Ì is the original reason why reduction got stuck and usually a subterm of e). An information like %StuckOn (Apply (Arg info (Var i [])))õ (stuck on a variable) could be used by the lhs/coverage checker to trigger a split on that (pattern) variable.In the remaining cases for r$, we are terminally stuck due to  StuckOn e. Propagating ¾/ does not seem useful.Â/4 must not be propagated, as this would mean that f esÄ is underapplied, which is not the case (it is stuck). Note that Â/Ü can only arise when projection patterns were missing to complete the original match (in e/). (Missing ordinary pattern would mean the eÑ is of function type, but we cannot match against something of function type.)±/˜Something where a meta variable may block reduction. Notably a top-level meta is considered blocking. This did not use to be the case (pre Aug 2020).·/‹What is causing the blocking? Or in other words which metas or problems need to be solved to unblock the blocked computation/constraint.º/ Unblock when function is defined»/Unblock if meta is instantiated½/„Even if we are not stuck on a meta during reduction we can fail to reduce a definition by pattern matching for another reason.¾/2We matched an absurd clause, results in a neutral Def.¿/We ran out of clauses for Ï+°, all considered clauses produced an actual mismatch. This can happen when try to reduce a function application but we are still missing some function clauses. See  Agda.TypeChecking.Patterns.Match.À/ÒReduction was not blocked, we reached a whnf which can be anything but a stuck Def.Á/The Elim' is neutral and blocks a pattern match.Â/ >,Ö/çÏÏ×/ç© ©Ø/çÀ À,Ù/çµ µÚ/çÏ ÏÛ/ç* *Ü/ç‹ ‹Ý/çµ&µ1rNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó2¤ŽÞ/Constant level nê/ÑAbsurd lambdas are internally represented as identity with variable name "()".ë/6Make an absurd pattern with the given de Bruijn index.î/Doesn't do any reduction.÷/Add à1 is it is not already a DontCare.ù/ÈContext entries without a type have this dummy type. Note: use macro  DUMMY_DOM !ú/ÑA dummy level to constitute a level/sort created at location. Note: use macro  DUMMY_LEVEL !û/ËConstruct a string representing the call-site that created the dummy thing.ü/5A dummy sort created at location. Note: use macro  DUMMY_SORT !ý/5A dummy term created at location. Note: use macro  DUMMY_TERM !þ/,Aux: A dummy term to constitute a dummy termlevel sort/type.ÿ/5A dummy type created at location. Note: use macro  DUMMY_TYPE !†0Build Ò0 from Ó0.‡0#A view distinguishing the neutrals Var, Def, and MetaV which can be projected.Ž0+Is this a Prop universe? Answers are yes (¹˜ ) or maybe („™).�04Is this a strict universe inhabitable by data types?‘0Given a constant m and level l , compute m + l“0Lens to edit a Ü1 as a list.–0)A traversal for the names in a telescope.¡0'Retrieve the PatternInfo from a pattern¢0 Retrieve the origin of a pattern¤0 Turn a known • sort into a — sort, leave others unchanged.¦0 Get the flavor of the universe. ¼˜ could also mean "don't know".§0Removing a topmost à1 constructor.©0(Convert a list telescope to a telescope.«0%Convert a telescope to its list form.®0Build partial Ó0 from Ò0¯0>Convert top-level postfix projections into prefix projections.°0Convert ‡// projection eliminations according to their â into ß1 projection applications.±0An unapplied variable.´0Binder.´02: The bound variable might appear in the body. ¶0Ð is pseudo-binder, it does not introduce a fresh variable, similar to the const of Haskell.µ06The body has (at least) one free variable. Danger: ¸0! doesn't shift variables properly¹0Type of argument lists.»0 'Blocked a without the a.¼0éNewtypes for terms that produce a dummy, rather than crash, when applied to incompatible eliminations.¿03A clause is a list of patterns and the clause body.�The telescope contains the types of the pattern variables and the de Bruijn indices say how to get from the order the variables occur in the patterns to the order they occur in the telescope. The body binds the variables in the order they appear in the telescope.  B.ê0 "@tactic e".ñ0 NotHidden.ò0Builtin EQUALITY.ó0Hidden. Empty or Level.ô0 NotHidden.õ0Sort of this type.ö0Hidden.÷0View type as equality type.ø0A type of the form u áD v4 decomposed into its parts. Used as type for the rewrite expression.ù0$A reduced type used as type for the with inspect idiom.ú0"A reduced type used as type for a with expression.Š1>A level is a maximum expression of a closed level and 0..n ¸14 expressions each of which is an atom plus a number.Ž1Telescope as list.�1Named pattern arguments.’1ÀOrigin of the pattern: what did the user write in this position?“1User wrote an absurd pattern”1 User wrote a constructor pattern•1User wrote a dot pattern–1User wrote a literal pattern—1User wrote a record pattern˜1Pattern generated by case split™1+Argument to pattern generated by case splitš1Pattern inserted by the system›1User wrote a variable patternœ1User wrote a wildcard pattern�1Pattern variables.ž1View type as path type.Ÿ1reduced¡1Hidden¢1 NotHidden£1 Builtin PATH.¤1 NotHidden¥1Sort of this type.¦1Hidden¨17Patterns are variables, constructors, or wildcards. QName is used in ConP rather than Nameª since a constructor might come from a particular namespace. This also meshes well with the fact that values (i.e. the arguments we are matching with) use QName.©1c ps= The subpatterns do not contain any projection copatterns.ª1:Used for HITs, the QName should be the one from primHComp.«1 .t¬1Path elimination pattern, like VarP but keeps track of endpoints.­1E.g. 5, "hello".®11Projection copattern. Can only appear by itself.¯1 x¶17Extract pattern variables in left-to-right order. A «1+ is also treated as variable (see docu for ¿0).»1#Constructing a singleton telescope.¾1Sorts.¿1A postulated sort.À1ÞA (part of a) term or type which is only used for internal purposes. Replaces the abuse of Prop for a dummy sort. The Stringë typically describes the location where we create this dummy, but can contain other information as well.Á1(Sort of a (non-dependent) function type.Â1PropÉâ:, (S)SetÉâ:.Ã1 IntervalUniv+, a sort inhabited by the cubical interval.Ä1 LevelUniv, a sort inhabited by type Level;. When --level-universe isn't on, this universe reduces to Set 0Å1LockUniv, a sort for locks.Ç1Sort of the pi type.È1SizeUniv, a sort inhabited by type Size.É1Prop “B, Set “B, SSet “B.Ê1Sort of another sort.Ì1Substitutions.Í1Substitution extension, `cons'. Ó “ ¢E u : AÁ “ ¢E Á : ” ---------------------- “ ¢E u :# Á : ”, A Î1ÄEmpty substitution, lifts from the empty context. First argument is  IMPOSSIBLEË. Apply this to closed terms you want to use in a non-empty context. “ ¢E EmptyS : ()Ï1Identity substitution.  “ ¢E IdS : “Ð19Lifting substitution. Use this to go under a binder. Lift 1 Á == var 0 :# Wk 1 Á. Ø “ ¢E Á : ” ------------------------- “, ¨Á ¢E Lift |¨| Á : ”, ¨ Ñ1/Strengthening substitution. First argument is  IMPOSSIBLE. In 'Strengthen err n Á the number nÍ must be non-negative. This substitution should only be applied to values t$ for which none of the variables 0 up to n - 1 are free in t[Á], and in that case n5 is subtracted from all free de Bruijn indices in t[Á]ã. “ ¢E Á : ” |˜| = n --------------------------- “ ¢E Strengthen n Á : ”, ˜ @Ò19Weakening substitution, lifts to an extended context. É “ ¢E Á : ” ------------------- “, ¨ ¢E Wk |¨| Á : ” Ó12Suggest a name if available (i.e. name is not "_")×1 Drop the types from a telescope.Ù1ÖSequence of types. An argument of the first type is bound in later types and so on.Û1´0 is never ¶0.Ý1 Raw values.Def» is used for both defined and undefined constants. Assume there is a type declaration and a definition for every constant, even if the definition is an empty list of clauses.Þ1c es or record { fs = es } esÕ allows only Apply and IApply eliminations, and IApply only for data constructors.ß1f es, possibly a delta/iota-redexà1ŒIrrelevant stuff in relevant position, but created in an irrelevant context. Basically, an internal version of the irrelevance axiom .irrAx : .A -> A.á1ÕA (part of a) term or type which is only used for internal purposes. Replaces the  Sort Prop hack. The StringÀ typically describes the location where we create this dummy, but can contain other information as well. The second field accumulates eliminations in case we apply a dummy term to more of them. Dummy terms should never be used in places where they can affect type checking, so syntactic checks are free to ignore the eliminators, which are only there to ease debugging when a dummy term incorrectly leaks into a relevant position.â1+Terms are beta normal. Relevance is ignoredæ1)dependent or non-dependent function spaceè1x es neutralé1ÛThe size of a term is roughly the number of nodes in its syntax tree. This number need not be precise for logical correctness of Agda, it is only used for reporting (and maybe decisions regarding performance).'Not counting towards the term size are:sort and color annotations, projections.î1'Types are terms with a sort annotation.ô1(PropSetSSet)Éâ:.õ1PropSetSSet “B.…2Ignores ¯ and – and tactic.Ú2A ôÌ clause is one with no patterns and no rhs. Should not exist in practice.‰32The size of a telescope is its length (as a list).î0#eliminations ordered left-to-right.§1The  PatVarName is a name suggestion.êö1ë÷1ìø1íù1´—+˜+™+š+›+œ+�+ž+Ÿ+ +¡+¢+£+¤+¥+¦+§+¨+©+ª+«+¬+­+®+¯+°+±+²+³+´+µ+¶+·+¸+¹+º+»+Þ/ß/à/á/â/ã/ä/å/æ/ç/è/é/ê/ë/ì/í/î/ï/ð/ñ/ò/ó/ô/õ/ö/÷/ø/ù/ú/û/ü/ý/þ/ÿ/€0�0‚0ƒ0„0…0†0‡0ˆ0‰0Š0‹0Œ0�0Ž0�0�0‘0’0“0”0•0–0—0˜0™0š0›0œ0�0ž0Ÿ0 0¡0¢0£0¤0¥0¦0§0¨0©0ª0«0¬0­0®0¯0°0±0²0³0“/”/•/–/—/˜/™/š/›/œ/�/ž/Ÿ/ /¡/¢/£/¤/¥/¦/§/¨/©/ª/«/¬/­/®/¯/°/ý.þ.ÿ.€/�/‚/ƒ/‹Œ�Ž��¼+½+¾+¿+À+Á+Â+Ã+Ä+Å+Æ+Ç+È+É+Ê+Ë+Ì+Í+Î+Ï+Ð+Ñ+Ò+Ó+Ô+Õ+Ö+×+Ø+Ù+Œ�Ž�àáû%ü%ý%þ%ÿ%´0µ0¶0·0¸0¹0º0»0¼0½0¾0¿0À0Á0Â0Ã0Ä0Å0Æ0Ç0È0É0Ê0Ë0Ì0Í0Î0Ï0Ð0Ñ0Ò0Ó0Ô0Õ0Ö0×0Ø0Ù0Ú0Û0Ü0Ý0Þ0ß0à0á0â0ã0ä0å0æ0ç0è0é0ê0ë0ì0í0î0ï0ð0ñ0ò0ó0ô0õ0ö0÷0ø0ù0ú0û0ü0ý0þ0ÿ0€1�1‚1ƒ1„1…1†1‡1ˆ1‰1Š1‹1Œ1�1Ž1�1�1‘1’1“1”1•1–1—1˜1™1š1›1œ1�1ž1Ÿ1 1¡1¢1£1¤1¥1¦1§1¨1©1ª1«1¬1­1®1¯1°1±1²1³1´1µ1¶1µ1·1¸1¹1º1»1¼1½1¾1¿1À1Á1Â1Ã1Ä1Å1Æ1Ç1È1É1Ê1Ë1Ì1Í1Î1Ï1Ð1Ñ1Ò1Ó1Ô1Õ1Ö1×1Ø1Ù1Ú1Û1Ü1Ý1Þ1ß1à1á1â1ã1ä1å1æ1ç1è1é1ê1ë1ì1í1î1ï1ð1ñ1ò1ó1ô1õ1±/²/³/´/µ/¶/·/¸/¹/º/»/¼/½/¾/¿/À/Á/Â/Ã/Ä/Å/„/…/†/‡/ˆ/‰/‘’“”•–—£Þ/ß/à/á/â/ã/ä/å/æ/ç/è/é/ê/ë/ì/í/î/ï/ð/ñ/ò/ó/ô/õ/ö/÷/ø/ù/ú/û/ü/ý/þ/ÿ/€0�0‚0ƒ0„0…0†0‡0ˆ0‰0Š0‹0Œ0�0Ž0�0�0‘0’0“0”0•0–0—0˜0™0š0›0œ0�0ž0Ÿ0 0¡0¢0£0¤0¥0¦0§0¨0©0ª0«0¬0­0®0¯0°0±0²0³0´0µ0¶0·0¸0¹0º0»0¼0½0¾0¿0À0Á0Â0Ã0Ä0Å0Æ0Ç0È0É0Ê0Ë0Ì0Í0Î0Ï0Ð0Ñ0Ò0Ó0Ô0Õ0Ö0×0Ø0Ù0Ú0Û0Ü0Ý0Þ0ß0à0á0â0ã0ä0å0æ0ç0è0é0ê0ë0ì0í0î0ï0ð0ñ0ò0ó0ô0õ0ö0÷0ø0ù0ú0û0ü0ý0þ0ÿ0€1�1‚1ƒ1„1…1÷1ø1†1‡1ˆ1ö1‰1Š1‹1Œ1�1Ž1�1�1‘1’1“1”1•1–1—1˜1™1š1›1œ1�1ž1Ÿ1 1¡1¢1£1¤1¥1¦1§1¨1©1ª1«1¬1­1®1¯1°1±1²1³1´1µ1¶1µ1·1¸1¹1º1»1¼1½1¾1¿1À1Á1Â1Ã1Ä1Å1Æ1Ç1È1É1Ê1Ë1Ì1Í1Î1Ï1Ð1Ñ1Ò1Ó1Ô1Õ1Ö1×1Ø1Ù1Ú1Û1Ü1Ý1Þ1ß1à1á1â1ã1ä1å1æ1ç1è1é1ê1ë1ù1ì1í1î1ï1ð1ñ1ò1ó1ô1õ1Œ�Ž�àáÍ1¤ú1îÇ Ç*û1î§ §/ü1îŠ Šý1îˆ ˆþ1îÎ Îÿ1îÊÊ€2î— —�2î‘‘‚2î¸ ¸ƒ2î‚‚„2îšš…2îØ Ø†2îØØ‡2îÇLj2î¹¹‰2Š2îÊÊ&‹2îáá$Œ2îðð$�2îææ$Ž2îµµ�2î²²$�2î‘‘$‘2îáá’2îðð“2îææ”2î´´•2î²²–2îˆ-ˆ4—2î³³˜2î¶¶™2î±±š2î‚‚ ›2îššœ2îØØ�2îð3ð:ž2îÇÇ Ÿ2î·· 2î²3²:¡2î¸ ¸¢2îÁ Á£2îÑ Ñ+¤2î÷ ÷¥2î¢ ¢ *¦2îŸ Ÿ .§2î˜ ˜ ¨2îÐ Ð ©2î‡ ‡ "ª2îŠ Š «2îÍ Í ¬2îÔ Ô<­2îá á ®2î� � ¯2î� � /°2î„ „ ±2îä ä ²2îê ê ³2îù ù ´2îœ œ +µ2îÓ Ó ¶2îç ç .·2îï ï&¸2îà à ¹2îõ õ"º2îÑ Ñ»2îî î&¼2îë ë&½2îå å¾2îö ö&¿2îì ì&À2îÜ ÜÁ2îí í&Â2îô ô"Ã2îó ó"Ä2îª ª(Å2î§ §(Æ2îŸ ŸÇ2î¢ ¢È2îï ï $É2îò ò Ê2îî î Ë2î÷ ÷ Ì2îö ö Í2îí í .Î2îê ê $Ï2îñ ñ Ð2îä ä Ñ2îô ô Ò2îõ õ )Ó2îó ó Ô2îç ç Õ2îÕ Õ Ö2îø ø .×2îð ð %Ø2îÄ Ä Ù2îÒ Ò Ú2îã ãÛ2î¿ ¿ Ü2îÜ ÜÝ2î» »Þ2î¢ ¢-ß2îß ß-à2îÒ Ò(á2îä ä*â2îÒ Ò $ã2î¸ ¸ (ä2îå å å2î¾ ¾æ2îŸ Ÿ ç2îÖ Ö 3è2îù ù é2î¢ ¢ )ê2îƒ ƒ ë2î† † ì2î© © .í2îï ï +î2î¸ ¸ ï2îœ œ ð2îÄ Äñ2îí íò2îê ê%ó2îç ç#ô2îð ð õ2îñ<ñÀö2î³ ³÷2î¶¶ø2î± ±ù2î‘ ‘ú2î÷ ÷û2î‚‚ü2îš šý2îÊÊþ2ÿ2îá á€3îØ Ø�3îð ð‚3îÇǃ3îæ æ„3îÐ Ð…3î³³†3î² ²‡3î¹¹ˆ3î‡ ‡ "‰3î€ € Š3îˆ ˆ‹3î„ „Œ3î‹ ‹�3îŽ ŽŽ3îÝ Ý�3îà à�3î» » ‘3î¾ ¾ ’3î¬ ¬ “3îÁ Á 2”3îž ž •3î› › É–3îˆ ˆ+—3îÊ(Ê3˜3îá&á1™3îð&ð1š3îæ&æ1›3î¶¶œ3î²&²1�3î‘&‘1sNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó[ž3ùThings we can substitute for a variable. Needs to be able to represent variables, e.g. for substituting under binders.Ÿ3(Produce a variable with name suggestion. 3+Produce a variable without name suggestion.¡3=Are we dealing with a variable? If yes, what is its index?¨3We can substitute Terms for variables.ï¢3ð£3ž3Ÿ3 3¡3ž3Ÿ3 3¡3¢3£3¤3ñ1 1¥3ñ* *¦3ñ6 6+§3ñ# #¨3ñ tNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóÄ/©3Ç3‘ aggregation (additive operation of the semiring). For combining occurrences of the same variable in subterms. This is a refinement of the –™ operation for Ç3 which would work if É3 did not have the ã3* as an argument. Now, to aggregate two É3$ occurrences, we union the involved ã3s.ª3Ç3ç composition (multiplicative operation of the semiring). For accumulating the context of a variable.É3˜ is dominant. Once we are under a meta, we are flexible regardless what else comes. We taint all variable occurrences under a meta by this meta.Ì30 is next in strength. Destroys strong rigidity.Ê3 is still dominant over Ë3.Ë30 is the unit. It is the top (identity) context.«3–First argument is the outer occurrence (context) and second is the inner. This multiplicative operation is to modify an occurrence under a context.¬3Ignore free variables in sorts.®3The initial context.¸3Absorptive for ©3.¹3 Unit for ª3.»3Run function for FreeM.¼33Subtract, but return Nothing if result is negative.½3ÝThe absorptive element of variable occurrence under aggregation: strongly rigid, relevant.¾3Going under a binder.¿3 Going under n binders.À3 y) == withVarOcc o x <> withVarOcc o y ``` * Respects VarOcc composition: ``` withVarOcc oneVarOcc = id withVarOcc (composeVarOcc o1 o2) = withVarOcc o1 . withVarOcc o2 ``` * Respects VarOcc aggregation: ``` withVarOcc (o1 <> o2) x = withVarOcc o1 x <> withVarOcc o2 x ``` Since the corresponding unit law may fail, ``` withVarOcc mempty x = mempty ``` it is not quite a semimodule.ã35A set of meta variables. Forms a monoid under union.ç3Keep track of Ç37 for every variable, but forget the involved meta vars.é3ÅRepresentation of a variable set as map from de Bruijn indices to î3.ï3ØOccurrence of free variables is classified by several dimensions. Currently, we have Ç3 and –.ú3Equality up to origin.�4Compose everything with the ñ3 part of the î3.”4Proper monoid instance for VarMapæ rather than inheriting the broken one from IntMap. We combine two occurrences of a variable using �™.˜4 Access to ñ3 in î3.¡4™The neutral element for variable occurrence aggregation is least serious occurrence: flexible, irrelevant. This is also the absorptive element for «3, if we ignore the ã3 in É3.¢4‹The default way of aggregating free variable info from subterms is by adding the variable occurrences. For instance, if we have a pair (t�A,t‚A) then and t�A has o�A the occurrences of a variable x and t‚A has o‚A/ the occurrences of the same variable, then (t�A,t‚A) has  mappend o�A o‚A occurrences of that variable.From counting î, we extrapolate this to Ç3 and ‚: we care most about about Ê3 „ occurrences. E.g., if t�A has a Ê3 occurrence and t‚A a É3 occurrence, then (t�A,t‚A) still has a Ê3 occurrence. Analogously, Relevantû occurrences count most, as we wish e.g. to forbid relevant occurrences of variables that are declared to be irrelevant.î3à forms a semiring, and this monoid is the addition of the semiring.ª4A "set"-style ´ 3 instance with default/initial variable occurrence.óô3Ë©3ª3«3¬3­3®3¯3°3±3²3³3´3µ3¶3·3¸3¹3º3»3¼3½3¾3¿3À3Á3Â3Ã3Ä3Å3Æ3Ç3È3É3Ê3Ë3Ì3Í3Î3Ï3Ð3Ñ3Ò3Ó3Ô3Õ3Ö3×3Ø3Ù3Ú3Û3Ü3Ý3Þ3ß3à3á3â3ã3ä3å3æ3ç3è3é3ê3ë3ì3í3î3ï3ð3ñ3ò3ó3Ìã3ä3å3¯3­3·3È3É3Ê3Ë3Ì3Ç3á3â3°3²3³3±3©3Æ3¸3ª3¹3ï3ð3ñ3ò3î3½3«3º3ß3à3é3ë3ì3í3è3ê3¶3´3ç3Í3Î3Ï3µ3Û3Ü3Ý3Þ3Ó3Ô3Õ3Ö3×3Ø3ó3æ3Ò3¬3®3Ú3Ù3»3Å3¼3¾3¿3Â3Ä3Ã3Á3À3Ð3Ñ3ô39õ3ô³ ³Þö3ôû û÷3ô€ €ø3ôÛ Ûù3ô½ ½ú3ôß ß û3ôû û(ü3ôÕ Õ ý3ôÏ Ï þ3ôÝ Ýÿ3ôÒ Ò €4ôÊ Ê"�4ôà à‚4ô¸ ¸ƒ4ô¾ ¾„4ôÀ À"…4ô Â%†4ô¿ ¿"‡4ô» »'ˆ4ô¦ ¦‰4ôÙ Ù!Š4ôƒ ƒ‹4ôÄ Ä)Œ4ôÇ Ç4�4ô   "Ž4ôÁ Á'�4ôûû�4ôñ ñ ‘4ôè è’4ôë ë“4ôÙ ÙÏ”4ôÐ Ð.•4ôÓ Ó+–4ô‚ ‚$—4ô˜ ˜(˜4ôê ê#™4ô› ›'š4ôâ â"›4ô   'œ4ôç ç"�4ôŸ Ÿ(ž4ôæ æ#Ÿ4ôÛ(Û. 4ôÛÛ&¡4ô† †7¢4ôÿ ÿ.£4ôÛÛ¤4ôûû¥4ôã ã¦4ô€€§4ôÛÛ¨4ô½½©4ôÛ Ûª4ôà Ã(«4ôÝ Ý"¬4ôô ô­4ôãã4uNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó" ®4…Merge a pair of discrimination trees. This function tries to build the minimal discrimination tree that yields the union of the inputs' results, though it does so slightly naïvely, without considerable optimisations (e.g. it does not turn single-alternative ±4s into ²4s).¯4…Construct the case tree corresponding to only performing proper matches on the given key. In this context, a "proper match" is any ´4 that is not ¶4.°4A Ý10-indexed associative data structure supporting  approximate, (conservative) lookup. Rather than using a Trie keyed by ´4 directly, a °4% is instead represented more like a case tree.¾This allows us to exploit the fact that instance selection often focuses on a small part of the term: Only that critical chain is represented in the tree. As an example, level parameters are unlikely to contribute to narrowing a search problem, so it would be wasteful to have an indirection in the tree for every ¶4! standing for a level parameter.±4Do case analysis on a term. ±4Á is scoped in the same way as fast case trees for the abstract machine: When matching actually succeeds, the variable that was matched gets replaced by its arguments directly in the context.²4#Succeed with a given set of values.³4The empty discrimination tree.µ4Constant lambdas.¶4Anything else.·4Local variables.¸4—Dependent function types. The domain will be represented accurately, for the case of a genuine dependent function type, the codomain will be a dummy.¹4ÚRigid symbols (constructors, data types, record types, postulates) identified by a QName.º4 Universes.±4The variable to case on.The proper branches.0A further tree, which should always be explored. ®4¯4°4±4²4³4´4µ4¶4·4¸4¹4º4 ´4µ4¶4·4¸4¹4º4°4±4²4³4®4¯4 »4õÄļ4õ((½4õÄ Ä¾4õ((#¿4õà à;À4õ‚ ‚)Á4õÿ ÿ,Â4õÞ Þ,Ã4õ* *Ä4õæ æÅ4õ((Æ4õÄÄÇ4õ( (vNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó/È4É4Ê4Ë4Ì4Í4Î4Ï4Ð4Ñ4Ò4Ó4Ô4Õ4Ö4×4Ø4Ù4Ú4Û4Ü4Ý4Þ4ß4à4á4â4ã4ä4å4æ4ç4è4é4ê4ë4ì4í4î4ï4ð4ñ4ò4ó4ô4õ4ö4/Ë4Ú4Û4Ù4Ü4È4É4Ê4ë4ì4í4î4ï4ð4ñ4ò4ó4ô4õ4ö4ä4å4æ4ç4è4é4ê4Ý4Þ4ß4à4á4â4ã4Ì4Í4Î4Ï4Ð4Ñ4Ò4Ó4Ô4Õ4Ö4×4Ø4÷4ö ø4öÄ Äù4ö8 8ú4ö& &û4öÌ Ìü4ö ý4ö0 0wNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó Òþ4ÜTranslate the clause patterns to terms with free variables bound by the clause telescope.%Precondition: no projection patterns.ÿ4ëTranslate the clause patterns to an elimination spine with free variables bound by the clause telescope.€5ÏComputes the permutation from the clause telescope to the pattern variables.Use as  fromMaybe  IMPOSSIBLE . clausePermË to crash in a controlled way if a de Bruijn index is out of scope here.‚5ÏComputes the permutation from the clause telescope to the pattern variables.Use as  fromMaybe  IMPOSSIBLE . dbPatPermË to crash in a controlled way if a de Bruijn index is out of scope here.ÏThe first argument controls whether dot patterns counts as variables or not.ƒ5ÆCompute from each subpattern a value and collect them all in a monoid.…55Augment pattern variables with their de Bruijn index.†5…Turn a pattern into a term. Projection patterns are turned into projection eliminations, other patterns into apply elimination.‰5ÄTraverse pattern(s) with a modification after the recursive descent.Š5ÅTraverse pattern(s) with a modification before the recursive descent.Ž5+Arity of a function, computed from clauses.�5ùLabel the pattern variables from left to right using one label for each variable pattern and one for each dot pattern.“5ÊIntended, but unpractical due to the absence of type-level lambda, is: ÀlabelPatVars :: f (Pattern' x) -> State [i] (f (Pattern' (i,x)))–5Generic pattern traversal.ËPre-applies a pattern modification, recurses, and post-applies another one.—5 Fold pattern.˜5Traverse pattern.›5Combine a pattern and the value computed from its subpatterns.˜5pre : Modification before recursion.post: Modification after recursion.÷œ5ø�5ùž5úŸ5û 5ü¡5þ4ÿ4€5�5‚5ƒ5„5…5†5‡5ˆ5‰5Š5‹5Œ5�5Ž5�5�5‘5’5“5”5•5–5—5˜5™5š5›5$þ4ÿ4Ž5�5�5‘5’5“5ž5¡5…5‹5�5‚5€5†5ˆ5‡5”5•5Ÿ5–5—5˜5�5 5ƒ5Š5‰5Œ5�5œ5™5š5›5„5¢5ý· ·8£5ý¶ ¶4¤5ý¸ ¸<¥5ýº º'¦5ý. .§5ý22/¨5ý**8©5ýÎ Î:ª5ýÔ Ô2«5ýÑ Ñ¬5ý× ×.­5ýÌ Ì6®5ý× ×<¯5ýª ª2°5ý© ©.±5ý« «6²5ý‘ ‘$³5ýÑ ÑÀ´5ýÉ É<µ5ýÍ ÍĶ5ýÜ Ü+xNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó·55Put it in a monad to make it possible to do strictly.¸5Generic term traversal.ÏNote: ignores sorts in terms! (Does not traverse into or collect from them.)¹5Generic fold, ignoring sorts.º5?Generic traversal with post-traversal action. Ignores sorts.þ»5ÿ¼5·5¸5¹5º5¸5¹5º5»5¼5·5½5€À À(¾5€: :(¿5€? ?,À5€# #Á5€/ /Â5€; ;(Ã5€9 9*Ä5€™ ™Å5€' 'Æ5€+ +Ç5€ð ðÈ5€< <$É5€> >*Ê5€= =*Ë5€ô ôÌ5€3 3Í5€ü üÎ5€Á Á)Ï5€Ô ÔÐ5€Æ Æ5Ñ5€Ê ÊÄÒ5€Î ÎÓÓ5€ø øÔ5€ Â/yNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóÁÖ5ñCheck that the requirements on lazy matching (single inductive case) are met, and set lazy to False otherwise.Ù51Check whether a case tree has a catch-all clause.Ú55Check whether a case tree has any projection patternsÞ5Branches in a case tree.à5'(Possibly additional) catch-all clause.á5ïMap from constructor (or projection) names to their arity and the case subtree. (Projections have arity 0.)â5þEta-expand with the given (eta record) constructor. If this is present, there should not be any conBranches or litBranches.ã5?(if True) In case of non-canonical argument use catchallBranch.ä5äLazy pattern match. Requires single (non-copattern) branch with no lit branches and no catch-all.å5!Map from literal to case subtree.æ53We are constructing a record here (copatterns). á5 lists projections.è5Case tree with bodies.é5 Case n bs stands for a match on the n(-th argument (counting from zero) with bs as the case branches. If the n+-th argument is a projection, we have only á5 with arity 0.ê5 Done xs b stands for the body b where the xs® contains hiding and name suggestions for the free variables. This is needed to build lambdas on the right hand side for partial applications which can still reduce.ë5úAbsurd case. Add the free variables here as well so we can build correct number of lambdas for strict backends. (#4280)Õ5Ö5×5Ø5Ù5Ú5Û5Ü5Ý5Þ5ß5à5á5â5ã5ä5å5æ5ç5è5é5ê5ë5ì5í5î5ï5ì5í5î5ï5Þ5ß5à5á5â5ã5ä5å5æ5è5é5ê5ë5ç5Û5×5Ø5Ý5Õ5Ö5Ù5Ú5Ü5 ð5�99ñ5�Ë#Ë+ò5�!!ó5�9 9ô5�Ë Ëõ5�! !ö5�939:÷5�Ë3Ë:ø5�!3!:ù5�À À+ú5�È È#û5�½ ½0ü5�– –4ý5�„ „+þ5�€ €9ÿ5�û û0€6�Þ Þ%�6�ß ß1‚6�Ý Ý*ƒ6�š š„6�£ £%…6�± ± †6�   *‡6�9-91ˆ6�Ë-Ë1‰6�!-!1Š6�Ó Ó)‹6�× ×5Œ6�Ï Ï.�6�9 9+Ž6�ËË!�6�! !+zNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóÊ‘6Returns —6 in a list. allMetasList = allMetas (:[]).—Note: this resulting list is computed via difference lists. Thus, use this function if you actually need the whole list of metas. Otherwise, use —6 with a suitable monoid.’68Returns the first meta it find in the thing, if any. 'firstMeta == listToMaybe . allMetasList.“6¹˜ if thing contains no metas. noMetas = null . allMetasList.”6ÁA blocker that unblocks if any of the metas in a term are solved.•6ÁA blocker that unblocks if any of the metas in a term are solved.–6éReturns every meta-variable occurrence in the given type, except for those in sort annotations on types.‚˜6�6‘6’6“6”6•6–6—6 –6—6˜6�6‘6“6’6•6”6™6ƒ3 3(š6ƒ 9›6ƒ *œ6ƒ! !�6ƒ1 1$ž6ƒ$$-Ÿ6ƒ2 2* 6ƒ" "¡6ƒ ¢6ƒ )£6ƒ ¤6ƒ( (5¥6ƒ+ +Ħ6ƒ. .Ó§6ƒ {None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó½¨6getDefs' lookup emb aÆ extracts all used definitions (functions, data/record types) from a, embedded into a monoid via emb7. Instantiations of meta variables are obtained via lookup."Typical monoid instances would be [QName] or  Set QName. Note that embÖ can also choose to discard a used definition by mapping to the unit of the monoid.©6Getting the used definitions.Note: in contrast to x„ getDefsÆ also collects from sorts in terms. Thus, this is not an instance of foldTerm.¯6Inputs to and outputs of getDefs' are organized as a monad.°6*What it takes to get the used definitions.…³6 ¨6©6ª6«6¬6­6®6¯6°6±6²6 ¨6¯6«6¬6­6®6°6±6²6©6ª6³6´6†é é&µ6†ç ç&¶6†6 6·6†è è&¸6†æ æ(¹6†Ü ܺ6†óó,»6†å å"¼6†ä ä(½6†Ç Ǿ6†ß ß¿6†Í ÍÀ6†î îÁ6†9 9Â6†ë ë1Ã6†Ê ÊÄ6†& &/|None* #&'()+,/1569<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó'f¥Æ6-Drop type annotations and lets from bindings.È6ËTurn an expression into a pattern, turning non-pattern subexpressions into ’8.Ì6ÕTurn an expression into a pattern. Fails if the expression is not a valid pattern.Í6Return ”8 if ù6 is ”8.Ï6We can try to get a  Telescope from a  [LamBinding]ý. If we have a type annotation already, we're happy. Otherwise we manufacture a binder with an underscore for the type.Ð6Smart constructor for Pi: check whether the  Telescope is emptyÕ6Smart constructor for Lam: check for non-zero bindings.Ö6Smart constructor for Let": check for non-zero let bindings.×6Smart constructor for TLet": check for non-zero let bindings.Ù6*Observe the hiding status of an expressionÚ62Observe various modifiers applied to an expressionÛ6-Observe the relevance status of an expressionà6¹Splits off allowed (= import) declarations before the first non-allowed declaration. After successful parsing, the first non-allowed declaration should be a module declaration.á6#Parse outermost hiding information.ã6Unparse hiding information.æ6The Ÿ7 is not an application.è6.From the parser, we get an expression for the as-†&#, which we have to parse into a †&.é6The content of the as -clause of the import statement.ë6The "as" name.ì6ÃThe range of the "as" keyword. Retained for highlighting purposes.î6 A Binder x@p, the pattern is optionalö6The @finite- cannot be parsed, it comes from the builtin Partial only.÷6From @tactic attribute.ù6þThe representation type of a declaration. The comments indicate which type in the intended family the constructor targets.ý6#lone data signature in mutual block�7=Variables to be generalized, can be hidden and/or irrelevant.„7The è) here only refers to the range of the instance( keyword. The range of the whole block InstanceB r ds is fuseRange r ds.‹7  opaque ...‘7In  Agda.Syntax.Concrete.Definitionsþ we generate private blocks temporarily, which should be treated different that user-declared private blocks. Thus the ¯.”7%lone record signature in mutual block•7notation declaration for a name–7ÄAxioms and functions can be irrelevant. (Hiding should be NotHidden)—7  unfolding ...˜7 %unquoteDecl data d constructor xs = e™7 unquoteDecl xs = eš7 unquoteDef xs = eœ7 p �C e where csŸ7ÃConcrete expressions. Should represent exactly what the user wrote. 7ex: () or {}, only in patterns¡7ex: \ ()¢7ex: e e, e {e}, or  e {x = e}£7ex: x@p, only in patterns¤7ex: do x <- m1; m2¥7to print irrelevant things¦7ex: .p, only in patterns§7ex: ..A, used for parsing ..A -> B¨7...$, used internally to parse patterns.©7ex: a = b, used internally in the parserª7ex: .\ { p11 .. p1a -> e1 ; .. ; pn1 .. pnz -> en }«7ex: e -> e or .e -> e (NYI: {e} -> e)­7ex: {e} or {x=e}®7ex: x¯7ex: (| e1 | e2 | .. | en |) or (|)°7ex: {{e}} or {{x=e}}±7øAn identifier coming from abstract syntax, for which we know a precise syntactic highlighting class (used in printing).²7ƒAn operator application coming from abstract syntax, for which we know a precise syntactic highlighting class (used in printing).³7ex:  \x {y} -> e or \(x:A){y:B} -> e´7ex:  let Ds in e+, missing body when parsing do-notation letµ7ex: 1 or "foo"¶7ex: e + e The –&Ï is possibly ambiguous, but it must correspond to one of the names in the set.·7ex: (e)¸7ex:  (xs:e) -> e or  {xs:e} -> e¹7ex: ? or  {! ... !}º7ex: quote, should be applied to a name»7ex:  quoteTerm, should be applied to a term¼7before parsing operators½7ex: record {x = a; y = b}, or record { x = a; M1; M2 } The è is for the record keyword.¾7ex: record e {x = a; y = b} The è is for the record keyword.¿7ex:  @(tactic t)", used to declare tactic argumentsÀ7ex: _ or _A_5Á7ex: unquote&, should be applied to a term of type TermÂ7ex: e | e1 | .. | enÃ7öAn expression followed by a where clause. Currently only used to give better a better error message in interaction.Ì7(Extended content of an interaction hole.Í7 eÎ7  (rewrite | invert) e0 | ... | enÏ7ÙThe things you are allowed to say when you shuffle names between name spaces (i.e. in import,  namespace, or open declarations).Ð73An imported name can be a module or a defined name.Ñ7;Left hand sides can be written in infix style. For example: +n + suc m = suc (n + m) (f ˜D g) x = f (g x)ÀWe use fixity information to see which name is actually defined.Ò7ÓOriginal pattern (including with-patterns), rewrite equations and with-expressions.Ó7e.g.  f ps | wpsÔ7(rewrite e | with p <- e in eq) (many)Õ7with e1 in eq | {e2} | ... (many)Ö7:Processed (operator-parsed) intermediate form of the core f ps of Ñ7. Corresponds to Ó7.Û7 fÜ7Record projection.Ý7+Pattern that was expanded from an ellipsis ....ß7Main argument.á7 psâ7-Patterns for record indices (currently none).ã7 At least one (| p).ä70A lambda binding is either domain free or typed.æ7. x or {x} or .x or .{x} or {.x} or x@p or (p)ç7. (xs : e) or {xs : e}ë7Possibly empty sequence.í7=Modules: Top-level pragmas plus other top-level declarations.ò7  M {{...}}ó7 tel M exprs where M exprs is a ¼7 just after parsing.û7ÜAn abstraction inside a special syntax declaration (see Issue 358 why we introduce this).‚89Concrete patterns. No literals in patterns at the moment.ƒ8 ()„8p p' or  p {x = p'}…8 x@p†8.e, the è is for the dot, the Ã) for the whole thing (including the dot).‡8...., only as left-most pattern. Second arg is Nothing before expansion, and Just p after expanding ellipsis to p.ˆ8i = i1$ i.e. cubical face lattice generator‰8{p} or {x = p}Š8c or xIf the boolean is „™ , then the –&Ä must not refer to a constructor or a pattern synonym. The value „™2 is used when a hidden argument pun is expanded.‹8{{p}} or  {{x = p}}Œ80, 1, etc.�8eg: p => p' for operator _=>_ The –&Ñ is possibly ambiguous, but it must correspond to one of the names in the set.Ž8 (p)�8 quote�8p1..pn before parsing operators‘8record {x = p; y = q}. The è is for the record keyword.’8 _“8| p, for with-patterns.–8)Applies to the following function clause.˜8*Display lhs as rhs (modifies the printer).™8:For coinductive records, use pragma instead of regular  eta-equality, definition (as it is might make Agda loop).›86Throws an internal error in the scope checker. The ¢™+s are words to be displayed with the error.œ89Mark a definition as injective for the conversion checker�8ÀMark a definition as injective for the pattern matching unifier.ž8INLINE or NOINLINEŸ8…Applies to the following function (and all that are mutually recursive with it) or to the functions in the following mutual block. 8:Applies to the following data/record type or mutual block.¡8*Applies to the following data/record type.¢8Applies to the stated function¤8ÚApplies to the given name(s), which must be instance names (checked by the type checker).¦8$Second Range is for REWRITE keyword.¨8…Applies to the following function (and all that are mutually recursive with it) or to the functions in the following mutual block.©8Applies to the current moduleª8Applies to the named function­8+No right hand side because of absurd match.±81Isolated record directives parsed as Declarations³8 Range of [no-]eta-equality keyword.´8Range of keyword  [co]inductive.µ8If declaration pattern is present, give its range.¿8ÜA telescope is a sequence of typed bindings. Bound variables are in scope in later types.À8Just type signatures.Á8(Just type signatures or instance blocks.Â8A typed binding.Ä8Binding (x1@p1 ... xn@pn : A).Å8 Let binding (let Ds) or  (open M args).Ç8where block following a clause.È8The generalization  WhereClause' is for the sake of Agda.Concrete.Generic.É8 Ordinary where. à of the where/ keyword. List of declarations can be empty.Ê8No where clauses.Ë8 Named where: module M where ds. à of the keywords module and where . The · flag applies to the †&ð (not the module contents!) and is propagated from the parent function. List of declarations can be empty.Ì8Type of where block following a clause.Í8 Ordinary where.Î8No where clauses.Ï8 Named where: module M where ....ª9Ranges are not forced.¯9Ranges are not forced.±9Ranges are not forced.´9Ranges are not forced.¶9Ranges are not forced.¸9Ranges are not forced.¹9Ranges are not forced.»9Ranges are not forced.½9Ranges are not forced.Á9A Ç8 is ô when the whereÇ keyword is absent. An empty list of declarations does not count as ô here.£™Just field signatures¤™)Generic expression to pattern conversion.¤™&Default result for non-pattern things.The expression to translate.The translated pattern (maybe).ÌÅ6Æ6Ç6È6É6Ê6Ë6Ì6Í6Î6Ï6Ð6Ñ6Ò6Ó6Ô6Õ6Ö6×6Ø6Ù6Ú6Û6Ü6Ý6Þ6ß6à6á6â6ã6ä6å6Û%Ü%Ý%Þ%ß%à%á%â%ã%ä%å%æ%ç%è%é%ê%ë%ì%í%î%ï%ð%ñ%ò%ó%ô%õ%ö%÷%ø%ù%ú%æ6ç6è6é6ê6ë6ì6í6î6ï6ð6ñ6ò6ó6ô6õ6ö6÷6ø6ù6ú6û6ü6ý6þ6ÿ6€7�7‚7ƒ7„7…7†7‡7ˆ7‰7Š7‹7Œ7�7Ž7�7�7‘7’7“7”7•7–7—7˜7™7š7›7œ7�7ž7Ÿ7 7¡7¢7£7¤7¥7¦7§7¨7©7ª7«7¬7­7®7¯7°7±7²7³7´7µ7¶7·7¸7¹7º7»7¼7½7¾7¿7À7Á7Â7Ã7Ä7Å7Æ7Ç7È7É7Ê7Ë7Ì7Í7Î7Ï7Ð7Ñ7Ò7Ó7Ô7Õ7Ö7×7Ø7Ù7Ú7Û7Ü7Ý7Þ7ß7à7á7â7ã7ä7å7æ7ç7è7é7ê7ë7ì7í7î7ï7ð7ñ7ò7ó7ô7õ7ö7÷7ø7ù7ú7û7ü7ý7þ7ÿ7€8�8‚8ƒ8„8…8†8‡8ˆ8‰8Š8‹8Œ8�8Ž8�8�8‘8’8“8”8•8–8—8˜8™8š8›8œ8�8ž8Ÿ8 8¡8¢8£8¤8¥8¦8§8¨8©8ª8«8¬8­8®8¯8°8±8²8³8´8µ8¶8·8¸8¹8º8»8¼8½8¾8¿8À8Á8Â8Ã8Ä8Å8Æ8Ç8È8É8Ê8Ë8Ì8Í8Î8Ï8Ð8û%ü%ý%þ%ÿ%€&�&‚&ƒ&„&…&†&‡&ˆ&‰&Š&‹&Œ&�&Ž&�&�&‘&’&“&”&•&–&—&˜&´%µ%ŽŸ7 7¡7¢7£7¤7¥7¦7§7¨7©7ª7«7¬7­7®7¯7°7±7²7³7´7µ7¶7·7¸7¹7º7»7¼7½7¾7¿7À7Á7Â7ù7ú7û7É6ü7ý7þ7æ6ç6Å6â6á6ã6Ü6Ý6Î6Þ6Ì6Ê6Ë6Ù6Û6Ú6È6ß6î6ï6ð6ñ6ò6í6Ò6Ñ6ä7å7æ7ç7Æ6Â8Ã8Ä8Å8¯8°8Å7Æ7Ç7È7É7Ø6Ç6ô7õ7ö7÷7ø7ó6ô6õ6ö6÷6ø6Ô6Ó6º8»8¼8½8¾8¿8Ï6Ð6Õ6Ö6×6ù6ú6û6ü6ý6þ6ÿ6€7�7‚7ƒ7„7…7†7‡7ˆ7‰7Š7‹7Œ7�7Ž7�7�7‘7’7“7”7•7–7—7˜7™7š7Í6±8²8³8´8µ8¶8ñ7ò7ó7À8Á8Ï7Æ8Ð7·8¸8Ê7é6ê6ë6ì6è6ÿ7€8�8¹8Ð8Ñ7Ò7Ó7Ô7Õ7‚8ƒ8„8…8†8‡8ˆ8‰8Š8‹8Œ8�8Ž8�8�8‘8’8“8Ö7×7Ø7Ù7Ú7Û7Ü7Ý7Þ7ß7à7á7â7ã7è7é7ê7ë7ì7«8¬8­8®8Ç8È8É8Ê8Ë8Ì8Í8Î8Ï8Ã7Ä7å6›7œ7�7ž7”8•8–8—8˜8™8š8›8œ8�8ž8Ÿ8 8¡8¢8£8¤8¥8¦8§8¨8©8ª8í7î7ï7ð7´%µ%Ë7Ì7Í7Î7à6ä6ƒÑ8‡Ð3Ð5Ò8‡‚‚Ó8‡¥ ¥Ô8‡® ®Õ8‡û ûÖ8‡Ê Ê×8‡ü3ü5Ø8‡ô ôÙ8‡õ õÚ8‡Œ ŒÛ8‡”-”/Ü8‡¸ ¸Ý8‡Ü ÜÞ8‡… …ß8‡õ-õ/à8‡ß ßá8‡� �â8‡’-’/ã8‡ììä8‡¨ ¨å8‡¾-¾/æ8‡¤ ¤ç8‡« «è8‡ÐÐ$é8‡‚‚$ê8‡üüë8‡²²ì8‡””í8‡õõî8‡’’ï8‡¨(¨0ð8‡¾¾ñ8‡¤¤"ò8‡ÐÐó8‡‚‚ô8‡ü üõ8‡² ²ö8‡” ”÷8‡õ õø8‡’ ’ù8‡¨¨&ú8‡¾ ¾û8‡¤¤ü8‡ßßý8‡««þ8‡´ ´ÿ8‡½ ½€9‡Ë Ë�9‡ã ã‚9‡— —ƒ9‡“ “„9‡× ×5…9‡‡ ‡†9‡Š Ї9‡Ç Lj9‡” ”‰9‡Ó Ó$Š9‡Ú Ú#‹9‡Ž Ž*Œ9‡· ·�9‡œ œŽ9‡� ��9‡Ý Ý"�9‡À À'‘9‡Ã Ã’9‡Î Γ9‡í í”9‡ð ð•9‡ó ó–9‡ü ü—9‡Ò Ò ˜9‡£ £ ™9‡ç ç7š9‡Ì Ì ›9‡È È œ9‡Ï Ï �9‡× × %ž9‡ê ê$Ÿ9‡Û Û , 9‡ß ß ¡9‡ò ò ¢9‡Š Š £9‡ö ö#¤9‡¨?¨È¥9‡Ž Ž ¦9‡’ ’ §9‡ù ù¨9‡ÿ ÿ!©9‡… …$ª9‡¢ ¢ «9‡Ð Ð ¬9‡Ó Ó ­9‡ß ß ®9‡Ú Ú ¯9‡� � °9‡¼ ¼ 1±9‡¹ ¹ ²9‡Ì Ì ,³9‡É É ´9‡­ ­ "µ9‡¿ ¿ !¶9‡³ ³ &·9‡„ „ ¸9‡Ä Ä ¹9‡ˆ ˆ º9‡Ö Ö %»9‡Ù Ù ¼9‡¨¨½9‡§ § .¾9‡  -¿9‡Ç Ç À9‡« «#Á9‡ê êÂ9‡ð ðÃ9‡Í ÍÄ9‡à àÅ9‡Ð ÐÆ9‡ü-ü1Ç9‡ßßÈ9‡ììÉ9‡¨¨Ê9‡Ð&Ð1Ë9‡‚&‚1Ì9‡ü ü+Í9‡² ²+Î9‡” ”+Ï9‡õ õ+Ð9‡’ ’+Ñ9‡¨2¨=Ò9‡¾ ¾+Ó9‡¤$¤/}None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóŽÔ9#Hashes a raw top-level module name.Õ9A lens focusing on the ð.Ö9ÆTurns a top-level module name into a file name with the given suffix.×9ðFinds the current project's "root" directory, given a project file and the corresponding top-level module name.8Example: If the module "A.B.C" is located in the file "fooABC.agda", then the root is "foo".2Precondition: The module name must be well-formed.Ø9ÀConverts a top-level module name to a raw top-level module name.Ù9#Computes the top-level module name.Precondition: The ˆ‰— has to be well-formed. This means that there are only allowed declarations before the first module declaration, typically import declarations. See spanAllowedBeforeModule.Ú9 Computes the ß9à corresponding to the given module name, which is assumed to represent a top-level module name.2Precondition: The module name must be well-formed.Û9Turns a qualified name into a ß9Æ. The qualified name is assumed to represent a top-level module name.Ü90Turns a raw top-level module name into a string.Ý9A corresponding ˆŠ. The range of each Name! part is the whole range of the ä9.Þ9ÌConverts a raw top-level module name and a hash to a top-level module name.ÜThis function does not ensure that there are no hash collisions, that is taken care of by ã‹.ß9:Raw top-level module names (with linear-time comparisons).á9ÖWas this module name constructed from a file name rather than declared in the file?ä98Top-level module names (with constant-time comparisons).ê9The à is not forced.Ô9Õ9Ö9×9Ø9Ù9Ú9Û9Ü9Ý9Þ9èß9à9á9â9ã9ä9éêëìíîïðñòÔ9Õ9Ö9×9Ø9Ù9Ú9Û9Ü9Ý9Þ9ß9à9á9â9ã9ä9 å9Œ4 4"æ9Œ22ç9ŒÁ Á(è9ŒË Ë*é9ŒÇ Ç)ê9ŒÐ Ð&ë9Œ7 7#ì9Œ> >&í9Œ” ”#î9ŒÄ Ä(ï9Œ2 2ð9Œ: :%ñ9Œ� �"~None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó ò9ÈCompute a value from each subpattern and collect all values in a monoid.ó9)Does the LHS contain projection patterns?ô9´Compute the context in which the ellipsis occurs, if at all. If there are several occurrences, this is an error. This only counts ellipsis that haven't already been expanded.õ99Does the pattern contain a with-pattern? (Shortcutting.)ö9Is “8?÷9Append patterns to Ö7), separating with patterns from the rest.ø9ËAdd applicative patterns (non-projection / non-with patterns) to the right.ù9Add with-patterns to the right.ú9Construct the �:" of the given list (if not empty).+Return the view and the remaining patterns.û9?Map pattern(s) with a modification after the recursive descent.ü9 Modify the ‚8 component in Ñ7.ý9Effectfully modify the ‚8 component in Ñ7.þ92Count the number of with-subpatterns in a pattern?ÿ9View a pattern p as a list p0 .. pn where p04 is the identifier (in most cases a constructor).8Pattern needs to be parsed already (operators resolved).€:Combine a pattern and the value computed from its subpatterns.ˆ:;Combine a pattern and the its recursively computed version.‰:pre : Modification before recursion.post: Modification after recursion.Ž“:�”:�•:‘–:!ò9ó9ô9õ9ö9÷9ø9ù9ú9û9ü9ý9þ9ÿ9€:�:‚:ƒ:„:…:†:‡:ˆ:‰:Š:‹:Œ:�:Ž:�:�:‘:’:%Œ:�:Š:‹:Ž:�:”:�:‘:’:ú9ø9ù9÷9ü9ý9ó9†:‡:ˆ:‰:“:•:–:ò9ƒ:‚:û9�:€:õ9ö9þ9ô9„:…:ÿ9—:’‰ ‰0˜:’� �=™:’‹ ‹,š:’� �2›:’Ž Ž2œ:’Š Š4�:’Œ Œ2ž:’¸ ¸Ÿ:’û ûÀ :’4 4¡:’, ,¢:’! !£:’Æ Æ&¤:’Ç Ç*¥:’À ÀNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó¤¦:,Generic traversals for concrete expressions. Note: does not go into patterns!§:This corresponds to ¥™.¨:This corresponds to Θ.©:This corresponds to ¦™.«:ÕCollect declarations and subdeclarations, transitively. Prefix-order tree traversal.­:ùUpdate declarations and their subdeclarations. Prefix-order traversal: traverses subdeclarations of updated declaration.“®:”¯:•°:–±:—²:¦:§:¨:©:ª:«:¬:­: ¦:§:¨:©:¯:°:²:ª:«:®:¬:­:±:*³:˜Ó Ó(´:˜Æ Ƶ:˜å å¶:˜Ó Ó·:˜Þ Þ;¸:˜õ õ¹:˜¡ ¡"º:˜½ ½»:˜µ µ¼:˜Î ν:˜Î Î$¾:˜Ð Ð*¿:˜Ñ Ñ*À:˜Ø Ø5Á:˜Û Û$Â:˜¦ ¦#Ã:˜< <Ä:˜Ô Ô/Å:˜Ï Ï*Æ:˜« «*Ç:˜Á ÁÈ:˜Ù Ù)É:˜Õ Õ+Ê:˜Æ ÆÇË:˜Ú Ú5Ì:˜ã ã5Í:˜è èÄÎ:˜í íÓÏ:˜Û Û2Ð:˜7 7Ñ:˜Ü Ü1Ò:˜Ö Ö/Ó:˜¯ ¯Ô:˜ª ª$Õ:˜¬ ¬*Ö:˜« «*×:˜­ ­1Ø:˜ã ã"Ù:˜Þ Þ,Ú:˜à à2Û:˜ß ß2Ü:˜á á9€None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóÝ:”Get the fixities and polarity pragmas from the current block. Doesn't go inside modules and where blocks. The reason for this is that these declarations have to appear at the same level (or possibly outside an abstract or mutual block) as their target declaration.§™While á:þ and Polarities are not semigroups under disjoint union (which might fail), we get a semigroup instance for the monadic m (Fixities, Polarities)% which propagates the first error.¨™‘Add more fixities. Throw an exception for multiple fixity declarations. OR: Disjoint union of fixity maps. Throws exception if not disjoint.©™êCompute the names defined in a declaration. We stay in the current scope, i.e., do not go into modules.Ý:Þ:ß:à:á:â:ã:ä:å:æ:ç:è:é:ê:á:ê:â:ã:ä:å:æ:ç:è:é:Þ:ß:à:Ý:ë:™í íì:™È Èí:™Ä Ä!î:™è è8ï:™Ú Ú;ð:™íí�None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóõ=ò: Pretty-print �;.ó: Pretty-print ¨;.ô:#Compute a position position prefix.-Depending on the error to be printed, it willeither give the name of the  libraries file and a line inside it,or give the name of the  .agda-lib file.÷:)Does a parse error contain a line number?þ:The special name "."Ó is used to indicated that the current directory should count as a project root.�;ÁSplit a library name into basename and a list of version numbers. íparseLibName "foo-1.2.3" == LibName "foo" [1, 2, 3] parseLibName "foo-01.002.3" == LibName "foo" [1, 2, 3]$Note that because of leading zeros,  parseLibName is not injective. (prettyShow . parseLibName would produce a normal form.)Š; Content of a  .agda-lib file.Œ;3How many directories above the Agda file is the  .agda-lib file located?�; Dependencies.Ž; Path to this  .agda-lib file (not content of the file).�;3Roots where to look for the modules of the library.�;!The symbolic name of the library.‘;4Default pragma options for all files in the library.“;A symbolic executable name.–;áThe executables file might not exist, but we may print its assumed location in error messages.—;E.g. ~.agda executables.˜;5Cache locations of project configurations and parsed  .agda-lib files.š; Contents of  .agda-lib% files that have already been parsed.›;3Map from directories to paths of closest enclosing  .agda-lib files (or Î; if there are none).œ;Collection of �;s and À;s.Ÿ;0Collected errors while processing library files. ;1Raised when a library name is defined in several .agda-lib files.¡;The  executables! file contains duplicate entries.¢;ÇRaised when a library name could not successfully be resolved to an  .agda-lib file.£;The  .agda-lib file could not be parsed.¤;/The user specified replacement for the default  libraries file does not exist.¥;*An I/O Error occurred when reading a file.¦;.The given project root contains more than one  .agda-lib file.§; Collects �;s and À;s.¨;$Collected errors when processing an  .agda-lib file.¬;Throws ¨; exceptions, still collects À;s.­;A symbolic library name.ÙLibrary names are structured into the base name and a suffix of version numbers, e.g.  mylib-1.2.3". The version suffix is optional.¯;Actual library name.°;ÇMajor version, minor version, subminor version, etc., all non-negative.±;Exceptions thrown by the  .agda-lib parser.²;ÊAt the given line number, an invalid field name is encountered before the :. (E.g., containing spaces.)³;1An invalid library name, e.g., containing spaces.´;ÍAt the given line number, indented text (content) is not preceded by a field.µ;'These fields occur each more than once.¶;=At the given line number, the given field is not followed by :.·;=At the given line number, a field name is missing before the :.¸;Missing these mandatory fields.¹;I/O error while reading file.º;Information about which  .agda-lib. file we are reading and from where in the  libraries file it came from.¼; Library file.½;Name of  libraries file.¾;Line number in  libraries file.Â;Library Warnings.Æ;ßThe libraries file might not exist, but we may print its assumed location in error messages.Ç;E.g. ~.agda libraries.É;The options from an OPTIONS pragma (or a  .agda-lib file).±In the future it might be nice to switch to a more structured representation. Note that, currently, there is not a one-to-one correspondence between list elements and options.Ë;ÆThe range of the options in the pragma (not including things like an OPTIONS keyword).Ì; The options.Í;�A file can either belong to a project located at a given root containing an .agda-lib file, or be part of the default project.Ð;0How many directories above the Agda file is the  .agda-lib file located?Ñ; .agda-lib file relative to Ò; (filename only, no directory).Ò;Directory which contains the  .agda-lib file for the current project.ñ;Ranges are not forced.õ;ÌIn comparisons, a missing version number is assumed to be infinity. E.g. +foo > foo-2.2 > foo-2.0.1 > foo-2 > foo-1.0.ö; >ø;šõ õù;š� �ú;š– –û;šª ªü;šèèý;šø øþ;š— —ÿ;šÞÞ€<š44�<š­ ­‚<šæ æƒ<šë ë„<šð ð…<šÛÛ†<šŠ Š‚None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó  ‡<Parse  .agda-lib file.Sets û:× name and turn mentioned include directories into absolute pathes (provided the given ì˜ is absolute).‰<4Break a comma-separated string. Result strings are trimmed.Š<+Remove leading whitespace and line comment.ª™ÊHeader line, like a field name, e.g. "include :". Cannot be indented. String is trimmed.«™"Other line. Must be indented. String is trimmed.¬™(Library file field format format [sic!].­™Name of the field.®™Is it optional?¯™Content parser for this field.*The range points to the start of the file.°™Sets parsed content in Š; structure.±™E.g. field name. trimmed.²™E.g. field content. trimmed.³™ÉThe config files we parse have the generic structure of a sequence of field : content entries.´™Lines with line numbers.µ™Parser monad: Can throw  LibParseErrors, and collects  LibWarning's library warnings.¶™-...and trailing, but not leading, whitespace.·™ .agda-lib& file format with parsers and setters.¸™Parse file contents.¹™Parse ³™ with ·™ descriptors.º™Given a list of ¬™5 descriptors (with their custom parsers), parse a ³™ into the Š; structure.ÏChecks mandatory fields are present; no duplicate fields, no unknown fields.»™ÎEnsure that there are no duplicate fields and no mandatory fields are missing.¼™Find ¬™ with given ­™, throw error if unknown.½™Example: ƒ parseGeneric "name:Main--BLAndepend:--BLAn standard-library--BLAninclude : . --BLAn src more-src n" == Right [("name",[MainÅ]),("depend",["standard-library"]),("include",[".","src more-src"])] ¾™Parse line into ª™ and «™ components.ÌPrecondition: line comments and trailing whitespace have been stripped away. Example file: Ö name: Main depend: standard-library include: . src more-src This should give ' [ Header 1 "name" , Content 1 Main’ , Header 2 "depend" , Content 3 "standard-library" , Header 4 "include" , Content 4 "." , Content 5 "src more-src" ] ¿™Collect ª™ and subsequent «™s into À™.Leading «™s? That's an error.¸™The parsed file.¹™The parsed file.º™The parsed file.‡<ˆ<‰<Š<‡<‰<Š<ˆ<‹<›ã ãƒNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó2 Œ< minus xs ys! computes the difference between xs and ys<: the result contains those positions which are present in xs but not in ys.*Linear in the lengths of the input ranges.�<¹˜ iff the ranges overlap.)The ranges are assumed to be well-formed.�< Converts a œ� to a ™<.�<The •< invariant.‘<(Converts a range to a list of positions.’< Converts a œ�#, seen as a continuous range, to a Ã.“<The ™< invariant.”</Converts several ranges to a list of positions.•<ÑCharacter ranges. The first character in the file has position 1. Note that the ˜<4 position is considered to be outside of the range. Invariant: —< Š™ ˜<.™<.Zero or more consecutive and separated ranges.Œ<�<Ž<�<�<‘<’<“<”<•<–<—<˜<™<š<ó•<–<—<˜<�<™<š<“<�<Ž<ó‘<”<�<’<Œ<›<ž$$œ<ž5 5�<ž* *ž<ž55Ÿ<ž& & <ž$$¡<ž$!$%¢<ž55„None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó £<3Converts a list of pairs of ranges and values to a ±<ç. The ranges have to be non-overlapping and non-empty, and earlier ranges have to precede later ones.¤<,Inserts a value, along with a corresponding •< , into a ±<Á. No attempt is made to merge adjacent ranges with equal values.ôThe function argument is used to combine values. The inserted value is given as the first argument to the function.¥< Returns a ±<> overlapping the given range, as well as the rest of the map.¦<Invariant for ±<.8The ranges must not be empty, and they must not overlap.§<Restricts the ±< to the given range.¨<Like ¬<, but with several ™< instead of only one.©< The value of ©< p f is a pair (f1, f2)! which contains everything from f. All the positions in f1 are less than p, and all the positions in f2 are greater than or equal to p.ª<ÞA class that is intended to make it easy to swap between different range map implementations.Note that some ±<, operations are not included in this class.«<?Returns the smallest range covering everything in the map (or ¼˜, if the range would be empty).ÍNote that the default implementation of this operation might be inefficient.¬<The map ¬< rs x contains the ranges from rs9, and every position in those ranges is associated with x.­<ýConverts the map to a list. The ranges are non-overlapping and non-empty, and earlier ranges precede later ones in the list.®<Converts range maps to Á™s from positions to values.¯<7A strict pair type where the first argument must be an ñ—.*This type is included because there is no ™ instance for Ù in the package strict before version 4.±<*Maps containing non-overlapping intervals.éThe implementation does not use IntMap, because IntMap does not come with a constant-time size function.Note the invariant which ±<s should satisfy (¦<).³<ÔThe keys are starting points of ranges, and the pairs contain endpoints and values.¶<Merges ±<Ås by inserting every "piece" of the smaller one into the larger one.·<Merges ±<Ås by inserting every "piece" of the smaller one into the larger one.Ä™ A variant of ©<Ú. If a range in the middle was split into two pieces, then those two pieces are returned.Å™Constructs a pair.Æ™ The number of ranges in the map.%This function should not be exported.Ÿ´<£<¤<¥<¦<§<¨<©<ª<«<¬<­<®<¯<°<±<²<³<ª<«<¬<­<®<´<¨<¯<°<±<²<³<¦<£<¤<©<¥<§<µ< ‹ ‹(¶< ¡ ¡,·< — —/¸< Ü Ü(¹< ôôº< ‡ ‡»< Ú Ú¼< ô ô…None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóÈ/½<.Global variable to store benchmark statistics.¾<=Benchmark an IO computation and bill it to the given account.¿<>Benchmark a pure computation and bill it to the given account.Å<Phases to allocate CPU time to.Æ< Subphase for ë<.Ç< Subphase for ë<.È< Subphase for ñ<: checking the LHSÉ< Subphase for Û< : reducing overlapping instancesÊ< Subphase for ñ<: checking the RHSË< Subphase for Ò<: compacting interfaces.Ì< Subphase for í<.Í< Subphase for ë<.Î<0Coverage checking and compilation to case trees.Ï<Dead code elimination.Ð<)Dead code reachable definitions subphase.Ò<Reading interface files.Ó< Subphase for Û<": checking candidates for validityÔ< Subphase for ñ<: free variable computation.Õ< Subphase for ñ<: generalizing over variablesÖ< Subphase for í<.×<Generating highlighting info.Ø<Import chasing.Ù< Subphase for Û<: collecting initial candidatesÚ<Injectivity checking.Û< Subphase for ñ<: solving instance goalsÜ<)Unfolding all metas before serialization.Ý<Pretty printing names.Þ< Subphase for í<.ß< Subphase for Ø<.à< Subphase for ñ<!: occurs check for solving metas.á< Subphase for ä<.â< Subphase for ä<.ã< Subphase for Û<%: ordering candidates for specificityä<#Happy parsing and operator parsing.å<-Positivity checking and polarity computation.æ<!Checking for projection likeness.ç< Subphase for í<.è< Subphase for í<.é< Subphase for ñ<": evaluating elaborator reflectionê<2Scope checking and translation to abstract syntax.ë<Writing interface files.ì< Subphase for ë<.í<Termination checking.ï< Subphase for ñ<: checking a type signatureñ<1Type checking and translation to internal syntax.ò< Subphase for È<: unification of the indicesó< Subphase for í<.7½<¾<¿<À<Á<Â<Ã<Ä<Å<Æ<Ç<È<É<Ê<Ë<Ì<Í<Î<Ï<Ð<Ñ<Ò<Ó<Ô<Õ<Ö<×<Ø<Ù<Ú<Û<Ü<Ý<Þ<ß<à<á<â<ã<ä<å<æ<ç<è<é<ê<ë<ì<í<î<ï<ð<ñ<ò<ó<7Å<Æ<Ç<È<É<Ê<Ë<Ì<Í<Î<Ï<Ð<Ñ<Ò<Ó<Ô<Õ<Ö<×<Ø<Ù<Ú<Û<Ü<Ý<Þ<ß<à<á<â<ã<ä<å<æ<ç<è<é<ê<ë<ì<í<î<ï<ð<ñ<ò<ó<Ä<Ã<Â<À<Á<½<¾<¿<ô<¡ô ôõ<¡ôô#ö<¡– –÷<¡ôôø<¡û ûù<¡ö öú<¡ôô†None) #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó-û<Collect all free variables.ü<ÁCollect all relevant free variables, excluding the "unused" ones.ý<=Collect all relevant free variables, possibly ignoring sorts.ÿ<0Is the term entirely closed (no free variables)?‚=7Get the full occurrence information of a free variable.ƒ=ÕVariables occuring in arguments of metas. These are only potentially free, depending how the meta variable is instantiated. The set contains the id's of the meta variables that this variable is an argument to.†=ÌCollect all free variables together with information about their occurrence.ÜDoesn't go inside solved metas, but collects the variables from a metavariable application X ts as  flexibleVars.ˆ=7Is the variable bound by the abstraction actually used?‹=ÃRigid variables: either strongly rigid, unguarded, or weakly rigid.Œ=Compute free variables.�=?Variables under only and at least one inductive constructor(s).Ž=òVariables at top or only under inductive record constructors »s and  s. The purpose of recording these separately is that they can still become strongly rigid if put under a constructor whereas weakly rigid ones stay weakly rigid.�=7Get the full occurrence information of a free variable.”="Hereditary Semigroup instance for û—. (The default instance for û— may not be the hereditary one.)—="Hereditary Semigroup instance for û—. (The default instance for û— may not be the hereditary one.)Ç™ Collection? just keeping track of the occurrence of a single variable. ¼˜& means variable does not occur freely.È™ Collection? just keeping track of the occurrence of a single variable. ¼˜& means variable does not occur freely.É™5Check if a variable is free, possibly ignoring sorts.5û<ü<ý<þ<ÿ<€=�=‚=ƒ=„=…=†=‡=ˆ=‰=Š=‹=Œ=�=Ž=�=­3¯3°3±3²3³3·3�=‘=’=Ç3È3É3Ê3Ë3Ì3Ð3Ñ3Û3Ü3Ý3Þ3ß3à3á3â3ã3î3ï3ð3ñ3ò35�=‘=’=Ð3ß3à3Û3Ü3Ý3Þ3†=Ñ3€=�=Œ=‹=�=Ž=þ<ƒ=û<ü<ý<‡=„=…=ˆ=‰=Š=È3É3Ê3Ë3Ì3Ç3á3â3°3²3±3³3ï3ð3ñ3ò3î3�=‚=ÿ<ã3¯3­3·3“=¢Ï Ï(”=¢Æ Æ!•=¢Ë Ë–=¢¯ ¯'—=¢¦ ¦ ˜=¢« «™=¢à àš=¢ß ß›=¢Ý Ýœ=¢Þ Þ�=¢î îž=¢ç çŸ=¢ê ê =¢í í3¡=¢ë ë¢=¢ëë£=¢ñ ñ&‡None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó ÿ¥=/Instantiate an abstraction. Strict in the term.§=#Apply to a single default argument.¨=Apply to two default arguments.©= Apply to some default arguments.ª= applySubst (Á ª=& Ã) v == applySubst Á (applySubst à v)¬= É “ ¢E Á : ”, ¨ ------------------- “ ¢E dropS |¨| Á : ” ®=ÀSingle substitution without disturbing any deBruijn indices. í “, A, ” ¢E u : A --------------------------------- “, A, ” ¢E inplace |”| u : “, A, ” ¯=ÐChecks whether the variable bound by the abstraction is actually used, and, if not, returns the term within, ¿=ed to live in the context outside the abstraction. See also †£.°=ÆInstantiate an abstraction. Lazy in the term, which allow it to be  IMPOSSIBLEÇ in the case where the variable shouldn't be used but we cannot use µ=. Used in Apply.±=$Lift a substitution under k binders.²=ÂlookupS (listS [(x0,t0)..(xn,tn)]) xi = ti, assuming x0 < .. < xn.µ=9Instantiate an abstraction that doesn't use its argument.¶= à “ ¢E reverse vs : ” ----------------------------- “ ¢E parallelS vs Á : “, ”  Note the “ in “, ”.·= Ž “ ¢E Á : ” “ ¢E reverse vs : ˜ ----------------------------- (treating Nothing as having any type) “ ¢E prependS vs Á : ”, ˜ ¸=%Raise de Bruijn index, i.e. weakeningº= #“, ž, ” ¢E raiseFromS |”| |ž| : “, ”½=To replace index n by term u, do applySubst (singletonS n u). ì “, ” ¢E u : A --------------------------------- “, ” ¢E singletonS |”| u : “, A, ” À=“ ¢E (strengthenS ¥E |”|) : “,”Á=A "smart" variant of Ñ1. If À=1 is applied to a substitution with an outermost Ñ1Û constructor, then the "error message" of that constructor is discarded in favour of the ¿ argument of this function.Â=Replace de Bruijn index i by a Ý1 in something.Ã=ÂReplace what is now de Bruijn index 0, but go under n binders. %substUnder n u == subst n (raise n u).Å=(abstract args v) È= args --> v[args].Ç=íApply something to a bunch of arguments. Preserves blocking tags (application can never resolve blocking).Ê=Î=& instance whose agument type is itselfË=ùWrapper for types that do not contain variables (so applying a substitution is the identity). Useful if you have a structure of types that support substitution mixed with types that don't and need to apply a substitution to the full structure.Î=Apply a substitution.Ñ=Simple constraint alias for a Î= instance a with arg type t.Ò=Î=! instance whose argument type is Ý1¤Ó=¥Ô=/¤=¥=¦=§=¨=©=ª=«=¬=­=®=¯=°=±=²=³=´=µ=¶=·=¸=¹=º=»=¼=½=¾=¿=À=Á=Â=Ã=Ä=Å=Æ=Ç=È=É=Ê=Ë=Ì=Í=Î=Ï=Ð=Ñ=Ò=1Ç=È=É=Ó=©=§=¨=Å=Æ=Î=Ï=Ð=Ô=Ñ=Ê=Ò=¸=¹=Â=¿=Ã=¯=Ë=Ì=Í=­=Ä=»=«=½=®=±=¬=ª=¾=¤=·=¶=À=Á=³=²=º=¥=°=µ=¦=´=¼=¤=Õ=¦úú%Ö=¦ú ú×=¦úúØ=¦ü ü+Ù=¦ò òˆNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó)1ŽÚ=Add a module to a scope.Û=Add a name to a scope.Þ=Return all names in a scope.á=$The flat list of ambiguous names in Ï>.â= Apply an ¦ to a scope: "rename keys (C.Name) according to renaming;for untouched keys, either ofa) remove keys according to hiding', or b) filter keys according to using.ÔBoth steps could be done in one pass, by first preparing key-filtering functions C.Name -> Maybe C.NameŠ for defined names and module names. However, the penalty of doing it in two passes should not be too high. (Doubling the run time.)ã= Version of â=É that also returns sets of name and module name clashes introduced by renaming0 to identifiers that are already imported by using or lack of hiding.ä=?For ambiguous constructors, we might have both alternatives of Ô!. In this case, we default to Ö.å=+Add first string only if list is non-empty.ç=?For ambiguous constructors, we might have both alternatives of Ô!. In this case, we default to ä>.è=!Constructor and pattern synonyms.é=:Get all concrete names in scope. Includes bound variables.ê=!All kinds of regular definitions.ë=3Disallow using generalized variables from the scopeí=The empty name space.î=The empty scope.ï=The empty scope info.ó= Only return  [Co]ConName if no ambiguity.õ=&Returns the scope's non-private names.ö=‘Filter a scope keeping only concrete names matching the predicates. The first predicate is applied to the names and the second to the modules.÷=+Look up a single name in the current scope.This is equivalent to Map.lookup n . allNamesInScope'Ä, but more efficient when only a single name needs to be looked up.ø= inNameSpace> selects either the name map or the module name map from a Š?Ø. What is selected is determined by result type (using the dependent-type trickery).ù=.Add an explanation to why things are in scope.ú=ïFind the concrete names that map (uniquely) to a given abstract module name. Sort by length, shortest first.ü=œFind the concrete names that map (uniquely) to a given abstract qualified name. Sort by number of modules in the qualified name, unqualified names first.þ= A version of ü= that also delivers the á>. Used in highlighting.ƒ>Van Laarhoven lens on Ä>.„>Van Laarhoven lens on Ê>.†>9Map functions over the names and modules in a name space.‡>&Map monadic function over a namespace.ˆ>4Map functions over the names and modules in a scope.‰>Same as ‰>Í but applies the same function to both the public and private name spaces.‹>Same as ˆ>7 but applies the function only on the given name space.Œ>Same as ˆ>2 but applies the same function to all name spaces.�>=Merge two scopes. The result has the name of the first scope.�>ÜMerge a non-empty list of scopes. The result has the name of the first scope in the list.‘>Modify a particular name space.”>*Project name of unshadowed local variable.•>%Get all locals that are not shadowed  by imports.–>1Treat patternBound variable as a module parameter˜>5Get the public parts of the public modules of a scope›>&Recompute the inScope sets of a scope.�>¶Remove a name from a scope. Caution: does not update the nsInScope set. This is only used by rebindName and in that case we add the name right back (but with a different kind).ž>%Rename the abstract names in a scope.Ÿ>9Remove private things from the given module from a scope. >%Remove private name space of a scope.Should be a right identity for õ=. >exportedNamesInScope . restrictPrivate == exportedNamesInScope.¡>Lenses for ScopeInfo components¨>Look up a name in the scope«>Get a Š? from �?.°>Update a particular name space.±>áMove all names in a scope to the given name space (except never move from Imported to Public).´>3Shadow a local name by a non-empty list of imports.·> Lens for §>.¸> A lens for ¢?¹>`Monadic' lens (Functor sufficient).º> Lens for ¯>.½>Filter privates out of a ¤?¾>Zip together two name spaces.¿>ÕZip together two scopes. The resulting scope has the same name as the first scope.À>Same as ¿>Í but applies the same function to both the public and private name spaces.Á>-A decoration of abstract syntax module names.Ã>&Explanation where this name came from.Ä>The resolved module name.Å>A decoration of hŠ.Ç>6The kind (definition, constructor, record field etc.).È>&Explanation where this name came from.É>êAdditional information needed during scope checking. Currently used for generalized data/record params.Ê>The resolved qualified name.Ì>îUsed for instance arguments to check whether a name is in scope, but we do not care whether is is ambiguousÍ>9Ambiguous constructors, projections, or pattern synonyms.Ï>:Why is a resolved name ambiguous? What did it resolve to?ÂInvariant (statically enforced): At least two resolvents in total.Ð>/The name resolves to at least 2 declared names.Ñ>ÃThe name resolves both to a local variable and some declared names.Ò>êFor each bound variable, we want to know whether it was bound by a »,  , module telescope, pattern, or let.Ó>» (currently also used for   and module parameters)Ô>  let ... inÕ>ËBinding added to scope by one of context-manipulating reflection primitivesÖ>f ... =. Remember   for pattern variables {x} and {{x}}Ú. This information is only used for checking pattern synonyms. It is not serialized.×>  | ... in qÛ>-Type class for some dependent-types trickery.Þ>#Set of types consisting of exactly Å> and Á>..A GADT just for some dependent-types trickery.á>ñFor the sake of parsing left-hand sides, we distinguish constructor and record field names from defined names.â> Name of a  postulate.ã>Constructor name (definitely Õ).ä>Constructor name (Ö or don't know).å> Name of a data.æ>&Generalizable variable from a let openç>Record field name.è>Name of a defined function.é>Name to be generalizedê>Name of a macroë>A DefName7, but either other kind or don't know which kind. End DefName0. Keep these together in sequence, for sake of  isDefName!ì>Name of a pattern synonym.í> Name of a  primitive.î>3A name that can only be quoted. Previous category DefNameÅ: (Refined in a flat manner as Enum and Bounded are not hereditary.)ï> Name of a record.ð> A set of á>, for the sake of ì=.ò>All but these Kinds.ó>Only these kinds.ô>‚A local variable can be shadowed by an import. In case of reference to a shadowed variable, we want to report a scope error.ö>/Kind of binder used to introduce the variable (», let, ...).÷>ÔIf this list is not empty, the local variable is shadowed by one or more imports.ø>Unique ID of local variable.ù>Local variables.ý>"For the sake of highlighting, the ª? map also stores the á> of an A.QName.ÿ>)Possible renderings of the abstract name.€?The Ç>.„?%Non-dependent tag for name or module.‡?ÇA failure in name resolution, indicating the reason that a name which is% in scope could not be returned from tryResolveName.ˆ? The name was Foo.constructor, and Foo& is in scope, but it is not a record.‰?4Ambiguous names are not supported in this situation.Š?A  NameSpace“ contains the mappings from concrete names that the user can write to the abstract fully qualified names that the type checker wants to read.Œ?ÈAll abstract names targeted by a concrete name in scope. Computed by ›>.�?>Maps concrete module names to a list of abstract module names.Ž?0Maps concrete names to a list of abstract names.�?See _§.�?1Things from open public, exported by this module.‘?#Things not exported by this module.’?+Things defined and exported by this module.•? Data or record constructor name.–?&Function, data/record type, postulate.—?ÂRecord field name. Needs to be distinguished to parse copatterns.˜?Name of pattern synonym.™? Unbound name.š?9Local variable bound by »,  , module telescope, pattern, let.›?What kind of binder?�?ÔA scope is a named collection of names partitioned into public and private names.¤?”The complete information about the scope at a particular program point includes the scope stack, the local variables, and the context precedence.§?&Maps concrete names C.Name to fixities­?(Maps concrete names C.Name to polarities¯?=Maps the name of a record to the name of its (co)constructor.°?éThe variables that will be bound at the end of the current block of variables (i.e. clause). We collect them here instead of binding them immediately so we can avoid shadowing between variables in the same variable block.²?Set the É+ in an abstract name.µ?%When we get here we cannot have both using and hiding.¸?Where does a name come from?=This information is solely for reporting to the user, see î¨.¹?!Imported by a module application.º?Defined in this module.»?Imported from another module.¾?Decorate something with á>Œ@ÁWe show shadowed variables as prefixed by a ".", as not in scope.“@Invariant: the á>Û components should be equal whenever we have to concrete renderings of an abstract name.—@/Sets the binding site of all names in the path.ã=4Merged scope, clashing names, clashing module names.•?Ö or Õ or both. isJust . ÿ= . Ç> for all names.–?Ç> can be DefName, ê>, î>.—?(ç> ==) . Ç> for all names.˜?(ì> ==) . Ç> for all names.½? The name x this explanation is about.2The directory in which the current module resides.The local variable that x could denote, if any.The defined names that x could denote.The modules that x could denote.©Â?èÚ=Û=Ü=Ý=Þ=ß=à=á=â=ã=ä=å=æ=ç=è=é=ê=ë=ì=í=î=ï=ð=ñ=ò=ó=ô=õ=ö=÷=ø=ù=ú=û=ü=ý=þ=ÿ=€>�>‚>ƒ>„>…>†>‡>ˆ>‰>Š>‹>Œ>�>Ž>�>�>‘>’>“>”>•>–>—>˜>™>š>›>œ>�>ž>Ÿ> >¡>¢>£>¤>¥>¦>§>¨>©>ª>«>¬>­>®>¯>°>±>²>³>´>µ>¶>·>¸>¹>º>»>¼>½>¾>¿>À>Á>Â>Ã>Ä>Å>Æ>Ç>È>É>Ê>Ë>Ì>Í>Î>Ï>Ð>Ñ>Ò>Ó>Ô>Õ>Ö>×>Ø>Ù>Ú>Û>Ü>Ý>Þ>ß>à>á>â>ã>ä>å>æ>ç>è>é>ê>ë>ì>í>î>ï>ð>ñ>ò>ó>ô>õ>ö>÷>ø>ù>ú>û>ü>ý>þ>ÿ>€?�?‚?ƒ?„?…?†?‡?ˆ?‰?Š?‹?Œ?�?Ž?�?�?‘?’?“?”?•?–?—?˜?™?š?›?œ?�?ž?Ÿ? ?¡?¢?£?¤?¥?¦?§?¨?©?ª?«?¬?­?®?¯?°?±?²?³?´?µ?¶?·?¸?¹?º?»?¼?½?¾?¿?À?Á?é�?ž?Ÿ? ?¡?¢?£?Ø>Ù>Ú>�?�?‘?’?Ý=±?…>’>«>¸>¹>¤?¥?¦?§?¨?©?ª?«?¬?­?®?¯?°?ý>þ>ÿ>€?ü>ú>ù>Ò>Ó>Ô>Õ>Ö>×>ô>õ>ö>÷>ø>´>–>”>•>¡>ª>¯>§>­>¦>¥>¤>¢>¬>®>£>º>³>·>²>Š?‹?Œ?�?Ž?´?“?û>Ý>Þ>ß>à>Û>Ü>ø=„?…?†?á>â>ã>ä>å>æ>ç>è>é>ê>ë>ì>í>î>ï>ê=€>è=ÿ=æ=ç=ä=ò=ó=ð>ñ>ò>ó>ì=Ü=µ>ô=¾?¿?À?Á?¸?¹?º?»?Å>Æ>Ç>È>É>Ê>�?‚?ƒ?Á>Â>Ã>Ä>„>ƒ>”?•?–?—?˜?™?š?›?œ?Ï>Ð>Ñ>‡?ˆ?‰?á=¼?½?¼>�>Ž>í=†>¾>‡>î=ï=ˆ>Œ>‹>‰>Š>¿>À>›>ö=Þ=ß=÷=õ=“>à=¶>�>�>±>°>‘>Û=�>Ú=µ?¶?·?»>â=ã=ž> >Ÿ>½>ë=ù=˜>™>š>ð=ñ=é=¨>©>Ë>Ì>Í>Î>�>‚>ü=ý=þ=ú=û=œ>²?³?Â?—>å=ìÃ?ªÆÆ$Ä?ª‰"‰)Å?ªê"ê)Æ?ªÍÍÇ?ªÆÆÈ?ª‰‰ É?ªêê Ê?ªÍÍË?ª† †Ì?ªù ùÍ?ªî î Î?ª¨¨Ï?ªÆÆÐ?ª‰ ‰Ñ?ª¿ ¿Ò?ªê êÓ?ªÈ ÈÔ?ªÍ ÍÕ?ª¨¨Ö?ªÁ Á×?ª‘ ‘Ø?ªÏÏÙ?ªÏ'Ï/Ú?ªÏÏ%Û?ª÷÷Ü?ªêêÝ?ª¿¿Þ?ª¨¨ß?ªÆ&Æ-à?ª‰+‰2á?ª½½â?ª††ã?ªîîä?ªê+ê2å?ªÉÉæ?ªÈÈç?ªÍ&Í-è?ª¨¨é?ªÁÁê?ªþþë?ªÜÜì?ªØ Ø í?ªÝ Ý î?ª‰ ‰ï?ªÚ Úð?ªü üñ?ªÕ Õ ò?ªÿ ÿ!ó?ªë ë ô?ªé é õ?ªí í $ö?ªä ä ÷?ªß ß #ø?ªâ â ù?ªå å ú?ªã ã û?ªê ê ü?ªç ç ý?ªæ æ þ?ªà à ÿ?ªì ì €@ªÞ Þ �@ªá á ‚@ªè è ƒ@ª˜ ˜„@ª£ £…@ª‰‰†@ªÂ ‡@ªêêˆ@ªÏω@ªž ž Š@ª› › ‹@ªª ªŒ@ªÆ Æ�@ª§ § Ž@ª¡ ¡ �@ªª ª�@ª² ² ‘@ªÄ Ä ’@ª³ ³“@ªŠ Š ”@ª“ “ '•@ª� � %–@ªƒ ƒ 0—@ª� � %˜@ª† † ™@ª„ „ 6š@ª‰ ‰ ›@ªÛ Û œ@ª÷ ÷�@ªê êž@ª¿ ¿Ÿ@ª¨ ¨ @ªÆ Æ¡@ª‰‰¢@ª½ ½£@ª† †¤@ªî î¥@ªêê¦@ªÉ ɧ@ªÈȨ@ªÍ Í$©@ª¨ ¨ª@ªÁÁ«@ªþ þ¬@ªÜ Ü­@ªÏÏ®@ªÏ1Ï<‰None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó ¯@-Default is system inserted and prefer parens.°@·@ with no range information.³@Default meta kind from its   context.µ@Same as  mkDefInfo but where we can also give the  IsInstance¶@Empty range for patterns.·@Information about applicationº@6Do we prefer a lambda argument with or without parens?¼@Constructor pattern info.À@ÅDoes this pattern come form the eta-expansion of an implicit pattern?Á@:Has the constructor pattern a dotted (forced) constructor?Â@Ordinary constructor.Ã@Dotted constructor.Ú@ÁInformation associated to a meta variable in the abstract syntax.á@+Kind of a meta: the method how to solve it.â@(Meta variable solved by instance search.ã@.Meta variable solved by unification (default).ä@ÅName suggestion for meta variable. Empty string means no suggestion.ç@ÁThe "as" module name, if any. Retained for highlighting purposes.è@ÕThe range of the "as" and "to" keywords, if any. Retained for highlighting purposes.é@ Retained for abstractToConcrete of ‰7.ò@;For a general pattern we remember the source code position.½ADefault value for ì@.ů@°@±@²@³@´@µ@¶@·@¸@¹@º@»@¼@½@¾@¿@À@Á@Â@Ã@Ä@Å@Æ@Ç@È@É@Ê@Ë@Ì@Í@Î@Ï@Ð@Ñ@Ò@Ó@Ô@Õ@Ö@×@Ø@Ù@Ú@Û@Ü@Ý@Þ@ß@à@á@â@ã@ä@å@æ@ç@è@é@ê@ë@ì@í@î@ï@ð@ñ@ò@ó@Åá@â@ã@³@ä@Ú@Û@Ü@Ý@Þ@ß@à@±@Ò@Ó@²@·@¸@¹@º@»@¯@°@å@æ@ç@è@é@ê@ë@Ø@Ù@È@É@Ê@Ë@Ì@Í@Î@Ï@Ð@Ñ@´@µ@Ä@Å@Æ@Ç@ì@í@î@ï@ð@ñ@Ô@Õ@Ö@×@ò@ó@¶@¼@½@¾@¿@À@Á@Â@Ã@ßô@«Ý Ý#õ@«Ú Ú$ö@«ËË#÷@«Ë%Ë)ø@«ññù@«º ºú@«Ë Ëû@«êêü@«ÁÁý@«ÜÜþ@«––ÿ@«««€A«ÀÀ�A«%%‚A«™ ™ƒA«��„A«« «…A«ññ#†A«ºº‡A«Ë+Ë2ˆA«êê‰A«ÁÁŠA«–– ‹A«ÀÀŒA«%%�A«™™ŽA«���A«þ þ�A«¼ ¼‘A«ì ì’A«Ê Ê“A«á á”A«˜ ˜•A«­ ­–A«Î ΗA«› ›˜A«‡ ‡™A««:«šA«� �›A«¿ ¿œA«ò ò�A«Ð Ð/žA«ä äŸA«› › A«° °¡A«Ñ Ñ¢A«¡ ¡£A«Š ФA«¬ ¬¥A«Ô Ô%¦A«× ×#§A«„ „¨A««"«(©A««« ªA«ˆ ˆ«A«Å ŬA«Í Í­A«õ õ®A«à à)¯A«ÜÜ#°A«¢ ¢±A«««#²A«Ô Ô³A«* *´A«¤ ¤µA«� �¶A«¬¬·A«û û¸A«ÜܹA«ž žºA«««»A«Ë ˼A«' '½A«„ „¾A«««¿A«ññÀA«ËËÁA«Â ÂÂA«ï ïÃA«Í ÍÄA«ž žÅA««0«8ÆA«ñ ñÇA«ººÈA«ËËÉA«ê êÊA«Á ÁËA«Ü ÜÌA«––ÍA«« «ÎA«À ÀÏA«% %ÐA«™™ÑA«� �ÒA««*«.ŠNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó××ACollection of ‰s of primitive modules.ÛAThe Context is a stack of ÜAs.àATranslation between Ö  and ‰. that also knows about Agda's builtin modules.âAFor the known ‰9s, remember whether they refer to Agda's builtin modules.ãA!(Building a) translation between Ö  and ‰.äAäThe absolute path to the directory with the builtin modules. Needs to be set upon initialization.åA;How much highlighting should be sent to the user interface?æA†This includes both non-interactive highlighting and interactive highlighting of the expression that is currently being type-checked.éA6How should highlighting be sent to the user interface?êA Via stdout.ëABoth via files and via stdout.ìAÛDatatype representing a single boundary condition: x_0 = u_0, ... ,x_n = u_n ¢E t = ?n esðAÐDiscern Agda's primitive modules from other file modules. @IsPrimitiveModule implies" IsBuiltinModuleWithSafePostulate implies isBuiltinModule.ñAAny builtin module.òASafe module, e.g. Agda.Builtin.Equality.óAVery magical module, e.g. Agda.Primitive.øAÁMaps top-level module names to the corresponding source file ids.ùA8For printing, we couple a meta with its name suggestion.ýA+Polarity for equality and subtype checking.þAantitoneÿAmonotone€Bno information (mixed variance)�BconstantƒBƒB6s must exist and be registered in our file dictionary.7ÓAÔAÕAÖAä9×AØAÙAÚAÛAÜAÝAÞAßAàAáAâAãAäAåAæAçAèAéAêAëAìAíAîAïAðAñAòAóAôAõAöA÷AøAùAúAûAüAýAþAÿA€B�B‚BƒB„B…B…‰Ö 7ÓAÔAÕAÖA×AØAÙAÚAÛAÜAÝAÞAßAàAáAâAãAäAåAæAçAèAéAêAëAìAíAîAïAðAñAòAóAôAõAöA÷AøAùAúAûAüAýAþAÿA€B�B‚BƒB„B…Bä9…‰Ö &†B¬À À‡B¬ââˆB¬ëë‰B¬ü üŠB¬ÈÈ‹B¬” ”ŒB¬ÀÀ�B¬--ŽB¬� ��B¬â$â+�B¬ëë&‘B¬üü#’B¬ÈÈ“B¬””#”B¬/ /"•B¬5 5$–B¬8 8$—B¬9 9(˜B¬3 3$™B¬6 6$šB¬7 7$›B¬4 4$œB¬É É�B¬Ê Ê%žB¬Ì Ì ŸB¬Ë Ë B¬ââ¡B¬üü¢B¬””£B¬ââ"¤B¬ëë¥B¬ÀÀ¦B¬- -§B¬ââ¨B¬ëë©B¬üüªB¬È È«B¬””‹None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó‚'¬B Interpret ´B as relation on ÎB.¯BDefault polarity is ÓB.°BµB acts as ¹˜, ¶B as „™.²BReturns ¼˜$ if the constraint is contradictory.´B.Comparison operator, e.g. for size expression.µBäD.¶B<.¸B= 0.ÐB*Type of solution wanted for each flexible.ÑB)What type of solution are we looking for?ÔB,Assigning a polarity to a flexible variable.ÖBFixed size variables i.ÙB2The rigid variables contained in a pice of syntax.ÞB*Size expressions appearing in constraints.ßBConstant number n.àBMeta variable X + n.áB Infinity žD.âBVariable plus offset i + n.æBSize metas in size expressions.èBDe Bruijn indices.êBÀPartial substitution from flexible variables to size expression.íBExecuting a substitution.ïB)Make offsets non-negative by rounding up.ñBOffsets + n must be non-negativeÿB-An equality which ignores the meta arguments.‚C*An order which ignores the meta arguments.›CComparison operator is ordered ¶B < µB.¤CAdd offset to size expression.ǬB­B®B¯B°B±B²B³B´BµB¶B·B¸B¹BºB»B¼B½B¾B¿BÀBÁBÂBÃBÄBÅBÆBÇBÈBÉBÊBËBÌBÍBÎBÏBÐBÑBÒBÓBÔBÕBÖB×BØBÙBÚBÛBÜBÝBÞBßBàBáBâBãBäBåBæBçBèBéBêBëBìBíBîBïBðBñBòBÇÎBÏBÖB×BØB¾B¿BÀBÞBßBàBáBâBãBäBåBÝB´BµB¶B¸B¹BºB»B¼B·BÑBÒBÓBÔBÕBÐB­B±B¯BêBëBìB®BíBîB³B²B°B¬BñBòBïBðBÙBÚBÛBÁBÂBÃBÊBËBÌBÍBæBçBèBéB½BÜBÄBÅBÆBÇBÈBÉBÕóB­Ö Ö'ôB­Ú ÚõB­ç çöB­Ö)Ö-÷B­!$!(øB­ÖÖùB­> >úB­ä äûB­! !üB­ü üýB­4 4þB­ÌÌÿB­ü ü€C­Ø Ø4�C­” ”!‚C­€ €ƒC­Ï Ï„C­Ó Ó2…C­ñ%ñ-†C­Ì0Ì8‡C­ññ#ˆC­Ì'Ì.‰C­ÖÖŠC­ññ‹C­’’ŒC­àà�C­!!ŽC­ÌÌ%�C­÷÷�C­ä ä‘C­, , ’C­Ø Ø“C­õ õ:”C­˜ ˜"•C­â â–C­# #—C­Ð Ð8˜C­ù ù™C­””šC­!!"›C­ß ßœC­>>�C­ç çžC­!!ŸC­üü C­44¡C­ÌÌ¢C­í í(£C­/ /#¤C­´ ´5¥C­� �¦C­“ “:§C­à èC­ê ê©C­) )ªC­ˆ ˆ«C­Œ Œ9¬C­9 9­C­€ €8®C­ƒ ƒ¯C­– –7°C­Æ Æ+±C­¼ ¼ ²C­À À)³C­Ö Ö´C­ñ ñµC­À À¶C­’ ’·C­àà¸C­& &¹C­6 6ºC­ÌÌ»C­÷÷¼C­” ”½C­§ §3¾C­ª ª0¿C­­ ­6ÀC­¡ ¡1ÁC­° °0ÂC­ñ/ñ:ÃC­Ì:ÌÅÄC­© ©ÅC­­ ­(ÆC­œ œÇC­Ÿ Ÿ%ŒNone. #&'()+,/1359<=>?ÀÃÄÅÆÇÈÉËÍÎÐÕØÛÝÞàçèïó j'ÈCCreates an empty dictionary.ËCThe actual logic of ÙC× is cold code, so it's out-of-line, to decrease code size and avoid cache pollution.ÎCicode# only if thing has not seen before.ÏCicodeN tag t a1 ... an serialises the arguments a1, ..., an of the constructor t together with a tag tagÐ picked to disambiguate between different constructors. It corresponds to 0icodeNode . (tag :) =<< mapM icode [a1, ..., an]ÐCicodeN' is the same as icodeN except that there is no tagÖCÅThrows an error which is suitable when the data stream is malformed.×C(Computing a qualified names composed ID.ØC‰Data.Binary.runGetState is deprecated in favour of runGetIncremental. Reimplementing it in terms of the new function. The new Decoder type contains strict byte strings so we need to be careful not to feed the entire lazy byte string to the decoder at once.ÙCIncrease entry for a in îC.ÜCvcase value ix decodes thing represented by  ix :: Word32 via the valu function and stores it in �D. If ix is present in �D, valu, is not used, but the thing is read from �D instead.ÝCState of the the encoder.ßCIf True collect in stats the quantities of calls to icode for each  Typeable a.áCÖWritten to interface file. Dicitionaries which are not serialized, but provide short cuts to speed up serialization: Andreas, Makoto, AIM XXI Memoizing A.Name does not buy us much if we already memoize A.QName.ãCWritten to interface file.åCWritten to interface file.çCNot written to interface file.éCWritten to interface file.ëCÀNot written to interface file. Fresh UIDs and reuse statistics:íCWritten to interface file.ðCWritten to interface file.öCúStructure providing fresh identifiers for hash map and counting hash map hits (i.e. when no fresh identifier required).øCNumber of hash map misses.ùCicodeArgs proxy (a1, ..., an) maps icode over a1, ..., an* and returns the corresponding list of Word32.ûC=Univeral memo structure, to introduce sharing during decodingüCµAssociation lists mapping TypeRep fingerprints to values. In some cases values with different types have the same serialized representation. This structure disambiguates them.ÿC5Constructor tag (maybe omitted) and argument indices.‚DTwo Ï+s are equal if their QNameId is equal.ƒDMonad used by the decoder.TCMÊ is not used because the associated overheads would make decoding slower.„DMonad used by the encoder.…DState of the decoder.‡DObtained from interface file.ˆDThe include directories.‰DObtained from interface file.ŠDObtained from interface file.‹D >™D±é é5šD±å å+›D±   3œD±– –�None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó �DInvariant for ¥D hl%, parametrised by the invariant for hl.?Additionally the endofunction should be extensionally equal to (fs Ê™) for some list fs.žDThe invariant for ¨D.?Additionally the endofunction should be extensionally equal to (fs Ê™) for some list fs.ŸDThe invariant for §D. D4Conversion from classification of the scope checker.¡D A variant of Ë™ with Í set to ÷.¢DInvariant for ¬D.£D#Conversion between different types.¥D'Highlighting info with delayed merging.½Merging large sets of highlighting info repeatedly might be costly. The idea of this type is to accumulate small pieces of highlighting information, and then to merge them all at the end.>Note the invariant which values of this type should satisfy (�D).§DHighlighting information.>Note the invariant which values of this type should satisfy (ŸD).ÕThis is a type synonym in order to make it easy to change to another representation.¨DÏA type that is intended to be used when constructing highlighting information.>Note the invariant which values of this type should satisfy (žD).ÕThis is a type synonym in order to make it easy to change to another representation."The type should be an instance of ª< Ç,  and ñ˜&, and there should be an instance of £D ¨D §D.©DÈSyntax highlighting information, represented by maps from positions to Ç.,The first position in the file has number 1.¬DÉA limited kind of syntax highlighting information: a pair consisting of ™< and Ç.Note the invariant which ¬Ds should satisfy (¢D).Ì™Merges meta information.Õ�DžDŸD D¡D¢D¥<§<¨<£D¤D¥D¦D§D¨D©DªD«D¬D­D®D»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øª<«<¬<­<®<Ö»¼½¾¿ÀÁÂÃÄůרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõÇÈÉÊËÌÍÎÏÐÑÒÓö÷ø¬D­D®D¢D©DªD«D¥D¦D�D§DŸD¨DžD¡D Dª<«<¬<­<®<´<¨<£D¤D¥<§<¯D²ö ö6°D²ÿ ÿ=±D²ó ó?²D²è è3³D²î î0´D²ë ë7µD²Ý Ý<¶D²× ×:·D²À À-¸D²¸ ¸+¹D²Ð Ñ7ºD²© ©»D²¦ ¦¼D²ââ½D²â â¾D²· ·¿D²³ ³ÀD²� �ÁD²‰ ‰ÂD²¾ ¾ÃD²Â ÂÄD²À ÀÅD²¿ ¿ÆD²ÖÖÇD²ÆÆÈD²’ ’"ÉD²ä ä+ÊD²Ö ÖËD²Æ ÆŽNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóÌDMark a computation as dirty.ÎDMap a ÕD( computation (monad transformer action).ÏDRun a ÔD0 computation, returning result plus change flag.ÐDRun a ÕD0 computation, returning result plus change flag.ÑDBlindly run an updater.ÒDBlindly run an updater.ÓDÆReplace result of updating with original input if nothing has changed.ÕDThe ChangeT monad transformer.ÖDThe class of change monads.ÚDLike þ—, but preserving sharing.ÞDLike  Bifunctor, but preserving sharing.Í™Eval an updater (using ÓD).ìD8A mock change monad. Always assume change has happened.ΙRun a ÕD% computation, but ignore change flag.ØD-Mark computation as having changed something.ÝD = sharing . updater1³ãD´äDµåD¶æD·çDÌDÍDÎDÏDÐDÑDÒDÓDÔDÕDÖD×DØDÙDÚDÛDÜDÝDÞDßDàDáDâDÕDÐDÎDâDÒDÔDÖD×DØDÏDÙDÓDÑDÌDÍDÚDÛDÜDÝDãDåDæDÞDßDàDáDäDçDèD¸%%!éD¸% %êD¸2 2,ëD¸%#%(ìD¸Ê ÊíD¸Î Î.îD¸%6%?ïD¸%Á%ÈðD¸%*%4ñD¸* *#òD¸š šóD¸˜ ˜ôD¸¬ ¬õD¸© ©None) #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïódöD7Keep only elements greater or equal to the given pivot.÷DSubtract from each element.öD÷D„‡Š�‹�ƒˆ‰Œ€‚Ž��†…øDøD�ƒ‚†…��Ž�Љ€„‡‹öDˆŒ÷D�None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó¹Ï™ùDúDûDüDûDüDúDùD ýDº2 2<þDº( (<ÿDº0 0<€Eºå å>�EºÛ Û"‚Eºî î8ƒEºï ï>„EºÞ Þ&…EºË Ë!†Eº8 8!‡Eºñ ñÓˆEºá á!�None) #&'()+,/1359<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóó‰EÍProvided that the default value is a known boolean (in practice we only use True or FalseÂ), we can collapse a potentially uninitialised value to a boolean.ŠEFocus, overwriting �E.‹EUpdate, but keep �E! when new value is default value.ŒEOnly modify non-�E values.�E—The main mode of operation of these flags, apart from setting them explicitly, is to toggle them one way or the other if they hadn't been set already.�EÎWe don't want to have to remember for each flag whether its default value is True or Falseð. So we bake it into the representation: the flag's type will mention its default value as a phantom parameter.”E%The null value of 'WithDefault b' is �E. ‰EŠE‹EŒE�EŽE�E�E‘E �E�E‘EŽE�EŒE‰EŠE‹E’E» “E»$ $#”E»* *!•E»‘None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó –E—E˜E™EšE›EœE�EžEŸE šE›EœE�EžEŸE˜E™E–E—E E¼ ¡E¼%-¢E¼#£E¼¤E¼¥E¼/:¦E¼ Ó§E¼ ½None) #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóЙљҙәԙՙ֙י’None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó8¨EThe version of Agda.©E‚This package name. This is mainly intended for use in the test suites to filter ephemeral hash-fingerprinted package names like !Agda-2.6.2-5ceeWeguf1QFMaHLput4zw.ªEßReturns a URL corresponding to the given section in the documentation for the current version.ªE©E¨E¨E©EªE«E¾!.!5“None+ #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó„¬E1Agda's version suffixed with the git commit hash.­EÀInformation about current git commit, generated at compile time.­E¬E¬E­E”None+ #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó®EGet the path to ~/.agda1 (system-specific). Can be overwritten by the AGDA_DIR environment variable./(This is not to be confused with the directory ¯EÅ for the data files that Agda needs (e.g. the primitive modules).)¯EThis overrides the ¯E from ' Paths_Agda'#. See the documentation for the --print-agda-data-dir flag.°EThis overrides the °E from ' Paths_Agda'.±EFalseÜ: Check whether we need to setup Agda. This function can be called when starting up Agda.True.: force a setup e.g. when passing Agda option --setup.ÀCopies the embedded data files to the designated data directory.Ø™ Given the  Agda_datadir#, what should the Agda data dir be?Ù™ãThe embedded contents of the Agda data directory, generated by Template Haskell at compile time.Ú™ûSpit out the embedded files into Agda data directory relative to the given directory. Lock the directory while doing so.Û™.Dump line of warning or information to stderr.®E¯E°E±E®E¯E°E±E•None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó: ²E2Tries to compile the Agda mode's Emacs Lisp files.´EHelp topic for  --emacs-mode.·EáPrints out the path to the Agda mode's main file (using UTF-8 and without any trailing newline).¸E7Tries to set up the Agda mode in the given .emacs file.Ü™7Tries to find the user's .emacs file by querying Emacs.Ý™&Has the Agda mode already been set up?Þ™äIf this string occurs in the .emacs file, then it is assumed that setup has already been performed.ß™2The string appended to the end of the .emacs file.à™…Evaluates the given Elisp command using Emacs. The output of the command (whatever was written into the current buffer) is returned.ÔNote: The input is not checked. The input is assumed to come from a trusted source.á™Like â™ but handles à˜ by printing diagnostics (PATH ) before ã™.ä™ÁEscapes the string so that Emacs can parse it as an Elisp string.å™A `monadic' version of @ partition# :: (a -> Bool) -> [a] -> ([a],[a])á™Command to run.Arguments to command.²E³E´EµE¶E·E¸E¹E´E¶E·E¹E¸E³E²EµE–None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó9»EUsage information generation¼EConversion functions to strings½EInterface to the help function¾EGeneral usage information¿E)Specialised usage information about TOPICæ™ÚList of Help Topics NOTA BENE: You need to add each new topic together with its name to  allHelpTopicsºE»E¼E½E¾E¿E½E¾E¿E»E¼EºEÀE¿ ÁE¿& &ÂE¿ÃE¿&&ÄE¿ ÅE¿( (ÆE¿ÇE¿&&—None) #$&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúÈEAll builtin modules.ÉE(Non-empty) library names to be resolved to (lists of) pathes.2Resolved pathes (no duplicates). Contains "." if  [LibName] does.é™8Candidate (initially: the directory Agda was called in).Actual root and  .agda-lib file for this project.î™Override the default  libraries file?ï™Name of  libraries file for error reporting./Library files paired with their line number in  libraries.-Content of library files. (Might have empty LibNames.),ÈEÉEÊEËEÌEÍEÎEÏEÐEÑEÒEÓEÔEÕE€;�;Š;‹;Œ;�;Ž;�;�;‘;“;¬;­;º;»;¼;½;¾;À;Á;É;Ê;Ë;Ì;Í;Î;Ï;Ð;Ñ;Ò;,ÍEÏEÐEÒEÓEÎEÑEËEÈEÉEÊEÕE­;�;É;Ê;Ë;Ì;Š;‹;Œ;�;Ž;�;�;‘;“;¬;ÔEÀ;Á;º;»;¼;½;¾;€;Í;Î;Ï;Ð;Ñ;Ò;ÌEÀNone) #&'()+,/1359<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó?ØE'The list should not contain duplicates.ÙE--build-library+: Build all modules in the current library.ÚE2In the absence of a path the project root is used.ÛEUse ~/.agda/defaults.ÜEConfigure colour output.ÝE3Emacs mode administration (formerly done by the  agda-mode' executable). Accepted subcommands: locate, setup, compileË. Can be given several times, subcommands are accumulated in the set.ÞE%Exit if an interactive command fails.ßE --interaction mode.åE Agda REPL (-I).æE--interaction-json mode.èEÈShould the top-level module only be scope-checked, and not type-checked?éE Use this (if »˜ ) instead of ~/.agda/libraries.ðE$Force Agda to self-setup at startup.ñE/Configure notifications about imported modules.òEÊShould code points that are not supported by the locale be transliterated?óE3Map names of trusted executables to absolute paths.ôE look for  .agda-lib files.üE If several  --emacs-modeÑ commands are given, they are executed in the order as given in this datatype.ýE Compile the .el files to .elc.þE#Print the installation location of agda2.el.ÿE Add the initialization lines to .emacs.€FInfective or coinfective?ˆF%Options which can be set in a pragma.ŠFAllow running external  executables from meta programs.�FÉAutomatic compile-time inlining for simple definitions (unless marked NOINLINE).�F)Use call-by-name instead of call-by-need.‘F&Are the cohesion modalities available?’FÜTreat the module given at the command line or via interaction as main module in compilation?“F"Check confluence of rewrite rules?”F(Allow definitions by copattern matching?•FÒCount extended grapheme clusters rather than code points when generating LaTeX.šF,Mark parameters of record modules as erased?›F§Allow matching in erased positions for single-constructor, non-indexed data/record types. (This kind of matching is always allowed for record types with ·-equality.)ŸF+irrelevant levels, irrelevant data matching F:Defer instance search based on discrimination tree results¡FUse the Agda abstract machine ( fastReduce)?¢FøShould we speculatively unify function applications as if they were injective? Implies optRequireUniqueMetaSolutions.£FCan we split on a  (@flat x : A) argument?¤F0Allow recursion on forced constructor arguments.¥F2Perform the forcing analysis on data constructors?¨FShould patterns of the form {x} or ƒS x „S be interpreted as puns?©FÂShould every top-level module start with an implicit statement ,open import Agda.Primitive using (Set; Prop)?ªFÙShould case splitting and coverage checking try to discharge absurd clauses? Default: ¹˜, but „™À might make coverage checking considerably faster in some cases.¯FâDo not discard clauses constructed by the coverage checker (needed for some external backends).°FæShould case splitting replace variables with dot patterns (False) or keep them as variables (True).±FÁAllow large indices, and large forced arguments in constructors.³FËShould we load the primitive modules at all? This is a stronger form of optImportSorts.µF0Is pattern matching allowed in the current file?¶FCan we use modal polarities (++,  +, etc.)?¸F$Should system generated projections  ProjSystem0 be printed postfix (True) or prefix (False).»F6Perform the projection-likeness analysis on functions?½F?Should instance search consider instances with qualified names?¾FÜForbid non-unique meta solutions allowed. For instance from INJECTIVE_FOR_INFERENCE pragmas.¿F$Can rewrite rules be added and used?ÁF'Save meta-variables to interface files.ÂF'Show generalized parameters in Pi typesÃFíShow identity substitutions when pretty-printing terms (i.e. always show all arguments of a metavariable).ÇFÄShould the conversion checker use the syntactic equality shortcut? ¼˜ means that it should. »˜ n, for a non-negative number n/, means that syntactic equality checking gets nš units of fuel. If the fuel becomes zero, then syntactic equality checking is turned off. The fuel counter is decreased in the failure continuation of …Á.ÉFÉCut off structural order comparison at some depth in termination checker?ÑFOptions  --version and --numeric-version (last wins).ÒFPrint Agda version number.ÓFPrint Agda version information.×F€©… is used if no verbosity options have been given, thus making it possible to handle the default case relatively quickly. Note that €© corresponds to a trie with verbosity level 1 for the empty path.ÂØFÃÙFÄÚF‚ÖE×EØEÙEÚEÛEÜEÝEÞEßEàEáEâEãEäEåEæEçEèEéEêEëEìEíEîEïEðEñEòEóEôEõEöE÷EøEùEúEûEüEýEþEÿE€F�F‚FƒF„F…F†F‡FˆF‰FŠF‹FŒF�FŽF�F�F‘F’F“F”F•F–F—F˜F™FšF›FœF�FžFŸF F¡F¢F£F¤F¥F¦F§F¨F©FªF«F¬F­F®F¯F°F±F²F³F´FµF¶F·F¸F¹FºF»F¼F½F¾F¿FÀFÁFÂFÃFÄFÅFÆFÇFÈFÉFÊFËFÌFÍFÎFÏFÐFÑFÒFÓFÔFÕFÖF×Fô™Åììõ™Åý ýö™Åƒ ƒ÷™Åääø™Åßßù™Åììú™Åòòû™Åýý#ü™Åƒƒý™Åääþ™Å‹‹ÿ™Å¥ ¥.€šÅ« «#�šÅ® ® ‚šÅ¯ ¯#ƒšÅ° °!„šÅ± ±%…šÅ¬ ¬†šÅ² ²!‡šÅýýˆšÅß ß‰šÅì 슚Åò ò‹šÅýýŒšÅƒƒ�šÅä 䎚ŋ ‹ÆNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóŠÜF?Returns the command line options which are currently in effect.ÝF9Returns the pragma options which are currently in effect.ÇÞFÈßFÛFÜFÝF�šÉ" "0�šÉ# #2‘šÉ$ $2’šÉ% %.“šÉ& &/”šÉ' '2•šÉ( (1–šÉ) )>ÊNone+ #&'()+,/1359<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïðó˜(àFïChecks that the given options are consistent. Also makes adjustments (e.g. when one option implies another).áFŒCommand line options of previous versions of Agda. Should not be listed in the usage info, put parsed by GetOpt for good error messaging.åFãSimple interface for Agda.Utils.GetOpt Could be moved to Agda.Utils.Options (does not exist yet)çF"Infective and coinfective options. Note that  --cubical and --erased-cubical� are "jointly infective": if one of them is used in one module, then one or the other must be used in all modules that depend on this module.®GƒMap a function over the long options. Also removes the short options. Will be used to add the plugin name to the plugin options.¶G¶G is implied by ÆG.ÁGÁG is implied by ¿G. ÁG; is also implied by an explicitly given `--erased-matches`.ÌGÌG requires ÖG.õGParse options for a plugin.öG%Parse options from an options pragma.øGThis function returns ¹˜! if the file should be rechecked.üGÃUsed for printing usage info. Does not include the dead options.ýG+Removes RTS options from a list of options.þG?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóƒ’H%Render an annotated, pretty-printing ÈÉument into a string suitable for printing on VT100-compatible terminals.‘H’H’H‘H˜None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóÄàFáFâFãFäFåFæFçFèFéFêFëFìFíFîFïFðFñFòFóFôFõFöF÷FøFùFúFûFüFýFþFÿF€G�G‚GƒG„G…G†G‡GˆG‰GŠG‹GŒG�GŽG�G�G‘G’G“G”G•G–G—G˜G™GšG›GœG�GžGŸG G¡G¢G£G¤G¥G¦G§G¨G©GªG«G¬G­G®G¯G°G±G²G³G´GµG¶G·G¸G¹GºG»G¼G½G¾G¿GÀGÁGÂGÃGÄGÅGÆGÇGÈGÉGÊGËGÌGÍGÎGÏGÐGÑGÒGÓGÔGÕGÖG×GØGÙGÚGÛGÜGÝGÞGßGàGáGâGãGäGåGæGçGèGéGêGëGìGíGîGïGðGñGòGóGôGõGöG÷GøGùGúGûGüGýGþGÿGЀH�H‚HƒH„H…H†H‡HˆH‰HŠH‹HŒH�HŽH�H�HÛFÜFÝFÖE×EØEÙEÚEÛEÜEÝEÞEßEàEáEâEãEäEåEæEçEèEéEêEëEìEíEîEïEðEñEòEóEôEõEöE÷EøEùEúEûEüEýEþEÿE€F�F‚FƒF„F…F†F‡FˆF‰FŠF‹FŒF�FŽF�F�F‘F’F“F”F•F–F—F˜F™FšF›FœF�FžFŸF F¡F¢F£F¤F¥F¦F§F¨F©FªF«F¬F­F®F¯F°F±F²F³F´FµF¶F·F¸F¹FºF»F¼F½F¾F¿FÀFÁFÂFÃFÄFÅFÆFÇFÈFÉFÊFËFÌFÍFÎFÏFÐFÑFÒFÓFÔFÕFÖF×Fõ ö ÷ ø ’“”—˜™šŸ ÅàFáFâFãFäFåFæFçFèFéFêFëFìFíFîFïFðFñFòFóFôFõFöF÷FøFùFúFûFüFýFþFÿF€G�G‚GƒG„G…G†G‡GˆG‰GŠG‹GŒG�GŽG�G�G‘G’G“G”G•G–G—G˜G™GšG›GœG�GžGŸG G¡G¢G£G¤G¥G¦G§G¨G©GªG«G¬G­G®G¯G°G±G²G³G´GµG¶G·G¸G¹GºG»G¼G½G¾G¿GÀGÁGÂGÃGÄGÅGÆGÇGÈGÉGÊGËGÌGÍGÎGÏGÐGÑGÒGÓGÔGÕGÖG×GØGÙGÚGÛGÜGÝGÞGßGàGáGâGãGäGåGæGçGèGéGêGëGìGíGîGïGðGñGòGóGôGõGöG÷GøGùGúGûGüGýGþGÿGЀH�H‚HƒH„H…H†H‡HˆH‰HŠH‹HŒH�HŽH�H�HÖE×EØEÙEÚEÛEÜEÝEÞEßEàEáEâEãEäEåEæEçEèEéEêEëEìEíEîEïEðEñEòEóEôEõEöE÷EøEùEúEûEüEýEþEÿE€F�F‚FˆF‰FŠF‹FŒF�FŽF�F�F‘F’F“F”F•F–F—F˜F™FšF›FœF�FžFŸF F¡F¢F£F¤F¥F¦F§F¨F©FªF«F¬F­F®F¯F°F±F²F³F´FµF¶F·F¸F¹FºF»F¼F½F¾F¿FÀFÁFÂFÃFÄFÅFÆFÇFÈFÉFÊFËFÌFÍFÎFÏFÐFÑFÒFÓFÔFÖF×Fõ ö ÷ ø ’“”—˜™šŸ ÛFÜFÝFÞFßFÖE×EØEÙEÚEÛEÜEÝEÞEßEàEáEâEãEäEåEæEçEèEéEêEëEìEíEîEïEðEñEòEóEôEõEöE÷EøEùEúEûEüEýEþEÿE€F�F‚FƒF„F…F†F‡FØFÙFÚFˆF‰FŠF‹FŒF�FŽF�F�F‘F’F“F”F•F–F—F˜F™FšF›FœF�FžFŸF F¡F¢F£F¤F¥F¦F§F¨F©FªF«F¬F­F®F¯F°F±F²F³F´FµF¶F·F¸F¹FºF»F¼F½F¾F¿FÀFÁFÂFÃFÄFÅFÆFÇFÈFÉFÊFËFÌFÍFÎFÏFÐFÑFÒFÓFÔFÕFÖF×FšNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóþ“HðShow the attributes necessary to recover a modality, in long-form (e.g. using at-syntax rather than dots). For the default modality, the result is at-É (rather than the empty document). Suitable for showing modalities outside of binders.'ÿ€�‚ƒ„…†‡ˆ“H”H•H–H—H˜H™HšH›HœH�H‰Š‹Œ�Ž��‘’“”žHŸH H¡H¢H£H“H”H•H–H—H˜H™HšH›HœH�HžHŸH H¡H¢H£H.¤HÌè è(¥HÌÚ Ú¦HÌô ô§HÌë ë¨HÌÆ Æ5©HÌý ýªHÌÉ É1«HÌ× ×¬HÌÊ Ê­HÌÜ Ü®HÌØ دḦ ˆ°HÌÏ Ï±HÌù ù1²HÌã ã"³HÌÌ Ì!´HÌð ðµHÌÏ Ï¶HÌõ õ·HÌ   ¸H̤ ¤¹H̶ ¶ºHÌö ö »HÌÐ Ð1¼H̦ ¦½HÌÔ Ô'¾HÌŒ Œ¿H̺ ºÀHÌ((-ÁHÌ$$ÂHÌ++!ÃHÌ&&#ÄHÌ44ÅHÌ//ÆHÌ''ÇHÌ00ÈHÌ**"ÉHÌ11!ÊHÌ55ËHÌ33)ÌHÌ,,(ÍHÌ%%-ÎHÌ--ÏHÌ..ÐHÌ))$ÑHÌ22#›None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóö ÒHConvert a split tree into a õÍ (for printing).×H¿Tag for labeling branches of a split tree. Each branch is associated to either a constructor or a literal, or is a catchall branch (currently only used for splitting on a literal type).ÜHAbstract case tree shape.ÝHA split is necessary.ÞHÀNo more splits coming. We are at a single, all-variable clause.ßHArg. no to split at.àH+The number of variables bound in the clauseâHSub split trees.æH¼˜ for root of split treeêHáSplit tree branching. A finite map from constructor names to splittrees A list representation seems appropriate, since we are expecting not so many constructors per data type, and there is no need for random access.ÒHÓHÔHÕHÖH×HØHÙHÚHÛHÜHÝHÞHßHàHáHâHãHäHåHæHçHèHéHêHÛHéHÜHÝHÞHßHàHáHâHÔHÕHÖHêH×HØHÙHÚHãHäHåHæHçHèHÒHÓHëHÎ55ìHÎÄÄíHÎ55#îHÎÄÄ#ïHÎ22ðHÎì ìñHÎò ò1òHÎø øóHÎù ùôHÎ÷ ÷+õHÎ55öHÎÄÄ÷HÎÆ ÆøHÎé é+ùHÎÓ Ó/úHÎ5 5ûHÎÄ ÄüHÎ2 2œNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó  ýH Lens for ‰ in ‘I.þHÁTarget argument position of a part (Nothing if it is not a hole).ÿHIs the part a hole?€IIs the part a binder?�IIs the hole a binder?‚IØCheck if a notation contains any lambdas (in which case it cannot be used in a pattern).ƒIMerges ‘IÉs that have the same precedence level and notation, with two exceptions:ÍOperators and notations coming from syntax declarations are kept separate.If all instances of a given ‘IÀ have the same precedence level or are "unrelated", then they are merged. They get the given precedence level, if any, and otherwise they become unrelated (but related to each other).If ‘IÀs that are merged have distinct associativities, then they get Ð as their associativity.Precondition: No µÏ1 may occur in more than one list element. Every ‘I must have the same •I.Postcondition: No µÏ& occurs in more than one list element.„I2From notation with names to notation with indices.ÂAn example (with some parts of the code omitted): The lists &["for", "x", "ˆD", "xs", "return", "e"] and [ŽI ("x" :| []) "e", �I "xs"]- are mapped to the following notation:  [ ª "for" , « (Ö 0 0) , ª "ˆD" , © 1 , ª "return" , © 0 ] …IÌIf an operator has no specific notation, then it is computed from its name.†I'Converts a notation to a (non-)section.‡IFor non-sectioned operators this should match the notation's ‡I.¢IEffective precedence level. ¼˜ for closed notations.'ýHþHÿH€I�I‚IƒI„I…I†I‡IˆI‰IŠI‹IŒI�IŽI�I�I‘I’I“I”I•I–I—I˜I™IšI›IœI�IžIŸI I¡I¢I£I'ŒI�IŽI�I�I�I‰IþHÿH€I˜I™IšI›IœI�I‡I„I‘I’I“I”I•I–I—I…I‹IˆIŠIƒI‚IýHžIŸI I¡I¢I£I†I¤IÐÜÜ¥IÐúú¦IÐÜܧIЉ‰¨IÐü ü ©IЭ ­ªIЬ ¬«IЮ ® ¬IИ ˜­IО ž®IР   ¯IÐúú°IÐÜܱIЉ ‰�None) #&'()+,/1359<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó# ´IËParses a split-up, unqualified name consisting of at least two name parts.«The parser does not check that underscores and other name parts alternate. The range of the resulting name is the range of the first name part that is not an underscore.·I0Parse the "operator part" of the given notation.ÅNormal holes (but not binders) at the beginning and end are ignored.ÒIf the notation does not contain any binders, then a section notation is allowed.¸I†Runs a parser. If sections should be parsed, then identifiers with at least two name parts are split up into multiple tokens, using ØÏ to record the tokens' original positions within their respective identifiers.¹I)Parse a specific identifier as a NamePartºI,Parses a potentially pattern-matching binderÃIThe –&Ï is possibly ambiguous, but it must correspond to one of the names in the set.ËIA singleton type for ˜I (except for the constructor šI).ÐI"Used to define the return type of ·I.ÑIShould sections be parsed?"²I³I´IµI¶I·I¸I¹IºI»I¼I½I¾I¿IÀIÁIÂIÃIÄIÅIÆIÇIÈIÉIÊIËIÌIÍIÎIÏIÐIÑIÒIÓI"»I¶I¼I½I¾I¿IÀIÁIÂIÃIÄIÅIÆIÇIÈIÉIÊIÑIÒIÓI¸I¹I´IºIÐIËIÌIÍIÎIÏI·I³I²IµIÔIÑ„ „ÕIÑÉ É+ÖIÑÌ Ì×IÑä äØIÑ„„žNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó  åIÄOne clause in a function definition. There is no guarantee that the Ñ7 actually declares the †&#. We will have to check that later.çI$The kind of the forward declaration.èIName of a data typeéIName of a function.êIName of a record typeíINumbering declarations in an interleaved mutual block.ïIwe are nicifying a mutual blockðI,we are nicifying decls not in a mutual blockñIIn an inferred mutualí block we keep accumulating nice declarations until all of the lone signatures have an attached definition. The type is therefore a bit span-like: we return an initial segment (the inferred mutual block) together with leftovers.ùI.Constructors associated to the data signature.úI&Internal number of the data signature.ûIThe data signature.üI6Function clauses associated to the function signature.ýI–In an `interleaved mutual' block we collect the data signatures, function signatures, as well as their associated constructors and function clauses respectively. Each signature is given a position in the block (from 0 onwards) and each set of constructor / clauses is given a *distinct* one. This allows for interleaved forward declarations similar to what one gets in a new-style mutual block.þIÑSeveral declarations expect only type signatures as sub-declarations. These are:ÿI constructor, in interleaved mutual.€Jdata ... where=. Here we got a bad error message for Agda-2.5 (Issue 1698).�Jfield. Ensured by parser.‚JinstanceÅ. Actually, here all kinds of sub-declarations are allowed a priori.ƒJ  postulate„J primitive. Ensured by parser.…J1Termination measure is, for now, a variable name.†JëWhen processing a mutual block we collect the various checks present in the block before combining them.‹JOnly �Js.ŒJ´The nice declarations. No fixity declarations and function definitions are contained in a single constructor instead of spread out between type signatures and clauses. The private,  postulate, abstract and instanceÄ modifiers have been distributed to the individual declarations. Observe the order of components:ïRange Fixity' Access IsAbstract IsInstance TerminationCheck PositivityCheckfurther attributes(Q)Namecontent (Expr, Declaration ...)�J²: argument: We record whether a declaration was made in an abstract block.ÅÀ argument: Axioms and functions can be declared irrelevant. (  should be £.)ŽJËBlock of function clauses (we have seen the type signature before). The ù6Ás are the original declarations that were processed into this ŽJ and are only used in notSoNiceDeclaration9. Andreas, 2017-01-01: Because of issue #2372, we add ¸6 here. An alias should know that it is an instance.“J‹An uncategorized function clause, could be a function clause without type signature or a pattern lhs (e.g. for irrefutable let). The ù6 is the actual €7.žJ (Maybe Range) gives range of the  'pattern' declaration.¤JOnly �Js.ÍÙIÚIÛIÜIÝIÞIßIàIáIâIãIäIåIæIçIèIéIêIëIìIíIîIïIðIñIòIóIôIõIöI÷IøIùIúIûIüIýIþIÿI€J�J‚JƒJ„J…J†J‡JˆJ‰JŠJ‹JŒJ�JŽJ�J�J‘J’J“J”J•J–J—J˜J™JšJ›JœJ�JžJŸJ J¡J¢J£J¤J¥JÍŒJ�JŽJ�J�J‘J’J“J”J•J–J—J˜J™JšJ›JœJ�JžJŸJ J¡J¢J£J¥J…J‹J¤JåIæI†J‡JˆJ‰JŠJñIòIóIôIõIÛIýIöI÷IøIùIúIûIüIíIßIÞIÜIþIÿI€J�J‚JƒJ„JÚIîIïIðIçIèIéIêIëIìIÝIâIãIÙIáIàIäI¦JÒ± ±§JÒ››¨JÒÇ Ç©JÒêêªJÒ¬¬«JÒÇÇ#¬JÒØØ­JÒË Ë"®JÒû û¯JÒ÷ ÷ °JÒì ì±JÒ® ®²JÒÉ É³JÒÚ Ú ´JÒÇǵJÒ· ·¶JÒä ä ·JÒêê¸JÒ¬ ¬¹JÒ››ºJÒÇÇ»JÒØ ØŸNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóÞ4¼JThe name of the error.¿J(Nicifier warnings turned into errors in --safe mode.ÁJPragmas not allowed in --safe mode produce an ¿J.ÂJ-Exception with internal source code callstackÆJThe exception type.ÇJÚIn an interleaved mutual block, a constructor could belong to any of the data signatures (†&)ÈJËIn a mutual block, a clause could belong to any of the åD2 type signatures (†&).ÊJªA declaration that breaks an implicit mutual block (named by the String argument) was present while the given lone type signatures were still without their definitions.ÍJ9In a mutual block, all or none need a MEASURE pragma. Ã8 is the one of the offending pragma or the mutual block.ÐJopaque block nested in a mutual; block. This can never happen, even with reordering. The è is the one of the opaque keyword.ÑJÕAn unfolding declaration was not the first declaration contained in an opaque block.ÙJ-Non-fatal errors encountered in the Nicifier.ÚJEmpty abstract block.ÛJEmpty  data _ where block.ÜJEmpty field block.ÝJEmpty variable block.ÞJEmpty instance blockßJEmpty macro block.àJEmpty mutual block.áJ'POLARITY pragma without any polarities.âJEmpty  postulate block.ãJEmpty  primitive block.äJEmpty private block.åJA ¡ identifier in a variableò declaration. Hiding has no effect there as generalized variables are always hidden (or instance variables).æJÅA {-# CATCHALL #-} pragma that does not precede a function clause.çJÂInvalid constructor block (not inside an interleaved mutual block)èJÂA {-# NON_COVERING #-} pragma that does not apply to any function.éJ×A {-# NO_POSITIVITY_CHECK #-} pragma that does not apply to any data or record type.êJÓA {-# NO_UNIVERSE_CHECK #-} pragma that does not apply to a data or record type.ëJàA {-# TERMINATING #-} and {-# NON_TERMINATING #-} pragma that does not apply to any function.ìJA data definition without a data signature.íJ9Declarations (e.g. type signatures) without a definition.ïJabstract has no effect on open or import%. (But the user might think so.) à is the range of the open or import declaration. è is the range of the abstract keyword.ðJprivate has no effect on open (import) public%. (But the user might think so.) à is the range of the  open public or open import public declaration. The first è is the range of the public keyword. The second è is the range of the private keyword.òJCOMPILE& pragmas are not allowed in safe mode.óJPragma {-# NO_TERMINATION_CHECK #-} has been replaced by {-# TERMINATING #-} and {-# NON_TERMINATING #-}.ôJETA" pragma is unsafe.õJ INJECTIVE pragma is unsafe.öJ NON_COVERING pragma is unsafe.÷JNO_POSITIVITY_CHECK pragma is unsafe.øJNO_UNIVERSE_CHECK pragma is unsafe.ùJNON_TERMINATING pragma is unsafe.úJPOLARITY pragma is unsafe.ûJ TERMINATING pragma is unsafe.ýJ7Public mixfix identifiers without a fixity declaration.€Kabstract6 block with nothing that can (newly) be made abstract.�Kinstance8 block with nothing that can (newly) become an instance.‚Kmacro3 block with nothing that can (newly) be made macro.ƒKprivate5 block with nothing that can (newly) be made private.„Kopen or import…Kimport or  open import.†Kopen.˼J½J¾J¿JÀJÁJÂJÃJÄJÅJÆJÇJÈJÉJÊJËJÌJÍJÎJÏJÐJÑJÒJÓJÔJÕJÖJ×JØJÙJÚJÛJÜJÝJÞJßJàJáJâJãJäJåJæJçJèJéJêJëJìJíJîJïJðJñJòJóJôJõJöJ÷JøJùJúJûJüJýJþJÿJ€K�K‚KƒK„K…K†KËÂJÃJÄJÅJÆJÇJÈJÉJÊJËJÌJÍJÎJÏJÐJÑJÒJÓJÔJ¼JÕJÖJ×JØJÙJÚJÛJÜJÝJÞJßJàJáJâJãJäJåJæJçJèJéJêJëJìJíJîJïJðJñJòJóJôJõJöJ÷JøJùJúJûJüJýJþJÿJ€K�K‚KƒK„K…K†K½J¾J¿JÀJÁJ‡KÓ«"«)ˆKÓ«« ‰KÓ==ŠKÓ×׋KÓ¥¥ŒKÓ««�KÓ» »'ŽKÓ¾ ¾(�KÓÎ Î%�KÓÑ Ñ&‘KÓ± ±&’KÓ² ²#“KÓ³ ³$”KÓ´ ´•KÓ€ €&–KÓ± ±#—KÓ´ ´$˜KÓ¬ ¬™KÓ==šKÓ××›KÓ¥ ¥œKÓ« « None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó ~ �KÒAdding a lone signature to the state. Return the name (which is made unique if ÿ%).žK�Ensure that all forward declarations have been given a definition, raising an error indicating *why* they would have had to have been defined.ŸKLens for field ÊK. KÂEnsure that all forward declarations have been given a definition.¦K"Search for forward type signature.§KÄGet universe check pragma from a data/rec signature. Defaults to  .¨KInitial nicifier state.ªK?Get names of lone function signatures, plus their unique names.«KLens for field ÌK.¬K Create a ÀK map from an association list.®KAdd a new warning.¯K4Check that no lone signatures are left in the state.°K>Get current catchall pragma, and reset it for the next clause.±KLens for field ÎK.²K'Remove a lone signature from the state.³KÓRun a Nicifier computation, return result and warnings (in chronological order).´KLens for field ÏK.µKLens for field ÐK.¾KIf ÿ%!, this name can have a different œ than the key of ÀK pointing to it.ÁKÁNicifier monad. Preserve the state when throwing an exception.ÄKNicifier parameters.ÆKAre we checking a where module?ÇKWe are in a module declared --safe which is not a builtin module.ÈKNicifier state.ÊK.Catchall pragma waiting for a function clause.ËK)Coverage pragma waiting for a definition.ÌK4Lone type signatures that wait for their definition.ÍKWe distinguish different ˆ&&s (anonymous definitions) by a unique œ.ÎK4Positivity checking pragma waiting for a definition.ÏK5Termination checking pragma waiting for a definition.ÐKÈUniverse checking pragma waiting for a data/rec signature or definition.ÑK(Stack of warnings. Head is last warning.ÀKWe retain the †& also in the codomain since †& as a key is up to Eq Name© which ignores the range. However, without range names are not unique in case the user gives a second definition of the same name. This causes then problems in  replaceSigs, which might replace the wrong signature.ÊAnother reason is that we want to distinguish different occurrences of ˆ&) in a mutual block (issue #4157). The ˆ&$ in the codomain will have a unique œ.ÒK(Stack of warnings. Head is last warning.6�KžKŸK K¡K¢K£K¤K¥K¦K§K¨K©KªK«K¬K­K®K¯K°K±K²K³K´KµK¶K·K¸K¹KºK»K¼K½K¾K¿KÀKÁKÂKÃKÄKÅKÆKÇKÈKÉKÊKËKÌKÍKÎKÏKÐKÑKÒK6ÁKÂKÃK³KÄKÅKÆKÇKÈKÉKÊKËKÌKÍKÎKÏKÐKÑK»K¼K½K¾K¿KÀKÒK¨K©K­K«K�K²K¦K¯K¥K KžKªK¬K´K¹K¡K·K±K¸KµKºK§KŸK°K¶K®K¢K¤K£KÓKÔ"""ÔKÔ""ÕKÔ#9#ØÖKÔ"$")×KÔ##!ØKÔ###7ÙKÔ, ,!ÚKÔÕ Õ¡None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó„ÛKäMain. Fixities (or more precisely syntax declarations) are needed when grouping function clauses.ÜKHas the ŒJ a field of type ²?ÝK(Approximately) convert a ŒJ back to a list of ù6s.ãKContents of a where& clause are abstract if the parent is.These are inherited ú60 blocks, indicated by an empty range for the abstract keyword.¯šMake a declaration abstract.Mark computation as ÌD÷ if there was a declaration that could be made abstract. If no abstraction is taking place, we want to complain about €K."Alternatively, we could only flag ÌD7 if a non-abstract thing was abstracted. Then, nested abstract+s would sometimes also be complained about.°šMake a declaration private.*Andreas, 2012-11-17: Mark computation as ÌDö if there was a declaration that could be privatized. If no privatization is taking place, we want to complain about ƒK."Alternatively, we could only flag ÌD6 if a non-private thing was privatized. Then, nested private+s would sometimes also be complained about.±š’Check that declarations in a mutual block are consistently equipped with MEASURE pragmas, or whether there is a NO_TERMINATION_CHECK pragma.²š Replace (DataRecÙFun)Sigs with Axioms for postulated names The first argument is a list of axioms only.³šRange of the keyword abstract.´š Range of the private keyword.Origin of the private block.²š(Lone signatures to be turned into AxiomsDeclarations containing them+In the output, everything should be definedÕµšÖ¶š×·šÛÛKÜKÝK½J¿J³KÂJÃJÄJÅJÕJÖJ×JØJÙJÚJÛJÜJÝJÞJßJàJáJâJãJäJåJæJçJèJéJêJëJìJíJîJïJðJñJòJóJôJõJöJ÷JøJùJúJûJüJýJþJÿJ€K�K‚KƒKÁKÄKÅKÆKÇKåIæI…J‹JŒJ�JŽJ�J�J‘J’J“J”J•J–J—J˜J™JšJ›JœJ�JžJŸJ J¡J¢J£J¤JÛŒJ�JŽJ�J�J‘J’J“J”J•J–J—J˜J™JšJ›JœJ�JžJŸJ J¡J¢J£J‹J¤JåIæIÂJÃJÄJÅJÕJÖJ×JØJÙJÚJÛJÜJÝJÞJßJàJáJâJãJäJåJæJçJèJéJêJëJìJíJîJïJðJñJòJóJôJõJöJ÷JøJùJúJûJüJýJþJÿJ€K�K‚KƒK¿JÁKÄKÅKÆKÇK³KÛKÝKÜK…J½JÞKØ“ “ßK؃ ƒ àKØÙ Ù !áKØÓ Ó ,âKØÞ Þ &ãKØ‹ ‹ "äKغ º &åKؼ ¼ #æKج ¬ çKØÓ Ó èKئ ¦ *éKر ± %êKØ× × !ëKØ““¢None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóèìK#Concrete syntax for all attributes.îK(Parsing an expression into an attribute.òKModifiers for î.óKModifiers for Polarity.ôKModifiers for î.öKModifiers for ‚.øK!Setting an attribute (in e.g. an Á). Overwrites previous value.ùKØSetting some attributes in left-to-right order. Blindly overwrites previous settings.úK'Setting an unset attribute (to e.g. an Á).ûK#Setting a list of unset attributes.üKSetting Ý if unset.ýKSetting ƒ if unset.þKSetting � if unset.ÿKSetting î if unset.€LSetting ‚ if unset.�L#Parsing a string into an attribute.ƒLParsed attribute.…L5Concrete, user written attribute for error reporting.†LRange includes the @.‡LParsed attribute.ˆLAn attribute is a modifier for Å.�LÉInformation about attributes (attribute, range, printed representation).ÂThis information is returned by the parser. Code that calls the parser should, if appropriate, complain if support for the given attributes has not been enabled. This can be taken care of by ¿ÙÇ, which should not be called until after pragma options have been set.�L(Conjunctive constraint.)%ìKíKîKïKðKñKòKóKôKõKöK÷KøKùKúKûKüKýKþKÿK€L�L‚LƒL„L…L†L‡LˆL‰LŠL‹LŒL�LŽL�L�L%ˆL‰LŠL‹LŒL�LŽLƒL„L…L†L‡L�LöKôKíK�LóKòKìK�LîKøKùK€LÿKüKþKýKúKûKðKïKñK÷KõK‚L‘LÚÊ Ê’LÚ' '“LÚРДLÚ9 9•LÚÍ Í–LÚ0 0—LÚÈȘLÚ% %£None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóð9™LThe default flags.�LÉThe parse interval is between the last position and the current position.žL—Constructs the initial state of the parser. The string argument is the input string, the file path is only there because it's part of a position.ŸLüFor lexical errors we want to report the current position as the site of the error, whereas for parse errors the previous position is the one we're interested in (since this will be the position of the token we just lexed). This function does ¤L the current position.¡L.The most general way of parsing a string. The Agda.Syntax.Parser; will define more specialised functions that supply the ÊL and the »L.¢L,Throw a parse error at the current position.£LUse ¤L or ¢L as appropriate.¤LèFake a parse error at the specified position. Used, for instance, when lexing nested comments, which when failing will always fail at the end of the file. A more informative position is the beginning of the failing comment.¥L3Report a parse error at the beginning of the given Ã.¦LåParses a string as if it were the contents of the given file Useful for integrating preprocessors.§L.The even more general way of parsing a string.¨LRecords a warning.®L5When we see a layout keyword, by default we expect a ºL block.³L Return the current layout block.´LA (layout) column.µL†We need to keep track of the context to do layout. The context specifies the indentation columns of the open layout blocks. See Agda.Syntax.Parser.Layout for more informaton.¶LLayout at specified ´L, introduced by ÿ-.·LThe stack of layout blocks..When we encounter a layout keyword, we push a ºL block with noColumnÆ. This is replaced by aproper column once we reach the next token.¸L=Status of a layout column (see #1145). A layout column is ºLË until we encounter a new line. This allows stacking of layout keywords. Inside a  LayoutContext the sequence of ¹LË columns needs to be strictly increasing. 'Tentative columns between ¹L3 columns need to be strictly increasing as well.¹LùWe have seen a new line since the layout keyword and the layout column has not been superseded by a smaller column.ºL÷The token defining the layout column was on the same line as the layout keyword and we have not seen a new line yet.»L:For context sensitive lexing alex provides what is called  start codesð in the Alex documentation. It is really an integer representing the state of the lexer, so we call it LexState instead.¼L,Parse errors: what you get if parsing fails.½L'Parse errors that concern a whole file.¾L,Parse errors that concern a range in a file.¿L4Errors that arise at a specific position in the fileÂLThe remaining input.ÃL*Hopefully an explanation of what happened.ÄL"The file which the error concerns.ÅLWhere the error occurred.ÆLThe previous token.ÇL)The range of the bigger overlapping tokenÈL%The file in which the error occurred.ÊL Parser flags.ÌL/Should comment tokens be returned by the lexer?ÍL The result of parsing something.ÐLÒThe parser state. Contains everything the parser and the lexer could ever need.ÒLEvery encountered attribute.ÓLparametrization of the parserÔLthe current inputÕLposition of last tokenÖL'the keyword for the coming layout block×L%the status of the coming layout blockØLthe stack of layout blocksÙLÃthe state of the lexer (states can be nested so we need a stack)ÚL"position at current input locationÛLthe character before the inputÜLthe previous tokenÞLIn reverse order.ßLWarnings for parsing.àLMultiple attributes.áL,Parse errors that concern a range in a file.âLUnsupported attribute.ãL)The range of the bigger overlapping tokenäLThe parse monad.ðL'Does not include printing of the range.¸šOld interface to parser.Ì™LšL›LœL�LžLŸL L¡L¢L£L¤L¥L¦L§L¨L©LªL«L¬L­L®L¯L°L±L²L³L´LµL¶L·L¸L¹LºL»L¼L½L¾L¿LÀLÁLÂLÃLÄLÅLÆLÇLÈLÉLÊLËLÌLÍLÎLÏLÐLÑLÒLÓLÔLÕLÖL×LØLÙLÚLÛLÜLÝLÞLßLàLáLâLãLäLÌäLÍLÎLÏLÐLÑLÒLÓLÔLÕLÖL×LØLÙLÚLÛLÜLÝLÞL¼L½L¾L¿LÀLÁLÂLÃLÄLÅLÆLÇLÈLÉLßLàLáLâLãL»LµL¶L·L¸L¹LºL´LÊLËLÌLžL™L¡L§L¦L±L°L�L²LœL›L­L«L³LªL¬LšL¯L L®L¨L©L¢L¤L£L¥LŸLåLÛ==!æLÛ= =çLÛûûèLÛÿ ÿéLÛœ œêLÛ=Á=ÖëLÛ=#=(ìLÛ=*=?íLÛ§ §îLÛ» »ïLÛè èðLÛ‹ ‹ñLÛèèòLÛûûóLÛ¥ ¥ôLÛ‚ ‚õLÛÊ ÊöLÛÓÓ÷LÛ¹ ¹¤None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó–øLConjunction of ‹Ms.ùLDisjunction of ‹Ms.úL'Returns the next byte, and updates the �M value.˜A trick is used to handle the fact that there are more than 256 Unicode code points. The function translates characters to bytes in the following way:ÈWhitespace characters other than '\t' and '\n' are translated to ' '.8Non-ASCII alphabetical characters are translated to 'z'.;Other non-ASCII printable characters are translated to '+'.&Everything else is translated to '\1'.×Note that it is important that there are no keywords containing 'z', '+', ' ' or '\1'.*This function is used by Alex (version 3).ûL,Returns the next character, and updates the �M value.ÝThis function is not suitable for use by Alex 2, because it can return non-ASCII characters.üL,Get the previously lexed character. Same as …MÌ. Alex needs this to be defined to handle "patterns with a left-context".þL A lens for ƒM.ÿL Negation of ‹Ms.�M#This is what the lexer manipulates.ƒMCurrent input.„MCurrent position.…MPreviously read character.†MFile.ˆMîIn the lexer, regular expressions are associated with lex actions who's task it is to construct the tokens.‹M£Sometimes regular expressions aren't enough. Alex provides a way to do arbitrary computations to see if the input matches. This is done with a lex predicate.øLùLúLûLüLýLþLÿL€M�M‚MƒM„M…M†M‡MˆM‰MŠM‹MŒM�M�M‚MƒM„M…M†MþLüLûLúLˆM‰MŠM‹MøLùLÿLŒM‡M�MýL€MŽMÜ€ €�MÜþ þ�MÜ„ „‘MÜŠ Š)¥None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóØ ’M!Consume the next character. Does ˜M followed by œM.“M$Get the current look-ahead position.”MLift a computation in the äL monad to the �M monad.•M8Throw an error message according to the supplied method.–M”Do a case on the current input string. If any of the given strings match we move past it and execute the corresponding action. If no string matches, we execute a default action, advancing the input one character. This function only affects the look-ahead position.—MSame as –M¤ but takes the initial character from the first argument instead of reading it from the input. Consequently, in the default case the input is not advanced.˜MÂLook at the next character. Fails if there are no more characters.™M-Undo look-ahead. Restores the input from the ÐL.šMRun a �M7 computation. The first argument is the error function.›MSet the look-ahead position.œMÁConsume all the characters up to the current look-ahead position.�MÉThe LookAhead monad is basically a state monad keeping with an extra �M, wrapped around the äL monad.¹š#Look at the next character. Return ¼˜! if there are no more characters. ’M“M”M•M–M—M˜M™MšM›MœM�M �MšM•M“M›M”M˜M’MœM™M–M—MžMÝ))#ŸMÝ)) MÝ)%)*¦None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó… ¡MúLex a character literal. Assumes that a single quote has been lexed. A character literal is lexed in exactly the same way as a string literal. Only before returning the token do we check that the lexed string is of length 1. This is maybe not the most efficient way of doing things, but on the other hand it will only be inefficient if there is a lexical error.¢MÁLex a string literal. Assumes that a double quote has been lexed.ºšCustom error function.»šíThe general function to lex a string or character literal token. The character argument is the delimiter (" for strings and ' for characters).¼šïThis is where the work happens. The string argument is an accumulating parameter for the string being lexed.½š�A string gap consists of whitespace (possibly including line breaks) enclosed in backslashes. The gap is not part of the resulting string.¾šLex a single character.¿š?Lex an escaped character. Assumes the backslash has been lexed.Àš$Read a number in the specified base.ÁšSame as Àš$ but with an accumulating parameter.šThe escape codes.¡M¢M¢M¡M©None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóò¼M Lex a hole ( {! ... !}#). Holes can be nested. Returns ó. å..½M Should comment tokens be output?¾M Should comment tokens be output?¿M,Manually lexing a block comment. Assumes an  open comment< has been lexed. In the end the comment is discarded and ³M" is called to lex a real token.ÀM–Skip a block of text enclosed by the given open and close strings. Assumes the first open string has been consumed. Open-close pairs may be nested.¼M½M¾M¿MÀM½M¾M¿M¼MÀMªNone* #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÎÐÕØÛÝÞàçèïó� ÁM3This is the main lexing function generated by Alex.ÂMšThis state is entered at the beginning of each line. You can't lex anything in this state, and to exit you have to check the layout rule. Done with ¦M.ÄMWe enter this state from ¥M„ when the token following a layout keyword is to the left of (or at the same column as) the current layout context. Example: )data Empty : Set where foo : Empty -> Nat(Here the second line is not part of the where8 clause since it is has the same indentation as the dataÄ definition. What we have to do is insert an empty layout block {} after the where;. The only thing that can happen in this state is that ¤MÝ is executed, generating the closing brace. The open brace is generated when entering by ¥M.ÅMÝThis state can only be entered by the parser. In this state you can only lex the keywords using, hiding, renaming and to•. Moreover they are only keywords in this particular state. The lexer will never enter this state by itself, that has to be done in the parser.ÆM8The layout state. Entered when we see a layout keyword (»M$) and exited at the next token (¥M).ÇMÈReturn the next token. This is the function used by Happy in the parser.  lexer k = ³M >>= kÈMÃThis is the initial state for parsing a regular, non-literate file.ÚùThe state inside a FOREIGN pragma. This needs to be different so that we don't lex further strings as pragma keywords.Äš&Do not use this function; it sets the ÊL to Åš.ÆšThe state inside a pragma. ÁMÂMÃMÄMÅMÆMÇMÈMÉMÊMËMÌMÍM ÇMÈMÃMÆMÄMÂMÅMÉMÊMËMÌMÍMÁM¨None) #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó0§M.Prepend some parser manipulation to an action.¨M.Enter a new state without consuming any input.©M/Enter a new state and perform the given action.ªM3Enter a new state throwing away the current lexeme.«M4Exit the current state and perform the given action.¬M8Exit the current state throwing away the current lexeme.­M&True if we are at the end of the file.®MÈTrue when the given character is the next character of the input string.¯M7Parse an identifier. Identifiers can be qualified (see Name). Example:  Foo.Bar.f°M?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó!£M•At a new line, we confirm either existing tentative layout columns, or, if the last token was a layout keyword, the expected new layout column.¤M&This action is only executed from the ªá/ state. It will exit this state, enter the ªâÜ state, and return a virtual close brace (closing the empty layout block started by ¥M).¥M?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó »"ÐM+Converts lambda bindings to typed bindings.ÑM%Apply an attribute to thing (usually Áö). This will fail if one of the attributes is already set in the thing to something else than the default value.ÒM&Apply some attributes to some binders.ÓM#Apply attributes to thing (usually Á ). Expects a reversed list of attributes. This will fail if one of the attributes is already set in the thing to something else than the default value.ÚMBuild a with-blockÛMBuild a with-statementÜMòReport a parse error if two attributes in the list are of the same kind, thus, present conflicting information.ÝMBuild a do-statementáMÅReport an attribute as conflicting (e.g., with an already set value).âMÚReport attributes as conflicting (e.g., with each other). Precondition: List not emtpy.åMËInterpret an expression as a list of names and (not parsed yet) as-patternsæM0Match a pattern-matching "assignment" statement p <- eçM)Turn an expression into a left hand side.èMÕTurn an expression into a name. Fails if the expression is not a valid identifier.éMÕTurn an expression into a pattern. Fails if the expression is not a valid pattern.êMConstructs extended lambdas.ëM&Constructs extended or absurd lambdas.ìM©Insert a top-level module if there is none. Also fix-up for the case the declarations in the top-level module are not indented (this is allowed as a special case).íM'Build a forall pi (forall x y z -> ...)ïM$Get the tactic attribute if present.ôMWhen given expression is e1 = e2Ì, turn it into a named expression. Call this inside an implicit argument {e} or {{e}}Ö, where an equality must be a named argument (rather than a cubical partial match).úMCreate a name from a stringûMÜCreate a name from a string. The boolean indicates whether a part of the name can be token  constructor.ýM.Create a qualified name from a list of strings€NÜCreate a name from a string. The boolean indicates whether a part of the name can be token  constructor.�NÝReturns the value of the first erasure attribute, if any, or else the default value of type ö.çRaises warnings for all attributes except for erasure attributes, and for multiple erasure attributes.„NPolarity parser.…N‹Create a qualified name from a string (used in pragmas). Range of each name component is range of whole string. TODO: precise ranges!ˆN$Set the tactic attribute of a binder‰NGrab leading OPTIONS pragmas.ŠNParse an attribute.�NResult of parsing LamBinds.�N,Followed by possibly a final absurd pattern.�N=A number of domain-free or typed bindings or record patterns.ÒM Can contain tactic attribute.ÁIf the attributes to be set are not at default value here, crash.Binders to apply attributes to. Binders with attributes applied.êM#The range of the lambda symbol and where or the braces. The attributes in reverse order.The clauses in reverse order.ëMThe range of the lambda symbol.!The attributes, in reverse order.ùM Possibly empty list of patterns.�N!The attributes, in reverse order.ÄÐMÑMÒMÓMÔMÕMÖM×MØMÙMÚMÛMÜMÝMÞMßMàMáMâMãMäMåMæMçMèMéMêMëMìMíMîMïMðMñMòMóMôMõMöM÷MøMùMúMûMüMýMþMÿM€N�N‚NƒN„N…N†N‡NˆN‰NŠN‹NŒN�NŽN�N�N‘N’N“NĉNìMûM€NúMýM÷MþMÿM…NüM„N‡NàM�NŽN�N�NŒNõMøMíMÐM�NêMëMåMãMäMÖMæMÚMÛMÙMØMÝM×MçMéMèMôM‚NùMöM‘N’N“NƒNîM‹NðMòMÞMßMñMóMÕMŠNÑMÓMÔMˆNïMÜMáMâM†NÒM”Nãüü•Nã¼ ¼¬None- #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÎÐÕØÛÝÞàçèïðó––N3Parse an expression. Could be used in interactions.—NÎParse an expression followed by a where clause. Could be used in interactions.šNParse a module.›N1Parse the token stream. Used by the TeX compiler.ΚParse a display pragma.ÏšRequired by Happy.Κ"Range of the whole DISPLAY pragma./Start of the name the thing we want to display.The DISPLAY pragma content.–N—N˜N™NšN›NšN™N–N—N›N˜NœNäÒÀ ÒÀ­None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóè�NExtensions supported by ¤N.žNParses an expression.ŸN0Parses an expression followed by a where clause. NÂParses an expression or some other content of an interaction hole.¡NParses a module name.¢NParses a module.£NParse without top-level layout.¦N'Returns the contents of the given file.§NRun a ©Nò computation, returning a list of warnings in first-to-last order and either a parse error or the parsed thing.¨N3Gives the parsed token stream (including comments).©N/A monad for handling parse errors and warnings.¬NWrapped Parser type.КÀDo not keep comments in the token stream generated by the lexer.Ñš/Initial state for lexing with top-level layout.ÒšAdd a ßL.ÓšEmbed a ÍL as ©N computation.ÔšInitial state for lexing.ÕšParse with top-level layout.ÖšParse with top-level layout.ךParse with top-level layout.Øš9Keep comments in the token stream generated by the lexer.¤N The file.)The file contents. Note that the file is not read from disk.ÕšName of source file.Parser to use.Contents of source file.Ùš The file.)The file contents. Note that the file is not read from disk.#�NžNŸN N¡N¢N£N¤N¥N¦N§N¨N©NªN«N¬N¼L½L¾L¿LÀLÁLÂLÃLÄLÅLÆLÇLÈLÉLßLàLáLâLãL#¬N£N¥N¤N¢N¡N�NžNŸN N¨N¦N¼L½L¾L¿LÀLÁLÂLÃLÄLÅLÆLÇLÈLÉLßLàLáLâLãL©NªN«N§N­Nå::"®Nå::¯Nå;;#°Nå:$:)±Nå:+:2²Nå;%;>®None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó%Ðþ³NPattern synonym for regular ³N.µN$The name defined by the given axiom.3Precondition: The declaration has to be a (scoped) êN.¶N+The clause spine corresponding to a clause.·N5The declaration spine corresponding to a declaration.¹NSmart constructor for žO.ÉN=The right-hand side spine corresponding to a right-hand side.ÊNThe spine corresponding to a ®P value.ËNAre we in an abstract block?)In that case some definition is abstract.ÎNRecord field assignment f = e.ÐNèA name in a binding position: we also compare the nameConcrete when comparing the binders for equality.With  --caching¿ on we compare abstract syntax to determine if we can reuse previous typechecking results: during that comparison two names can have the same nameId but be semantically different, e.g. in  {_ : A} -> .. vs.  {r : A} -> ...ÚNWe could throw away where0 clauses at this point and translate them to let,. It's not obvious how to remember that the let was really a where6 clause though, so for the time being we keep it here.ßN–Only in with-clauses where we inherit some already checked patterns from the parent. These live in the context of the parent clause left-hand side.áNClause spines.æNõWe don't yet know the position of generalized parameters from the data sig, so we keep these in a set on the side.éNThe ImportDirective is for highlighting purposes.êN3Type signature (can be irrelevant, but not hidden).ÐThe fourth argument contains an optional assignment of polarities to arguments.ìNlone data signatureíN record fieldîNsequence of function clausesïNÛThe first argument is the (possibly empty) set of generalizable variables used in the type.ðNThe ImportDirective is for highlighting purposes.ñN)a bunch of mutually recursive definitionsóNOnly for highlighting purposesõNprimitive functionöNThe ¥P' gives the constructor type telescope, (x1 : A1)..(xn : An) -> DummyÆ, and the optional name is the constructor's name. The optional à is for the pattern attribute.÷Nlone record signatureøNscope annotationúN(Only for highlighting the unfolded namesþNÙDeclaration spines. Used in debugging to make it easy to see where constructors such as øN and ñN are placed.•OÄExpressions after scope checking (operators parsed, names resolved).–O»() or »{}.—OOrdinary (binary) application.˜OConstructor (overloaded).™OÊConstant: axiom, function, data or record type, with a possible suffix.šO For printing DontCare from Syntax.Internal.›O.e, for postfix projection.�ONon-dependent function space.žO(Like a Pi, but the ordering is not knownŸO» bs ’C e. O let bs in e.¡OLiteral.¢OMacro.£OPattern synonym.¤ODependent function space “ ’C A.¥OProjection (overloaded).¦O&Meta variable for interaction. The ¯" is usually identical with the Þ@ of Ú@Â. However, if you want to print an interaction meta as just ? instead of ?n, you should set the Þ@ to ¼˜ while keeping the ¯.§OQuote an identifier Ï+.¨O Quote a term.©ORecord construction. The è is for the record kewyword.ªORecord update. The è is for the record kewyword.«OScope annotation.¬O=Meta variable for hidden argument (must be inferred locally).­O#The splicing construct: unquote ...®OBound variable.¯OWith application.´OêMaps generalize variables to the corresponding bound variable (to be introduced by the generalisation).¸OôThe lhs of a clause in focused (projection-application) view (outside-in). Projection patters are represented as ¿Os.ºO Copatterns.»ORange.½OØThe lhs in projection-application and with-pattern view. Parameterised over the type e of dot patterns.¾O&The head applied to ordinary patterns.¿O Projection.ÀOWith patterns.ÁOHead f.ÂORecord projection identifier.ÃOMain argument of projection.ÄO E.g. the ¾O.ÅOApplied to patterns ps.ÆOApplied to with patterns | p1 | ... | pn*. These patterns are not prefixed with WithP!ÇO0A lambda binding is either domain free or typed.ÈO. x or {x} or .x or {x = y} or x@p or (p)ÉO. (xs:e) or {xs:e} or (let Ds)ÊOBindings that are valid in a let.ËO*LetApply mi newM (oldM args) renamings dir. The ImportDirective is for highlighting purposes.ÌO5Function declarations in a let with no matching body.ÍO LetBind info rel name type defnÎO,only for highlighting and abstractToConcreteÏOIrrefutable pattern binding.ÑO  M {{...}}ÒO tel. M args : applies M to args and abstracts tel.ÕOTurn a name into an expression.ØO,Parameterised over the type of dot patterns.ÜO%Defined pattern: function definition f ps÷. It is also abused to convert destructor patterns into concrete syntax thus, we put AmbiguousQName here as well.ÝO Dot pattern .eáODestructor pattern d.äOÜUnderscore pattern entered by user. Or generated at type checking for implicit arguments.åO| p, for with-patterns.êO×Builtins that do not come with a definition, but declare a name for an Agda concept.ëO”? is not ™?:. Name can be ambiguous e.g. for built-in constructors.îO:For coinductive records, use pragma instead of regular  eta-equality, definition (as it is might make Agda loop).òO0Mark the definition as not being projection-likeôO7If the definition is an instance, set its overlap mode.õO"Range is range of REWRITE keyword.÷O†A user pattern together with an internal term that it should be equal to after splitting is complete. Special cases: * User pattern is a variable but internal term isn't: this will be turned into an as pattern. * User pattern is a dot pattern: this pattern won't trigger any splitting but will be checked for equality after all splitting is complete and as patterns have been bound. * User pattern is an absurd pattern: emptiness of the type will be checked after splitting is complete. * User pattern is an annotated wildcard: type annotation will be checked after splitting is complete.€PThe Ï+" is the name of the with function.�PThe Ï+Ás are the names of the generated with functions, one for each •O.‚PThe RHS should not be another  RewriteRHS.ƒPãThe patterns stripped by with-desugaring. These are only present if this rewrite follows a with.„P&The where clauses are attached to the  RewriteRHS by…PóWe store the original concrete expression in case we have to reproduce it during interactive case splitting. ¼˜ for internally generated rhss.‡PRight-hand side spines.ŽP How did we get our hands on the Ï+% for the constructor of this record?�PWe made it up.�PThe user wrote it.“PRenaming (generic).›PØThe lhs of a clause in spine view (inside-out). Projection patterns are contained in  spLhsPats, represented as ProjP d.�P!Name of function we are defining.žPRange.ŸP3Elimination by pattern, projections, with-patterns.¥PãTypes are just expressions. Use this type synonym for hinting that an expression should be a type.¦POnly êNs.§P¾A typed binding. Appears in dependent function spaces, typed lambdas, and telescopes. It might be tempting to simplify this to only bind a single name at a time, and translate, say,  (x y : A) to (x : A)(y : A)Ç before type-checking. However, this would be slightly problematic: $We would have to typecheck the type A several times.If AØ contains a meta variable or hole, it would be duplicated by such a translation.ÓWhile 1. is only slightly inefficient, 2. would be an outright bug. Duplicating Aþ could not be done naively, we would have to make sure that the metas of the copy are aliases of the metas of the original.¨PAs in telescope  (x y z : A) or type (x y z : A) -> B.©PE.g.  (let x = e) or  (let open M).ªP‰Extra information that is attached to a typed binding, that plays a role during type checking but strictly speaking is not part of the  name : type&" relation which a makes up a binding.¬P¶Does this binding correspond to a Partial binder, rather than to a Pi binder? Must be present here to be reflected into abstract syntax later (and to be printed to the user later).­P+Does this binding have a tactic annotation?°Pis it an ordinary unnamed where?±PThe declaration is a ùN.³PSpines corresponding to ®P values.ÀPDoes not compare ¤? fields.ÁPDoes not compare ¤?È fields. Does not distinguish between prefix and postfix projections.ÄPIgnore à when comparing ¸Os.ÊPIgnore …P when comparing üOs.«QTurn an Å> into an expression.¬QTurn a ”? into an expression.Assumes name is not ™?.»NThing to insert (wildcard).6Range of the whole pattern synonym expression/pattern.àP稨áPç��âPçØØãPç�7�>äPçññåPç……æPçÅÅçP礤èP猌éPç××êPçÒÒëPç¹¹ìP矟 íPç::îPçŠ Š,ïPçâ â,ðPç± ±ñPç• •òPçÚ ÚóPçÝ ÝôPç� �õPçî îöPçÈ È÷Pçå åøPç× ×ùPç‘ ‘úPçë ë$ûPç« «üPç¤ ¤ýPç::&þPç† †.ÿPçõ õ.€Qç� �!�Qç¹ ¹‚Qçš šƒQç� �'„Qçí í…Qçð ð/†Qç‰ ‰‡Qç„ „ˆQçÐ Ð%‰QçÛ Û/ŠQçø ø‹Qçû ûŒQç× ×!�QçÔ Ô!ŽQçê ê�Qç¶ ¶�Qç– – ‘Qç“ “$’Qç� �%“Qçþ þ”Qç„ „!•Qç:2:8–Qç’ ’(—Qç™ ™,˜Qç— —™QçŽ ŽšQç‹ ‹›Qç– –$œQç� ��Qçž ž)žQç“ “ŸQç‘ ‘ Qç� �"¡QçŸ Ÿ)¢Qç� �£Qç˜ ˜¤Qç› ›¥Qç� �¦QçŒ Œ§Qçœ œ¨Qç” ”©Qç• •!ªQçš š"«QçÍ Í!¬Qçè è!­Qç» »®Qç¡ ¡ ¯QçÄ Ä°Qç” ”±Qç:(:0²Qçö ö³Qç: :´Qç��µQç� �¶Qçö ö·Qç••¸QçŒ Œ ¹Qçï ïºQçË Ë»Qç‡ ‡ ¼Qçç ç½Qçã ã¾Qçÿ ÿ¿Qç¨ ¨ÀQç� �ÁQçØ ØÂQçñ ñÃQç……ÄQçÅ ÅÅQç• • ÆQ礤ÇQ猌ÈQç× ×ÉQçÒ ÒÊQç¹ ¹ËQ矟ÌQçš š ÍQç’ ’*ÎQç™ ™>ÏQç£ £ÐQç” ”7ÑQç� �&ÒQç� �,ÓQç   ÔQç� �ÕQç“ “1ÖQç‘ ‘,×Qç– –8ØQç�,�7ÙQç•(•3ÚQçÿ&ÿ1ÛQç�&�1ÜQçø ø¯None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóJ ÝQ-Gather applications to expose head and spine.ÅNote: everything is an application, possibly of itself to 0 argumentsßQGather top-level ÚO%atterns to expose underlying pattern.àQRemove «O wrappers everywhere.!NB: Unless the implementation of îQÆ for clauses has been finished, this does not work for clauses yet.èQ Remove top «O wrappers.ìQ-Extracts "all" names which are declared in a èN.Includes: local modules and where clauses. Excludes:  open public, let, with" function names, extended lambdas.îQÉApply an expression rewriting to every subexpression, inside-out. See Agda.Syntax.Internal.Generic.ñQÅThe first expression is pre-traversal, the second one post-traversal.öQCollects plain lambdas.øQCollect A.Pis.èþQ”ÿQ•€Ré�R—‚R!ÝQÞQßQàQáQâQãQäQåQæQçQèQéQêQëQìQíQîQïQðQñQòQóQôQõQöQ÷QøQùQúQûQüQýQ&êQëQéQÝQÞQäQæQöQ÷QãQøQùQåQçQßQèQàQâQáQúQûQóQôQüQýQîQïQðQñQòQÿQ€R�R‚RõQìQíQþQ1ƒRêä ä2„Rê§ §…Rêø ø#†Rêè èʇRêæ æ?ˆRêá á.‰Rêã ã4ŠRêå å9‹Rêâ â4ŒRê— —�Rê­ ­ŽRêñ ñ(�Rêë ëÃ�Rêª ª)‘Rêî î’Rêý ý(“Rê’ ’”Rêí í,•Rê® ® –Rê± ±—RêŽ Ž;˜Rê˜ ˜™Rê‹ ‹5šRê© ©&›Rê¨ ¨œRê« «-�Rê› ›žRêÆ ÆŸRê� �$ Rêë ë-¡Rê˜ ˜¢Rêþ þ*£Rê‰ ‰$¤Rê• •¥Rêÿ ÿ,¦Rê‚ ‚*§Rê“ “¨Rêô ô©Rê€ €+ªRê€ €à«Rê® ®¬Rêƒ ƒ5­Rê… …5®Rê¸ ¸¯Rê³ ³#°Rêˆ ˆ±Rê† †$²Rê¬ ¬/³Rê °None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóá´RªAll names used in an abstract expression. This is used when rendering clauses to figure out which (implicit) pattern variables must be preserved. For example, the for  f : Nat ’C Nat, the clause  f {n} = 0 can be printed as f = 0 (dropping the n), but  f {n} = n must preserve the n.ÍR9Bound names in first argument scope over second argument.ÚšÂBound names in first argument do *not* scope over second argument.ëÛš´R´RµRì" ""¶Rìà Ã0·Rì� �¸Rìš š:¹RìÀ À(ºRìï ï8»RìÉ ÉǼRìÒ Ò½Rì° °=¾Rìû û¿Rìþ þ5ÀRì’ ’!ÁRìŠ Š!ÂRìÆ Æ,ÃRìÇ Ç2ÄRì³ ³(ÅRìÌ Ì!ÆRìÄ Ä4ÇRìÅ Å2ÈRì   5ÉRìô ôÊRì… …àËRìÏ ÏÁÌRì– –#ÍRì %±None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóÎR.Match an expression against a pattern synonym.ÏR*Match a pattern against a pattern synonym.ÐR£Merge a list of pattern synonym definitions. Fails unless all definitions have the same shape (i.e. equal up to renaming of variables and constructor names).ÎRÏRÐRÎRÏRÐR²None( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó Ž"ÑRêCheck if any user-written pattern variables occur more than once, and throw the given error if they do.ÒR4Check if a pattern contains a specific (sub)pattern.ÓRÀCheck if a pattern contains an absurd pattern. For instance, suc () , does so.+Precondition: contains no pattern synonyms.ÔR)Check if a pattern contains an @-pattern.ÕRÆCompute from each subpattern a value and collect them all in a monoid.×RCombine a pattern and the value computed from its subpatterns.íRpre : Modification before recursion.post: Modification after recursion.ïúRúûRðüRñýR)ÑRÒRÓRÔRÕRÖR×RØRÙRÚRÛRÜRÝRÞRßRàRáRâRãRäRåRæRçRèRéRêRëRìRíRîRïRðRñRòRóRôRõRöR÷RøRùR-÷RõRöRûRêRëRìRíRúRýRÕRäRãRÞRâRÒRÓRÔRÑRçRèRáRøRùRüRàRæRéRîRïRðRñRÝRòRóRôRÛRåRÙRÜRÖR×RØRÚRßRþRò° °0ÿRò¼ ¼=€Sò¶ ¶,�Sò¹ ¹2‚Sò³ ³4ƒSòŠ Š#„Sò¿ ¿Ô…Sòò ò†Sò§ §'‡Sò± ±!ˆSò¬ ¬.‰Sò1 1 ŠSòÉ ÉÉ‹SòÈ È8ŒSòÊ Ê>�SòÌ ÌÒŽSòÀ À<�Sò¾ ¾Ö�Sò¼ ¼4‘Sò½ ½Ä’Sòà Ã$“SòРгNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó®>”SDemand an exact string.•S#Initial auxiliary interaction state—SAn »S parser.6If the parse fails, then an error message is returned.šSConverter from the type of Üš to ŠTÏ The first paramter is part of the error message in case the parse fails.›SIOTCM commands.œSA generalised command type.�S A command.žSStop processing commands.ŸS8An error message for a command that could not be parsed.¡SCommand queues.£SWhen this variable is set to Just nÑ an attempt is made to abort all commands with a command number that is at most n.¤SÒCommands that should be processed, in the order in which they should be processed. Each command is associated with a number, and the numbers are strictly increasing. Abort commands are not put on this queue.¥S.Auxiliary state of an interactive computation.§SThe command queue.*This queue should only be manipulated by initialiseCommandQueue and  maybeAbort.¨S¥We remember (the scope of) old interaction points to make it possible to parse and compute highlighting information for the expression that it got replaced by.©S*Reset the options on each reload to these.ªSûThe file which the state applies to. Only stored if the module was successfully type checked (potentially with warnings).«S„The interaction points of the buffer, in the order in which they appear in the buffer. The interaction points are recorded in  theTCState‘, but when new interaction points are added by give or refine Agda does not ensure that the ranges of later interaction points are updated.¬SAvailable backends.µS*Information about the current main module.·S0The arguments to Agda used for loading the file.¸S7The top-level module name of the currently loaded file.¹S+The file currently loaded into interaction.ºS;The modification time stamp of the file when it was loaded.»SIOTCM commands.ëThe commands are obtained by applying the functions to the current top-level module name, if any. Note that the top-level module name is not used by independent commands. For other commands the top-level module name should be known.¾SAn interactive computation.ÀSAbort the current computation..Does nothing if no computation is in progress.ÂSÂSolve (all goals / the goal at point) by using Mimer proof search.ÃS'Custom hole-level command for backends.ÄS&Custom top-level command for backends.ÅScmd_compile b m argv compiles the module in file m using the backend b, using argv as the command-line options.ÇSûParse and type check the given expression (as if it were defined at the top-level of the current module) and normalise it.ÊSíGrabs the current goal's type and checks the expression in the hole against it. Returns the elaborated term.ËSExit the program.ÌS Goal commandsIf the range is ”Â, then the string comes from the minibuffer rather than the goal.ÎS&Displays the current goal and context.ÏSÐGrabs the current goal's type and checks the expression in the hole against it.ÐS&Displays the current goal and context and# infers the type of an expression.ÒSìTells Agda to compute highlighting information for the expression just spliced into an interaction point.ÔSîParse the given expression (as if it were defined at the top-level of the current module) and infer its type.ÖScmd_load m argv loads the module in file m , using argv as the command-line options.×S!cmd_load_highlighting_info source: loads syntax highlighting information for the module in source<, and asks Emacs to apply highlighting info from this file.ÕIf the module does not exist, or its module name is malformed or cannot be determined, or the module has not already been visited, or the cached info is out of date, then no highlighting information is printed.ÒThis command is used to load syntax highlighting information when a new file is opened, and it would probably be annoying if jumping to the definition of an identifier reset the proof state, so this command tries not to do that. One result of this is that the command uses the current include directories, whatever they happen to be.ØSÎLoad a file and fail if there are any unsolved meta-variables. By default no output is generated if the command is successful. (This command was previously used in Agda's installation script (Setup.hs)).ÚSáShow unsolved metas. If there are no unsolved metas but unsolved constraints show those instead.ÝSÞShows all the top-level names in scope which mention all the given identifiers in their type.ÞSíShows all the top-level names in the given module, along with their types. Uses the scope of the given goal.ßSåShows all the top-level names in the given module, along with their types. Uses the top-level scope.àS$Displays version of the running AgdaáSÖSolve (all goals / the goal at point) whose values are determined by the constraints.ãSÉTells Agda to compute token-based highlighting information for the file.ËThis command works even if the file's module name does not match its location in the file system, or if the file is not scope-correct. Furthermore no file names are put in the generated output. Thus it is fine to put source code into a temporary file before calling this command. However, the file extension should be correct.If the second argument is ‹TÊ, then the (presumably temporary) file is removed after it has been read.æS5Tells Agda whether or not to show implicit arguments.çS7Tells Agda whether or not to show irrelevant arguments.èS%Toggle display of implicit arguments.éS'Toggle display of irrelevant arguments.ëS A subset of OutputConstraint.ŠTThe ŠT monad. Ýš! state holds the remaining input.‹T?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïó3»T4Info to display at the end of an interactive command½T½T, denotes either an error or a success (when óT< is present) TODO: split these into separate constructorsÁTÔWhen an error message is displayed this constructor should be used, if appropriate.ÌTGive action result"Comment derived from agda2-mode.elIf ÌT2 is 'Give_String s', then the goal is replaced by sÍ, and otherwise the text inside the goal is retained (parenthesised if ÌT is ÎT).ÖT/Auxiliary information that comes with Goal TypeÚTGoals & WarningsÛT Errors that goes into Info_ErrorÖWhen an error message is displayed this constructor should be used, if appropriate.àT,There are two kinds of "make case" commands.ãTŽShould token-based highlighting be removed in conjunction with the application of new highlighting (in order to reduce the risk of flicker)?äTNo.åT7Yes, remove all token-based highlighting from the file.æTEntry in context.èT Whether the ëT is in scope.éT)The value (if it is a let-bound variable)êTThe original concrete name.ëT&The name reified from abstract syntax.ìT The type.íT'Responses for any interactive interfaceƒNote that the response is given in pieces and incrementally, so the user can have timely response even during long computations.îT%Clear highlighting of the given kind.ñTÁA command sent when an abort command has completed successfully.òT>A command sent when an exit command is about to be completed.÷T$Response is list of printed clauses.ùT)The integer is the message's debug level.úT(Solution for one or more meta-variables.üTStatus information.þT.Has the module been successfully type checked?ÿT!Are implicit arguments displayed?€U#Are irrelevant arguments displayed?Æ»T¼T½T¾T¿TÀTÁTÂTÃTÄTÅTÆTÇTÈTÉTÊTËTÌTÍTÎTÏTÐTÑTÒTÓTÔTÕTÖT×TØTÙTÚTÛTÜTÝTÞTßTàTáTâTãTäTåTæTçTèTéTêTëTìTíTîTïTðTñTòTóTôTõTöT÷TøTùTúTûTüTýTþTÿT€UÆíTîTïTðTñTòTóTôTõTöT÷TøTùTúTûTãTäTåTàTáTâT»T¼T½T¾T¿TÀTÁTÂTÃTÄTÅTÆTÇTÈTÉTÊTËTÐTÑTÒTÓTÔTÕTÚTÛTÜTÝTÞTßTÖT×TØTÙTæTçTèTéTêTëTìTüTýTþTÿT€UÌTÍTÎTÏTµNone( #&'()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóîƒU0Backend-specific hole-level interactive command.„U/Backend-specific top-level interactive command.…Uthe name of the backend†U0Optional version information to be printed with  --version.‡UßBackend-specific command-line flags. Should at minimum contain a flag to enable the backend.ˆUCompile a single definition.‰U%Unless the backend has been enabled, runAgda- will fall back to vanilla Agda behaviour.ŠUúThe treeless compiler may ask the Backend if elements of the given type maybe possibly erased. The answer should be „™Ó if the compilation of the type is used by a third party, e.g. in a FFI binding.‹UDefault optionsŒU3Called after module compilation has completed. The IsMain argument is NotMain if the  --no-main flag is present.�U?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóø<·´U!Name of absurdLambda definitions.µU:Not quite all reductions (skip non-terminating reductions)¿U.Preserve the state of the failing computation.ÎUÍThe current modality. Note that the returned cohesion component is always �.ãU2Has the definition failed the termination checker?æUÁHas the definition not termination checked or did the check fail?èU+Create a definition with sensible defaults.éU$By default, we have no display form.êU The default ø[Ó function prints certain things to stdout (other things generate internal errors).ìUTurn a ØA function into a ‚Z function. Property:  dirToCmp f (fromCmp cmp) = f cmp•VŒNote that this lens does not satisfy all lens laws: If hard compile-time mode is enabled, then quantities other than zero are replaced by µ.¤VA template for creating £U& definitions, with sensible defaults.ªV&Base name for extended lambda patterns«VÌExecute a finalizer even when an exception is thrown. Does not catch any errors. In case both the regular computation and the finalizer throw an exception, the one of the finalizer is propagated.¬V!Flip the direction of comparison.¯V6Runs the given computation in a separate thread, with a copy' of the current state and environment.ÒNote that Agda sometimes uses actual, mutable state. If the computation given to forkTCM tries to modifyÜ this state, then bad things can happen, because accesses are not mutually exclusive. The forkTCM8 function has been added mainly to allow the thread to read7 (a snapshot of) the current state in a convenient way.ŒNote also that exceptions which are raised in the thread are not propagated to the parent, so the thread should not do anything important.´VEmbed ØA into ‚Z.¶V Toggle the ¦[ flag.·V Toggle the ¦[ flag.¸V Toggle the ¦[ flag.¹V Toggle the ¦[ flag.½V Toggle the §[ flag.¿V Toggle the ¨[ flag.ÊV Toggle the «[ flag.ËV Toggle the «[ flag.ÒV.Base name for generalized variable projectionsÕV2Check whether we have a generalized variable fieldàVÇCombines the source hash and the (full) hashes of the imported modules.áV$ifTopLevelAndHighlightingLevelIs l m runs mô when we're type-checking the top-level module (or before we've started doing this) and the highlighting level is at least l.âV&ifTopLevelAndHighlightingLevelIs l b m runs mû when we're type-checking the top-level module (or before we've started doing this) and either the highlighting level is at least l or b is ¹˜.åVEmpty session state.æVEmpty persistent state.éVEmpty state of type checker.ïV An initial Œ.ðVA lens for the •\ field of the �\ type.óV:Check whether we have an definition from an absurd lambda.öVÂChecking whether we are dealing with a function yet to be defined.ùVBuilding the projection function (which drops the parameters).ÿWIs the record type recursive?„XConceptually: 2redBind m f k = either (return . Left . f) k =<< m�X�X runs a safe Ë_ action (a Ë_9 action which cannot fail, except that it might raise Ä_!s) in the initial environment.ŽX4Running the type checking monad (most general form).�XÁRunning the type checking monad on toplevel (with initial state).’X3Make sure we do not overwrite a user specification.“XOverwrite the part of the Ï_ focused on by the lens.”XOverwrite the part of the Ï_$ focused on by the lens (strictly).›XGet the file name of a ƒB.œX Get make a ƒB from a file name.�Xuse  areWeCaching! from the Caching module instead.¦XNote that the lens is "strict".äXModify the part of the Ï_0 focused on by the lens, and return some result.åX?Modify a part of the state monadically, and return some result.This is an instance of ö.æX Append an Ì to a ä@Å, for computing the name suggestions of eta-expansion metas. If the ä@Ç is empty or an underscore, the field name is taken as the suggestion.íXÆLookup the path of a top level module name, which must be a known one.óX Union two ™Ys. Only defined for ›Y.üX6Abstract things in the current module can be accessed.ýX#No abstract things can be accessed.þX$All abstract things can be accessed.ÿX Controlling reduce.€Y%Copattern definitions may be reduced.�Y6Non-recursive functions and primitives may be reduced.‚Y'Functions marked INLINE may be reduced.ƒYReduce ‰1 terms.„Y0Functions that have failed termination checking.…Y:(Projection and) projection-like functions may be reduced.†Y(Even recursive functions may be reduced.‡YAllow  allReductionsÏ in types, even if not allowed at term level (used by confluence checker)ˆY9Functions whose termination has not (yet) been confirmed.ŒY&Checked and inserted arguments so far.ŽY6The function applied to the already checked arguments.�Y=.‡Z;The backends are responsible for parsing their own pragmas.‹ZCheck that the sort ½1 of data type Ï+( admits data/record types. E.g., sorts IUniv, SizeUniv, etc. do not admit such constructions. See Ì÷.ŒZ2Last argument is the error causing us to postpone.�ZCheckLockedVars t ty lk lk_ty with t : ty,  lk : lk_ty and t lk well-typed.�ZCheck that the Ý1. is either not a SIZELT or a non-empty SIZELT.’Zœthe second argument is the instance argument and the third one is dhe list of candidates (or Nothing if we haven™@t determined the list of candidates yet)•Z+The range is the one of the absurd pattern.—ZÃResolve the head symbol of the type that the given instance targets™ZåMeta created for a term blocked by a postponed type checking problem or unsolved constraints. The Ó\( for the meta (when unsolved) is either Ô\ or ×\.šZÃFirst argument is computation and the others are hole and goal type›ZÈIs the term usable at the given modality? This check should run if the Sort is Nothing or  isFibrant.¢Z+Number of arguments (excluding parameters).£ZCubical composition.¤Z Name of datatype or record type.¥ZÔWhich arguments are erased at runtime (computed during compilation to treeless)? ¹˜ means erased, „™ means retained. ¼˜Í if no erasure analysis has been performed yet. The length of the list is conArity.¦ZWas  --erasureÙ in effect when the constructor was defined? (This can affect the constructor's type.)§Z Which arguments are forced (i.e. determined by the type of the constructor)? Either this list is empty (if the forcing analysis isn't run), or its length is conArity.¨ZüShall we translate the constructor on the root of the rhs into copattern matching on the lhs? Activated by INLINE pragma.©ZNumber of parameters.ªZ Projections. ¼˜ if not yet computed.«ZÐName of (original) constructor and fields. (This might be in a module instance.)¬ZÐInformation we have constructored in the middle of disambiguating a constructor.®Z'The arguments given to the constructor.¯Z*The possible candidates for disambiguation°Z9One of the eligible ambiguous names (for error messages).±Z'The type of the constructor application²ZLike ¯Yù, but storing the log for an ongoing type checking of a module. Stored in reverse order (last performed action first).ºZ(This might be in an instantiated module.»ZÆConstructor names, ordered according to the order of their definition.¼ZNumber of indices.½ZMutually recursive functions, datas and recordÁs. Does include this data type. Empty if not recursive. Nothing- if not yet computed (by positivity checker).¾ZNumber of parameters.¿Z"Path constructor names (subset of dataCons).ÁZÍTransport function, should be available for all datatypes in supported sorts.ÂZ dt: for a defined symbol (could be a constructor as well) q. The right hand side is a íZ which is used to reify to a more readable øù. The patterns ts are just terms, but the first  dfPatternVars: variables are pattern variables that matches any term.éZLeft hand side patterns, the nÄ first free variables are pattern variables, any variables above n© are fixed and only match that particular variable. This happens when you have display forms inside parameterised modules that match on the module parameters. The Å is ignored in these patterns.êZNumber n of pattern variables in éZ.ëZRight hand side.íZA structured presentation of a Ý1 for reification into øù.îZc vs.ïZd vs.ðZ.(v es). See ñZ.ñZv es‚. This is a frozen elimination that is not always safe to run, because display forms may be ill-typed. (See issue #6476.)òZ(f vs | ws) es. The first íZ is the parent function f with its args vs. The list of íZs are the with expressions ws . The î0 are additional arguments esì (possible in case the with-application is of function type) or projections (if it is of record type).ôZDon't generalize.õZ—Generalize because it is a metavariable and we're currently checking the type of a generalizable variable (this should get the default modality).öZ2Generalize because it is a generalizable variable.÷Z(Should a record type admit eta-equality?øZ0Positivity checker inferred whether eta is safe.ùZ2User specifed 'eta-equality' or 'no-eta-equality'.ûZÃError when trying to call an external executable during reflection.üZ9The given file path does not have executable permissions.ýZ=The given executable could not be found under the given path.þZ.The given executable is not listed as trusted.€[!Do not append implicit arguments.�[ÁAdd implicit arguments in the end until type is no longer hidden æ1.‚[Makes  doExpandLastÐ have no effect. Used to avoid implicit insertion of arguments to metavariables.ƒ[,Additional information for extended lambdas.…[2Was this definition created from an absurd lambda » ()?†[®For complicated reasons the scope checker decides the QName of a pattern lambda, and thus its module. We really need to decide the module during type checking though, since if the lambda appears in a refined context the module picked by the scope checker has very much the wrong parameters.�[‚Foreign code fragments are stored in reversed order to support efficient appending: head points to the latest pragma in module.�[Create a fresh name from a.’[¿Frozen meta variable cannot be instantiated by unification. This serves to prevent the completion of a definition by its use outside of the current block. (See issues 118, 288, 399).“[Do not instantiate.˜[¼˜* while function is still type-checked. Just ccà after type and coverage checking and translation to case trees.™[ÜCovering clauses computed by coverage checking. Erased by (IApply) confluence checking(?)š[‡Is this function generated from an extended lambda? If yes, then return the number of hidden and non-hidden lambda-lifted arguments.›[ÁVarious boolean flags pertaining to the function definition, see ¥[.�[òIs this a helper for one of the Kan operations (transp, hcomp) on data types/records? If so, for which data type?ž[Mutually recursive functions, datas and recordÅs. Does include this function. Empty list if not recursive. Nothing- if not yet computed (by positivity checker).Ÿ[‡Is this function opaque? If so, and we're not in an opaque block that includes this function('s name), it will be treated abstractly. [¨Is it a record projection? If yes, then return the name of the record type and index of the record argument. Start counting with 1, because 0 means that it is already applied to the record. (Can happen in module instantiation.) This information is used in the termination checker.¡[õThe split tree constructed by the coverage checker. Needed to re-compile the clauses after forcing translation.¢[9Has this function been termination checked? Did it pass?£[2Intermediate representation for compiler backends.¤[ÚIs this a generated with-function? If yes, then what's the name of the parent function?¦[Is the function abstract?§[Was  --erasureÖ in effect when the function was defined? (This can affect the type of a projection.)¨[Is this function INJECTIVE_FOR_INFERENCEÒ? Indicates whether the first-order shortcut should be applied to the definition.©[9Should calls to this function be inlined by the compiler?ª[Is this function a macro?«[ÃIs this function a descendant of a field (typically, a projection)?¬[