Îõ³h.Çù6z6qâ§      !"#$%&'()* + , - . / 0123456 789:;<=>?@A BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃ Ä Å Æ Ç È É Ê Ë Ì Í Î Ï ÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäå æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ €�‚ƒ„…†‡ˆ‰Š‹Œ!�!Ž!�!�!‘!’!“!”!•!–!—!˜!™!š!›!œ!�!ž!Ÿ! !¡!¢!£!¤!¥!¦!§!¨"©"ª"«"¬"­"®"¯"°"±"²"³"´"µ"¶"·"¸"¹"º#»#¼#½#¾#¿#À#Á#Â#Ã#Ä#Å#Æ#Ç#È#É#Ê#Ë#Ì#Í#Î#Ï#Ð#Ñ#Ò#Ó#Ô#Õ#Ö#×#Ø#Ù#Ú#Û#Ü#Ý#Þ#ß#à#á#â#ã#ä#å#æ#ç#è#é#ê#ë#ì#í#î#ï#ð#ñ#ò#ó#ô#õ#ö#÷#ø#ù#ú#û#ü#ý#þ#ÿ#€#�#‚#ƒ#„#…#†#‡#ˆ#‰#Š#‹#Œ#�#Ž#�#�#‘#’#“#”#•#–#—#˜#™#š#›#œ#�#ž#Ÿ# #¡#¢#£#¤#¥#¦#§#¨#©#ª#«$¬$­$®$¯$°$±$²$³$´$µ$¶$·$¸$¹%º&»&¼&½'¾(¿(À(Á(Â(Ã(Ä(Å)Æ*Ç*È*É*Ê*Ë*Ì*Í+Î+Ï+Ð+Ñ+Ò+Ó+Ô+Õ+Ö+×+Ø+Ù+Ú+Û+Ü+Ý,Þ,ß,à,á,â,ã,ä,å,æ,ç,è,é,ê,ë,ì,í,î,ï,ð,ñ,ò,ó,ô,õ-ö-÷-ø-ù-ú-û-ü.ý.þ.ÿ.€.�.‚.ƒ.„.….†.‡.ˆ.‰.Š.‹.Œ.�.Ž.�.�.‘.’.“.”.•.–.—.˜.™/š/›/œ/�/ž/Ÿ/ /¡/¢0£0¤0¥0¦0§0¨0©0ª0«0¬1­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ˆ4‰4Š4‹4Œ4�4Ž5�5�5‘5’5“5”5•5–5—5˜5™5š5›5œ5�5ž5Ÿ5 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©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Ì Í9Î9Ï9Ð9Ñ:Ò:Ó:Ô:Õ:Ö;×;Ø;Ù;Ú;Û;Ü;Ý;Þ;ß;à;á;â;ã;ä;å<æ<ç<è<é<ê<ë<ì<í<î<ï<ð<ñ<ò=ó=ô=õ=ö=÷=ø=ù=ú=û=ü=ý=þ=ÿ=€=�>‚>ƒ>„>…>†>‡>ˆ>‰>Š>‹>Œ>�>Ž>�>�>‘>’>“>”>•>–>—>˜>™>š>›>œ>�>ž>Ÿ> >¡>¢>£>¤>¥>¦>§>¨>©>ª>«>¬>­>®>¯>°>±?²?³?´?µ?¶@·@¸@¹@º@»@¼@½@¾@¿@À@Á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ð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� E� ‘ ’ “ ” • – — ˜ ™ š › œ � ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý FÞ Fß Fà Fá Fâ Fã 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µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á  à Ä Å Æ Ç È É Ê Ë Ì Í Î Ï 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ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ € � ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ � Ž � K� K‘ K’ K“ K” K• K– K— K˜ K™ Kš K› Kœ K� Kž KŸ 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À 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ë 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… Q† Q‡ Qˆ Q‰ QŠ Q‹ QŒ Q� QŽ Q� Q� Q‘ Q’ Q“ Q” Q• Q– Q— Q˜ Q™ Qš Q› Qœ Q� Qž QŸ 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å 8æ 8ç 8è 8é 8ê 8ë Sì Sí Sî Sï Sð Sñ Sò Só Sô Sõ Sö S÷ Sø 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ž 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÷ Tø Tù Tú Tû Tü Tý Tþ Tÿ T€T�T‚TƒT„T…T†T‡Tˆ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º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊË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€[�[‚[ƒ[„[…[†[‡[ˆ[‰[Š[‹[Œ[�[Ž[�[�[‘\’\“\”\•\–\—\˜\™\š\›\œ\�\ž\Ÿ\ \¡\¢\£\¤\¥\¦]§]¨]©]ª]«]¬]­]®]¯]°]±]²]³]´]µ]¶]·]¸]¹]º]»]¼]½]¾]¿]À^Á^Â^Ã^Ä^Å^Æ^Ç^È^É^Ê^Ë^Ì^Í^Î^Ï^Ð^Ñ^Ò^Ó^Ô^Õ^Ö^×^Ø^Ù^Ú^Û^Ü^Ý^Þ^ß^à^á^â^ã^ä^å^æ^ç^è^é^ê^ë^ì^í^î^ï^ð^ñ^ò_ó_ô_õ_ö_÷_ø_ù`ú`û`ü`ý`þ`ÿ`€`�`‚`ƒ`„`…`†`‡`ˆ`‰`Š`‹`Œ`�`Ž`�`�`‘`’`“`”`•`–`—`˜`™`š`›`œ`�`ž`Ÿ` `¡`¢`£`¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèaéaêaëaìaíaîaïað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Š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ö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”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¶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à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™mš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Ð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â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’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€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­t®t¯t°t±t²t³t´tµt¶t·t¸t¹tºt»t¼t½t¾t¿tÀtÁtÂtÃtÄtÅtÆtÇtÈtÉtÊtËtÌtÍtÎtÏtÐtÑtÒtÓtÔtÕtÖt×tØtÙtÚtÛtÜtÝtÞtßtàtátâtãtätåtætçtètétêtëtìtítîtïtðtñtòtótôtõtöt÷tø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‘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Ì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¬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Ì{Í{Î{Ï{Ð{Ñ{Ò{Ó{Ô{Õ{Ö{×{Ø{Ù{Ú{Û{Ü{Ý{Þ{ß{à{á{â{ã{ä{å{æ{ç{è{é{ê{ë{ì{í{î{ï{ð{ñ{ò{ó{ô{õ{ö{÷{ø{ù{ú|û|ü|ý|þ|ÿ|€|�|‚|ƒ|„|…|†|‡|ˆ|‰|Š|‹|Œ|�|Ž|�|�|‘|’|“}”}•}–}—}˜}™}š}›}œ}�}ž}Ÿ} }¡}¢}£}¤}¥}¦~§~¨~©~ª~«~¬~­~®~¯~°~±~²~³~´~µ~¶~·~¸~¹~º~»~¼~½~¾~¿~À~Á~Â~Ã~Ä~Å~ÆÇÈÉÊËÌÍÎÏЀрҀӀԀՀր׀؀Ù�Ú�Û�Ü�Ý�Þ�ß�à�á�â�ã�ä�å�æ�ç�è�é�ê�ë�ì�í�î�ï�ð�ñ�ò�ó�ô�õ�ö�÷�ø�ù�ú�û�ü�ý�þ�ÿ�€���‚�ƒ�„�…�†�‡�ˆ�‰�Š�‹�Œ���Ž�����‘�’�“�”�•�–�—�˜�™�š�›�œ���ž�Ÿ� �¡�¢�£�¤�¥�¦�§�¨�©�ª�«�¬�­�®�¯�°�±�²�³�´�µ�¶�·�¸�¹�º�»�¼�½�¾�¿�À�Á�Â�Ã�Ä�Å�Æ�Ç�È�É�Ê�Ë�Ì�Í�Î�Ï�Ð�Ñ�Ò�Ó�Ô�Õ�Ö�×�Ø�Ù�Ú�Û�Ü�Ý�Þ�ß�à�á�â�ã�ä�å�æ�ç�è�é�ê�ë�ì�í�î�ï�ð�ñ�ò�ó�ô�õ�ö�÷�ø�ù�ú�û�ü�ý�þ�ÿ�€���‚�ƒ�„�…�†�‡�ˆ�‰�Š�‹�Œ���Ž�����‘�’�“�”�•�–�—�˜�™�š�›�œ���ž�Ÿ� �¡�¢�£�¤�¥�¦�§�¨�©�ª�«�¬�­�®�¯�°�±�²�³�´�µ�¶�·�¸�¹�º�»�¼�½�¾�¿�À�Á�Â�Ã�Ä�Å�Æ�Ç�È�É�Ê�Ë�Ì�Í�Î�Ï�Ð�Ñ�Ò�Ó�Ô�Õ�Ö�×�Ø�Ù�Ú�Û�Ü�Ý�Þ�ß�à�á�â�ã�ä�å�æ�ç�è�é�ê�ë�ì�í�î�ï�ð�ñ�ò�ó�ô�õ�ö�÷�ø�ù�ú�û�ü�ý�þ�ÿ�€���‚�ƒ�„�…�†�‡�ˆ�‰�Š�‹�Œ���Ž�����‘�’�“�”�•�–�—�˜�™�š�›�œ���ž�Ÿ� �¡�¢�£�¤�¥�¦�§�¨�©�ª�«�¬�­�®�¯�°�±�²�³�´�µ�¶�·�¸�¹�º�»�¼�½�¾�¿�À�Á�Â�Ã�Ä�Å�Æ�Ç�È�É�Ê�Ë�Ì�Í�Î�Ï�Ð�Ñ�Ò�Ó�Ô�Õ�Ö�×�Ø�Ù�Ú�Û�Ü�Ý�Þ�ß�à�á�â�ã�ä�å�æ�ç�è�é�ê�ë�ì�í�î�ï�ð�ñ�ò�ó�ô�õ�ö�÷�ø�ù�ú�û�ü�ý�þ�ÿ�€ �� �‚ �ƒ �„ �… �† �‡ �ˆ �‰ �Š �‹ �Œ �� �Ž �� �� �‘ �’ �“ �” �• �– �— �˜ �™ �š �› �œ �� �ž �Ÿ �  �¡ �¢ �£ �¤ �¥ �¦ �§ �¨ �© �ª �« �¬ �­ �® �¯ �° �± �² �³ �´ �µ �¶ �· �¸ �¹ �º �» �¼ �½ �¾ �¿ �À �Á � �à �Ä �Å �Æ �Ç �È �É �Ê �Ë �Ì �Í �Î �Ï �Ð �Ñ �Ò �Ó �Ô �Õ �Ö �× �Ø �Ù �Ú �Û �Ü �Ý �Þ �ß �à �á �â �ã �ä �å �æ �ç �è �é �ê �ë �ì �í �î �ï �ð �ñ �ò �ó �ô �õ �ö �÷ �ø �ù �ú �û �ü �ý �þ �ÿ �€!��!�‚!�ƒ!�„!�…!�†!�‡!�ˆ!�‰!�Š!�‹!�Œ!��!�Ž!��!��!�‘!�’!�“!�”!�•!�–!�—!�˜!�™!�š!�›!�œ!��!�ž!�Ÿ!� !�¡!�¢!�£!�¤!�¥!�¦!�§!�¨!�©!�ª!�«!�¬!�­!�®!�¯!�°!�±!�²!�³!�´!�µ!�¶!�·!�¸!�¹!�º!�»!�¼!�½!�¾!�¿!�À!�Á!�Â!�Ã!�Ä!�Å!�Æ!�Ç!�È!�É!�Ê!�Ë!�Ì!�Í!�Î!�Ï!�Ð!�Ñ!�Ò!�Ó!�Ô!�Õ!�Ö!�×!�Ø!�Ù!�Ú!�Û!�Ü!�Ý!�Þ!�ß!�à!�á!�â!�ã!�ä!�å!�æ!�ç!�è!�é!�ê!�ë!�ì!�í!�î!�ï!�ð!�ñ!�ò!�ó!�ô!�õ!�ö!�÷!�ø!�ù!�ú!�û!�ü!�ý!�þ!�ÿ!�€"��"�‚"�ƒ"�„"�…"�†"�‡"�ˆ"�‰"�Š"�‹"�Œ"��"�Ž"��"��"�‘"�’"�“"�”"�•"�–"�—"�˜"�™"�š"�›"�œ"��"�ž"�Ÿ"� "�¡"�¢"�£"�¤"�¥"�¦"�§"�¨"�©"�ª"�«"�¬"�­"�®"�¯"�°"�±"�²"�³"�´"�µ"�¶"�·"�¸"�¹"�º"�»"�¼"�½"�¾"�¿"�À"�Á"�Â"�Ã"�Ä"�Å"�Æ"�Ç"�È"�É"�Ê"�Ë"�Ì"�Í"�Î"�Ï"�Ð"�Ñ"�Ò"�Ó"�Ô"�Õ"�Ö"�×"�Ø"�Ù"�Ú"�Û"�Ü"�Ý"�Þ"�ß"�à"�á"�â"�ã"�ä"�å"�æ"�ç"�è"�é"�ê"�ë"�ì"�í"�î"�ï"�ð"�ñ"�ò"�ó"�ô"�õ"�ö"�÷"�ø"�ù"�ú"�û"�ü"�ý"�þ"�ÿ"�€#��#�‚#�ƒ#�„#�…#�†#�‡#�ˆ#�‰#�Š#�‹#�Œ#��#�Ž#��#��#�‘#�’#�“#�”#�•#�–#�—#�˜#�™#�š#�›#�œ#��#�ž#�Ÿ#� #�¡#�¢#�£#�¤#�¥#�¦#�§#�¨#�©#�ª#�«#�¬#�­#�®#�¯#�°#�±#�²#�³#�´#�µ#�¶#�·#�¸#�¹#�º#�»#�¼#�½#�¾#�¿#�À#�Á#�Â#�Ã#�Ä#�Å#�Æ#�Ç#�È#�É#�Ê#�Ë#�Ì#�Í#�Î#�Ï#�Ð#�Ñ#�Ò#�Ó#�Ô#�Õ#�Ö#�×#�Ø#�Ù#�Ú#�Û#�Ü#�Ý#�Þ#�ß#�à#�á#�â#�ã#�ä#�å#�æ#�ç#�è#�é#�ê#�ë#�ì#�í#�î#�ï#�ð#�ñ#�ò#�ó#�ô#�õ#�ö#�÷#�ø#�ù#�ú#�û#�ü#�ý#�þ#�ÿ#�€$��$�‚$�ƒ$�„$�…$�†$�‡$�ˆ$�‰$�Š$�‹$�Œ$��$�Ž$��$��$�‘$�’$�“$�”$�•$�–$�—$�˜$�™$�š$�›$�œ$��$�ž$�Ÿ$� $�¡$�¢$�£$�¤$�¥$�¦$�§$�¨$�©$�ª$�«$�¬$�­$�®$�¯$�°$�±$�²$�³$�´$�µ$�¶$�·$�¸$�¹$�º$�»$�¼$�½$�¾$�¿$�À$�Á$�Â$�Ã$�Ä$�Å$�Æ$�Ç$�È$�É$�Ê$�Ë$�Ì$�Í$�Î$�Ï$�Ð$�Ñ$�Ò$�Ó$�Ô$�Õ$�Ö$�×$�Ø$�Ù$�Ú$�Û$�Ü$�Ý$�Þ$�ß$�à$�á$�â$�ã$�ä$�å$�æ$�ç$�è$�é$�ê$�ë$�ì$�í$�î$�ï$�ð$�ñ$�ò$�ó$�ô$�õ$�ö$�÷$�ø$�ù$�ú$�û$�ü$�ý$�þ$�ÿ$�€%��%�‚%�ƒ%�„%�…%�†%�‡%�ˆ%�‰%�Š%�‹%�Œ%��%�Ž%��%��%�‘%�’%�“%�”%�•%�–%�—%�˜%�™%�š%�›%�œ%��%�ž%�Ÿ%� %�¡%�¢%�£%�¤%�¥%�¦%�§%�¨%�©%�ª%�«%�¬%�­%�®%�¯%�°%�±%�²%�³%�´%�µ%�¶%�·%�¸%�¹%�º%�»%�¼%�½%�¾%�¿%�À%�Á%�Â%�Ã%�Ä%�Å%�Æ%�Ç%�È%�É%�Ê%�Ë%�Ì%�Í%�Î%�Ï%�Ð%�Ñ%�Ò%�Ó%�Ô%�Õ%�Ö%�×%�Ø%�Ù%�Ú%�Û%�Ü%�Ý%�Þ%�ß%�à%�á%�â%�ã%�ä%�å%�æ%�ç%�è%�é%�ê%�ë%�ì%�í%�î%�ï%�ð%�ñ%�ò%�ó%�ô%�õ%�ö%�÷%�ø%�ù%�ú%�û%�ü%�ý%�þ%�ÿ%�€&��&�‚&�ƒ&�„&�…&�†&�‡&�ˆ&�‰&�Š&�‹&�Œ&��&�Ž&��&��&�‘&�’&�“&�”&�•&�–&�—&�˜&�™&�š&�›&�œ&��&�ž&�Ÿ&� &�¡&�¢&�£&�¤&�¥&�¦&�§&�¨&�©&�ª&�«&�¬&�­&�®&�¯&�°&�±&�²&�³&�´&�µ&�¶&�·&�¸&�¹&�º&�»&�¼&�½&�¾&�¿&�À&�Á&�Â&�Ã&�Ä&�Å&�Æ&�Ç&�È&�É&�Ê&�Ë&�Ì&�Í&�Î&�Ï&�Ð&�Ñ&�Ò&�Ó&�Ô&�Õ&�Ö&�×&�Ø&�Ù&�Ú&�Û&�Ü&�Ý&�Þ&�ß&�à&�á&�â&�ã&�ä&�å&�æ&�ç&�è&�é&�ê&�ë&�ì&�í&�î&�ï&�ð&�ñ&�ò&�ó&�ô&�õ&�ö&�÷&�ø&�ù&�ú&�û&�ü&�ý&�þ&�ÿ&�€'��'�‚'�ƒ'�„'�…'�†'�‡'�ˆ'�‰'�Š'�‹'�Œ'��'�Ž'��'��'�‘'�’'�“'�”'�•'�–'�—'�˜'�™'�š'�›'�œ'��'�ž'�Ÿ'� '�¡'�¢'�£'�¤'�¥'�¦'�§'�¨'�©'�ª'�«'�¬'�­'�®'�¯'�°'�±'�²'�³'�´'�µ'�¶'�·'�¸'�¹'�º'�»'�¼'�½'�¾'�¿'�À'�Á'�Â'�Ã'�Ä'�Å'�Æ'�Ç'�È'�É'�Ê'�Ë'�Ì'�Í'�Î'�Ï'�Ð'�Ñ'�Ò'�Ó'�Ô'�Õ'�Ö'�×'�Ø'�Ù'�Ú'�Û'�Ü'�Ý'�Þ'�ß'�à'�á'�â'�ã'‚ä'‚å'‚æ'‚ç'‚è'‚é'‚ê'‚ë'‚ì'‚í'‚î'‚ï'‚ð'‚ñ'‚ò'‚ó'‚ô'‚õ'‚ö'‚÷'‚ø'‚ù'‚ú'‚û'‚ü'ƒý'ƒþ'ƒÿ'ƒ€(ƒ�(ƒ‚(ƒƒ(ƒ„(ƒ…(ƒ†(ƒ‡(ƒˆ(ƒ‰(ƒŠ(ƒ‹(ƒŒ(ƒ�(ƒŽ(ƒ�(ƒ�(ƒ‘(ƒ’(ƒ“(ƒ”(ƒ•(ƒ–(ƒ—(ƒ˜(ƒ™(ƒš(ƒ›(ƒœ(ƒ�(ƒž(ƒŸ(ƒ (ƒ¡(ƒ¢(ƒ£(ƒ¤(ƒ¥(ƒ¦(ƒ§(ƒ¨(ƒ©(ƒª(ƒ«(„¬(„­(„®(„¯(„°(„±(„²(„³(„´(„µ(„¶(„·(„¸(„¹(„º(„»(„¼(„½(„¾(„¿(„À(„Á(„Â(„Ã(„Ä(…Å(…Æ(…Ç(…È(…É(…Ê(…Ë(…Ì(…Í(…Î(…Ï(…Ð(…Ñ(…Ò(…Ó(…Ô(…Õ(…Ö(…×(…Ø(…Ù(…Ú(…Û(…Ü(…Ý(…Þ(…ß(…à(…á(…â(…ã(…ä(…å(…æ(…ç(…è(…é(…ê(…ë(…ì(…í(…î(…ï(…ð(…ñ(…ò(…ó(…ô(…õ(…ö(…÷(…ø(…ù(…ú(…û(…ü(…ý(…þ(…ÿ(…€)…�)…‚)…ƒ)…„)……)…†)…‡)…ˆ)…‰)…Š)…‹)…Œ)…�)…Ž)…�)…�)…‘)…’)…“)…”)…•)…–)…—)…˜)…™)…š)…›)…œ)…�)…ž)…Ÿ)… )…¡)…¢)…£)…¤)…¥)…¦)…§)…¨)…©)…ª)…«)…¬)…­)…®)…¯)…°)…±)†²)†³)†´)†µ)†¶)†·)†¸)†¹)†º)†»)†¼)†½)†¾)†¿)†À)†Á)†Â)†Ã)†Ä)†Å)†Æ)†Ç)†È)†É)†Ê)†Ë)†Ì)†Í)†Î)†Ï)†Ð)†Ñ)†Ò)†Ó)†Ô)†Õ)†Ö)†×)†Ø)†Ù)†Ú)†Û)†Ü)†Ý)†Þ)†ß)†à)†á)†â)†ã)†ä)†å)†æ)†ç)†è)†é)†ê)†ë)†ì)†í)†î)†ï)†ð)†ñ)†ò)†ó)†ô)†õ)†ö)†÷)†ø)†ù)†ú)†û)†ü)†ý)†þ)†ÿ)†€*†�*†‚*†ƒ*†„*†…*††*†‡*†ˆ*†‰*†Š*†‹*†Œ*†�*†Ž*†�*†�*†‘*†’*†“*†”*†•*†–*†—*†˜*†™*†š*†›*†œ*†�*†ž*†Ÿ*† *†¡*†¢*†£*†¤*†¥*†¦*†§*†¨*†©*†ª*†«*†¬*†­*†®*†¯*†°*†±*†²*†³*†´*†µ*†¶*†·*†¸*†¹*†º*†»*†¼*†½*†¾*†¿*†À*†Á*†Â*†Ã*†Ä*†Å*†Æ*†Ç*†È*†É*†Ê*†Ë*†Ì*†Í*†Î*†Ï*†Ð*†Ñ*†Ò*†Ó*†Ô*†Õ*†Ö*†×*†Ø*†Ù*†Ú*†Û*†Ü*†Ý*†Þ*†ß*†à*†á*†â*†ã*†ä*†å*†æ*†ç*†è*†é*†ê*†ë*†ì*†í*†î*†ï*†ð*†ñ*†ò*†ó*†ô*†õ*†ö*†÷*†ø*†ù*†ú*†û*†ü*†ý*†þ*†ÿ*†€+†�+†‚+†ƒ+†„+†…+††+†‡+†ˆ+†‰+†Š+†‹+†Œ+†�+†Ž+†�+†�+†‘+†’+†“+†”+†•+†–+†—+†˜+†™+†š+†›+†œ+†�+†ž+†Ÿ+† +†¡+†¢+†£+†¤+†¥+†¦+†§+†¨+†©+†ª+†«+†¬+†­+†®+†¯+†°+†±+†²+†³+†´+†µ+†¶+†·+†¸+†¹+†º+†»+†¼+†½+†¾+†¿+†À+†Á+†Â+†Ã+†Ä+†Å+†Æ+†Ç+†È+†É+†Ê+†Ë+†Ì+†Í+†Î+†Ï+†Ð+†Ñ+†Ò+†Ó+†Ô+†Õ+†Ö+†×+†Ø+†Ù+†Ú+†Û+†Ü+†Ý+†Þ+†ß+†à+†á+†â+†ã+†ä+†å+†æ+†ç+†è+†é+†ê+†ë+†ì+†í+†î+†ï+†ð+†ñ+†ò+†ó+†ô+†õ+†ö+†÷+†ø+†ù+†ú+†û+†ü+†ý+†þ+†ÿ+†€,†�,†‚,†ƒ,†„,†…,††,†‡,†ˆ,†‰,†Š,†‹,†Œ,†�,†Ž,†�,†�,†‘,†’,†“,†”,†•,†–,†—,†˜,†™,†š,†›,†œ,†�,†ž,†Ÿ,† ,†¡,†¢,†£,†¤,†¥,†¦,†§,†¨,†©,†ª,†«,†¬,†­,†®,†¯,†°,†±,†²,†³,†´,†µ,†¶,†·,†¸,†¹,†º,†»,†¼,†½,†¾,†¿,†À,†Á,†Â,†Ã,†Ä,†Å,†Æ,†Ç,†È,†É,†Ê,†Ë,†Ì,†Í,†Î,†Ï,†Ð,†Ñ,†Ò,†Ó,†Ô,†Õ,†Ö,†×,†Ø,†Ù,†Ú,†Û,†Ü,†Ý,†Þ,†ß,†à,†á,†â,†ã,†ä,†å,†æ,†ç,‡è,‡é,‡ê,‡ë,‡ì,‡í,‡î,‡ï,‡ð,‡ñ,‡ò,‡ó,‡ô,‡õ,‡ö,‡÷,‡ø,‡ù,‡ú,‡û,‡ü,‡ý,‡þ,‡ÿ,‡€-‡�-‡‚-‡ƒ-‡„-‡…-‡†-‡‡-‡ˆ-‡‰-‡Š-‡‹-‡Œ-‡�-‡Ž-‡�-‡�-‡‘-‡’-‡“-‡”-‡•-‡–-‡—-‡˜-‡™-‡š-‡›-‡œ-‡�-‡ž-‡Ÿ-‡ -‡¡-‡¢-‡£-‡¤-‡¥-‡¦-‡§-‡¨-‡©-‡ª-‡«-‡¬-‡­-‡®-‡¯-ˆ°-ˆ±-ˆ²-ˆ³-ˆ´-ˆµ-ˆ¶-ˆ·-ˆ¸-ˆ¹-ˆº-ˆ»-ˆ¼-ˆ½-ˆ¾-ˆ¿-ˆÀ-‰Á-‰Â-‰Ã-‰Ä-‰Å-‰Æ-‰Ç-‰È-‰É-‰Ê-‰Ë-‰Ì-‰Í-‰Î-‰Ï-‰Ð-‰Ñ-‰Ò-‰Ó-‰Ô-‰Õ-‰Ö-‰×-‰Ø-‰Ù-‰Ú-‰Û-‰Ü-‰Ý-‰Þ-‰ß-‰à-‰á-‰â-‰ã-‰ä-‰å-‰æ-‰ç-‰è-‰é-‰ê-‰ë-‰ì-‰í-‰î-‰ï-‰ð-‰ñ-‰ò-‰ó-‰ô-‰õ-‰ö-‰÷-‰ø-‰ù-‰ú-‰û-‰ü-‰ý-‰þ-Šÿ-Š€.Š�.Š‚.Šƒ.Š„.Š….І.Ї.Šˆ.Љ.ŠŠ.Š‹.ŠŒ.Š�.ŠŽ.Š�.Š�.Š‘.Š’.Š“.Š”.Š•.Š–.Š—.Š˜.Š™.Šš.Š›.Šœ.Š�.Šž.ŠŸ.Š .Š¡.Š¢.Š£.Ф.Š¥.Ц.Ч.Ѝ.Š©.Šª.Š«.Ь.Š­.Š®.Н.а.б.в.г.Š´.е.ж.Š·.Џ.й.Šº.Š».м.н.о.Š¿.ŠÀ.ŠÁ.ŠÂ.ŠÃ.ŠÄ.ŠÅ.ŠÆ.ŠÇ.ŠÈ.ŠÉ.ŠÊ.ŠË.ŠÌ.ŠÍ.ŠÎ.ŠÏ.ŠÐ.ŠÑ.ŠÒ.ŠÓ.ŠÔ.ŠÕ.ŠÖ.Š×.ŠØ.ŠÙ.ŠÚ.ŠÛ.ŠÜ.ŠÝ.ŠÞ.Šß.Šà.Šá.Šâ.Šã.Šä.Šå.Šæ.Šç.Šè.Šé.Šê.Šë.Šì.Ší.Šî.Šï.Šð.Šñ.Šò.Šó.Šô.Šõ.Šö.Š÷.Šø.Šù.Šú.Šû.Šü.Šý.Šþ.Šÿ.Š€/Š�/Š‚/Šƒ/Š„/Š…/І/Ї/Šˆ/Љ/ŠŠ/Š‹/ŠŒ/Š�/ŠŽ/Š�/Š�/Š‘/Š’/Š“/Š”/Š•/Š–/Š—/Š˜/Š™/Šš/Š›/Šœ/Š�/Šž/ŠŸ/Š /Š¡/Š¢/Š£/Ф/Š¥/Ц/Ч/Ѝ/Š©/Šª/Š«/Ь/Š­/Š®/Н/а/б/в/г/Š´/е/ж/Š·/Џ/й/Šº/Š»/м/н/о/Š¿/ŠÀ/ŠÁ/ŠÂ/ŠÃ/ŠÄ/ŠÅ/ŠÆ/ŠÇ/ŠÈ/ŠÉ/ŠÊ/ŠË/ŠÌ/ŠÍ/ŠÎ/ŠÏ/ŠÐ/ŠÑ/ŠÒ/ŠÓ/ŠÔ/ŠÕ/ŠÖ/Š×/ŠØ/ŠÙ/ŠÚ/ŠÛ/ŠÜ/ŠÝ/ŠÞ/Šß/Šà/Šá/Šâ/Šã/Šä/Šå/Šæ/Šç/Šè/Šé/Šê/Šë/Šì/Ší/Šî/Šï/Šð/Šñ/Šò/Šó/Šô/Šõ/Šö/Š÷/Šø/Šù/Šú/Šû/Šü/Šý/Šþ/Šÿ/Š€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Š€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‹Ç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‹�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‹€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Œá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Ž€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�·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�î5�ï5�ð5�ñ5�ò5�ó5�ô5�õ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�”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‘ì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ıTIJTijTÄ´TĵTĶTÄ·TĸTĹTĺTÄ»TļTĽTľTÄ¿TÄÀTÄÁTÄÂTÄÃTÄÄTÄÅTÄÆTÄÇTÄÈTÄÉTÄÊTÄËTÄÌTÄÍTÄÎTÄÏTÄÐTÄÑTÄÒTÄÓTÄÔTÄÕTÄÖTÄ×TÄØTÄÙTÄÚTÄÛTÅÜTÅÝTÅÞTÅßTÅàTÅáTÅâTÅãTÅäTÅåTÅæTÅçTÅè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ʼnUÅŠ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ǰVDZVDzVdzVÇ´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Þ±mÞ²mÞ³mÞ´mÞµmÞ¶mÞ·mÞ¸mÞ¹mÞºmÞ»mÞ¼mÞ½mÞ¾mÞ¿mÞÀmÞÁmÞÂmÞÃmÞÄmÞÅmÞÆmÞÇmÞÈmÞÉmÞÊmÞËmÞÌmÞÍmÞÎmÞÏmÞÐmÞÑmÞÒmÞÓmÞÔmÞÕmÞÖmÞ×mÞØmÞÙmÞÚmÞÛmÞÜmÞÝmÞÞmÞßmÞàmÞámÞâmÞãmÞämÞåmÞæmÞçmÞè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¸ȉ¸ɉ¸ʉ¸ˉ¸̉¸͉¸Ή¸ω¸Љ¸щ¸Ò‰¸Ó‰¸Ô‰¸Õ‰¸Ö‰¸׉¸؉¸Ù‰¸Ú‰¸Û‰¸܉¸݉¸Þ‰¸߉¸à‰¸á‰¸â‰¸ã‰¸ä‰¸å‰¹æ‰¹ç‰¹è‰¹é‰¹ê‰¹ë‰¹ì‰¹í‰¹î‰¹ï‰¹ð‰¹ñ‰¹ò‰¹ó‰¹ô‰¹õ‰¹ö‰¹÷‰¹ø‰¹ù‰¹ú‰¹û‰¹ü‰¹ý‰¹þ‰¹ÿ‰¹€Š¹�й‚йƒŠ¹„Šº…Š»†Š»‡Š»ˆŠ»‰Š»ŠŠ»‹Š»ŒŠ»�Š»ŽŠ¼�н�н‘н’н“н”н•н–н—Šñ˜Šñ™ŠñšŠ¾›Š¾œŠ¾�оžŠ¾ŸŠ¾ Š¾¡Š¾¢Š¾£Š¾¤Š¾¥Š¾¦Š¾§Š¾¨Š¾©Š¾ªŠ¾«Š¾¬Š¾­Š¾®Š¾¯Š¾°Š¾±Š¾²Š¾³Š¾´Š¾µŠ¾¶Š¾·Š¾¸Š¾¹Š¾ºŠ¾»Š¾¼Š¾½Š¾¾Š¾¿Š¾ÀоÁŠ¾Š¾Ê¾ÄŠ¾ÅŠ¾ÆŠ¾ÇŠ¾ÈŠ¾ÉŠ¾ÊŠ¾ËŠ¾ÌŠ¾ÍоΊ¾ÏоЊ¾ÑŠ¾ÒŠ¾ÓŠ¾ÔŠ¾ÕŠ¾Öо׊¾ØŠ¾ÙŠ¾ÚŠ¾ÛŠ¾ÜŠ¾ÝŠ¾ÞŠ¾ߊ¾àŠ¾áŠ¾âŠ¾ãŠ¾äŠ¾åŠ¾æŠ¾çŠ¾èŠ¾éŠ¾êŠ¾ëŠ¾ìŠ¾íŠ¾îŠ¾ïŠ¾ðоñоòоóоôоõоöо÷оøŠ¾ùŠ¿úŠ¿ûŠ¿üŠ¿ýŠ¿þŠ¿ÿŠÀ€‹À�‹À‚‹Àƒ‹À„‹À…‹À†‹À‡‹Àˆ‹À‰‹ÀŠ‹À‹‹ÀŒ‹À�‹ÀŽ‹À�‹À�‹À‘‹À’‹À“‹À”‹À•‹À–‹À—‹À˜‹À™‹Àš‹À›‹Àœ‹À�‹Àž‹ÀŸ‹À ‹À¡‹À¢‹À£‹À¤‹À¥‹À¦‹À§‹À¨‹À©‹Àª‹À«‹À¬‹À­‹À®‹À¯‹À°‹À±‹À²‹À³‹À´‹Àµ‹À¶‹À·‹À¸‹À¹‹Àº‹À»‹À¼‹À½‹À¾‹À¿‹ÀÀ‹ÀÁ‹À‹ÀËÀÄ‹ÀÅ‹ÀÆ‹ÀÇ‹ÀÈ‹ÀÉ‹ýÊ‹ýË‹ýÌ‹ýÍ‹ý΋ýÏ‹ýЋýÑ‹ýÒ‹ýÓ‹ýÔ‹ýÕ‹ýÖ‹ý׋ýØ‹ýÙ‹ýÚ‹ýÛ‹ýÜ‹ýÝ‹ýÞ‹ýß‹ýà‹ýá‹ýâ‹ýã‹ýä‹ýå‹ýæ‹ýç‹ýè‹ýé‹ýê‹ýë‹ýì‹ýí‹ýî‹ýï‹ýð‹ýñ‹ýò‹ýó‹ýô‹ýõ‹ýö‹ý÷‹ýø‹ýù‹ýú‹ýû‹ýü‹ýý‹ýþ‹ýÿ‹ý€Œý�Œý‚ŒýƒŒý„Œý…Œý†Œý‡ŒýˆŒý‰ŒýŠŒý‹ŒýŒŒý�ŒýŽŒý�Œý�Œý‘Œý’Œý“Œý”Œý•Œý–Œý—Œý˜Œý™ŒýšŒý›ŒýœŒý�ŒýžŒýŸŒý Œý¡Œý¢Œý£Œý¤Œý¥Œý¦Œý§Œý¨Œý©ŒýªŒý«Œý¬Œý­Œý®Œý¯Œý°Œý±Œý²Œý³Œý´ŒýµŒý¶Œý·Œý¸Œý¹ŒýºŒý»Œý¼Œý½Œý¾Œý¿ŒýÀŒýÁŒýÂŒýÃŒýÄŒýÅŒýÆŒýÇŒýÈŒýÉŒýÊŒýËŒýÌŒýÍŒýÎŒýÏŒýÐŒýÑŒýÒŒýÓŒýÔŒýÕŒýÖŒý׌ýØŒýÙŒýÚŒýÛŒýÜŒÁÝŒÁÞŒŸߌŸàŒŸáŒŸâŒŸãŒŸäŒŸåŒŸæŒŸçŒŸèŒŸéŒŸêŒŸëŒŸìŒŸíŒŸîŒŸïŒŸðŒŸñŒŸòŒŸóŒŸôŒŸõŒÂöŒÂ÷ŒÂøŒÂùŒÂúŒÂûŒÂüŒÂýŒÂþŒÂÿŒÂ€�Â��‚�ƒ�„�Â…�†�‡�ˆ�‰�Š�Ë�ÃŒ�Ä��ÄŽ�Ä��Ä��Ä‘�Ä’�Ä“�Ä”�Ä•�Ä–�Ä—�Ę�Ä™�Äš�Ä›�Äœ�Ä��Äž�ÄŸ�Ä �Ä¡�Ä¢�Ä£�Ĥ�Ä¥�Ħ�ħ�Ĩ�Ä©�Ī�Ä«�Ĭ�Ä­�Ä®�į�İ�ı�IJ�ij�Ä´�ĵ�Ķ�Ä·�ĸ�Ĺ�ĺ�Ä»�ļ�Ľ�ľ�Ä¿�ÄÀ�ÄÁ�ÄÂ�ÄÃ�ÄÄ�ÄÅ�ÄÆ�ÄÇ�ÄÈ�ÅÉ�ÅÊ�ÅË�ÅÌ�ÅÍ�ÅÎ�ÅÏ�ÅÐ�ÅÑ�¡Ò�¡Ó�¡Ô�¡Õ�¡Ö�¡×�¡Ø�¡Ù�¡Ú�¡Û�¡Ü�¡Ý�¡Þ�¡ß�¡à�¡á�¡â�¡ã�¡ä�¡å�¡æ�¡ç�¡è�¡é�¡ê�¡ë�¡ì�¡í�¡î�¡ï�¡ð�¡ñ�¡ò�¡ó�¡ô�¡õ�¡ö�¡÷�£ø�£ù�£ú�£û�£ü�£ý�£þ�£ÿ�£€Ž£�Ž£‚Ž£ƒŽ£„Ž£…Ž£†Ž£‡Ž£ˆŽ£‰Ž£ŠŽ£‹Ž£ŒŽ£�Ž£ŽŽ£�Ž£�Ž£‘Ž£’Ž£“Ž£”Ž£•Ž£–Ž£—Ž£˜Ž£™Ž£šŽ£›Ž£œŽ£�Ž£žŽ£ŸŽ£ Ž£¡Ž£¢Ž££Ž£¤Ž£¥Ž£¦Ž£§Ž£¨Ž£©Ž£ªŽ£«Ž£¬Ž£­Ž£®Ž£¯Ž£°Ž£±Ž£²Ž£³Ž£´Ž¤µŽ¤¶Ž¤·Ž¤¸Ž¤¹Ž¤ºŽ¤»Ž¤¼Ž¤½Ž¤¾Ž¤¿Ž¤ÀޤÁŽ¤ÂŽ¤ÃŽ¤ÄŽ¤ÅŽ¤ÆŽ¤ÇŽ¤ÈŽ¤ÉŽÆÊŽÆËŽÆÌŽÆÍŽÆÎŽÆÏŽÆÐŽÆÑŽÆÒŽÆÓŽÆÔŽÆÕŽÆÖŽÆ׎ÆØŽÆÙŽÆÚŽÆÛŽÆÜŽÆÝŽÆÞŽÆߎÆàŽÆáŽÆâŽÆãŽÆäŽÆåŽÆæŽÆçŽÆèŽÇéŽÇêŽÇëŽÇìŽÇíŽÇîŽÇïŽÇðŽùñŽùòŽùóŽùôŽùõŽùöŽù÷ŽùøŽùùŽùúŽùûŽùüŽùýŽùþŽùÿŽù€�ù��È‚�ȃ�È„�È…�Ȇ�ȇ�Ȉ�ȉ�ÈŠ�È‹�ÈŒ�È��ÈŽ�È��È��È‘�È’�È“�È”�È•�È–�È—�Ș�È™�Èš�È›�Èœ�È��Èž�ÈŸ�È �È¡�È¢�È£�Ȥ�È¥�Ȧ�ȧ�Ȩ�È©�Ȫ�È«�Ȭ�È­�È®�ȯ�Ȱ�ȱ�Ȳ�ȳ�È´�ȵ�ȶ�È·�ȸ�ȹ�Ⱥ�È»�ȼ�Ƚ�Ⱦ�È¿�ÈÀ�ÈÁ�ÈÂ�ÈÃ�ÈÄ�ÈÅ�ÈÆ�ÈÇ�ÈÈ�ÈÉ�ÈÊ�ÈË�ÈÌ�ÈÍ�ÈÎ�ÈÏ�ÈÐ�ÈÑ�ÈÒ�ÈÓ�ÈÔ�ÈÕ�ÈÖ�È×�ÈØ�ÈÙ�ÈÚ�ÈÛ�ÈÜ�ÈÝ�ÈÞ�Èß�Èà�Èá�Èâ�Èã�Èä�Èå�Èæ�Èç�Èè�Èé�Èê�Èë�Éì�Éí�Éî�Éï�Éð�Éñ�Éò�Éó�Éô�Éõ�Éö�Ê÷�Êø�Êù�Êú�Êû�Êü�Êý�Êþ�Êÿ�Ê€�Ê��Ê‚�ʃ�Ê„�Ê…�ʆ�ʇ�ʈ�ʉ�ÊŠ�Ê‹�ÊŒ�Ê��ÊŽ�Ê��Ê��Ê‘�Ê’�Ê“�Ê”�Ê•�Ê–�Ê—�ʘ�Ê™�Êš�Ê›�Êœ�Ê��Êž�ÊŸ�Ê �Ê¡�Ê¢�Ê£�ʤ�Ê¥�ʦ�ʧ�ʨ�Ê©�ʪ�Ê«�ʬ�Ê­�Ê®�ʯ�ʰ�ʱ�ʲ�ʳ�Ê´�ʵ�ʶ�Ê·�ʸ�ʹ�ʺ�Ê»�ʼ�ʽ�ʾ�Ê¿�ÊÀ�ÊÁ�ÊÂ�ÊÃ�ÊÄ�ÊÅ�ÊÆ�ÊÇ�ÊÈ�ÊÉ�ÊÊ�ÊË�ÊÌ�ÊÍ�ÊÎ�ÊÏ�ÊÐ�ÊÑ�ÊÒ�ÊÓ�ÊÔ�ÊÕ�ÊÖ�Ê×�ÊØ�ÊÙ�ÊÚ�ÊÛ�ÊÜ�ÊÝ�ÊÞ�Êß�Êà�Êá�Êâ�Êã�Êä�Êå�Êæ�Êç�Êè�Êé�Êê�Êë�Êì�Êí�Êî�Êï�Êð�Êñ�Êò�Êó�Ëô�Ëõ�Ëö�Ë÷�Ìø�Ìù�Ìú�Ìû�Ìü�Ìý�Ìþ�Ìÿ�Ì€‘Ì�‘Ì‚‘̃‘Ì„‘Ì…‘̆‘̇‘̈‘̉‘ÌŠ‘Ì‹‘ÌŒ‘Ì�‘ÌŽ‘Ì�‘Ì�‘Ì‘‘Ì’‘Ì“‘Ì”‘Ì•‘Ì–‘Ì—‘̘‘Ì™‘Ìš‘Ì›‘Ìœ‘Ì�‘Ìž‘ÌŸ‘Ì ‘Ì¡‘Ì¢‘Ì£‘̤‘Ì¥‘̦‘̧‘̨‘Ì©‘̪‘Ì«‘̬‘Ì­‘Ì®‘̯‘̰‘̱‘̲‘̳‘Ì´‘̵‘̶‘Ì·‘̸‘̹‘̺‘Ì»‘̼‘̽‘̾‘Ì¿‘ÌÀ‘ÌÁ‘Ì‘ÌÑÌÄ‘ÌÅ‘ÌÆ‘ÌÇ‘ÌÈ‘ÌÉ‘ÌÊ‘ÌË‘ÌÌ‘ÌÍ‘ÌΑÌÏ‘ÌБÌÑ‘ÌÒ‘ÌÓ‘ÌÔ‘ÌÕ‘ÌÖ‘ÌבÌØ‘ÌÙ‘ÌÚ‘ÌÛ‘ÌÜ‘ÌÝ‘ÌÞ‘Ìß‘Ìà‘Ìá‘Ìâ‘Ìã‘Ìä‘Ìå‘Íæ‘Íç‘Íè‘Íé‘Íê‘Íë‘Íì‘Íí‘Ýî‘Ýï‘Ýð‘Ýñ‘Ýò‘Ýó‘Ýô‘Ýõ‘Ýö‘Ý÷‘Ýø‘Ýù‘Ýú‘Ýû‘Ýü‘Ýý‘Ýþ‘Ýÿ‘Ý€’Ý�’Ý‚’݃’Ý„’Ý…’݆’݇’݈’݉’ÝŠ’Ý‹’ÝŒ’Ý�’ÝŽ’Ý�’Ý�’Ý‘’Ý’’Ý“’Ý”’Ý•’Ý–’Ý—’ݘ’Ý™’Ýš’Ý›’Μ’Î�’Ξ’Ο’Π’Ρ’΢’Σ’Τ’Î¥’Φ’Χ’Ψ’Ï©’Ϫ’Ï«’Ϭ’Ï­’Ï®’ϯ’ϰ’ϱ’ϲ’ϳ’Ï´’ϵ’϶’Ï·’ϸ’Ϲ’Ϻ’л’м’н’о’п’ÐÀ’ÐÁ’ÐÂ’ÐÃ’ÐÄ’ÐÅ’ÐÆ’ÐÇ’ÐÈ’ÐÉ’ÐÊ’ÐË’ÐÌ’ÐÍ’ÐÎ’ÐÏ’ÐÐ’ÐÑ’ÐÒ’ÐÓ’ÐÔ’ÐÕ’ÐÖ’Ð×’ÑØ’ÑÙ’ÑÚ’ÑÛ’ÑÜ’ÑÝ’ÑÞ’Ñß’Ñà’Ñá’Òâ’Òã’Òä’Óå’Óæ’Óç’Óè’Óé’Óê’Óë’Óì’Óí’Óî’Óï’Óð’Óñ’Óò’Óó’Óô’Óõ’Óö’Ó÷’Óø’Óù’Óú’Óû’Óü’Óý’Óþ’Óÿ’Ó€“Ó�“Ó‚“Óƒ“Ó„“Ó…“Ó†“Ó‡“Óˆ“Ó‰“ÓŠ“Ó‹“ÓŒ“Ó�“ÓŽ“Ó�“Ó�“Ó‘“Ó’“Ó““Ó”“Ó•“Ó–“Ó—“Ó˜“Ó™“Óš“Ó›“Óœ“Ó�“Óž“ÓŸ“Ó “Ó¡“Ó¢“Ó£“Ó¤“Ó¥“Ó¦“Ó§“Ó¨“Ó©“Óª“Ó«“Ó¬“Ó­“Ó®“Ó¯“Ó°“Ó±“Ó²“Ó³“Ó´“Óµ“Ó¶“Ó·“Ó¸“Ó¹“Óº“Ó»“Ó¼“Ó½“Ó¾“Ó¿“ÓÀ“ÓÁ“Ó“ÓÓÓēӜӯ“ÓÇ“ÓÈ“ÓÉ“ÓÊ“ÓË“ÓÌ“ÓÍ“ÓΓÓÏ“ÓГÓÑ“ÓÒ“ÓÓ“ÓÔ“ÓÕ“ÓÖ“ÓדÓØ“ÓÙ“ÓÚ“ÓÛ“ÓÜ“ÓÝ“ÓÞ“Óß“Óà“Óá“Óâ“Óã“Óä“Óå“Óæ“Óç“Óè“Óé“Óê“Óë“Óì“Óí“Óî“Óï“Óð“Óñ“Óò“Óó“Óô“Óõ“Óö“Ó÷“Ôø“Ôù“Ôú“Õû“Õü“Õý“Õþ“Õÿ“Õ€”Õ�”Õ‚”Õƒ”Õ„”Õ…”Õ†”Õ‡”Õˆ”Õ‰”ÕŠ”Õ‹”ÕŒ”Õ�”ÕŽ”Õ�”Õ�”Õ‘”Õ’”Õ“”Õ””Õ•”Õ–”Õ—”Õ˜”Õ™”Õš”Õ›”Õœ”Õ�”Õž”ÕŸ”Õ ”Õ¡”Õ¢”Õ£”Õ¤”Õ¥”Õ¦”Õ§”Õ¨”Õ©”Õª”Õ«”Õ¬”Õ­”Õ®”Ö¯”Ö°”Ö±”Ö²”Ö³”Ö´”Öµ”Ö¶”Ö·”Ö¸”Ö¹”Öº”Ö»”Ö¼”Ö½”Ö¾”Ö¿”ÖÀ”ÖÁ” ” Ô Ä” Å” Æ” Ç” È” É” Ê” Ë” Ì” Í” Δ Ï” Д Ñ” Ò” Ó” Ô” Õ” Ö” ×” Ø” Ù” Ú” Û” Ü” Ý” Þ” ß” à” á” â” ã” ä” å” æ” ç” è” é” ê” ë” ì” í”×î”×ï”×ð”×ñ”×ò”×ó”×ô”×õ”×ö”×÷”×ø”×ù”×ú”×û”×ü”×ý”×þ”×ÿ”×€•×�•ׂ•׃•ׄ•×…•׆•ׇ•׈•׉•׊•׋•׌•×�•׎•×�•×�•ב•×’•ד•×”•ו•×–•×—•ט•×™•ך•×›•ל•×�•מ•ן•× •ס•×¢•×£•פ•×¥•צ•×§•ר•ש•ת•׫•׬•×­•×®•ׯ•×°•×±•ز•س•Ø´•ص•ض•Ù·•Ù¸•Ù¹•Úº•Ú»•Ú¼•Ú½•Ú¾•Ú¿•ÚÀ•ÚÁ•Ú•ÚÕÚÄ•ÚÅ•ÚÆ•ÚÇ•ÚÈ•ÚÉ•ÚÊ•ÚË•ÚÌ•ÚÍ•ÚΕÚÏ•ÚЕÚÑ•ÚÒ•ÚÓ•ÚÔ•ÚÕ•ÚÖ•ÚוÚØ•ÚÙ•ÚÚ•ÚÛ•ÚÜ•ÚÝ•ÚÞ•Úß•Úà•Úá•Úâ•Úã•Úä•Úå•Úæ•Úç•Úè•Úé•Úê•Úë•Úì•Úí•Úî•åï•åð•åñ•åò•åó•åô•åõ•åö•å÷•åø•åù•åú•åû•åü•åý•åþ•åÿ•倖å�–傖僖儖兖冖凖刖剖劖勖化å�–厖å�–å�–呖咖哖唖啖喖嗖嘖噖嚖囖圖å�–垖埖堖塖墖壖外奖妖姖娖婖媖嫖嬖孖宖寖尖屖岖峖崖嵖嶖巖帖幖庖廖弖彖徖忖åÀ–åÁ–å–åÖåÄ–åŖ寖åÇ–åÈ–åÉ–åÊ–åË–åÌ–åÍ–åΖåÏ–åЖåÑ–åÒ–åÓ–åÔ–åÕ–åÖ–åז娖åÙ–åÚ–åÛ–åÜ–åÝ–åÞ–åß–åà–åá–åâ–åã–åä–åå–åæ–åç–åè–åé–åê–åë–åì–åí–åî–åï–Ûð–Ûñ–Ûò–Ûó–Ûô–Ûõ–Ûö–Û÷–Ûø–Ûù–Ûú–Ûû–Ûü–Ûý–Ûþ–Ûÿ–Û€—Û�—Û‚—Ûƒ—Û„—Û…—Û†—Û‡—Ûˆ—Û‰—ÛŠ—Ü‹—ÜŒ—Ü�—ÜŽ—Ü�—Ü�—Ü‘—Ü’—Ü“—Ü”—Ü•—Ü–—Ü——ܘ—Ü™—Üš—Ü›—Üœ—Ü�—Üž—ÜŸ—Ü —Ü¡—Ü¢—Ü£—ܤ—Ü¥—ܦ—ܧ—ܨ—Ü©—ܪ—Ü«—ܬ—Ü­—Ü®—ܯ—ܰ—ܱ—ܲ—ܳ—Ü´—ܵ—ܶ—Ü·—ܸ—ܹ—ܺ—Ü»—ܼ—ܽ—ܾ—Ü¿—ÜÀ—ÜÁ—Ü—Ü×ÝÄ—ÝÅ—ÝÆ—ÝÇ—ÝÈ—ÝÉ—ÝÊ—ÝË—ÝÌ—ÝÍ—ÝΗÝÏ—ÞЗÞÑ—ÞÒ—ÞÓ—ÞÔ—ÞÕ—ÞÖ—ß×—ûØ—ƒÙ—ƒÚ—ƒÛ—ƒÜ—ƒÝ—ƒÞ—ƒß—ƒà—ƒá—ƒâ—ƒã—ƒä—ƒå—ƒæ—ƒç—ƒè—ƒé—þê—þë—þì—þí—þî—þï—þð—þñ—þò—þó—þô—þõ—þö—þ÷—þø—þù—þú—þû—þü—þý—þþ—þÿ—þ€˜þ�˜þ‚˜þƒ˜Á„˜Á…˜Á†˜Á‡˜àˆ˜à‰˜àŠ˜à‹˜àŒ˜à�˜àŽ˜à�˜à�˜à‘˜à’˜à“˜à”˜à•˜à–˜à—˜à˜˜à™˜àš˜à›˜àœ˜à�˜àž˜àŸ˜à ˜à¡˜à¢˜à£˜à¤˜à¥˜à¦˜à§˜à¨˜à©˜àª˜à«˜à¬˜à­˜ä®˜ä¯˜ä°˜ä±˜ä²˜ä³˜ä´˜äµ˜ä¶˜ä·˜ä¸˜ä¹˜äº˜ä»˜ä¼˜ä½˜á¾˜á¿˜áÀ˜áÁ˜á˜áØáĘáŘáƘáǘáȘáɘáʘá˘á̘á͘áΘâϘâИâјâÒ˜âÓ˜âÔ˜âÕ˜âÖ˜âטâؘâÙ˜âÚ˜âÛ˜âܘâݘâÞ˜âߘãà˜ãá˜ãâ˜ãã˜ãä˜ãå˜ãæ˜ãç˜ãè˜ãé˜ãê˜ãë˜ãì˜ãí˜ãî˜ãï˜ãð˜äñ˜äò˜äó˜äô˜åõ˜åö˜å÷˜åø˜åù˜åú˜ëû˜ëü˜ëý˜ëþ˜ëÿ˜ë€™ë�™ë‚™ëƒ™ë„™ë…™ë†™ë‡™ëˆ™ë‰™ëŠ™ë‹™ëŒ™Ž�™ŽŽ™Ž�™Ž�™Ž‘™Ž’™Ž“™Ž”™Ž•™Ž–™Ž—™Ž˜™Ž™™Žš™Ž›™Žœ™Ž�™Žž™ŽŸ™Ž ™Ž¡™æ¢™æ£™æ¤™æ¥™æ¦™æ§™æ¨™æ©™æª™æ«™æ¬™æ­™æ®™æ¯™æ°™æ±™æ²™æ³™æ´™æµ™æ¶™æ·™æ¸™æ¹™æº™æ»™æ¼™æ½™æ¾™æ¿™æÀ™æÁ™æ™æÙæÄ™æÅ™æÆ™æÇ™æÈ™çÉ™çÊ™çË™çÌ™çÍ™çΙçÏ™çЙçÑ™çÒ™çÓ™çÔ™çÕ™çÖ™ï×™ïØ™¢Ù™¢Ú™¢Û™¢Ü™¢Ý™¢Þ™¢ß™¢à™¢á™¢â™¢ã™¢ä™¢å™¢æ™¢ç™¢è™¢é™¢ê™¢ë™¢ì™¢í™¢î™¢ï™¢ð™¢ñ™¢ò™¢ó™¢ô™¢õ™¢ö™¢÷™¢ø™¢ù™¢ú™¢û™¢ü™¢ý™¢þ™¢ÿ™¢€š¢�š¢‚š¢ƒš¢„š¢…š¢†š¢‡š¢ˆš¢‰š¢Šš¢‹š¢Œš¢�š¢Žš¢�š¢�š¢‘š¢’š¢“š¢”š¢•š¢–š¢—š¢˜š¢™š¢šš¢›š¢œš¢�š¥žš¥Ÿš¥ š¥¡š¥¢š¥£š¥¤š¥¥š¥¦š¥§š¥¨š¥©š¥ªš¥«š¥¬š¥­š¥®š¥¯š¥°š¥±š¥²š¥³š¥´š¥µš¥¶š¥·š¥¸š¥¹š¥ºš¥»š¥¼š¥½š¥¾š§¿š§Àš§Áš§š§Ú§Äš§Åš§Æš§Çš§Èš§Éš§ÊšèËšèÌšèÍšèΚèÏšèКèÑšèÒšèÓšèÔšèÕšéÖšéךéØšéÙšéÚšéÛšêÜšêÝšêÞšêßšêàšêášêâšêãšêäšêåšêæšêçšêèšêéšêêšêëšêìšêíšêîšêïšêðšêñšêòšêóšêôšêõšêöšê÷šêøšêùšêúšêûšêüšêýšêþšêÿšê€›ê�›ê‚›êƒ›ê„›ê…›ê†›ê‡›êˆ›ê‰›êŠ›ê‹›êŒ›ê�›êŽ›ê�›ê�›ê‘›ê’›ê“›ê”›ê•›ê–›ê—›ê˜›ê™›êš›ê››êœ›ê�›êž›êŸ›ê ›ê¡›ê¢›ê£›ê¤›ê¥›ê¦›ê§›ê¨›ê©›êª›ê«›ê¬›ë­›ë®›ë¯›ë°›ë±›ë²›ë³›ë´›ëµ›ë¶›ë·›ë¸›ë¹›ëº›ë»›ë¼›ë½›ë¾›ë¿›ëÀ›ëÁ›ë›ëÛëÄ›ëÅ›ëÆ›ëÇ›ëÈ›ëÉ›ëÊ›ëË›ëÌ›ëÍ›ëΛëÏ›ëЛëÑ›ìÒ›ìÓ›ìÔ›ìÕ›ìÖ›ì×›ìØ›ìÙ›ìÚ›ìÛ›íÜ›íÝ›íÞ›íß›íà›íá›íâ›íã›íä›íå›íæ›íç›íè›íé›íê›íë›íì›íí›îî›îï›îð›îñ›îò›îó›îô›îõ›îö›î÷›îø›îù›îú›îû›îü›îý›îþ›îÿ›î€œî�œî‚œîƒœî„œî…œî†œî‡œîˆœî‰œîŠœî‹œîŒœî�œîŽœî�œî�œî‘œî’œï“œï”œï•œï–œï—œï˜œè™œèšœè›œèœœè�œèžœèŸœè œè¡œè¢œè£œè¤œè¥œè¦œè§œè¨œè©œèªœè«œè¬œð­œð®œð¯œð°œð±œð²œð³œð´œðµœð¶œð·œð¸œð¹œðºœð»œð¼œð½œð¾œð¿œðÀœðÁœðœðÜðÄœðÅœðÆœðÇœðÈœðÉœðÊœñËœñÌœñÍœñΜòÏœòМòÑœêÒœêÓœêÔœêÕœêÖœêלêØœêÙœêÚœêÛœêÜœêÝœêÞœêßœêàœêáœêâœêãœêäœêåœêæœêçœóèœóéœóêœóëœóìœóíœóîœóïœóðœóñœóòœóóœóôœóõœóöœó÷œóøœóùœóúœóûœóüœóýœóþœóÿœó€�ó��ó‚�óƒ�ó„�ó…�ó†�ó‡�óˆ�ó‰�óŠ�ó‹�óŒ�ó��óŽ�ó��ó��ó‘�ó’�ó“�ó”�ó•�ó–�ó—�ó˜�ó™�óš�ó›�óœ�ó��óž�óŸ�ó �ó¡�ó¢�ó£�ó¤�ó¥�ó¦�ó§�ó¨�ó©�óª�ó«�ó¬�ó­�ô®�ô¯�ô°�ô±�ô²�ô³�ô´�ôµ�ô¶�ô·�ô¸�ô¹�ôº�ô»�ô¼�ô½�ô¾�ô¿�ôÀ�ôÁ�ôÂ�ôÃ�ôÄ�ôÅ�ôÆ�ôÇ�ôÈ�ôÉ�ôÊ�ôË�ôÌ�ôÍ�ôÎ�ôÏ�ôÐ�ôÑ�ôÒ�àÓ�àÔ�àÕ�àÖ�à×�àØ�àÙ�àÚ�àÛ�àÜ�àÝ�àÞ�àß�àà�àá�àâ�àã�æä�æå�ææ�æç�æè�æé�æê�æë�æì�æí�æî�æï�æð�æñ�æò�æó�æô�æõ�æö�æ÷�æø�æù�æú�æû�æü�æý�æþ�æÿ�怞æ�žæ‚žæƒžæ„žæ…žæ†žæ‡žæˆžæ‰žæŠžæ‹žæŒžæ�žæŽžæ�žæ�žæ‘žæ’žæ“žæ”žæ•žæ–žæ—žæ˜žæ™žæšžæ›žæœžæ�žæžžæŸžæ žæ¡žæ¢žæ£žæ¤žæ¥žæ¦žõ§žõ¨žõ©žõªžõ«žõ¬žõ­žõ®žõ¯žõ°žõ±žõ²žõ³ž¨´ž¨µžì¶žì·žì¸žì¹žìºžì»žì¼žì½žì¾žì¿žìÀžìÁžìžìÞìÄžìÅžìÆžìÇžìÈžìÉžìÊžìËžìÌžìÍžìΞìÏžöО÷Ñž÷ÒžðÓžðÔžðÕžðÖžðמðØžðÙžðÚžðÛžðÜžðÝžðÞžðßžðàžðážðâžð㞦䞦垦枦瞦螦鞦Ꞧ랦잦힦ðž¦ñž¦òž¦óž¦ôž¦õž¦öž¦÷ž¦øž¦ùž¦úž¦ûž¦üž¦ýž¦þž¦ÿž¦€Ÿ¦�Ÿ¦‚Ÿ¦ƒŸ¦„Ÿ¦…Ÿ¦†Ÿ¦‡Ÿ¦ˆŸ¦‰Ÿ¦ŠŸ¦‹Ÿ¦ŒŸ¦�Ÿ¦ŽŸ¦�Ÿ¦�Ÿé‘Ÿé’Ÿé“Ÿé”Ÿé•Ÿé–Ÿé—Ÿé˜Ÿé™ŸéšŸé›ŸéœŸé�ŸéžŸéŸŸé Ÿé¡Ÿé¢Ÿé£Ÿé¤Ÿé¥Ÿé¦Ÿé§Ÿé¨Ÿé©ŸéªŸé«Ÿé¬Ÿé­Ÿé®Ÿé¯Ÿé°Ÿé±Ÿé²Ÿø³Ÿø´ŸøµŸø¶Ÿø·Ÿø¸Ÿø¹ŸøºŸø»Ÿø¼Ÿø½Ÿø¾Ÿø¿ŸøÀŸøÁŸøŸøßøÄŸøÅŸøÆŸøÇŸøÈŸøÉŸøÊŸøËŸøÌŸøÍŸøΟøÏŸøПøÑŸøÒŸøÓŸøÔŸøÕŸøÖŸøןøØŸøÙŸøÚŸøÛŸøÜŸøÝŸøÞŸøߟøàŸøáŸøâŸøãŸøäŸøåŸøæŸøçŸøèŸøéŸøêŸøëŸøìŸøíŸøîŸøïŸøðŸîñŸîòŸîóŸîôŸîõŸîöŸî÷ŸîøŸîùŸîúŸîûŸîüŸîýŸîþŸîÿŸî€ î� î‚ îƒ î„ î… î† î‡ îˆ î‰ îŠ î‹ îŒ î� îŽ î� î� î‘ î’ î“ î” î• î– ù— ú˜ û™ ûš û› ûœ û� ûž ûŸ û  ü¡ ü¢ ý£ ý¤ ý¥ ý¦ ý§ ý¨ ý© ýª ý« ý¬ ý­ ý® ý¯ ý° þ± þ² 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¯¡ÿ°¡ÿ±¡ÿ²¡€³¡€´¡€µ¡�¶¡�·¡�¸¡�¹¡‚º¡‚»¡ƒ¼¡ƒ½¡ƒ¾¡ƒ¿¡„À¡…Á¡…¡†á†Ä¡†Å¡†Æ¡†Ç¡†È¡‡É¡‡Ê¡‡Ë¡ˆÌ¡‰Í¡‰ΡŠÏ¡ŠС‹Ñ¡‹Ò¡‹Ó¡‹Ô¡‹Õ¡ŒÖ¡ŒסŒØ¡ŒÙ¡ŒÚ¡�Û¡�Ü¡�Ý¡�Þ¡�ß¡�à¡�á¡�â¡�ã¡�ä¡�å¡�æ¡�ç¡�è¡�é¡�ê¡�ë¡�ì¡�í¡�î¡�ð¡Žñ¡Žò¡Žó¡Žô¡Žõ¡Žö¡Ž÷¡Žø¡Žù¡Žú¡Žû¡Žü¡Žý¡Žþ¡Žÿ¡Ž€¢Ž�¢Ž‚¢Žƒ¢�„¢�…¢�†¢�‡¢�ˆ¢�‰¢�Š¢�‹¢�Œ¢��¢�Ž¢��¢��¢�‘¢�’¢�“¢�”¢�•¢�–¢�—¢�˜¢�™¢�š¢�›¢�œ¢��¢�ž¢�Ÿ¢� ¢�¡¢�¢¢�£¢�¤¢�¥¢�¦¢�§¢�¨¢�©¢�ª¢�«¢�¬¢�­¢�®¢�¯¢�°¢�±¢�²¢�³¢�´¢�µ¢�¶¢�·¢�¸¢�¹¢�º¢�»¢�¼¢�½¢�¾¢�¿¢�À¢�Á¢�¢�â�Ä¢�Å¢�Æ¢�Ç¢�È¢�É¢�Ê¢�Ë¢�Ì¢�Í¢�΢�Ï¢�Т�Ñ¢�Ò¢�Ó¢�Ô¢�Õ¢�Ö¢�×¢�Ø¢�Ù¢�Ú¢�Û¢�Ü¢�Ý¢�Þ¢�ߢ�à¢�á¢�â¢�ã¢�ä¢�å¢�æ¢�ç¢�è¢�é¢�ê¢�ë¢�ì¢�í¢�î¢�ï¢�ð¢�ñ¢�ò¢�ó¢�ô¢�õ¢�ö¢�÷¢�ø¢�ù¢�ú¢�û¢�ü¢�ý¢�þ¢�ÿ¢�€£��£�‚£�ƒ£�„£�…£�†£�‡£�ˆ£�‰£�Š£�‹£�Œ£��£�Ž£��£��£�‘£�’£�“£�”£�•£�–£�—£�˜£�™£�š£�›£�œ£��£�ž£�Ÿ£� £�¡£�¢£�££�¤£�¥£�¦£�§£�¨£�©£�ª£�«£�¬£�­£�®£�¯£�°£�±£�²£�³£�´£�µ£�¶£�·£‘¸£‘¹£‘º£‘»£‘¼£‘½£‘¾£‘¿£‘À£‘Á£‘£‘ã‘Ä£‘Å£‘Æ£‘Ç£‘È£‘É£‘Ê£‘Ë£‘Ì£‘Í£‘Σ‘Ï£‘У‘Ñ£‘Ò£‘Ó£‘Ô£‘Õ£‘Ö£‘×£‘Ø£‘Ù£‘Ú£‘Û£‘Ü£‘Ý£‘Þ£‘ߣ‘à£‘á£‘â£‘ã£‘ä£‘å£‘æ£‘ç£‘è£‘é£’ê£“ë£”ì£”í£”î£”ï£”ð£”ñ£”ò£”ó£”ô£”õ£”ö£”÷£”ø£”ù£•ú£•û£–ü£–ý£–þ£–ÿ£–€¤–�¤–‚¤–ƒ¤–„¤–…¤–†¤—‡¤—ˆ¤—‰¤—Ф—‹¤—Œ¤—�¤—ޤ—�¤—�¤—‘¤—’¤—“¤—”¤—•¤—–¤——¤—˜¤—™¤—𤗛¤—œ¤—�¤—ž¤—Ÿ¤— ¤—¡¤—¢¤—£¤—¤¤—¥¤—¦¤—§¤—¨¤—©¤—ª¤—«¤—¬¤—­¤—®¤—¯¤—°¤—±¤—²¤—³¤—´¤—µ¤—¶¤—·¤—¸¤—¹¤—º¤—»¤—¼¤—½¤—¾¤—¿¤—À¤—Á¤—¤—ä—Ĥ—Ť—Ƥ—Ǥ—Ȥ—ɤ—ʤ—ˤ—̤—ͤ—Τ—Ϥ—Ф—Ѥ—Ò¤—Ó¤—Ô¤—Õ¤—Ö¤—פ—ؤ—Ù¤—Ú¤—Û¤—ܤ—ݤ—Þ¤—ߤ—à¤—á¤—â¤—ã¤—ä¤—å¤—æ¤—ç¤—è¤—é¤—ê¤—ë¤—ì¤—í¤—î¤—ï¤—ð¤—ñ¤—ò¤—ó¤—ô¤—õ¤—ö¤—÷¤—ø¤—ù¤—ú¤—û¤—ü¤—ý¤—þ¤—ÿ¤—€¥—�¥—‚¥—ƒ¥—„¥—…¥—†¥—‡¥—ˆ¥—‰¥—Š¥—‹¥—Œ¥—�¥—Ž¥—�¥—�¥—‘¥˜’¥˜“¥˜”¥˜•¥˜–¥˜—¥˜˜¥˜™¥˜š¥˜›¥˜œ¥˜�¥˜ž¥˜Ÿ¥˜ ¥˜¡¥™¢¥™£¥™¤¥™¥¥™¦¥™§¥™¨¥™©¥™ª¥™«¥™¬¥™­¥™®¥™¯¥™°¥™±¥™²¥™³¥™´¥™µ¥™¶¥™·¥™¸¥™¹¥™º¥™»¥š¼¥›½¥›¾¥›¿¥›À¥›Á¥›Â¥›Ã¥›Ä¥›Å¥›Æ¥›Ç¥›È¥›É¥›Ê¥›Ë¥›Ì¥›Í¥›Î¥›Ï¥›Ð¥›Ñ¥›Ò¥›Ó¥›Ô¥›Õ¥›Ö¥›×¥œØ¥œÙ¥œÚ¥œÛ¥�Ü¥�Ý¥�Þ¥�ߥ�à¥žá¥žâ¥žã¥žä¥žå¥žæ¥žç¥žè¥žé¥žê¥žë¥žì¥ží¥žî¥žï¥žð¥žñ¥žò¥žó¥žô¥žõ¥žö¥ž÷¥žø¥žù¥žú¥žû¥žü¥žý¥žþ¥žÿ¥ž€¦ž�¦ž‚¦žƒ¦ž„¦ž…¦ž†¦ž‡¦žˆ¦ž‰¦žЦž‹¦žŒ¦ž�¦žަž�¦ž�¦ž‘¦Ÿ’¦ “¦ ”¦ •¦ –¦ —¦ ˜¦ ™¦¡š¦¡›¦¡œ¦¡�¦¡ž¦¡Ÿ¦¡ ¦¡¡¦¡¢¦¡£¦¡¤¦¡¥¦¡¦¦¡§¦¡¨¦¡©¦¡ª¦¡«¦¡¬¦¡­¦¡®¦¡¯¦¡°¦¡±¦¡²¦¡³¦¡´¦¡µ¦¡¶¦¡·¦¡¸¦¡¹¦¡º¦¡»¦¡¼¦¡½¦¡¾¦¡¿¦¡À¦¡Á¦¡¦¡æ¡Ħ¡Ŧ¢Ʀ¢Ǧ¢Ȧ¢ɦ£ʦ£˦£̦£ͦ£Φ£Ϧ£Ц£Ѧ£Ò¦£Ó¦£Ô¦£Õ¦£Ö¦£צ£ئ£Ù¦£Ú¦£Û¦£ܦ£ݦ¤Þ¦¤ߦ¤à¦¤á¦¤â¦¤ã¦¤ä¦¤å¦¤æ¦¤ç¦¥è¦¥é¦¥ê¦¥ë¦¥ì¦¥í¦¥î¦¥ï¦¥ð¦¥ñ¦¥ò¦¥ó¦¥ô¦¥õ¦¥ö¦¥÷¦¥ø¦¥ù¦¥ú¦¥û¦¥ü¦¥ý¦¥þ¦¦ÿ¦¦€§¦�§¦‚§§ƒ§§„§§…§§†§§‡§§ˆ§§‰§§Ч§‹§§Œ§§�§§ާ§�§¨�§¨‘§¨’§¨“§¨”§¨•§¨–§¨—§¨˜§¨™§¨š§¨›§¨œ§¨�§¨ž§¨Ÿ§¨ §¨¡§¨¢§¨£§¨¤§¨¥§¨¦§¨§§¨¨§¨©§¨ª§¨«§¨¬§¨­§¨®§¨¯§¨°§¨±§¨²§¨³§¨´§¨µ§¨¶§¨·§¨¸§¨¹§¨º§¨»§¨¼§¨½§¨¾§¨¿§¨À§¨Á§¨§¨ç¨ħ¨ŧ¨Ƨ©ǧªȧªɧªʧª˧ª̧ªͧªΧªϧªЧªѧªÒ§ªÓ§ªÔ§ªÕ§ªÖ§ª×§ªاªÙ§ªÚ§ªÛ§ªܧªݧªÞ§ªß§ªà§ªá§ª«2.9.0¶ None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú}ÄÇReturn the error corresponding to an exit code from the Agda processÇ113È120É71Ê42Ë1 ÃÄÅ6ÆÇÈÉÊË ÆÇÈÉÊËÄÃ6Å̬*1ͬ$(ά "ϬNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúQâ§Decoder for bytestringsString to renderResulting builderÐÐ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<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúDÕ8Run an action with an exclusive lock over the given pathÕÕ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<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúî™Modify the contents of an atomic variable. If the continuation fails, or receives an asynchronous exception, the variable is returned to its old state.ÐNo thread, *including the calling thread*, can access the contents of the same òõ while this function is executing, for reading *or* writing. This means that *any* nested use of the variable, as in öf var = modifyAtomic var old -> -- ... modifyAtomic var old' -> ... -- (!) readAtomic var -- (!) Ñwill result in a deadlock. The new state of the variable is evaluated (to WHNF).ï:Create a new atomic variable with the given initial value.ðÜRead the current state of the atomic variable, waiting if any other thread is modifying it.Like è§, ðð is multiple-wakeup, which means that all threads waiting on a modification will be woken up when it finishes.òËA mutable variable which can be read from and *modified*. This provides a î< combinator with atomic semantics for modification, unlike é§.îïðñòòïðîñó¯ ô¯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.¦@`#ª«¬­®¯°±²³2!´µ¶·¸¹º»¼½ 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<=>?ÀÃÄÅÆÇÈÉËÍÎÐÕØÛÝÞàçèïóúl Add a value to a compact region.Ä:Create a new compact region with given initial block size.ÂÃÄÅÆÅÆÄÂÃÇ¿ 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( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúåæçèæçèåéÃ!êà ëÃ#(ìà  None) #&()+,/0159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú í$Left-associative strict application.î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<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúº €?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.ƇLj €�‚ƒ'%&„…† €ƒ„†…ˆ‡‚�%'&€ ‰ÈÈ ÈŠÈÄ Ä‹ÈÔ Ô!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, Andreas Abel 2025 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)ª#minimal width of long option columnheaderoption 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<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúÙº#Importing a whole module qualified.ÉShould not be used when Ê could be used.ÊShould only be used in let or where.ó7Unstructured pragma (Andreas, 2017-08-23, issue #2712).ݺ»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–ÝíîñòóßàáâãäåºÅÆÇÈÉÊËÌÍÂÃÄÀÁ‹Œ�ξ¿…†‡ÝÞëì�‘’“”•–÷øùúûüýþÿˆ‰ŠÏÐÑÒÓÔÕÖרÙÚÛܼ½æçèéêïð€�‚ôõöƒ„Ž�»—Íì ì˜Í) )™Í> >šÍ7 7›Í/ /œÍË Ë�Í2 2žÍ, ,ŸÍé é ÍÚ Ú¡Íï ï¢ÍÁ Á£ÍÕ Õ¤Íô ô¥Íú ú¦Í÷ ÷§Íý ý¨Í; ;©Í€ €ªÍôô$None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú6« The function ¬” makes every function argument and case and generator pattern strict (except for those patterns that are marked as irrefutable, and anything in a È or ÕÅ). Note that only the outermost patterns are made strict, and that Ê bindings are not 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.›¨copyDirContentDryRun src dest; creates a to-do list for recursively copying directory src onto dest.œ¨Perform scheduled ˜¨.¼&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<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú Æ+Atomically modify the contents of a strict Ë3. Both the stored value and the result are forced.ÇModify a strict Ë? by a applying a function to the value stored in the reference.1This will force the value to WHNF before writing.ÈCreate a new strict Ë.ÀThis will force the value to WHNF before creating the reference.ÉRead the contents of a strict Ë.ÊWrite to a strict Ë.1This will force the value to WHNF before writing.ËStrict IO references.ÆÇÈÉÊËÌËÌÈÉÊÇÆ+None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúyÑSemiring with idempotent ª¨ == dioidÒE.g. +Óneutral element of compose , e.g. zeroÑÛÍÎÏÐÑÒÓÔÕÖרÙÚÍÎÏÐØÙÚÛÖ×ÔÕÑÒÓÜÒ ,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 ’Ø.õö÷÷õöøÙ ùÙ úÙ ûÙ .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<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúî™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.Ÿ"Numeric literals and addition for š.™š›œš›œ™�Û žÛ, ,ŸÛ  Û¡Û( (0None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúà¢ÜInserts a number of new bindings. The last element in the list will have de Bruijn index 0.£Converts a list to an ©<. The last element in the list will have de Bruijn index 0.¥The © invariant.¦ An empty map.§ÞInserts a new binding, which will have de Bruijn index 0, and shifts other bindings one step.©Maps from de Bruijn indices.«¨(Is the index in range for the given map?¬¨*Converts a de Bruijn index to a map index.¢£¤¥¦§¨©©¥¦§¢£¨¤ªÜ «Ü %1None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúô¬­¨®¨¯¨°¨±¨²¨³¨´¨µ¨¶¨·¨¸¨¹¨º¨»¨¼¨½¨¾¨¿¨À¨Á¨¨èĨŨƨǨȨɨʨ˨̨ͨΨϨШѨÒ¨Ó¨Ô¨Õ¨Ö¨רبÙ¨Ú¨Û¨ܨݨÞ¨ߨà¨á¨â¨ã¨ä¨å¨æ¨ç¨è¨é¨ê¨ë¨ì¨í¨î¨ï¨ð¨ñ¨ò¨ó¨ô¨õ¨ö¨÷¨ø¨ù¨ú¨û¨ü¨ý¨þ¨ÿ¨€©�©‚©ƒ©„©…©†©‡©ˆ©‰©Š©‹©Œ©�©Ž©�©�©‘©’©“©”©•©–©—©˜©™©š©›©œ©�©ž©Ÿ©¬2None( #&()+,/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.¼ÈStrictly modify a part of the state monadically, and return some result.½Modify a part of the state.¾$Strictly modify a part of the state.¿'Modify a part of the state monadically.À0Strictly modify a part of the state monadically.ÃWrite a part of the state.Ä#Strictly 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.È#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.ÏStrictly 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.ÑStrictly set inner part i of structure o as designated by  Lens' o i.ÒRead a part of the state.ÓRead part of the environment.åôVan Laarhoven style homogeneous lenses. Mnemoic: "Lens outer inner", same type argument order as 'get :: o -> i'.2»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓ+&ÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéA2»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèé&A+ »¼½¾¿ÀÁÂÃÄÅÆêÞÎ Î"ëÞÔ Ô&ìÞÚ Ú*íÞà à.îÞê ê"ïÞð ð&ðÞö ö*ñÞü ü.òÞ† †&óÞŒ Œ*ôÞ’ ’.õÞœ œ*öÞ¢ ¢.÷Þ¬ ¬.3None* #&()+,/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.øùúûüýþÿ€�‚ƒ„…†‡†‡ÿ€�‚ýùƒ„…úþûüø4None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúPˆÃ(View source:) This is how you implement a lens for a record field.ˆ‰Š‹Œ�Š‹Œ�ˆ‰None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú)6á» 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).½Spine-strict (++).¾Î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 ãä.ÄStrict ¤©.Å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])Ç.Break a list when the given predicate returns Just b and place b< as pivot between the prefix (where the predicate returns Nothing) and the suffix.)Crashes when the predicate holds nowhere.È5Case distinction for lists, with list first. O(1).Cf. Rå.É5Case distinction for lists, with list first. O(1).Cf. Rå.Ê Spine-strict catMaybe.Ë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).ÏStrict ¥©.ÐStrict ¦©Ñ×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 ä§.ÚStrict §©.Û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!?ÞÛThe more efficient implementation. We return a CPS's Maybe result for reliable inlining.ß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).æ Spine-strict å.ç©© and ª©& of non-empty list, safe. O(n). *initLast1 a as = (init (a:as), last (a:as)è Spine-strict ç.é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).ñ Strict map.òSpine-strict map.óStrict «©.ô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.þ Spine-strict ¯©.ÿÐAppend a single element at the end. Time: O(length); use only on small lists.€Monadic version of sortOn?. The effect is executed exactly once for each list element.�&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).„Spine-strict splitAt.…#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).Œ Spine-strict ´©.� -takeExactly a n as == take n (as ++ repeat a)ŽStrict µ©.�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).•Spine-strict zipping.–Strict ¶©.— Spine-strict ¶©.˜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 ™5Requires both lists to have the same length. O(n). Otherwise, Nothing is returned.œ$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.综½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™"š›œ�žŸ ç»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ "½`None( #&()+,/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 smallest representable exponent.º©#The largest representable exponent.+ùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£+ùŸ� ž¡‰ŒŽœ‘�™�‡’–Š�”‚—üúþÿ•ƒ˜ýû€“‹�…†›š¢„ˆ£5None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú­�äThere is only one meaningful way to concatenate a finite and an infinite list, justifying the name append = prependList.‘pad as b! implements the frequent pattern as ++ repeat b.’ &splitAt n as == (take n as, drop n as)”upFrom n = [n..] as properly infinite list.• Update the n#th element of an infinite list. ˜(n).Precondition: the index n is >= 0.Ž��‘’“”•–—˜™š›œ�žŸŽ��‘’“”•ž–—˜™š›œ�Ÿ6None) #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúÌ ;Update monadically the value at one position (must exist!).¡ Wrapper for   for convenience.¢ Version of forM_Á that deigns to be properly lambda-lifted for State, Reader, etc.¤ Version of  insertWith2 that's willing to be properly inlined. The extra cò argument is passed down to the insertions unchanged. It can be used to avoid closure creation for the loop.¥#Check whether a map is a singleton.¦"Filter a map and rewrite the keys.§partitionKeys m s = íî (ïð s) m2 but with potential for efficient implementation.¨partitionMap m m' = íî (íð m') m2 but with potential for efficient implementation.  ¡¢£¤¥¦§¨ ¤¢£ ¡¦¥§¨7None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúÞªÁMap both keys and values where the map is monotonic for the keys.ÜA function that maps both keys and values while preserving the map structure is missing in Data.Map.NonEmpty<. We implement it simplistically here as a combination of ñò and »©.«A 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 ()).™©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁ™©ª«¬À­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿Á9None+ #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÎÐÕØÛÝÞàçèïóúÍÎÏÐÏÐÎÍ:None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú‡Ñ"Simple, non-reentrant memoisation.ÒÒRecursive memoisation, second argument is the value you get on recursive calls.ÑÒÓÔÕÑÒÓÔÕ;None) #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú ÖרÙÚÛÜÝÞßàá ßàáÜÞÚ×ÖÛÝØÙâó ãó  äó  <None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú åæçèéêëìíîïðñ îïðñæéëìçíåèê=None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúpô/Function composition in the diagrammatic order.õ/Maximum of on-negative (small) natural numbers.òóôõö÷õö÷ôòó øô!%ùôúôûô üô ýô þô ÿô€ô>None( #&()+,/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¬õË Ë;­õ° °®õêê¯õ°õÓÓ?None( #&()+,/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') ±²³´µµ´²³±@None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú›¶ Semirings ( &https://en.wikipedia.org/wiki/Semiring).»Star semirings ( 5https://en.wikipedia.org/wiki/Semiring#Star_semirings).¶·¸¹º»¼¶·¸¹º»¼½ö *¾ö ¿ö( (2Àö% %ANone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúÁ÷ ÇÂ÷ ÄÃ÷ ÇÄ÷ ÆÅ÷ ËBNone/ #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÎÐÕØÛÝÞàçèïóôõúÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÓÔÕÖËÆÌÇÈÍÎÏÐÑÒÊÉ×øä äØøß ßÙøì ìÚøØ ØÛøÔ ÔÜøì ìÝø° °Þø¥ ¥ßø„ „àøö ö&áøó óâøâ âãø‘ ‘8äø™ ™Èåø¡ ¡Øæø© ª#çø² ³&èø» ½)éøÅ Ç,êø   ëøº ºìøÎ ÎíøØ Øîøâ âïøÄ ÄCNone, #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÎÐÕØÛÝÞàçèïóúöStrict traversal. ðñòóôõö÷øùú øùúô÷óõñòðöûù üù(0ýù&þùÿù/ /,€ ù� ù2=DNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ � Ž ‹ Œ � Ž „ † ˆ ‰ … Š ‚ ‡ ƒ ENone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú[� O(log n)Â. Find the given element and return the copy contained in the set.Ë� ½©¾©¿©À©Á©©éĩũƩǩȩɩʩ˩̩ͩΩÏ©Щѩҩөԩթ֩שة٩ک۩ܩݩީߩà©á©â©ã©ä©å©æ©ç©è©é©ê©ë©ì©í©î©ï©ð©ñ©ò©ó©ô©õ©ö©÷©ø©ù©ú©û©ü©ý©þ©ÿ©€ª�ª‚ªƒª„ª…ª†ª� 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 ()).Ð� ‘ ’ “ ” • – — ˜ ™ š › œ � ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü /.ÌÐ� ‘ ’ “ Ü ” • – — ˜ ™ š › œ � ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û /.ÌFNone* #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóôõúÝ Þ ß Ý Þ ß à ú á ú â ú GNone* #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóôõúã ä å ã ä å æ û ç û è û None+ #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóôõú ˆé ê ë ì í î „…†‡ „…†‡‰Šé ê ë ì í î ˆï ü‡ ‡ ð ü‚ ‚ñ ü .ò ü *ó ü© ©1ô üâ â8õ üé é6ö ü0 0(÷ üú ú2ø ü× ×,ù ü‘ ‘ú ü™ ™"û ü: :0ü üÑ Ñ6ý üÛ Û'þ üÍ Í ÿ üð ð8€ ü¥ ¥)� üÉ É7‚ ü Â=ƒ ü¡ ¡/None. #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÎÐÕØÛÝÞàçèïóôõú„ … † ‡ ˆ ‰ Š ‹ Œ � Ž � � ‘ ‹Œ�Ž‹Œ�Ž��‘„ … † ‡ ˆ ‰ Š ‹ Œ � Ž � � ‘ ’ ý( (“ ý! !” ýê ê-• ýã ã+– ýÊ ÊÀ— ý¸ ¸5˜ ýý ý'™ ýœ œ/š ý   +› ý¤ ¤7œ ý7 7� ýÌ Ì ž ý‹ ‹.Ÿ ý“ “&  ý‡ ‡¡ ýª ª7HNone- #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÎÐÕØÛÝÞàçèïóôõú¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ¯ ° ± « ¬ ­ ¤ ¥ ¦ § ¨ © ª £ ® ¢ ² þ !³ þ ´ þ. .None. #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÎÐÕØÛÝÞàçèïóôõúµ ¶ · ¸ —¹ º » ¼ ½ ¾ ’•–”“’•–”“™˜—µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ ÿ!À ÿ Á ÿ??! ÿ? ?à ÿÄÄ ÿÁÁÊÅ ÿÂÂÕÆ ÿ?#?(Ç ÿ?6?=È ÿÃÃ×É ÿÄÄÕÊ ÿ???ÐË ÿ?*?4Ì ÿ#(Í ÿ) ).Î ÿÇ Ç<INone( #&()+,/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). Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ñ Õ Ð Ö × Ø Ù Ò Ô Ó Ï JNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúÝ  Convert a ä  tagged thing into an à .Þ 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<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú{ð Strict pairing.ñ Monadic ~.ó Monadic version of @.ô Monadic .ö  Order a pair.ð ñ ò ó ô õ ö ÷ ø ù ú û ~A@ð @A~ö ò õ ÷ ø ù ó ñ ô ú û ð ü �Ð Ðý �Î Î'þ �ÎÎÿ �Î)Î1€ �ÎÎ� �Ô Ô%‚ �Π΃ �Î3Î>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).‰ ?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú+Ž Strict version of (&&&). Ž ÜÝÞßàáâãÛä Ž ÜÝÞßàáâãÛäŽ KNone+ #&()+,/12359<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúä‘ 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$� � ‘ ’ “ ” • – — ˜ ™ š › œ � ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² $‘ ¤ « ¡ ¢ § — ˜ ™ ¨ © ª “ ¦ ¥ ” ¬ ° ± ² � � Ÿ   • – œ � ž ­ ® ¯ £ š › ’ ³ ƒ‚ ‚/´ ƒþ þµ ƒ� �;¶ ƒ‹ ‹LNone) #&()+,/1359<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú’¹ ÝA known boolean is one we can obtain a singleton for. Concrete values are trivially known.» "Singleton for type level booleans.· ¸ ¹ º » ¼ ½ » ¼ ½ ¸ ¹ º · ¾ „ ¿ „ MNone) #&()+,/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.À À NNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú× Á Mark a computation as dirty.à Map a Ê ( computation (monad transformer action).Ä Run a É 0 computation, returning result plus change flag.Å Run a Ê 0 computation, returning result plus change flag.Æ Blindly run an updater.Ç Blindly run an updater.È ÆReplace result of updating with original input if nothing has changed.Ê The ChangeT monad transformer.Ë The class of change monads.Ï Like ò§, but preserving sharing.Ó Like  Bifunctor, but preserving sharing.‡ªEval an updater (using È ).á 8A mock change monad. Always assume change has happened.Í -Mark computation as having changed something.Ò  = sharing . updater1…Ø †Ù ‡Ú ˆÛ ‰Ü Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ê Å Ã × Ç É Ë Ì Í Ä Î È Æ Á Â Ï Ð Ñ Ò Ø Ú Û Ó Ô Õ Ö Ù Ü Ý Š%%!Þ Š% %ß Š2 2,à Š%#%(á ŠÅ Åâ ŠÉ É.ã Š%6%?ä Š%Á%Èå Š%*%4æ Š* *#ç Š‘ ‘è Š� �é Š£ £ê Š   ONone* #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÎÐÕØÛÝÞàçèïóúãë ÍTake the bitwise AND of the first argument with the complement of the second.ì 2Are the bit representations of two words disjoint?í )Get the bit-index of the highest set bit.î (Get the bit-index of the lowest set bit.ñ  Create a ˆª with the i th bit set.The result of ñ  is undefined when i is not in the range [0..WORD_SIZE_IN_BITS].ò &Clear a single bit in an unboxed word.The result of ò  is undefined when i is not in the range [0..WORD_SIZE_IN_BITS].ó $Set a single bit in an unboxed word.The result of ó  is undefined when i is not in the range [0..WORD_SIZE_IN_BITS].ô %Test a single bit in an unboxed word.The result of ô  is undefined when i is not in the range [0..WORD_SIZE_IN_BITS].õ  Create a ˆª where the first n bits are 1.The result of õ  is undefined when i is not in the range [0..WORD_SIZE_IN_BITS].ö wordFoldlBits# f a w, performs a lazy left fold over the bits of w.÷ !wordFoldlBitsOffset# offset f a w, performs a lazy left fold over the bits of w", with every bit index passed to f offset by offset.ø 'wordFoldrBitsOffsetStrict# offset f a w/ performs a strict right fold over the bits of w", with every bit index passed to f offset by offset.ù wordFoldlBitsStrict# f a w. performs a strict left fold over the bits of w.ú wordFoldrBits# f a w- performs a lazy right fold over the bits of w.û !wordFoldrBitsOffset# offset f a w( performs a right fold over the bits of w", with every bit index passed to f offset by offset.ü 'wordFoldrBitsOffsetStrict# offset f a w/ performs a strict right fold over the bits of w", with every bit index passed to f offset by offset.ý wordFoldrBitsStrict# f a w/ performs a strict right fold over the bits of w.ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý ð ï ñ ò ó ô í î ì ë õ ú ö û ÷ ý ù ü ø PNone, #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÎÐÕØÛÝÞàçèïóúPþ  Check if two ‰ªs are bitwise disjoint.ÿ 4Perform a lazy left fold over the bit indicies of a ‰ª.€ 6Perform a strict left fold over the bit indicies of a ‰ª.� 5Perform a lazy right fold over the bit indicies of a ‰ª.‚ 7Perform a strict right fold over the bit indicies of a ‰ª.ƒ  Check that if the set bits of a ‰ª are a subset of another ‰ª.„  Construct a ‰ª consisting of n 1 bits.Šª#byteArrayFillOnes# mwa start end st will fill a ‹ª with ones from start to end - 1.þ ÿ € � ‚ ƒ „ „ ƒ þ � ÿ ‚ € QNone* #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÎÐÕØÛÝÞàçèïóúî5… Infix operator for ˆ .† -Take a relative complement of a variable set.‡ $Delete an index from a variable set.ˆ $Set difference of two variable sets.‰ (Check if two variable sets are disjoint.Š The empty variable set.‹ ÍFilter a variable set to elements that are greater than or equal to an index.Œ ÄFilter a variable set to elements that are greater than to an index.� ÊFilter a variable set to elements that are less than or equal to an index.Ž ÁFilter a variable set to elements that are less than to an index.� ÄLazily fold over the elements of a variable set in descending order.)This does not have the same deficiencies æ‹/, as we can start the fold at the back of the ¬ .� ÆStrictly fold over the elements of a variable set in descending order.‘ ÃLazily fold over the elements of a variable set in ascending order.’ ÅStrictly fold over the elements of a variable set in ascending order.)This does not have the same deficiencies æŒ/, as we can start the fold at the back of the ¬ .“ ñConstruct a set of variables from a list of indices sorted in descending order. This can be more efficient than ” â, as we only need to perform a single to determine that elements of the list are smaller than 64.ÖThe precondition that the variables are sorted in descending order is not checked by “ .” 4Construct a set of variables from a list of indices.• 3Construct a variable set that contains the indices [0..n-1].– inRange lo hi vs$ determines if all the variables in vs are within the range [lo+1 .. hi-1].— $Insert an index into a variable set.˜ "Insert a list of variables into a VarSet.™ =Insert a list of variables sorted in descending order into a ¬ #. This can be more efficient than ˜ â, as we only need to perform a single to determine that elements of the list are smaller than 64.ÖThe precondition that the variables are sorted in descending order is not checked by ™ .š +Take the intersection of two variable sets.› isSubsetOf vs1 vs2 determines if vs1 is a subset of vs2.œ +Find the largest index in the variable set.� ,Find the smallest index in the variable set.ž ÚRetrieve the smallest index in the variable set along with the set sans that element, or ­© if the set was empty.Ÿ $Is a variable a member of a var set?  ÚRetrieve the smallest index in the variable set along with the set sans that element, or ­© if the set was empty.¡ Is this the empty set?¢ 3Construct a variable set that contains the indices  [lo+1..hi-1].£ (A variable set with only a single entry.¤ *The number of entries in the variable set.¥ ÃSplit a variable set into elements that are strictly smaller than n' and elements that are strictly larger.ÙNote that this is strict in both components of the pair. If you only need one half, use Ž  or Œ .¦ Remove the first nÔ entries from the variable set, and shift the indices of all other entries down by n.§ 7Convert a variable set to an ascending list of indices.¨ 7Convert a variable set to a descending list of indices.© Union two variable sets.ª -Union a collection of variable sets together.« ,Shift all indices in the variable set up by n.¬ "A set of de Bruijn indices/levels.­ ÂA variable set whose maximum entry is greater than or equal to 64.® >A small variable set whose maximum entry is less than than 64.± mempty is Š .² (<>) is © ŒªSlow path for ˆ .�ªSlow path for ‰ .ŽªSlow path for š .�ªSlow path for › .�ªFast path for ™  that omits bounds checking.‘ªSlow path for � .’ªSlow path for © .“ª Convert a ‰ªÛ to a variable set, upholding the invariant that all word-sized variable sets should use ® .”ª1Trace the size of a variable set to the eventlog.*… † ‡ ˆ ‰ Š ‹ Œ � Ž � � ‘ ’ “ ” • – — ˜ ™ š › œ � ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® *¬ ­ ® Š £ ” “ • ¢ — ˜ ™ ‡ ¡ Ÿ � œ ¤ ‰ › – © ª š ˆ … † ¥ Ž � Œ ‹ ‘ � ’ �   ž ¦ « ¨ § ¯ �³ ³° �Ô Ô± �Πβ �Ê Ê³ �Å Å´ �¹ ¹µ �Ü Ü¶ �¿ ¿RNone( #&()+,/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.Ê •ª is seen as error monad.Ö A ð§ is à ' when it corresponds to the empty list.ŽÄ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á  à Á Â Ã Ä » ¹ ¼ º ¿ ½ À ¾ · ¸ Å �ï ïÆ �Á ÁÇ �Ý Ý(È �× ×)É �Ç ÇÊ �Î Î%Ë �õ õÌ �û ûÍ �à à7Î �“ “Ï �™ ™Ð �Ú ÚÑ �Ô Ô%Ò �� �Ó �‡ ‡Ô �é éÕ �� �Ö �² ²× �æ æ4Ø �ì ì7Ù �Ÿ ŸÚ �¥ ¥Û �ò ò6Ü �ã ãÝ �Ë Ë(Þ �Ï Ï2ß �Ó Ó<à �Å Åá �« «â �¸ ¸ã �¼ ¼ä �ø øÁSNone) #&()+,/1359<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúÍë Í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.ì Focus, overwriting ò .í Update, but keep ò ! when new value is default value.ï —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.ñ Î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.ö %The null value of 'WithDefault b' is ò . ë ì í î ï ð ñ ò ó ñ ò ó ð ï î ë ì í ô � õ �' '#ö �- -!÷ �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.ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À ½ ¾ ¿ À ª « ¬ ­ ® ¯ ² ° ± ³ ´ µ ¶ · ¸ º ¹ » ¼ Á ‘; ; ‘Å Åà ‘Â Â Ä ‘;;"Å ‘> > Æ ‘;;Ç ‘;;UNone( #&()+,/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.’Î “Ï È É Ê Ë Ì Í Ê Ë Ï È É Î Ì Í #Ð ”ç çÑ ”æ æÒ ”à Ã$Ó ”Í Í?Ô ”§ §5Õ ”Ó Ó?Ö ”¤ ¤5× ”Æ Æ(Ø ”Ù Ù;Ù ”= ='Ú ”: :(Û ”7 7*Ü ”4 4!Ý ”À À%Þ ”Ê Ê=ß ”� �7à ”Ð Ð=á ”¡ ¡5â ”Ö Ö9ã ”Ü Ü>ä ”“ “7å ”‰ ‰æ ”Œ Œç ”— —&è ”š š&é ”� �'ê ”ú ú!ë ”÷ ÷"ì ”ô ô$í ”ñ ñî ”î î!ï ”ý ý!𠔀 €$ñ ”ƒ ƒò ”† †VNone( #&()+,/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 •.ó ô õ ö ó ô õ ö TNone( #&()+,/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 ñ§.÷ ø ù ú û ü ý þ ÿ €�‚ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ ƒ„…§ ¨ © ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ƒ„…÷ ø ù ú û ü ý þ ÿ €�‚†˜ ‡˜% %WNone( #&()+,/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?”%Prefix every key by the given prefix.•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 Š.ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š› œ�œ� •Š�Ž™šŒ”ˆ‰—–˜�“�‘’‹›ž™00 Ÿ™55 ™44¡™8 83¢™< <£™// XNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúW¤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 œª.«Run a �ª with a default value for ­©.¬¦ with flipped branches.­§ with flipped branches.®Lift a maybe to an Alternative.¯Monadic version of šª.° Unwrap a ð§ value, returning šä for ­©.±,Retain object when it passes the given test.²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."¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹Ÿª ªœª¡ª¢ª›ª«©šª£ªð§®©­©¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹\None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú¿‘ 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.”The ˜ invariant.•(Converts a range to a list of positions.–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.‘’“”•–— ˜™š›œ�˜™š›”œ�–’“ •—‘žœ  Ÿœ1 1 œ& &¡œ11¢œ" "£œ  ¤œ ! %¥œ11]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.´*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.¦ª The number of ranges in the map.%This function should not be exported.�·¦§¨©ª«¬­®¯°±²³´µ¶­®¯°±·«´µ¶©¦§¬¨ª²³¸žþ þ(¹ž” ”,ºžŠ Š/»žÑ Ñ(¼žç罞ú ú¾žÏ Ï¿žç ç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.§ Strict filter¨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.ó¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉuN{|gCO^behjnmqkolpILRSV\t]KBFvwirs}`_XZY[MWPyQzfcJTUadxGEHD(78$ºÊ44ô¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈɺÊuN{|gCO^behjnmqkolpILRSV\t]KBFvwirs}`_XZY[MWPyQzfcJTUadxGEHD78$454(YNone( #&()+,/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.µÖ¶× ËÌÍÎÏÐÑÒÓÔÕ ÌÍÎÖ×ÏÐÑÒËÓÔÕ Ø·Õ Õ'Ù·9 9Ú·: :Û·; ;Ü·À ÀÝ·6 6Þ·= =ß·> >à·8 8á·< <â·? ?ã·7 7ä·Ñ Ñ[None( #&()+,/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. €�‚ƒ„…†‡ˆ‰Š †‚�€ƒŠ…ˆ„‡‰‹¸ô ô?Œ¸÷ ÷<�¸ ޏú ú?�¸ý ý>�¸€ €É_None) #&()+,/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 deleteP i À deletes the value i from the output of À.Ã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.É lookupP À i applies À to i.Ê lookupRP À i applies  invertP À to i.Ë'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.¾Þ¿ßÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝ ÚÛÜÝËØÙÆÍÃÈÁÇÉÊÀÌÅÄÂÎÏÔÕÖ×ÐÑÒÓÞßàÀ§ §áÀª ªâÀ˜ ˜ãÀ) )äÀ˜%˜-åÀ˜˜#æÀ))çÀ„ „-èÀý ý-éÀ€ €,êÀú ú,ëÀ; ;ìÀ7 7íÀ˜˜îÀ˜˜ïÀ+ +ðÀ3 3ñÀ˜/˜:ZNone( #&()+,/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 XÄ.© Analogue of ÂÃ.ª Analogue of XÄ.«)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<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú H ´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 .½Handle errors thrown in ´ª.¿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.Õ Variant of ¶ª‡ which gets compiled to good code, assuming that we're mapping over an actual runtime list and don't intend for list fusion to fire.Ö Variant of ·ª‡ which gets compiled to good code, assuming that we're mapping over an actual runtime list and don't intend for list fusion to fire.Ù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])ß/Performing an action for an inclusive range of ä§-s, counting up by one.à"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.δµ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæç?;:9><=01%)3‚ƒ€�дµ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæç?;:9><=01)3‚ƒ €�%´aNone) #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúXèÄ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.èéêëìíîïðñòóôõö÷øùúûùúûðøóìöêîéèõëôí÷ñòï üÇú ú,ýÇ‚ ‚,þÇ ÿÇž ž(€ÇŒ Œ&�Ç“ “*‚Çþ þ*ƒÇ– –6„Çš š4…Ç� �†Ç÷ ÷'‡Çô ô*bNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú>ˆIs the NO_COLOR environment variable unset?ˆ‰ˆ‰cNone* #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóôõú¹Š Make a copy.‹An empty hash table.ŒßIterate over key-value pairs in IO. Caution: don't modify the table while iterating over it!�ûIterate over key-value pairs in IO while accummulating a value. Caution: don't modify the table while iterating over it!�ÀInserts the key and the corresponding value into the hash table.�ÍLook up a key in the table. If it's already there, proceed with the first '(v -> m a) argument. Otherwise run the ê(m v) argument, insert the result value in the table and pass it to the second @(v -> m a) argument.‘ÁTries to find a value corresponding to the key in the hash table.’)Properly inlinable CPS-d lookup function.”"Converts the hash table to a list.5The order of the elements in the list is unspecified.•ÄHash tables. A very limited amount of (possibly outdated) testing indicates that, for the use in Agda's serialiser/deserialiser, Data.HashTable.IO.CuckooHashTable is somewhat slower than Data.HashTable.IO.BasicHashTable, and that Data.HashTable.IO.LinearHashTable and the hashtables from Data.Hashtable are much slower. However, other (also possibly outdated) testing suggests that Data.HashTable.IO.CuckooHashTable is quite a bit faster than Data.HashTable.IO.BasicHashTable for 64-bit Windows. Some more recent, also limited, testing suggests that the following hash table implementation from Data.Vector.Hashtables is quite a bit faster than Data.HashTable.IO.BasicHashTable (see issue #5966).—-Hashtable with lifted keys and lifted values.˜.Hashtable with lifted keys and unboxed values.™.Hashtable with unboxed keys and lifted values.š'Hashtable with unboxed keys and values.Š‹Œ�Ž��‘’“”•–—˜™š•–˜—™š‹�‘”ŠŒ�Ž“�’dNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú5�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.¦'Both of these warnings are disabled by -WnoUnusedImports.§ 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.±Invariant: When Ó# is in the warning set, so must be Ô.²2Some warnings are errors and cannot be turned off.³ Warning that cannot be disabled.´-WnoUnusedImports=all is not supported, use -WnoUnusedImports instead.µUnknown warning.¶The  WarningNameå data enumeration is meant to have a one-to-one correspondance to existing warnings in the codebase.ã'Some warning could not be set or unset.¸ª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.Ì›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæÌ®¯°±¬©¡�›¨¢¥¦ žŸœ²³´µ£ª­¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæ«¤§çȶ(¶/èȶ"¶&éÈ<<êȶ ¶ëÈ<< ìÈÝÝíȶ1¶8îÈ> >ïÈß ß!ðȸ ¸ñȶ¶òȶ¶ óÈ<<ôÈÝ Ýõȶ¶eNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúö÷øùùö÷øúÉ ûÉ%-üÉ#ýÉþÉ  ÿÉ€É "�É/:fNone) #&()+,/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. ‚ƒ„…†‡ˆ‰Š‹Œ� Œ�…ˆ‚ƒŠ„†‰‡‹ŽÌ--�Ì--$�Ì-&-,‘Ì-.-2’Ì--“Ì- -gNone, #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÎÐÕØÛÝÞàçèïóú[š-Hashing a module name for unique identifiers.›Hashes a piece of ¾ª. ”•–—˜™š›œ� �™˜œ›”š—–•hNone( #&()+,/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.žŸ ¡¢£¤¥¦§¨©ª«¬­«¬­¥¦§¨©ªŸž¤¢¡£ ®Í #¯Í °Í07±Íð ð.²Íî î1³Í!´ÍµÍ#.iNone) #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúa· Render a Àª ann to a ½ ann" using standard layout parameters.¸ Render a Àª ann to a ½ ann) with the given layout parameters. E.g.  width=100 fill=1.5.¹Generic ½ linearization.º Linearize a ½ to ¿ with the given ¿-rendering of the annotations.» Linearize a ½ to ¿ dropping all annotations.½/A rendered document with annotations from type ann.¾Stuff annotated by ann.¿Atom.Áª0Annotated stuff waiting for the opening bracket.ªÛLinearizer. We need forward function composition because we process nodes left-to-right.ê Linearizer.ĪLinearizer state.ŪCurrent position.ƪ;The top of the stack is the currently active annotation(s).ǪAccumulated text.Ȫ#Accumulated annotation information.ɪLinearizer state.ʪCurrent position.˪Accumulated text.̪#Accumulated annotation information.ͪ.State of the right-to-left conversion to tree.ΪAccumulator for text.ϪîA nonempty stack of annotated trees with their closing annotation bracket, waiting for the opening bracket.Ъ)Run linearizer with given initial offset.Ѫ)Run linearizer with given initial offset.Òª2Initial linearizer state with configurable offset.Óª2Initial linearizer state with configurable offset.Ôª2Adding an annotation to the currently active ones.Õª?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú—Æ#Turn a trie into a compressed trie.Ç*Is the trie starting with a single branch?È&Singleton tree with value at the root.ÉãA single branch with the given subtree. Precondition: the given subtree has a value at the root.ÊSingleton trie.ËSingleton tree with empty root.ÌThe number of labeled nodes.Í0The number of nodes that are labeled or leaves..Î:Modify the leaves (input and output may be non-canonical).ÏConvert to ascending list.ÐConvert to ascending list.Ñ!Truncate tree at given depth.  truncate 0 t returns the root.ÒæTruncate the tree so that it has at most the given size according to the given sizing function. truncateSize sizing 0 t returns the trie  truncate 0 t.Ó truncateSize sizeWithLeavesÔ1Turn a compressed trie into an uncompressed trie.ÕFinite map from [k] to v.With the strict ð§ type, Õ is also strict in v.;Invariant: only the root of the tree may be of the form !Trie Nothing (Map.singleton ks t)Í. A node inside of the trie of that form must be fused into its branch.Ý Empty trie.ÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÕÖרÈÊËÉÇÆÔÐÏÌÍÎÑÒÓÙÏ77 ÚÏ<<ÛÏ;;ÜÏ? ?3ÝÏÆ ÆÞÏ66 ßÏÑ Ñ&kNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúàáââàá ãÐ äÐ%-åÐ#æÐ çÐ èÐ éÐêÐëÐ !ìÐ/:lNone( #&()+,/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.'íîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“'‘’“…�Ž��ò„†þüƒøûðïñ‹Œíîùúÿ‚€�‰Šö÷ˆýóôõ‡”Ñ» »(•Ѡ–ÑÓ Ó—Ñ¾ ¾+˜ÑÁ Á.mNone( #&()+,/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. ™š›œ�žŸ ¡¢£ š›œ™£�žŸ ¡¢¤Ò ¥Ò3 3(¦Ò--§Ò ¨Ò/ /,©ÒªÒ9 9.«Ò ¬Ò> >,­Ò $®Ò¯Ò6 6)°Ò ±Ò- -nNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúW²È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 statistics about section applicationsÂ/Collect detailed statistics about serializationÃ!Measure things related to sharingÄ A set of ¸s²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃĸ¹º»¼½¾¿ÀÁÂÃÄ´²³¶µ· ÅÔ-"-)ÆÔ-- ÇÔ--ÈÔ33ÉÔ-+-2ÊÔ/ /ËÔ33ÌÔ33#ÍÔ--ÎÔ- -ÏÔ3 3oNone/ #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÎÐÕØÛÝÞàçèïóôõúAÖ5Constructor tag (maybe omitted) and argument indices.ÐÑÒÓÔÕÖרÙÚÛÜÝÖרÙÚÛÜÝÐÑÒÓÔÕÞÕ; ;ßÕÆ ÆàÕØ ØáÕ pNone* #&()+,/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: ñ.œ&Tolerably efficient representation of ›¢ 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: þ.¤:Line and position numbers as Word32, both 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).ÙªÔThe intervals that make up the range. The intervals are consecutive and separated (ç).ضٷڸ۹Ôãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žâŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µØ¡§¢£¤¥¦äúùµ®¯°±õþŒ�ö÷å•›œãŽ–—š™ñïíû˜îꪲ«¬­†çóò„…ƒˆ‡‹øüý�‚ÿ€‰Šè騩‘’¶“”·³´¹âŸ¸ ô�ž�ëìæ�ðõºÜ Â&»Ü» »!¼ÜÈ È½Ü¿ ¿#¾Üöö¿Üš šÀÜ« «"ÁÜœ œÂܾ ¾ÃÜÖ ÖÄÜö%ö-ÅÜ��ÆÜ¾¾&ÇÜöö#ÈÜ� �Éܾ¾ÊÜö<öÃËÜ�-�4Ìܾ5¾<ÍÜÊÊÎܯ ¯ÏÜä ä;Ðܦ ¦Ñܽ ½$ÒÜ Â*ÓÜà Ã*ÔÜÄ Ä)ÕÜÁ Á*ÖÜœœ×Ü© ©ØÜ² ².ÙÜÈ È4ÚÜÍ ÍÂÛÜÒ ÒÐÜÜ× ×ÞÝÜÜ ÜìÞÜá áúßܬ ¬àÜü ü"áÜ› ›ÜâÜð ð1ã܃ ƒ:äÜ… …Àå܆ †ÀæÜ‡ ‡?çÜ„ „ÀèÜö ö#éÜó ó.ê܉ ‰ÕëÜŒ ŒîìÜ� �‡íÜ’ ’ îÜ• •¹ïܘ ˜ÒðÜù ù ñÜþ þ.òÜŸ Ÿ'óÜù ù.ôÜ‚ ‚+õÜõ õöܾ ¾=÷ܺ º/øÜÏ ÏùÜã ã+úÜú ú>ûÜÒ ÒüÜÕ ÕýÜßß;þÜÜÜ.ÿÜå å,€ÜààÁ�Üç ç3‚Üæ æ,ƒÜáá„Üì ì4…Üä ä,†ÜØ Ø‡Üœ*œ3ˆÜÆ Æ‰ÜééȊܸ ¸/‹Üï ï8ŒÜò ó�Üö ÷ ŽÜÌ Ì�ÜÉ É�ÜÔ Ô#‘ÜÍ Í&’Üþ þ$“Üû û”Üœ œ%•Üë ë$–Üè è—ÜÅ Å'˜Üâ â™Ü± ±&šÜÇ Ç›ÜÞ ÞœÜöö�ܯ ¯"žÜ® ®$ŸÜœœ Ü¾¾¡ÜÛ Û¢Üª ª$£Ü« «*¤Üœ œ(¥Ü§ §¦Üµ µ.§Üö ö¨Ü² ²#©Ü� �&ªÜ¾¾ «ÜÊ Ê¬Üö/ö:­Ü� �+®Ü¾(¾3qNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú <&¯ Compute the ½ which (possibly) contain a Ä! for the given thing-with-range.±#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.¼,Uniform Resource Locator aka clickable link.½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.ã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.?¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìí?ÊḚ̈±²³´µ¶·¸¹º»¼ÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéê½¾¿ÀÁÂÃÄÅÆÇÈÉëìí¯$îÝà$à+ïÝàà"ðÝ( (ñÝ­ ­òÝ� �óÝ ôÝ<<õÝààöݤ ¤÷Ý((øÝŽŽùÝ››úÝûÝ<< üÝà-à4ýݤ¤þÝÍ ÍÿÝÌ Ì€ÝÇ Ç�ÝÊ Ê‚ÝË ËƒÝÈ È„ÝÉ É…Ý© ©†Ý¦ ¦‡ÝˆÝàà‰Ýò òŠÝã ã‹Ý((ŒÝ<<�ÝŽ ŽŽÝ› ›�Ý#�Ýàà‘ݤ¤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.”$Only adds an annotation node if the ½ is non-à .•Attach a simple °, rather than a full set of ½, to a document.š?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúÚ‚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'=Œâ''�â''Žâ. .�â''sNone+ #&()+,/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.ܪÁList of positions and values with much better memory layout than  [(Pos, v)].ݪ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.âªA helper function.ãªThe constructor.äª Pretty-prints a memoisation key.åªA helper function.�‘’“”•–—˜™š›œ�žŸ ¡¢›œ�žŸ ¡”˜—“™‘’•–�𢠣äõ õ&¤äì ì&¥ä¾ ¾1¦ä® ®1§äç ç"¨ä« «-©äà à ªä¤ ¤+«äà à9¬ä´ ´.tNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú0—Í­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 with s --c_i--> t_i in g and t_i --d_i--> u in g', 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).ÌAll self-loops.  O(n log n).ÍOnly transform the self-loops.Î 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�é¾ ¾uNone( #&()+,/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.��vNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú“Graph structure‘’“’‘“êNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúéªë êªë ëªë None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú#ª«¬­®¯°±²³2!´µ¶·¸¹º»¼½ #ª«¬­®¯°±²³2!´µ¶·¸¹º»¼½ wNone( #&()+,/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.ì¬í­”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«— ¡¢£¨˜™š›¤¥¦§œ�žŸ”•–©ª«¬­®î-%-)¯î- -°î77±îÆÆ²î--#³îý ý´î€ €#µîù ù¶î… …·î‰ ‰¸îŒ Œ#¹îõ õ2ºîë ë4»îì ì4¼îí í0½îî î1¾îò ò;¿îï ï4Àîó ó:Áîð ð3Âîô ôÇÃîñ ñÀÄîœ œÅî� � Æî› ›Çî‘ ‘Èî• •Éî-+-.Êî--Ëî--xNone( #&()+,/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.ïêðëÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèé ØâéÞßàáÑÙÚÛÜÝÒÓÔÌãäåæçèêëÐÖ×ÕÎÏÍ ìñ Âíñ1 1îñ¹ ¹2ïñÁ Á.ðñ¡ ¡9ññ™ ™2òñ° °1óñ© ©>ôñ€ €*õñ‡ ‡ öñÅ Å÷ñß ß3yNone( #&()+,/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.ðª?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúi¬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.·*Turn any increase into infinite increase (Ã).¹Ò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?¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÀÁÂ»·¬¼²ºµ¶½¹­¸°³¾¿´ÄóÌ ÌÅóÓ ÓÆó‚ ‚ÁÇóó óÈóÌÌÉóÜ ÜÊóÚ ÚËóÌÌ{None) #&()+,/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õø²²öø’’÷øÞÞøø²-²ÌùøÞ/Þ:|None) #&()+,/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.þ"Returns all nodes with self-loops.ÿ!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.÷ªCall graph combination.Application of Ø to all pairs (c1,c2) for which ô c1 = õ c2.)øªÍConverts a list of calls with associated meta information to a call graph.üThe original call graph.The current completion.úûüýþÿ€�‚ƒ„…†‡ˆØôõË ˆ„ôõúÿ€Ø…†‡þ�Ë ‚ƒýûü ‰ùŽ Ž3Šù„ „%‹ù‡ ‡"Œù¥¥.�ù¡ ¡5Žù§ §É�ùø ø �ùù ù2‘ùÜ Ü’ù‹ ‹2}None) #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú “*< c: should not make any parameter-argument relation worse.•Use guardedness?Ã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.–Use guardedness?Ã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<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú³Æ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<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúèÐ-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.ÐÑÒÓÔÕÖÒÓÔÕÖÑÐ×ý Øý %�None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúfFÚÜ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‡Is []-cong allowed?ˆ:Are unrestricted erased matches allowed for indexed types?Šƒ! 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?àÖNon-inlined equality that's sometimes useful to prevent GHC from ballooning code size.ᬠand « arguments are  notVisible.ãLike partitionEithers.äåExtract the positional modality components (cohesion and polarity) 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. TODO: add origin to Ü.ñ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.®)What kinds of erased matches are allowed?°ÞWhat kinds of erased matches, if any, are allowed for single-constructor, indexed data types?±.Erased matches are allowed for the empty type.²ËErased matches are allowed for single-constructor, non-indexed data types.³ÕWhat kinds of erased matches are allowed for indexed, single-constructor data types?´[]-cong is allowed.µAll erased matches are allowed.¶ A variant of ®: that supports default values that depend on other flags.· The flag --erased-matches& has been given with (valid) options.¸ìNo flag has been given, the default is used. (The default depends on whether the K rule is allowed or not.)¹ The flag --erased-matches… has been given without any options, the "default on" value is used. (The default depends on whether the K rule is allowed or not.)ºÄ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.Þ=same points, discrete topology, idempotent comonad, box-like.ßÁsame points, codiscrete topology, idempotent monad, diamond-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.�8Force record type to have eta equality? (Default is no).£Á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.¿9Does a datatype have path constructors, i.e. is it a HIT?ÂÀ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.Ä ÛInserted by the conversion checker in an argument spine at the position where they differ.‘Indicates that the argument at this position should always be reified, even if the visibility/modality would be skipped with the current flags.Å  An expanded hidden argument pun.Æ &Inserted by the generalization processÇ E.g. inserted hidden arguments.È åInserted to stand for the record "self" variable when checking a declaration inside a record module.É %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.ˆ% Continous is the multiplicative unit.‰%£ % forms a semigroup under composition.Š% Continous is the multiplicative unit.‹%Ü% forms a semigroup under composition.Œ%™! is the unit under composition.�%—!% forms a semigroup under composition.Ž%Ú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.�%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Œ#¥ññ �#¥þþŽ#¥ÿÿ�#¥� � #�#¥ÜÜ#‘#¥¥ +¥ 2’#¥¦¦%“#¥¦¦#”#¥÷÷#•#¥††#–#¥ƒƒ —#¥ÀÀ˜#¥¹¹™#¥ççš#¥”-”4›#¥éé%œ#¥ÂÂ�#¥——ž#¥ã ã Ÿ#¥Ú Ú  #¥ì ì ¡#¥ô#ô*¢#¥õ+õ2£#¥ö+ö2¤#¥ëë¥#¥òò¦#¥— — §#¥ùù¨#¥– – ©#¥ööª#¥Ž +Ž 2«#¥‹ ‹$¬#¥™ ™­#¥‰ ‰®#¥â â(¯#¥Ê ʰ#¥Ó Ó±#¥° ° ²#¥° °³#¥Ú Ú´#¥¹ ¹,µ#¥¿ ¿¶#¥÷ ÷)·#¥� �¸#¥¹ ¹¹#¥â âº#¥ú ú»#¥Ì Ì5¼#¥ö ö½#¥á á/¾#¥ý! ý!¿#¥¥ ¥À#¥§ § #Á#¥ÿ ÿ !Â#¥Õ Õ (Ã#¥Ø Ø%Ä#¥ü ü#Å#¥� �Æ#¥¼ ¼Ç#¥á á È#¥ì ìÉ#¥½ ½Ê#¥¦ ¦6Ë#¥› › Ì#¥þ þ>Í#¥û ûÎ#¥‹! ‹!ÓÏ#¥ú ú;Ð#¥Ø Ø/Ñ#¥Ã Ã/Ò#¥� �Ó#¥× ×Ô#¥¨ ¨Õ#¥ááÖ#¥ââ×#¥Ž"Ž*Ø#¥ŽŽ Ù#¥’ ’Ú#¥† †Û#¥¶ ¶Ü#¥¬ ¬Ý#¥î î"Þ#¥¡+¡-ß#¥¡¡à#¥œ œá#¥Œ Œâ#¥è è*ã#¥Í Íä#¥ô ô$å#¥Ë Ë æ#¥Ù Ùç#¥é éè#¥Ù Ù !é#¥€ €4ê#¥³ ³ ë#¥²! ²!$ì#¥³ ³í#¥Þ Þî#¥§ § "ï#¥‹ ‹!ð#¥¼ ¼.ñ#¥Â Âò#¥‡ ‡Èó#¥’ ’Åô#¥¼ ¼õ#¥ê ê!ö#¥º º÷#¥° °ø#¥Ý Ýù#¥ù ùú#¥ˆ ˆû#¥… …ü#¥Ð Ð7ý#¥ù ùþ#¥È Èÿ#¥ç çÀ$¥‹" ‹" �$¥™ ™‚$¥¨ ¨ƒ$¥µ µ $„$¥‰ ‰ "…$¥ã ã )†$¥ü ü‡$¥Û Û&ˆ$¥‚ ‚$‰$¥÷ ÷#Š$¥ú ú‹$¥™ ™Œ$¥È È�$¥í í Ž$¥ø ø�$¥À À�$¥© ©8‘$¥§ § ’$¥� �Á“$¥… …”$¥‘! ‘!å•$¥ä ä7–$¥� � !—$¥‹ ‹>˜$¥Þ Þ1™$¥É É1š$¥× ×À›$¥Õ Õ6œ$¥Û Û8�$¥Ù Ù.ž$¥º º9Ÿ$¥¸ ¸/ $¥¶ ¶ 8¡$¥´ ´ .¢$¥� �8£$¥ÿ ÿ.¤$¥¨ ¨#¥$¥­ ­ ¦$¥ô ô §$¥Ÿ Ÿ¨$¥Ø Ø©$¥Æ ƪ$¥… …«$¥ù ù¬$¥ª ª­$¥þ þ®$¥ó ó¯$¥ö ö°$¥µ µ#±$¥ï ï#²$¥¯ ¯)³$¥¦ ¦´$¥à àµ$¥õ õ¶$¥ÿ ÿ1·$¥ú ú#¸$¥Â Â#¹$¥� �º$¥â â»$¥Þ Þ¼$¥Ù Ù½$¥Ë Ë#¾$¥Š Š#¿$¥¯ ¯$À$¥Ÿ Ÿ,Á$¥« «Â$¥å åÃ$¥› ›Ä$¥   *Å$¥£ £Æ$¥§ §"Ç$¥° °È$¥ê êÉ$¥á áÊ$¥æ æ#Ë$¥Á ÁÌ$¥€ €Í$¥¥ ¥Î$¥Ü Ü Ï$¥¼ ¼Ð$¥û ûÑ$¥    Ò$¥Ä Ä !Ó$¥¯ ¯ Ô$¥« « Õ$¥¦ ¦#Ö$¥´ ´%×$¥° °(Ø$¥� �,Ù$¥™ ™/Ú$¥ã ã1Û$¥× ×4Ü$¥Å Å Ý$¥À À Þ$¥â â ß$¥Ý Ý !à$¥®! ®!!á$¥©! ©!$â$¥³ ³ ã$¥¯ ¯ "ä$¥‡ ‡å$¥‚ ‚!æ$¥» »ç$¥´ ´è$¥¦ ¦'é$¥� �*ê$¥© ©ë$¥Ó Óì$¥Î Îí$¥� � î$¥¤ ¤ !ï$¥œ œ $ð$¥ü ü ñ$¥ö ö "ò$¥Ò Ò &ó$¥Ê Ê )ô$¥Ð Ðõ$¥Ë Ë ö$¥ƒ ƒ ÷$¥û û#ø$¥† †ù$¥ÿ ÿú$¥µ µû$¥® ®ü$¥å åý$¥Þ Þþ$¥ß ß1ÿ$¥Û Û4€%¥ã ã)�%¥ß ß,‚%¥À À*ƒ%¥½ ½-„%¥¼ ¼ )…%¥¹ ¹ ,†%¥‰ ‰)‡%¥… …,ˆ%¥Ð Ð4‰%¥Ì Ì7Š%¥Ô Ô,‹%¥Ð Ð/Œ%¥³ ³-�%¥¯ ¯0Ž%¥¯ ¯ ,�%¥ª ª /�%¥ú ú,‘%¥ö ö/’%¥œ œ “%¥˜ ˜ !”%¥½ ½•%¥¸ ¸ –%¥– –—%¥® ®%˜%¥— —,™%¥Õ Õ1š%¥– –›%¥œ œ$œ%¥Ý Ý�%¥ù ù!ž%¥’" ’"&Ÿ%¥Ð Ð  %¥Ü Ü¡%¥ç ç¢%¥ú ú,£%¥æ æ ¤%¥ó ó¥%¥® ® ¦%¥¶! ¶!!§%¥è è¨%¥¶ ¶©%¥Õ Õª%¥€ €«%¥ª ª ¬%¥Ž Ž­%¥¿ ¿(®%¥Å ů%¥Â Â?°%¥Î Î<±%¥ää²%¥½ ½³%¥³ ³´%¥ç çµ%¥ü ü¶%¥‹ ‹·%¥ˆ ˆ¸%¥È ȹ%¥Ô Ô1º%¥þ þ»%¥ü ü¼%¥Ô Ô½%¥ó ó:¾%¥•" •"¿%¥¥ ¥À%¥« «Á%¥¸ ¸ !Â%¥Œ Œ Ã%¥æ æ &Ä%¥ÿ ÿÅ%¥Ô ÔÆ%¥Ô Ô#Ç%¥… …!È%¥† † É%¥Ž1Ž7Ê%¥ø øË%¥Ÿ ŸÌ%¥Î ÎÍ%¥ó ó Î%¥þ þÏ%¥È È'Ð%¥¬ ¬2Ñ%¥ª ª Ò%¥Ë Ë8Ó%¥‘ ‘Ô%¥ù ù ÖÕ%¥è è1Ö%¥“ “ ×%¥Å Å5Ø%¥á á+Ù%¥Ì Ì+Ú%¥’ ’Û%¥� �Ü%¥È È Ý%¥€ €Þ%¥¦! ¦!ß%¥¬ ¬à%¥Ñ Ñá%¥û ûâ%¥¬ ¬ ã%¥¯ ¯ä%¥— —%å%¥Ú Úæ%¥Å Åç%¥ð ðè%¥Ä Äé%¥“ “ ê%¥ð ð ë%¥Á Á $ì%¥„ „í%¥€ € î%¥Š Šï%¥¹ ¹ð%¥ò ò ñ%¥é éò%¥Ÿ Ÿ.ó%¥Ý Ýô%¥Ž Žõ%¥• • ö%¥Á Á÷%¥ààø%¥Ž,Ž/ù%¥��ú%¥¬¬û%¥••ü%¥‡‡ý%¥ÚÚþ%¥ÈÈÿ%¥ŒŒ€&¥Ñ!Ñ!�&¥Ž Ž‚&¥ååƒ&¥× × „&¥� � …&¥Ü܆&¥© ©‡&¥ùùˆ&¥¥ ¥ ‰&¥€€Š&¥··‹&¥¤¤Œ&¥ÏÏ�&¥ÞÞŽ&¥¦¦�&¥¦¦�&¥„„‘&¥ØØ’&¥÷÷“&¥††”&¥À À#•&¥¹/¹2–&¥ÄÄ—&¥çç˜&¥””™&¥ééš&¥Â›&¥üüœ&¥ñ! ñ!�&¥——ž&¥ññŸ&¥ÇÇ &¥ÒÒ¡&¥ôô¢&¥»»£&¥õõ¤&¥ŽŽ¥&¥öö¦&¥ë ë#§&¥ò ò#¨&¥— — #©&¥ù ù#ª&¥º º!«&¥ô ô ¬&¥‹ ‹­&¥ÌÈÌË®&¥ÓÎÓѯ&¥Ž Ž °&¥Ïϱ&¥»»²&¥ä ä3³&¥è è+´&¥Å Å,µ&¥Á Á +¶&¥Ž Ž+·&¥ã ã6¸&¥ç ç.¹&¥Ä Ä/º&¥À À .»&¥� �.¼&¥Ô Ô9½&¥Ø Ø1¾&¥· ·2¿&¥³ ³ 1À&¥þ þ1Á&¥Ÿ ŸÂ&¥œ œ"Ã&¥ò òÄ&¥‹ ‹%Å&¥Ä Ä Æ&¥� �Ç&¥ÌÍÌ×È&¥ÓÓÓÝÉ&¥– –-Ê&¥å å'Ë&¥¿ ¿*Ì&¥â â3Í&¥‘ ‘Î&¥• •$Ï&¥Ž ŽÐ&¥â âÑ&¥õ õ,Ò&¥¸ ¸ Ó&¥Þ ÞÔ&¥¹ ¹Õ&¥á áÖ&¥„ „×&¥¦ ¦Ø&¥˜ ˜?Ù&¥° °<Ú&¥µ µÛ&¥ç çÜ&¥æ æÝ&¥é éÞ&¥¨ ¨ß&¥� �à&¥Ë Ëá&¥ö ö'â&¥›" ›"ã&¥œ œä&¥ò ò !å&¥í í æ&¥ù ù &ç&¥ó óè&¥ˆ ˆ!é&¥’ ’ê&¥¥ ¥ë&¥Ô Ôì&¥Í Í í&¥„ „ î&¥² ²'ï&¥ö öð&¥´ ´8ñ&¥• •ò&¥ÿ ÿ Ëó&¥« «5ô&¥Á Á+õ&¥À À+ö&¥É É -÷&¥å å(ø&¥Ö Öù&¥ä ä/ú&¥„" „"û&¥® ® #ü&¥„ „ !ý&¥Ü Ü (þ&¥ÿ ÿ#ÿ&¥“ “€'¥Â Â�'¥ç ç ‚'¥ò òƒ'¥¡ ¡ „'¥€ €…'¥Û Û/†'¥Æ Æ/‡'¥��ˆ'¥¬¬‰'¥••Š'¥ÓÓ‹'¥‡‡Œ'¥ÚÚ�'¥»»Ž'¥ÈÈ�'¥ŒŒ�'¥ò ò‘'¥Ñ!Ñ!’'¥½ ½ “'¥ÎΔ'¥å å•'¥ó ó–'¥× × —'¥ññ˜'¥þ þ™'¥ÿÿš'¥� � ›'¥¤! ¤!œ'¥ŽŽ�'¥ÜÜž'¥œ œŸ'¥É É '¥ùù¡'¥¥ ¥ ¢'¥€€£'¥· ·¤'¥¤ ¤¥'¥��¦'¥Ïϧ'¥ßߨ'¥¦¦©'¥¦¦ª'¥„„«'¥ØØ¬'¥÷ ÷­'¥ËË®'¥† †¯'¥ƒƒ°'¥À À±'¥¹ ¹²'¥Ä6Ä:³'¥÷ ÷´'¥””µ'¥éé¶'¥Â!Â%·'¥üü¸'¥è! è!¹'¥—!—%º'¥¡ ¡»'¥ã ã ¼'¥Ú Ú ½'¥ì ì ¾'¥ñ ñ¿'¥Ç ÇÀ'¥Ò ÒÁ'¥ôôÂ'¥» »Ã'¥õõÄ'¥‘ ‘Å'¥ö öÆ'¥ë ëÇ'¥ò òÈ'¥— — É'¥ù ùÊ'¥« «Ë'¥��Ì'¥– – Í'¥óóÎ'¥ö öÏ'¥÷ ÷ Ð'¥ââÑ'¥Ì5Ì9Ò'¥Ó;Ó?Ó'¥Ž Ž Ô'¥¶¶Õ'¥ÏÏÖ'¥£ £ ×'¥Ú(Ú3Ø'¥·/·:Ù'¥Ä)Ä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.ç''List of valid literate file extensions.è'Preprocessor for Markdown.The ã§! parameter controls whether only ```agda- blocks are treated as Agda code. When True , only blocks explicitly marked ```agda are considered code. When False, both unmarked ``` and ```agda blocks are code (default).é'$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.The ã§! parameter controls whether only ```agdaÅ blocks are treated as Agda code in Markdown/Typst files. When True, only blocks marked ```agda are considered code. When False, both ``` and ```agda blocks are code (default).ë'"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.ÿª#Preprocessor for Forester documents€«6Replaces non-space characters in a string with spaces.�«ØReturns a tuple consisting of the first line of the input, and the rest of the input.‚«2Canonical decomposition of an empty literate file.ƒ«*Check if a character is a blank character.„«äCreate a regular expression that: - Must match the whole string - Works across line boundariesã'ä'å'æ'ç'è'é'ê'ë'ì'í'î'ï'ð'ñ'ò'ó'ô'õ'ö'÷'ê'ç'ì'ë'è'é'ä'ã'÷'ö'í'î'ï'ð'ñ'ò'ó'ô'õ'å'æ'ø'¦**ù'¦8 8#ú'¦22û'¦* *ƒNone( #&()+,/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'.ü'ý'þ'ÿ'€(�(‚(ƒ(„(…(†(‡(ˆ(‰(Š(‹(Œ(�(Ž(�(�(‘(’(“(”(•(–(—(˜(™(˜(™(‰(Š(‹(„(…(Œ(�(Ž(�(�(‘(’(“(”(•(–(—(†(ÿ'þ'�(‚(€(ü'ý'ˆ(ƒ(‡(š(§$ $›(§55œ(§�(§ ž(§$$#Ÿ(§55  (§› ›6¡(§ )¢(§ (£(§& & ¤(§7 7¥(§$$¦(§9 9§(§$$¨(§55©(§-1ª(§ +„None* #&()+,/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.«(¬(­(®(¯(°(±(²(³(´(µ(¶(·(¸(¹(º(»(¼(´(µ(¶(·(¸(¹(º(¼(»(±(³(²(­(¯(°(®(«(¬(½(¨0 0¾(¨3 3¿(¨00À(¨Ç ÇÁ(¨à à Â(¨00Ã(¨33…None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú P%Ä(ØGet the first version of the concrete name that does not satisfy the given predicate.È(-Is the name an operator? Needs at least 2 ú(s.Ê(ö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 (un)qualified?Í(:Check whether a name is a simple identifier without holes.Ï($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.Ø(?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúœ»)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.ä)ÃErased matches are disabled for indexed, single-constructor types.å),Erased matches are disabled for empty types.æ)ÇErased matches are disabled for non-indexed, single-constructor types.ç)There are several constructors.è)Symbolic name of an Agda error.ø+Reasons for error ø+.ý+Reasons for error ý+.ÿ+#Things not allowed in dot patterns.ë±)²)³)´)µ)¶)·)¸)¹)º)»)¼)½)¾)¿)À)Á)Â)Ã)Ä)Å)Æ)Ç)È)É)Ê)Ë)Ì)Í)Î)Ï)Ð)Ñ)Ò)Ó)Ô)Õ)Ö)×)Ø)Ù)Ú)Û)Ü)Ý)Þ)ß)à)á)â)ã)ä)å)æ)ç)è)é)ê)ë)ì)í)î)ï)ð)ñ)ò)ó)ô)õ)ö)÷)ø)ù)ú)û)ü)ý)þ)ÿ)€*�*‚*ƒ*„*…*†*‡*ˆ*‰*Š*‹*Œ*�*Ž*�*�*‘*’*“*”*•*–*—*˜*™*š*›*œ*�*ž*Ÿ* *¡*¢*£*¤*¥*¦*§*¨*©*ª*«*¬*­*®*¯*°*±*²*³*´*µ*¶*·*¸*¹*º*»*¼*½*¾*¿*À*Á*Â*Ã*Ä*Å*Æ*Ç*È*É*Ê*Ë*Ì*Í*Î*Ï*Ð*Ñ*Ò*Ó*Ô*Õ*Ö*×*Ø*Ù*Ú*Û*Ü*Ý*Þ*ß*à*á*â*ã*ä*å*æ*ç*è*é*ê*ë*ì*í*î*ï*ð*ñ*ò*ó*ô*õ*ö*÷*ø*ù*ú*û*ü*ý*þ*ÿ*€+�+‚+ƒ+„+…+†+‡+ˆ+‰+Š+‹+Œ+�+Ž+�+�+‘+’+“+”+•+–+—+˜+™+š+›+œ+�+ž+Ÿ+ +¡+¢+£+¤+¥+¦+§+¨+©+ª+«+¬+­+®+¯+°+±+²+³+´+µ+¶+·+¸+¹+º+»+¼+½+¾+¿+À+Á+Â+Ã+Ä+Å+Æ+Ç+È+É+Ê+Ë+Ì+Í+Î+Ï+Ð+Ñ+Ò+Ó+Ô+Õ+Ö+×+Ø+Ù+Ú+Û+Ü+Ý+Þ+ß+à+á+â+ã+ä+å+æ+ç+è+é+ê+ë+ì+í+î+ï+ð+ñ+ò+ó+ô+õ+ö+÷+ø+ù+ú+û+ü+ý+þ+ÿ+€,�,‚,ƒ,„,…,†,‡,ˆ,‰,Š,‹,Œ,�,Ž,�,�,‘,’,“,”,•,–,—,˜,™,š,›,ëÇ)È)É)Ð)Ñ)Ò)Ó)ã)ä)å)æ)ç)ÿ+€,�,ø+ù+ú+û+ü+ý+þ+è)é)ê)ë)ì)í)î)ï)ð)ñ)ò)ó)ô)õ)ö)÷)ø)ù)ú)û)ü)ý)þ)ÿ)€*�*‚*ƒ*„*…*†*‡*ˆ*‰*Š*‹*Œ*�*Ž*�*�*‘*’*“*”*•*–*—*˜*™*š*›*œ*�*ž*Ÿ* *¡*¢*£*¤*¥*¦*§*¨*©*ª*«*¬*­*®*¯*°*±*²*³*´*µ*¶*·*¸*¹*º*»*¼*½*¾*¿*À*Á*Â*Ã*Ä*Å*Æ*Ç*È*É*Ê*Ë*Ì*Í*Î*Ï*Ð*Ñ*Ò*Ó*Ô*Õ*Ö*×*Ø*Ù*Ú*Û*Ü*Ý*Þ*ß*à*á*â*ã*ä*å*æ*ç*è*é*ê*ë*ì*í*î*ï*ð*ñ*ò*ó*ô*õ*ö*÷*ø*ù*ú*û*ü*ý*þ*ÿ*€+�+‚+ƒ+„+…+†+‡+ˆ+‰+Š+‹+Œ+�+Ž+�+�+‘+’+“+”+•+–+—+˜+™+š+›+œ+�+ž+Ÿ+ +¡+¢+£+¤+¥+¦+§+¨+©+ª+«+¬+­+®+¯+°+±+²+³+´+µ+¶+·+¸+¹+º+»+¼+½+¾+¿+À+Á+Â+Ã+Ä+Å+Æ+Ç+È+É+Ê+Ë+Ì+Í+Î+Ï+Ð+Ñ+Ò+Ó+Ô+Õ+Ö+×+Ø+Ù+Ú+Ô)Õ)Ö)×)Ø)Ù)Ú)Û)Ü)Ý)Þ)ß)à)á)â)ß+à+á+â+ì+í+ã+ä+å+æ+ç+è+é+ê+ë+î+ï+ð+ñ+ò+ó+ô+õ+ö+÷+‚,ƒ,„,…,†,‡,ˆ,‰,Š,‹,Ê)Ë)Ì)Í)Î)Ï)Û+Ü+Ý+Þ+Œ,�,Ž,�,�,‘,’,“,”,•,–,—,˜,™,š,›,¶)·)¸)³)´)µ)º)½)¼)¾)¿)À)Á)Â)Ã)±)²)¹)Ä)»)Å)Æ)Ëœ,°")�,°‘"‘)ž,°")Ÿ,°ÖÖ ,°.".)¡,°Â¢,°—"—)£,°Ýݤ,°í"í)¥,°ââ¦,°ª«,§,°ò"ò)¨,°û"û)©,°Á"Á)ª,°Ç"Ç)«,°5"5)¬,°‰‰­,°©"©)®,° ¯,°‘‘ °,° ±,°Ö Ö²,°ÕÕ³,°.. ´,°Â µ,°55 ¶,°ÇÇ ·,°ÁÁ ¸,°©© ¹,°‰ ‰º,°â â»,°íí ¼,°òò ½,°Ý ݾ,°—— ¿,°ÁÁÀ,°ÜÜÁ,°ûû Â,°ááÃ,°¨©1Ä,°ˆˆÅ,°Æ,°‘‘Ç,°È,°..É,°——Ê,°ííË,°òòÌ,°ûûÍ,°ÁÁÎ,°ÇÇÏ,°55Ð,°©©Ñ,°­ ­ Ò,°® ®%Ó,°° °$Ô,°± ±'Õ,°¯ ¯(Ö,° ×,°‘ ‘Ø,° Ù,°Õ ÕÚ,°. .Û,°Á ÁÜ,°— —Ý,°Ü ÜÞ,°í íß,°á áà,°ò òá,°û ûâ,°Á Áã,°Ç Çä,°5 5å,°ˆ ˆæ,°© ©‡None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúö,Arbitrary JS code.±’-²”-+ç,è,é,ê,ë,ì,í,î,ï,ð,ñ,ò,ó,ô,õ,ö,÷,ø,ù,ú,û,ü,ý,þ,ÿ,€-�-‚-ƒ-„-…-†-‡-ˆ-‰-Š-‹-Œ-�-Ž-�-�-‘--ç,è,é,ê,ë,ì,í,î,ï,ð,ñ,ò,ó,ô,õ,ö,÷,ø,ù,ú,û,…-†-€-�-‡-ˆ-‰-ü,ý,þ,ÿ,„-Š-‹-Œ-�-Ž-�-�-‘-”-‚-ƒ-’-“-³66•-³;;–-³''—-³6 6˜-³3 3™-³; ;š-³“ “›-³© ©œ-³‰ ‰"�-³‹ ‹(ž-³Š Š(Ÿ-³¬ ¬ -³� �2¡-³� �À¢-³33£-³' '¤-³Á Á¥-³66¦-³33§-³;;¨-³Ë Ë©-³á áª-³þ þ«-³Ø ج-³Ù Ù"­-³Û Û)®-³Þ Þ4ˆNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú¯-°-±-²-³-´-µ-¶-·-¸-¹-º-»-¼-½-¾-¿-¶-¹-º-»-¼-¿-¾-·-½-¯-µ-¸-´-°-±-²-³-‰None( #&()+,/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õ-´ç ç(ö-´ý ý÷-´ô ôø-´­ ­%ù-´ï ïú-´Ù Ù&û-´÷ ÷ü-´² ²ý-´Ü Ü.Š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.«1-The class of types which can be converted to  2.¬1ÇGet the identifier for this builtin, generally used for error messages.­1 Convert this value to a builtin.®1!A primitive name, defined by the  primitive block. 2 Either a Þ/ or ®1, used for some lookups.¥þ-ÿ-€.�.‚.ƒ.„.….†.‡.ˆ.‰.Š.‹.Œ.�.Ž.�.�.‘.’.“.”.•.–.—.˜.™.š.›.œ.�.ž.Ÿ. .¡.¢.£.¤.¥.¦.§.¨.©.ª.«.¬.­.®.¯.°.±.².³.´.µ.¶.·.¸.¹.º.».¼.½.¾.¿.À.Á.Â.Ã.Ä.Å.Æ.Ç.È.É.Ê.Ë.Ì.Í.Î.Ï.Ð.Ñ.Ò.Ó.Ô.Õ.Ö.×.Ø.Ù.Ú.Û.Ü.Ý.Þ.ß.à.á.â.ã.ä.å.æ.ç.è.é.ê.ë.ì.í.î.ï.ð.ñ.ò.ó.ô.õ.ö.÷.ø.ù.ú.û.ü.ý.þ.ÿ.€/�/‚/ƒ/„/…/†/‡/ˆ/‰/Š/‹/Œ/�/Ž/�/�/‘/’/“/”/•/–/—/˜/™/š/›/œ/�/ž/Ÿ/ /¡/¢/£/¤/¥/¦/§/¨/©/ª/«/¬/­/®/¯/°/±/²/³/´/µ/¶/·/¸/¹/º/»/¼/½/¾/¿/À/Á/Â/Ã/Ä/Å/Æ/Ç/È/É/Ê/Ë/Ì/Í/Î/Ï/Ð/Ñ/Ò/Ó/Ô/Õ/Ö/×/Ø/Ù/Ú/Û/Ü/Ý/Þ/ß/à/á/â/ã/ä/å/æ/ç/è/é/ê/ë/ì/í/î/ï/ð/ñ/ò/ó/ô/õ/ö/÷/ø/ù/ú/û/ü/ý/þ/ÿ/€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€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«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€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µ ‹None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú�ÇÄ24Drop anonymous modules at the end of the module nameÈ2Get the name if unambiguous.É2%Get the first of the ambiguous names.Ë2Is a name ambiguous.Ì2ÆA module is anonymous if the qualification path ends in an underscore.Î2/Is the first module a weak child of the second?Ï20Is the first module a weak parent of the second?Ð21Is the first module a proper child of the second?Ñ22Is the first module a proper parent of the second?Ò2Is the name an operator?Ó2Van Laarhoven lens on õ2.Ô2Van Laarhoven lens on û2.×29Preserve lineage information from both maps, left-biased.ß29Get the next version of the concrete name. For instance, nextName "x" = "x�A". The name must not be a NoName.ã2‘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.ê2 Convert a �3 to a ©3 (add no module name).ë2Ignoring the suffix.í2%Useful for debugging scoping problemsï2A singleton "ambiguous" name.ð2ç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.ñ2Like ð2â, but uses the name parts (qualifier + name) of the qualified name as the list of concrete names.ò2-A decoration of abstract syntax module names.ô2&Explanation where this name came from.õ2The resolved module name.ö2A decoration of ‹¶.ø26The kind (definition, constructor, record field etc.).ù2&Explanation where this name came from.ú2êAdditional information needed during scope checking. Currently used for generalized data/record params.û2The resolved qualified name.ü2Alternative in ÿ2.ý2©3/ with lineage information, for error reporting.þ2©3 without lineage information.ÿ2?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúȵ4ÃOccurrence of the nth definition argument inside the definition.¶4&Definition site of a mutual definition·4÷Subterm occurrences for positivity checking. The constructors are listed in increasing information they provide: 3Mixed <= JustPos <= StrictPos <= GuardPos <= Unused Mixed <= JustNeg <= Unused.¸4ÖGuarded strictly positive occurrence (i.e., under žD). For checking recursive records.¹4Negative occurrence.º4/Positive occurrence, but not strictly positive.»4-Arbitrary occurrence (positive and negative).¼4Strictly positive occurrence.½4No occurrence.¿4in the type of a constructorÀ4&in an endpoint of a higher constructorÁ4)in the nth argument of a defined constantÂ4'in the nth clause of a defined functionÃ4in the definition of a constantÄ4"is an index of an inductive familyÅ4*in a sort, e.g. in the level of a universeÆ4$in a datatype index of a constructorÈ41matched against in a clause of a defined functionÉ4 as an argument of a metavariableÊ4âin the nth argument of a def in the current mutual block. (def given by Int index in the block)Ì4'in the principal argument of built-in žDÍ4êas an argument to a bound variable with given polarity. The polarity is only used for warning printing.Ð41List of polarities stemming from POLARITY pragma.æ4·4* is a complete lattice with least element »4 and greatest element ½4.&It forms a commutative semiring where ¸ is meet (glb) and ¹0 is composition. Both operations are idempotent.For ¸, ½4 is neutral (zero) and »4 is dominant. For ¹, ¼4 is neutral (one) and ½4 is dominant.!°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º3 3Û4º1 1Ü4º… …Ý4ºã ãÞ4º½½ß4º¬¬à4º&&á4º´ ´â4º( (ã4º› ›ä4º¡ ¡å4ºÍ Í'æ4º= =ç4º½½è4º¬¬é4º& &ê4ºˆ ˆë4ºŸŸì4ºÛ Û!�None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúÙî4ÀEach redundant field comes with a range of associated dead code.ï4…Record type, fields not supplied by user, non-fields but supplied. The redundant fields come with a range of associated dead code.í4î4ï4ð4ñ4ò4ó4ô4í4î4ï4ð4ñ4ò4ó4ô4õ4»")ö4» ÷4»ø4»ù4» $ú4» û4» ŽNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú"‰5Ranges are not forced. ü4ý4þ4ÿ4€5�5‚5ƒ5„5…5†5 †5þ4ÿ4€5�5‚5ƒ5„5…5ý4ü4‡5¼6 6ˆ5¼Ú Ú‰5¼å åŠ5¼à Ë5¼ Œ5¼ �None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúm"�5Unconditional layout keywords.ÛSome keywords introduce layout only in certain circumstances, these are not included here.Ý5Tokens which may appear qualified.Þ5 qualified doß5 qualified (|) or ‡SˆSà5 qualified (| or ‡S, ±© if unicodeá5ØA "qualified token", i.e. a sequence of (module) names followed by one of the allowed (Ý5) keywords/symbols.ä5-> or ’Cå5@@@æ5 |ç5 }è5|) or ˆS, ±© if unicodeé5 )ê5 #-}ë5layout-implied }ì5 :í5 .î5 ..ï5{{ or „S, ±© if unicodeð5{{ or ƒS, ±© if unicodeñ5... or ¦@ò5(|) or ‡SˆSó5A misplaced end-comment "-}".ô5 =õ5@ or »@ö5 {÷5(| or ‡S, ±© if unicodeø5 (ù5 {-#ú5layout-implied {û5 ?ü5 ;ý5 _þ5layout-implied ;Š6ÂArbitrary string (not enclosed in double quotes), used in pragmas.â5The token itself.ÀParts for the qualifying identifier, together with their ranges.#Range of the token being qualified.€�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Ä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û5ü5ý5þ5ÿ5€6�6‚6ƒ6„6…6†6‡6ˆ6‰6Š6‹6Œ6�ÿ5ˆ6€6�6‚6ƒ6„6…6†6‡6‰6Š6‹6Œ6ˆ6Ý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¿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û5ü5ý5þ5 �6½//Ž6½ì ì�6½õ õ�6½å å‘6½��’6½” ”!“6½— —”6½¥ ¥#•6½//–6½ìì—6½õõ˜6½åå™6½���None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúØ š6Drop ¤6 constructors. (Safe)›6Drop ¦6 constructors. (Safe)œ6 Discards Proj f entries.�6Drop ¤6 constructor. (Safe)Ÿ6Only ¤6 variant. 6Drop ¤6 constructors, fails with  IMPOSSIBLE if there's a non-¤6 entry.¡6Drop ¤6 constructor, fails with  IMPOSSIBLE on a projection.¢6Split at first non-¤6£65Eliminations, subsuming applications and projections.¤6 Application.¥6'IApply x y r, x and y are the endpoints¦6 Projection. ©3 is name of a record projection.­6This instance cheats on ¦6, use with care. ¦6s are always assumed to be Ë , since they have no Ä. Same for IApplyš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¾&1‘None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú ê¾6When 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.Þ6é must be propagated, as this is blockage that can be lifted in the future (as more clauses are added).à6 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 Ý6 does not seem useful.á64 must not be propagated, as this would mean that f esÄ is underapplied, which is not the case (it is stuck). Note that á6Ü 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.)Ð6˜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).Ö6‹What is causing the blocking? Or in other words which metas or problems need to be solved to unblock the blocked computation/constraint.Ù6 Unblock when function is definedÚ6Unblock if meta is instantiatedÜ6„Even if we are not stuck on a meta during reduction we can fail to reduce a definition by pattern matching for another reason.Ý62We matched an absurd clause, results in a neutral Def.Þ6We ran out of clauses for ©3°, 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.ß6ÒReduction was not blocked, we reached a whnf which can be anything but a stuck Def.à6The Elim' is neutral and blocks a pattern match.á6 >,õ6¿ÏÏö6¿© ©÷6¿À À,ø6¿µ µù6¿Ï Ïú6¿* *û6¿‹ ‹ü6¿µ&µ1’None, #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÎÐÕØÛÝÞàçèïóúA*±ý6Constant level n�7ÑAbsurd lambdas are internally represented as identity with variable name "()".Ž76Make an absurd pattern with the given de Bruijn index.’7Doesn't do any reduction.©7Add ê9 is it is not already a DontCare.«7ÈContext entries without a type have this dummy type. Note: use macro  DUMMY_DOM !¬7ÑA dummy level to constitute a level/sort created at location. Note: use macro  DUMMY_LEVEL !­7ËConstruct a string representing the call-site that created the dummy thing.®75A dummy sort created at location. Note: use macro  DUMMY_SORT !¯75A dummy term created at location. Note: use macro  DUMMY_TERM !°7,Aux: A dummy term to constitute a dummy termlevel sort/type.±75A dummy type created at location. Note: use macro  DUMMY_TYPE !¹7Build —8 from ˜8.º7#A view distinguishing the neutrals Var, Def, and MetaV which can be projected.¿7óIs this Dom annotated as a local rewrite rule and if so, has the rewrite been invalidated due to a substitution?Æ7+Is this a Prop universe? Answers are yes (±© ) or maybe (ìª).È74Is this a strict universe inhabitable by data types?É7Given a constant m and level l , compute m + lË7Lens to edit a æ9 as a list.Ï7)A traversal for the names in a telescope.Ü7'Retrieve the PatternInfo from a patternÝ7 Retrieve the origin of a patternß7 Turn a known š sort into a œ sort, leave others unchanged.â7 Get the flavor of the universe. ­© could also mean "don't know".ã7Removing a topmost ê9 constructor.å7(Convert a list telescope to a telescope.ç7%Convert a telescope to its list form.ê7Build partial ˜8 from —8ë7>Convert top-level postfix projections into prefix projections.ì7Convert ¦6/ projection eliminations according to their ÷  into é9 projection applications.î7An unapplied variable.ó7Binder.ó72: The bound variable might appear in the body. õ7Ð is pseudo-binder, it does not introduce a fresh variable, similar to the const of Haskell.ô76The body has (at least) one free variable. Danger: ÷7! doesn't shift variables properlyø7Type of argument lists.û7 'Blocked a without the a.ü7éNewtypes for terms that produce a dummy, rather than crash, when applied to incompatible eliminations.ÿ73A 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.³8Elaborated "@rewrite" equation/Will only be present if domain annotated with " rewrite" ( annRewrite is ÅIsRewrite@) AND the type successfully elaborated into a rewrite rule.´8 "@tactic e".µ8 Terms used for internal purposes¶8Collects applications to a ü7.·8Generic dummy term, the †«× generally describes where the term was generated (as well as giving a disambiguator).0Should not be used to convey actual information.¼8 NotHidden.½8Builtin EQUALITY.¾8Hidden. Empty or Level.¿8 Range of the rewrite expression, if any.À8 NotHidden.Á8Sort of this type.Â8Hidden.Ã8View type as equality type.Ä8A type of the form u áD v4 decomposed into its parts. Used as type for the rewrite expression.Å8$A reduced type used as type for the with inspect idiom.Æ8"A reduced type used as type for a with expression.Ø8>A level is a maximum expression of a closed level and 0..n ¬94 expressions each of which is an atom plus a number.Ü8Telescope as list.Ý8 Extra information attached to a ¡9.ß8)Information on the origin of the pattern.à8ˆTime when this pattern was constructed during LHS checking. This field is used during pattern matching with the non-compiled clauses.â8…Undirected equational constraint ("the LHS and RHS must be convertible in the calling context"). Admits arbitrary substitution.è8çFor the sake of reducing clauses before they have compiled, we keep a match priority in the constructors (and literals) of patterns that is computed during lhs checking and decides whether a mismatch should be treated as a hard Noñ. Matches that get available earlier have a lower priority. Lower priority wins, meaning that if we combine a DontKnow with a No) we take the one with the lower priority.ë8Named pattern arguments.÷81Non-linear (non-constructor) first-order pattern.ø8Matches x es# where x is a lambda-bound variableù8Matches f esú8Matches » x ’C tû8Matches  (x : A) ’C Bü8"Matches a sort of the given shape.ý8'Matches the term modulo ² (ideally ²·).þ8ÛMatches anything (modulo non-linearity) that only contains bound variables that occur in the given arguments. Tracks the definitional singularity of the surrounding pattern (not the type of the variable itself)�9ù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.†9ÀOrigin of the pattern: what did the user write in this position?‡9User wrote an absurd patternˆ9 User wrote a constructor pattern‰9User wrote a dot patternŠ9User wrote a literal pattern‹9User wrote a record patternŒ9Pattern generated by case split�9+Argument to pattern generated by case splitŽ9Pattern inserted by the system�9User wrote a variable pattern�9User wrote a wildcard pattern‘9Pattern variables.’9View type as path type.“9reduced•9Hidden–9 NotHidden—9 Builtin PATH.˜9 NotHidden™9Sort of this type.š9Hiddenœ97Patterns 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.�9c ps= The subpatterns do not contain any projection copatterns.ž9:Used for HITs, the QName should be the one from primHComp.Ÿ9 .t 9Path elimination pattern, like VarP but keeps track of endpoints.¡9E.g. 5, "hello".¢91Projection copattern. Can only appear by itself.£9 xª97Extract pattern variables in left-to-right order. A Ÿ9+ is also treated as variable (see docu for ÿ7).³9Elaborated "@rewrite" equation´9="@rewrite" equation transformed into a directed rewrite rule.NothingÄ iff invalidated by a substitution. If we are checking against an "8rewrite" domain, this is fine, but if we are inside an "6rewrite" context, this is probably an internal error.·9?de Bruijn index of head symbol (excluding rewContext variables)¸9æDirected rewrite rules generic over the type of head symbol. Generally unstable under substitution.¿9#Constructing a singleton telescope.Â9Sorts.Ã9A postulated sort.Ä9Þ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.Å9(Sort of a (non-dependent) function type.Æ9PropÉâ:, (S)SetÉâ:.Ç9 IntervalUniv+, a sort inhabited by the cubical interval.È9 LevelUniv, a sort inhabited by type Level>. When --level-universe isn't on, this universe reduces to Set 0É9LockUniv, a sort for locks.Ê9Sort metavariable.Ë9Sort of the pi type  (x : A) ’C B#. The components are the domain A (as a bare term), the sort s1 of A, and the sort s2 of B in the context extended by x : A.The sort denoted by Ë9 A s1 s2 only depends on s1 and s2. The domain A0 is kept around so that we can rebuild the type ù9 s1 AÊ needed to extend the context when we have to work under the binder of s2; see e.g. reduceB' for sorts or  piSortEquals.Ì9SizeUniv, a sort inhabited by type Size.Í9Prop “B, Set “B, SSet “B.Î9(Sort of another sort ("successor sort").Ö9Substitutions.×9Substitution extension, `cons'. Ó “ ¢E u : AÁ “ ¢E Á : ” ---------------------- “ ¢E u :# Á : ”, A Ø9Ä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 : ()Ù9Identity substitution.  “ ¢E IdS : “Ú99Lifting substitution. Use this to go under a binder. Lift 1 Á == var 0 :# Wk 1 Á. Ø “ ¢E Á : ” ------------------------- “, ¨Á ¢E Lift |¨| Á : ”, ¨ Û9/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 Á : ”, ˜ @Ü99Weakening substitution, lifts to an extended context. É “ ¢E Á : ” ------------------- “, ¨ ¢E Wk |¨| Á : ” Ý92Suggest a name if available (i.e. name is not "_")á9 Drop the types from a telescope.ã9ÖSequence of types. An argument of the first type is bound in later types and so on.å9ó7 is never õ7.ç9 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.è9c es or record { fs = es } esÕ allows only Apply and IApply eliminations, and IApply only for data constructors.é9f es, possibly a delta/iota-redexê9ŒIrrelevant stuff in relevant position, but created in an irrelevant context. Basically, an internal version of the irrelevance axiom .irrAx : .A -> A.ë9ÄA (part of a) term or type which is only used for internal purposes.The µ8ë describes why this dummy was created; typically, it is a string describing the source location that created it, but dummy terms are also used when *leaving* the type checker (through reification) to convey out-of-band information.Ê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.ì9+Terms are beta normal. Relevance is ignoredð9)dependent or non-dependent function spaceò9x es neutraló9Û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.ø9'Types are terms with a sort annotation.þ9(PropSetSSet)Éâ:.ÿ9PropSetSSet “B.“:Ignores   and   and tactic.‘;A à Ì clause is one with no patterns and no rhs. Should not exist in practice.Ò;2The size of a telescope is its length (as a list).¹8#eliminations ordered left-to-right.›9The  PatVarName is a name suggestion.€:Ã�:Ä‚:Ń:ÖÀ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ý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²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�‘’“”•ò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”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Ÿ   ¡ ¢ õ ö å(æ(ç(è(é(ó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ÿ9Ð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ÿ9Ÿ   ¡ ¢ õ ö ×9ã„:ÆÇ Ç…:Æø "ø )†:Ƶ µ*‡:Ʋ ²ˆ:Æ­ ­‰:ƹ ¹Š:Ƨ §‹:Æ¿ ¿Œ:ƹ¹�:ÆÇÇŽ:Æø ø �:Æçç �:ÆÇÇ‘:Ʀ ¦’:ÆÐГ:ÆÆ Æ”:Æú ú•:Æç ç–:Ʀ¦—:Æ’’˜:ÆÀ À ™:Æããš:ÆÜ Ü›:Æ« «œ:Æ  �:Æœœ$ž:ƾ¾$Ÿ:Æ¡¡$ :Æ©©¡:ÆÚÚ$¢:ƹ¹$£:Æœœ¤:ƽ½%¥:ƾ¾¦:Æ¡¡§:ƨ¨¨:ÆÚÚ©:Æ«$«+ª:Æþþ«:ÆÇ Ç'¬:Ƥ¤­:Æ¥¥®:ÆÐÐ ¯:Æø ø °:Æúú±:ÆÓ Ó ²:Ʊ ± ³:Ƨ § ´:Æœ œ µ:ƽ ½¶:Ʀ¦·:ƾ3¾:¸:Æ’’ ¹:ÆÉɺ:ÆÀ À »:Æà à ¼:Æ««½:ÆÚ3Ú:¾:ƃ ƒ¿:Ư ¯À:Ƽ ¼+Á:Æë ëÂ:ÆÐ Ð Ã:Æâ â *Ä:Æß ß .Å:Ƶ µ Æ:Ʋ ² #Ç:Æà à È:Æ¡ ¡ "É:Ƥ ¤ Ê:ÆÂ Â<Ë:Æñ ñ -Ì:Æÿ ÿ"Í:ÆÔ Ô 5Î:Æç"ç+Ï:ÆÆ Æ Ð:Æà à Ñ:ƺ º Ò:Æ‘ ‘ Ó:Ƨ § /Ô:Æž ž Õ:Æô ô 1Ö:Æ¿ ¿.×:ÆÎ Î Ø:ÆØ Ø Ù:Æú ú ,Ú:Ɖ ‰ Û:ÆÜ Ü +Ü:Æã ã Ý:Æ÷ ÷ >Þ:Æå å&ß:ÆÐ Ð à:Æë ë"á:Æ¿ ¿â:Æä ä&ã:Æá á&ä:ÆÜ Ü#å:ÆÔ Ôæ:Æì ì&ç:Æâ â&è:ÆÊ Êé:Æã ã&ê:Æê ê"ë:Æé é"ì:ÆØ Ø#í:ÆÒ Ò(î:ÆÏ Ï(ï:ÆÇ Çð:ÆÊ Êñ:Æï ïò:Æì ìó:Æ» »$ô:Æ¿ ¿õ:ƾ ¾ ö:ƺ º÷:ÆÄ Äø:ÆÃ Ãù:ƹ ¹.ú:ÆÇ Çû:ƶ ¶$ü:ƽ ½ý:ư °þ:ÆÅ Åÿ:ÆÌ Ì€;Æç-ç3�;ÆÊ Ê‚;ÆÉ Ƀ;ÆÈ È„;ƽ½…;ÆÁ Á†;ÆÂ Â)‡;ÆÀ Àˆ;Ƴ ³‰;ÆÎ Ί;ÆË Ë‹;ÆÍ ÍŒ;Æ¡ ¡�;ÆÆ Æ.Ž;Ƽ ¼%�;Æ� ��;Æž ž‘;Æö ö ’;Æñ ñ “;Æü ü”;Æé é•;Æ” ”–;Æ´ ´ —;Æì ì ˜;Æ© ©™;Æççš;ÆÓ Ó-›;ÆÆ Æ(œ;ÆØ Ø*�;Æ• •$ž;Æ� �(Ÿ;Æ® ® ;ƨ ¨ ¡;Ƭ ¬¢;Æè è£;Æ™ ™3¤;ÆÂ Â¥;Ƈ ‡*¦;Æë ë)§;ÆÌ ̨;ÆÏ Ï©;Æé é .ª;Ƹ ¸+«;Æø ø ¬;Æå å­;Ʋ ²®;Æ× × ¯;ÆÔ Ô %°;ÆÑ Ñ #±;ƃ ƒ ²;Ƭ<¬À³;Æþ þ´;ÆÇ)Ç-µ;Ƥ¤¶;Æ¥ ¥·;ÆÐи;Æø ø ¹;Æ  º;ÆÉÉ»;ÆÜ Ü$¼;ÆÎ ν;ƃƒ¾;Æœ œ¿;ÆúúÀ;ÆÓ Ó Á;ÆççÂ;Ʊ ± Ã;Ƨ § Ä;Æœ œ Å;Ʀ ¦Æ;ƾ ¾Ç;Æ’’È;Æ¡ ¡É;ÆÀ À Ê;Æà à Ë;Æ‹ ‹Ì;Ƨ§Í;ÆÚ ÚÎ;Æù ùÏ;ƹ ¹Ð;ÆããÑ;Æš š "Ò;Æ“ “ Ó;Æò ò Ô;Æî î Õ;Æõ õ Ö;Æø ø ×;ÆÇ Ç Ø;ÆÊ Ê Ù;ÆÎ Î Ú;ÆÑ Ñ Û;Æ¿ ¿ Ü;ÆÔ Ô 2Ý;Ʊ ± Þ;Æ® ® Éß;Æ««"à;Æ  *á;Æœ&œ1â;ƾ&¾1ã;Æ¡&¡1ä;ƪªå;ÆÚ&Ú1æ;ƹ&¹1“None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú[ç;ùThings we can substitute for a variable. Needs to be able to represent variables, e.g. for substituting under binders.è;(Produce a variable with name suggestion.é;+Produce a variable without name suggestion.ê;=Are we dealing with a variable? If yes, what is its index?ò;We can substitute Terms for variables.Çë;Èì;ç;è;é;ê;ç;è;é;ê;ë;ì;í;É4 4î;É< <ï;É, ,ð;É8 8+ñ;É$ $ò;É ”None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúÇó;&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.ÛThere is a property for this function in Internal.Utils.Graph.AdjacencyMap.Unidirectional.õ;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.÷;-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ý;"is an index of an inductive familyþ;*in a sort, e.g. in the level of a universeÿ;$in a datatype index of a constructor�<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.ó;ô;õ;ö;÷;ø;ù;ú;û;ü;ý;þ;ÿ;€<�<‚<ƒ<„<õ;ö;÷;ø;ù;ú;û;ü;ý;þ;ÿ;€<�<‚<ƒ<„<ó;ô; …<Ê))†<ÊÁÁ‡<Ê))#ˆ<ÊÁÁ#‰<Ê+ +Š<Êà Ë<Ê- -Œ<Ê))�<ÊÁÁŽ<ÊÖ Ö�<ÊÅ Å�<Ê) )‘<ÊÁ Á•None) #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúËŠ«’<“<”<•<”<•<“<’< –<Ì8 8<—<Ì. .<˜<Ì6 6<™<Ìë ë>š<Ìá á"›<Ìô ô8œ<Ìõ õ>�<Ìä ä&ž<ÌÑ Ñ!Ÿ<Ì> >! <Ì÷ ÷Ó¡<Ìç ç!–None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú›¢<µ<‘ aggregation (additive operation of the semiring). For combining occurrences of the same variable in subterms. This is a refinement of the ýª operation for µ< which would work if ·< did not have the Á<* as an argument. Now, to aggregate two ·<$ occurrences, we union the involved Á<s.£<µ<ç composition (multiplicative operation of the semiring). For accumulating the context of a variable.·<˜ 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.º<0 is next in strength. Destroys strong rigidity.¸< is still dominant over ¹<.¹<0 is the unit. It is the top (identity) context.¤<–First argument is the outer occurrence (context) and second is the inner. This multiplicative operation is to modify an occurrence under a context.¥<%What's the rigidity of a constructor?¦<$Extract a blocker from an occurrence°<Absorptive for ¢<.±< Unit for £<.³<ÝThe absorptive element of variable occurrence under aggregation: strongly rigid, relevant.´< Unit for ¢<.¶<ŠDepending on the surrounding context of a variable, it's occurrence can be classified as flexible or rigid, with finer distinctions.ËThe constructors are listed in increasing order (wrt. information content).·<7In arguments of metas. The set of metas is used by 'àÍñ to generate the right blocking information. The semantics is that the status of a variable occurrence may change if one of the metas in the set gets solved. We may say the occurrence is tainted by the meta variables in the set.¸<3Under at least one and only inductive constructors.¹<ÄIn top position, or only under inductive record constructors (unit).º<*In arguments to variables and definitions.»<5Where should we skip sorts in free variable analysis?¼<Skip unconditionally.½<Skip when annotation to a type.¾< Do not skip.Á<5A set of meta variables. Forms a monoid under union.Å<ÅRepresentation of a variable set as map from de Bruijn indices to Í<.Î<ØOccurrence of free variables is classified by several dimensions. Currently, we have µ< and © .Ø<Equality up to origin.Ü< Access to Ð< in Í<.å<Proper monoid instance for VarMapæ rather than inheriting the broken one from IntMap. We combine two occurrences of a variable using öª.æ<™The neutral element for variable occurrence aggregation is least serious occurrence: flexible, irrelevant. This is also the absorptive element for ¤<, if we ignore the Á< in ·<.ç<‹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 µ< and —!: we care most about about ¸< ™! occurrences. E.g., if t�A has a ¸< occurrence and t‚A a ·< occurrence, then (t�A,t‚A) still has a ¸< occurrence. Analogously, Relevantû occurrences count most, as we wish e.g. to forbid relevant occurrences of variables that are declared to be irrelevant.Í<à forms a semiring, and this monoid is the addition of the semiring.ò<A "set"-style Ì 3 instance with default/initial variable occurrence.1¢<£<¤<¥<¦<§<¨<©<ª<«<¬<­<®<¯<°<±<²<³<´<µ<¶<·<¸<¹<º<»<¼<½<¾<¿<À<Á<Â<Ã<Ä<Å<Æ<Ç<È<É<Ê<Ë<Ì<Í<Î<Ï<Ð<Ñ<Ò<1Á<Â<Ã<¨<§<¯<¶<·<¸<¹<º<µ<¿<À<©<«<¬<ª<¢<´<°<£<±<¦<Î<Ï<Ð<Ñ<Í<³<¤<²<¥<Å<Ê<Ë<Ì<Ä<É<®<­<Æ<Ç<È<»<¼<½<¾<Ò<!Ó<ÎÄ ÄÔ<λ »Õ<Î! !Ö<έ ­×<Î� �Ø<θ ¸ Ù<ÎÄ Ä(Ú<ÎÄÄÛ<ÎË Ë$Ü<Îà Ã#Ý<λ »"Þ<ÎÀ À"ß<ο ¿#à<Î!(!.á<Î!!&â<β ²ã<ί ¯ä<Σ £+å<Π  .æ<Îß ß*ç<ÎØ Ø.è<Î!!é<Τ ¤)ê<Î/ /ë<Ά †(ì<ÎÄÄí<λ»î<Î!!ï<έ­ð<Î��ñ<δ ´ò<Γ “(ó<Î# #"—None* #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúp ÿ< Instances of ÿ<3 are inputs to the generic traveral implemented by ˆ= instances. The r type parameter denotes the é  environment of the traversal.€=ÕThe result type of the traversal. Most commonly, this is either a newtype wrapper on ã§ or some instantiation of  StrictEndo from ½ÏÀ. The latter is used to efficiently accummulate sets or maps.�='Do we want to skip over sorts of types?‚=?Update the environment when going under some number of binders.ƒ=ÇUpdate the environment when descending into the spine of a constructor.„=¬Update the environment when the rigidity of the current position changes, e.g. we switch to flexible mode when going into the spine of an unsolved metavariable. See the ˆ= instances for details. ­©& has the identity action. NOTE: since ©  contains µ<0 information, if you implement a non-trivial µ<Ú update, you must also implement a non-trivial modality update, in order to handle the µ< -s there!…=4Update the environment when going under a modality. ­© has the identity action.†=3Update the environment with relevance information. ­©) has the identity action. NOTE: since © 3 contains relevances, if you implement non-trivial —!â update, you must also implement a non-trivial modality update, to handle the relevances there!‡=±Evaluating a single variable. NOTE: you have to disambiguate bound and free variables yourself! For example, when we collect all free variables in a set, we need to store an ä§‚ in the reader environment to keep track of the size of the local scope, which allows us to distinguish bound and free vars.›=ÄOnly computes free variables that are not pattern variables (see  nlPatVars) i.e., those in a ý8 or ø8s from the local context.Њ=Ñ‹=ÒŒ=Ó�=ÔŽ=ô<õ<ö<÷<ø<ù<ú<û<ü<ý<þ<ÿ<€=�=‚=ƒ=„=…=†=‡=ˆ=‰=ÿ<€=�=‚=ƒ=„=…=†=‡=Š=‹=Œ=�=Ž=ù<ø<ú<ü<ý<û<þ<ˆ=‰=ô<õ<ö<÷<�=Õ� � �=Õ† † ‘=Õ™ ™’=Õ‹ ‹ “=Õ½ ½"”=Õ� �•=Õþ þ–=Õã ã—=ÕΠΘ=ÕÞ Þ"™=Õ· ·š=Õ° °›=Õ¦ ¦œ=Õè è"�=Õ‚ ‚'ž=Õà ß=ÕÈ È =ÕÊ Ê¡=Õ” ”!¢=Õ› ›£=Õì ì)¤=Õð ð4¥=Õô ô?¦=Õù ùʧ=Õà Ã"˜None* #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÎÐÕØÛÝÞàçèïóú¨=9Compute the conjunction of a predicate on free variables.©=Same as ¨=2 except occurrences in sorts of types are ignored.«=9Compute the disjunction of a predicate on free variables.¬=Same as «=2 except occurrences in sorts of types are ignored.­=Is a term closed?°=Õ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.±='Check if single variable occurs freely.²=ÃCheck if a single variable occurs freely outside of sorts of types.³=0Return how many times each free variable occurs.´=ÔCompute a (possibly non-unique) list of free variables, in preorder traversal order.µ=-Return information about every free variable.¶=ÚReturn information about every free variable, but ignore occurrences in sorts of types.·="Compute the set of free variables.¸=8Returns all variables that occur in local rewrite rules.¹=7Is the variable bound by the abstraction actually used?º=?Does a variable occur relevantly and outside of sorts of types?»=ÃRigid variables: either strongly rigid, unguarded, or weakly rigid.¼=‰Test for a set of variables whether each variable occurs relevantly and outside of sort annotations. Return the set of variables that don't occur.½=?Variables under only and at least one inductive constructor(s).¾==Returns the variables that correspond to local rewrite rules.¿=ò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.À=Compute Í< for a single variable.‹«Local scope size.Œ«½Returns two sets of variables: the first set contains all variables corresponding to local rewrite rules, and the second set includes all variables which occur in those rewrite rules.Á¨=©=ª=«=¬=­=®=¯=°=±=²=³=´=µ=¶=·=¸=¹=º=»=¼=½=¾=¿=À=£<¦<§<¨<©<ª<«<¬<­<®<¯<µ<¶<·<¸<¹<º<»<¼<½<¾<¿<À<Á<Â<Ã<Æ<Ç<È<É<Ê<Ë<Ì<Í<Î<Ï<Ð<Ñ<ˆ=‰=Áµ<¶<·<¸<¹<º<ˆ=‰=»<¼<½<¾<¿<À<Æ<Ç<È<É<Ê<Ë<Ì<Í<Î<Ï<Ð<Ñ<£<­<®<ª=®=¯=°=µ=©<ª<«<¬<»=½=¿=Á<Â<Ã<§<¨<¯<¨=©=«=¬=­=À=±=²=³=´=¶=·=¹=º=¼=¦<¸=¾=Á=ÖÌ Ì Â=Öç ç)Ã=Öö öÄ=Ö´ ´Å=ÖÁ Á)Æ=Ö¹ ¹#Ç=ÖÆ Æ!È=Ö� � É=Ö   )Ê=Ö· · Ë=ÖÜ Ü/Ì=Öš š&Í=Ö‘ ‘Î=Öœ œ"Ï=Ö• • Ð=Öš š1Ñ=Öõ õ(Ò=Ö‰ ‰*Ó=Öù ù!Ô=Ö˜ ˜Õ=Ö‘ ‘#Ö=Öÿ ÿ"×=Öž ž+Ø=ÖØ Ø1Ù=Ö† †(Ú=Ö� �$Û=ÖŒ ŒÜ=Ö— —'™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 Û9. If ú=1 is applied to a substitution with an outermost Û9Û 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 ç9 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 argument type is itself…>Apply a substitution.ˆ>Simple constraint alias for a …> instance a with arg type t.‰>…>! instance whose argument type is ç9Š>…>! instance whose argument type is ¸ Ó (i.e. for things that can be weakened, but do not admit arbitrary substitution)í=.Raise the looked up term/thing by this amount.The substitution.$Index to lookup in the substitution.The raised result.Ø‹>ÙŒ>.Ý=Þ=ß=à=á=â=ã=ä=å=æ=ç=è=é=ê=ë=ì=í=î=ï=ð=ñ=ò=ó=ô=õ=ö=÷=ø=ù=ú=û=ü=ý=þ=ÿ=€>�>‚>ƒ>„>…>†>‡>ˆ>‰>Š>0�>‚>ƒ>‹>â=à=á=ÿ=€>…>†>‡>Œ>ˆ>„>‰>Š>ò=ó=ü=ù=ý=è=æ=þ=õ=ä=÷=ç=ê=å=ã=ø=Ý=ñ=ð=ú=û=ì=í=ë=ô=Þ=é=ï=ß=î=ö=Ý=�>Úø ø+Ž>Úô ôšNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú" �>…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 ’>s into “>s).�>…Construct the case tree corresponding to only performing proper matches on the given key. In this context, a "proper match" is any •> that is not —>.‘>A ç90-indexed associative data structure supporting  approximate, (conservative) lookup. Rather than using a Trie keyed by •> directly, a ‘>% 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 —>! standing for a level parameter.’>Do case analysis on a term. ’>Á 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.“>#Succeed with a given set of values.”>The empty discrimination tree.–>Constant lambdas.—>Anything else.˜>Local variables.™>—Dependent function types. The domain will be represented accurately, for the case of a genuine dependent function type, the codomain will be a dummy.š>ÚRigid symbols (constructors, data types, record types, postulates) identified by a QName.›> Universes.’>The variable to case on.The proper branches.0A further tree, which should always be explored. �>�>‘>’>“>”>•>–>—>˜>™>š>›> •>–>—>˜>™>š>›>‘>’>“>”>�>�> œ>ÛÄÄ�>Û((ž>ÛÄ ÄŸ>Û((# >Ûà à;¡>Û‚ ‚)¢>Ûÿ ÿ,£>ÛÞ Þ,¤>Û* *¥>Ûæ æ¦>Û((§>ÛÄĨ>Û( (›None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú 4«>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.­>:The default strictness for constructors of the given kind.®>The default strictness.¯>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?È>ÈIs the matched type inductive (or non-recursive), or is it coinductive?Õ>­©, 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.Ø>Strict evaluation.Ù>$Lazy evaluation. If the argument is Ü>Î, then applications of inductive (or non-recursive) constructors are strict.Ú> Strictness.Þ>³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. It can be strict or non-strict. Non-strict bindings should not be made more strict, this could lead to crashes. 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.æÀ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�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å(æ(ç(è(é(Á>Â>Ã>Ä>Å>Æ>Ç>È>É>Ê>Ë>Ì>Í>Î>Ï>Ð>Ñ>Ò>Ó>Ô>Õ>Ö>×>Ø>Ù>Ú>Û>Ü>Ý>Þ>ß>à>á>â>ã>ä>å>æ>ç>è>é>ê>ë>ì>í>î>ï>ð>ñ>ò>ó>ô>õ>ö>÷>ø>ù>ú>û>ü>ý>þ>ÿ>€?�?‚?ƒ?„?…?†?‡?ˆ?‰?Š?‹?Œ?�?Ž?�?�?‘?é©>ª>«>¬>­>®>¯>°>±>²>³>´>µ>¶>·>¸>¹>º>»>¼>½>¾>¿>À>Á>Â>Ã>Ä>Å>Æ>Ç>È>É>Ê>Ë>Ì>Í>Î>Ï>Ð>Ñ>Ò>Ó>Ô>Õ>Ö>×>Ø>Ù>Ú>Û>Ü>Ý>Þ>ß>à>á>â>ã>ä>å>æ>ç>è>é>ê>ë>ì>í>î>ï>ð>ñ>ò>ó>ô>õ>ö>÷>ø>ù>ú>û>ü>ý>þ>ÿ>€?�?‚?ƒ?„?…?†?‡?ˆ?‰?Š?‹?Œ?�?Ž?�?�?‘?7’?Ü**“?Ü÷÷”?Üíí•?Ü$$–?Ü<<—?Ü00˜?Ü„„™?Ü��š?܆†›?Üêêœ?Ü**#�?Ü÷÷#ž?Üíí#Ÿ?Ü$$# ?Ü<<#¡?Ü00#¢?Ü„„#£?Ü��#¤?܆†#¥?Üêê#¦?ÜŸ Ÿ§?ÜÛ Û¨?Üá á©?Üà àª?ÜÚ Ú«?ÜÝ Ý#¬?ÜÜ Ü­?Üâ â®?Üã ã¯?Üß ß°?ÜÞ Þ±?Ü**²?Ü÷÷³?Üíí´?Ü$$µ?Ü<<¶?Ü00·?Ü„„¸?Ü��¹?܆†º?Üêê»?Ü* *¼?Ü÷ ÷½?Üí í¾?Ü$ $¿?Ü< <À?Ü0 0Á?Ü„ „Â?Ü� �Ã?܆ †Ä?Üê êÅ?ÜÑ ÑÆ?ÜÀ ÀÇ?Ü— —È?Üš šœNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú9�«,Split alts into TAGuard alts and other alts.É?É?�None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú]Ê?ÐWe lose track of @-patterns in the internal syntax. This pass puts them back.Ê?Ê?Ë?Ý žNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú/Ì?Í?Î?Ï?Ð?Ñ?Ò?Ó?Ô?Õ?Ö?×?Ø?Ù?Ú?Û?Ü?Ý?Þ?ß?à?á?â?ã?ä?å?æ?ç?è?é?ê?ë?ì?í?î?ï?ð?ñ?ò?ó?ô?õ?ö?÷?ø?ù?ú?/Ï?Þ?ß?Ý?à?Ì?Í?Î?ï?ð?ñ?ò?ó?ô?õ?ö?÷?ø?ù?ú?è?é?ê?ë?ì?í?î?á?â?ã?ä?å?æ?ç?Ð?Ñ?Ò?Ó?Ô?Õ?Ö?×?Ø?Ù?Ú?Û?Ü?û?Þ ü?ÞÅ Åý?Þ9 9þ?Þ' 'ÿ?ÞÍ Í€@Þ �@Þ1 1ŸNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú Ò‚@ÜTranslate the clause patterns to terms with free variables bound by the clause telescope.%Precondition: no projection patterns.ƒ@ëTranslate the clause patterns to an elimination spine with free variables bound by the clause telescope.„@Ï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.†@Ï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.‡@ÆCompute from each subpattern a value and collect them all in a monoid.‰@5Augment pattern variables with their de Bruijn index.Š@…Turn a pattern into a term. Projection patterns are turned into projection eliminations, other patterns into apply elimination.�@ÄTraverse pattern(s) with a modification after the recursive descent.Ž@ÅTraverse pattern(s) with a modification before the recursive descent.’@+Arity of a function, computed from clauses.”@ùLabel the pattern variables from left to right using one label for each variable pattern and one for each dot pattern.—@ÊIntended, but unpractical due to the absence of type-level lambda, is: ÀlabelPatVars :: f (Pattern' x) -> State [i] (f (Pattern' (i,x)))š@Generic pattern traversal.ËPre-applies a pattern modification, recurses, and post-applies another one.›@ Fold pattern.œ@Traverse pattern.Ÿ@Combine a pattern and the value computed from its subpatterns.œ@pre : Modification before recursion.post: Modification after recursion.ß @à¡@á¢@â£@ã¤@ä¥@‚@ƒ@„@…@†@‡@ˆ@‰@Š@‹@Œ@�@Ž@�@�@‘@’@“@”@•@–@—@˜@™@š@›@œ@�@ž@Ÿ@$‚@ƒ@’@“@”@•@–@—@¢@¥@‰@�@…@†@„@Š@Œ@‹@˜@™@£@š@›@œ@¡@¤@‡@Ž@�@�@‘@ @�@ž@Ÿ@ˆ@¦@å¸ ¸8§@å· ·4¨@å¹ ¹<©@å» »'ª@å. .«@å22/¬@å**8­@åÎ Î:®@åÔ Ô2¯@åÑ Ñ°@å× ×.±@åÌ Ì6²@å× ×<³@å« «2´@åª ª.µ@å¬ ¬6¶@å’ ’$·@åÖ ÖÀ¸@åÎ Î<¹@åÒ Òĺ@åá á+ None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú»@5Put it in a monad to make it possible to do strictly.¼@Generic term traversal.ÏNote: ignores sorts in terms! (Does not traverse into or collect from them.)½@Generic fold, ignoring sorts.¾@?Generic traversal with post-traversal action. Ignores sorts.æ¿@çÀ@»@¼@½@¾@¼@½@¾@¿@À@»@Á@èÀ À(Â@è: :(Ã@è? ?,Ä@è# #Å@è/ /Æ@è; ;9Ç@è9 9*È@è™ ™É@è' 'Ê@è+ +Ë@èð ðÌ@è< <$Í@è> >*Î@è= =*Ï@èô ôÐ@è3 3Ñ@èü üÒ@èÁ Á)Ó@èÔ ÔÔ@èø ø/Õ@èÆ Æ5Ö@èÊ ÊÄ×@èÎ ÎÓØ@è Â/¡None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú Û@ñCheck that the requirements on lazy matching (single inductive case) are met, and set lazy to False otherwise.Þ@1Check whether a case tree has a catch-all clause.ß@5Check whether a case tree has any projection patternsã@Data stored in Ù@ nodes of the case tree. CCDone no mr 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. The no is the number of the original ÿ7$ this case tree leaf comes from. mrÌ tells whether this body contains calls to the mutually recursive functions.é@Branches in a case tree.ë@'(Possibly additional) catch-all clause.ì@ïMap from constructor (or projection) names to their arity and the case subtree. (Projections have arity 0.)í@þEta-expand with the given (eta record) constructor. If this is present, there should not be any conBranches or litBranches.î@?(if True) In case of non-canonical argument use catchallBranch.ï@äLazy pattern match. Requires single (non-copattern) branch with no lit branches and no catch-all.ð@!Map from literal to case subtree.ñ@3We are constructing a record here (copatterns). ì@ lists projections.ò@The number of a ÿ7+ (starting with 0) in the clause list of a  FunctionData.ô@Case tree with bodies.õ@ 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 ì@ with arity 0.÷@úAbsurd case. Add the free variables here as well so we can build correct number of lambdas for strict backends. (#4280)%Ù@Ú@Û@Ü@Ý@Þ@ß@à@á@â@ã@ä@å@æ@ç@è@é@ê@ë@ì@í@î@ï@ð@ñ@ò@ó@ô@õ@ö@÷@ø@ù@ú@û@ü@ý@%ò@ú@û@ü@ý@é@ê@ë@ì@í@î@ï@ð@ñ@ó@ô@õ@ö@÷@ã@ä@å@æ@ç@è@Ù@à@Ü@Ý@â@Ú@Û@Þ@ß@ø@ù@á@)þ@éÝ#Ý+ÿ@é<<€AéÌ#Ì+�Aé$$‚AéÝ ÝƒAé< <„AéÌ Ì…Aé$ $†AéÝ3Ý:‡Aé<3<:ˆAéÌ3Ì:‰Aé$3$:ŠAéê ê+‹Aéò ò#ŒAéç ç0�Aé— —"ŽAé» »'�Aé© ©+�Aé¥ ¥,‘Aé   0’Aé� �'“AéŽ Ž%”Aé� �1•Aé� �*–Aé¿ ¿—Aéá á'˜AéÉ É%™Aé× ×1šAéÆ Æ*›AéÝ-Ý1œAé<-<1�AéÌ-Ì1žAé$-$1ŸAé† †+ Aéþ þ)¡Aé‚ ‚5¢Aéú ú.£AéÝÝ!¤Aé< <+¥AéÌÌ!¦Aé$ $+¢None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúʨAReturns ®A 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 ®A with a suitable monoid.©A8Returns the first meta it find in the thing, if any. 'firstMeta == listToMaybe . allMetasList.ªA±© if thing contains no metas. noMetas = null . allMetasList.«AÁA blocker that unblocks if any of the metas in a term are solved.¬AÁA blocker that unblocks if any of the metas in a term are solved.­AéReturns every meta-variable occurrence in the given type, except for those in sort annotations on types.ê¯A§A¨A©AªA«A¬A­A®A ­A®A¯A§A¨AªA©A¬A«A°Aë< <(±Aë ŲAë *³Aë! !´Aë: :$µAë---¶Aë' 'Á·Aë; ;*¸Aë" "¹Aë$ $:ºAë* *»Aë ¼Aë )½Aë ¾Aë1 15¿Aë4 4ÄÀAë7 7ÓÁAë ;£None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúàÂAËGet list of definitions, throw an error if any metavariable is encountered.ÃAGetting the used definitions.Note: in contrast to  ì getDefsÆ also collects from sorts in terms. Thus, this is not an instance of foldTerm.ÄAgetDefs 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  Endo [QName] or  Set QName . Do not use [QName]8 because of obvious quadratic slowdown. Note that embÖ can also choose to discard a used definition by mapping to the unit of the monoid.ÂAÃAÄAÂAÃAÄAÅAí÷ ÷&ÆAíí í&ÇAí* *ÈAíò ò&ÉAíæ æ(ÊAíÒ ÒËAí……,ÌAíß ß"ÍAíÙ Ù(ÎAí< <ÏAíÕ ÕÐAíà ÃÑAí� �ÒAí. .ÓAíý ý1ÔAí? ?¤None* #&()+,/1569<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú-6²ØAËTurn an expression into a pattern, turning non-pattern subexpressions into §C.ÜAÕTurn an expression into a pattern. Fails if the expression is not a valid pattern.ÝAReturn ¬C if ŠB is ¬C.ßASmart constructor for Pi: check whether the  Telescope is emptyäASmart constructor for Lam: check for non-zero bindings.åASmart constructor for Let": check for non-zero let bindings.æASmart constructor for TLet": check for non-zero let bindings.èA*Observe the hiding status of an expressionéA2Observe various modifiers applied to an expressionêA-Observe the relevance status of an expressionëAôDrop type annotations and modalities from bindings. Also drop let, patterns, fixity, and tactics, but those should not be present in the first place when using this function, because all such cannot occur in data and record parameters.ìA We can get a  Telescope from  Parametersý. If we have a type annotation already, we're happy. Otherwise we manufacture a binder with an underscore for the type.ñA¹Splits off allowed (= import) declarations before the first non-allowed declaration. After successful parsing, the first non-allowed declaration should be a module declaration.òA#Parse outermost hiding information.ôAUnparse hiding information.÷AThe ±B is not an application.ùA.From the parser, we get an expression for the as-ð(#, which we have to parse into a ð(.úAThe content of the as -clause of the import statement.üAThe "as" name.ýAÃThe range of the "as" keyword. Retained for highlighting purposes.ÿA A Binder x@p, the pattern is optional‡BThe @finite- cannot be parsed, it comes from the builtin Partial only.ˆBFrom @tactic attribute.ŠBþThe representation type of a declaration. The comments indicate which type in the intended family the constructor targets.ŽB#lone data signature in mutual block‘BOnly ©  is used in Ä.’B=Variables to be generalized, can be hidden and/or irrelevant.•BThe Ç) here only refers to the range of the instance( keyword. The range of the whole block InstanceB r ds is fuseRange r ds.œB  opaque ...¢BIn  Agda.Syntax.Concrete.Definitionsþ we generate private blocks temporarily, which should be treated different that user-declared private blocks. Thus the  .¥B%lone record signature in mutual block¦Bnotation declaration for a name§B)Axioms and functions can be irrelevant. (ª should be ­) ÔC makes only sense in ’B blocks.¨B  unfolding ...©B %unquoteDecl data d constructor xs = eªB unquoteDecl xs = e«B unquoteDef xs = e¬B›Parameters supplied to data and record definitions (as opposed to their signatures) are stripped of their type information. They also cannot contain let* or pattern bindings or tactic attributes.®B p �C e where cs±BÃConcrete expressions. Should represent exactly what the user wrote.²Bex: () or {}, only in patterns³Bex: \ ()´Bex: e e, e {e}, or  e {x = e}µBex: x@p, only in patterns¶Bex: do x <- m1; m2 The Ç is for the do keyword.·Bto print irrelevant things¸Bex: .p, only in patterns¹Bex: ..A, used for parsing ..A -> BºB...$, used internally to parse patterns.»Bex: a = b, used internally in the parser¼Bex: .\ { p11 .. p1a -> e1 ; .. ; pn1 .. pnz -> en }½Bex: e -> e or .e -> e (NYI: {e} -> e)¿Bex: {e} or {x=e}ÀBáAn arbitrary expression bundled with highlighting information from abstract (or internal) syntaxÁBex: xÂBex: (| e1 | e2 | .. | en |) or (|)ÃBex: {{e}} or {{x=e}}ÄBøAn identifier coming from abstract syntax, for which we know a precise syntactic highlighting class (used in printing).ÅBƒAn operator application coming from abstract syntax, for which we know a precise syntactic highlighting class (used in printing).ÆBex:  \x {y} -> e or \(x:A){y:B} -> eÇBex:  let Ds in e+, missing body when parsing do-notation letÈBex: 1 or "foo"ÉBex: e + e The €)Ï is possibly ambiguous, but it must correspond to one of the names in the set.ÊBex: (e)ËBex:  (xs:e) -> e or  {xs:e} -> eÌBex: ? or  {! ... !}ÍBex: quote, should be applied to a nameÎBex:  quoteTerm, should be applied to a termÏBbefore parsing operatorsÐBex: record {x = a; y = b}, or record { x = a; M1; M2 } The Ç is for the record keyword.ÑBex: record e {x = a; y = b} The Ç is for the record keyword.ÒBex:  @(tactic t)", used to declare tactic argumentsÓBex: _ or _A_5ÔBex: unquote&, should be applied to a term of type TermÕBex: e | e1 | .. | enÖBöAn expression followed by a where clause. Currently only used to give better a better error message in interaction.ßB(Extended content of an interaction hole.àB eáB  (rewrite | invert) e0 | ... | enâBÙThe things you are allowed to say when you shuffle names between name spaces (i.e. in import,  namespace, or open declarations).ãB3An imported name can be a module or a defined name.äB;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.åBÓOriginal pattern (including with-patterns), rewrite equations and with-expressions.æBe.g.  f ps | wpsçB(rewrite e | with p <- e in eq) (many)èBwith e1 in eq | {e2} | ... (many)éB:Processed (operator-parsed) intermediate form of the core f ps of äB. Corresponds to æB.îB fïBRecord projection.ðB+Pattern that was expanded from an ellipsis ....òBMain argument.ôB psõB-Patterns for record indices (currently none).öB At least one (| p).÷B;A lambda binding is either untyped (domain free) or typed (ÜC).ùB. x or {x} or .x or .{x} or {.x} or x@p or (p)úB. (xs : e) or {xs : e}þBPossibly empty sequence.€C=Modules: Top-level pragmas plus other top-level declarations.‚C;All the other declarations, including the top-level module.ƒC7The module name as inferred by the parser. Could be _7 if the parser inserted a top-level module declaration.„CThe top-level OPTIONS pragmas.†C  M {{...}}‡C tel M exprs where M exprs is a ÏB just after parsing.�CÜAn abstraction inside a special syntax declaration (see Issue 358 why we introduce this).”C Range of the open keyword.–C6Parameters are sequences of typed or untyped bindings.—C9Concrete patterns. No literals in patterns at the moment.˜C ()™Cp p' or  p {x = p'}šC x@p›C.e, the Ç is for the dot, the ª× for the whole thing (including the dot). If the dot pattern came from parsing e.g. .{e}# it cannot be a projection pattern.œC...., only as left-most pattern. Second arg is Nothing before expansion, and Just p after expanding ellipsis to p.�Ci = i1$ i.e. cubical face lattice generatoržC{p} or {x = p}ŸCc 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. C{{p}} or  {{x = p}}¡C0, 1, etc.¢Ceg: p => p' for operator _=>_ The €)Ñ is possibly ambiguous, but it must correspond to one of the names in the set.£C (p)¤C quote¥Cp1..pn before parsing operators¦Crecord {x = p; y = q}. The Ç is for the record keyword.§C _¨C| p, for with-patterns.©C7Can a dot pattern be interpreted as projection pattern?ªCNo.«CYes.®C)Applies to the following function clause.°C*Display lhs as rhs (modifies the printer).±C/Applies to the following record type. Force  eta-equality for the attached record type for unguarded and  coinductive records.²CRemoved, replaced by ±C.´C6Throws an internal error in the scope checker. The †«+s are words to be displayed with the error.µC9Mark a definition as injective for the conversion checker¶CÀMark a definition as injective for the pattern matching unifier.·CINLINE or NOINLINE¸C…Applies to the following function (and all that are mutually recursive with it) or to the functions in the following mutual block.¹C:Applies to the following data/record type or mutual block.ºC*Applies to the following data/record type.»CApplies to the stated function½CÚApplies to the given name(s), which must be instance names (checked by the type checker).¿C$Second Range is for REWRITE keyword.ÁC…Applies to the following function (and all that are mutually recursive with it) or to the functions in the following mutual block.ÂCApplies to the current moduleÃCApplies to the named functionÆC+No right hand side because of absurd match.ÈC;Expressions usually instantiating module parameters as in % open import Monoid Carrier _==_  that might also code an as clause e.g. in  open import File as M Ä The parser does not distinguish these so we do it in the nicifier.ËC1Isolated record directives parsed as DeclarationsÍC Range of [no-]eta-equality keyword.ÎCRange of keyword  [co]inductive.ÏCIf declaration pattern is present, give its range.ÙCÜA telescope is a sequence of typed bindings. Bound variables are in scope in later types.ÚCJust type signatures.ÛC(Just type signatures or instance blocks.ÜCA typed binding.ÞCBinding (x1@p1 ... xn@pn : A).ßC Let binding (let Ds) or  (open M args).áCwhere block following a clause.âCThe generalization  WhereClause' is for the sake of Agda.Concrete.Generic.ãC Ordinary where. ª of the where/ keyword. List of declarations can be empty.äCNo where clauses.åC 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.æCType of where block following a clause.çC Ordinary where.èCNo where clauses.éC Named where: module M where ....ÇDRanges are not forced.ÌDRanges are not forced.ÎDRanges are not forced.ÑDRanges are not forced.ÓDRanges are not forced.ÕDRanges are not forced.ÖDRanges are not forced.ØDRanges are not forced.ÚDRanges are not forced.ßDA áC 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).×ÕAÖA×AØAÙAÚAÛAÜAÝAÞAßAàAáAâAãAäAåAæAçAè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å(æ(ç(è(é(ê(ë(ì(í(î(ï(ð(ñ(ò(ó(ô(õ(ö(÷(ø(ù(ú(û(ü(ý(þ(ÿ(€)�)‚)˜(™(˜±B²B³B´BµB¶B·B¸B¹BºB»B¼B½B¾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ÙA�C‘C’C÷AøAÕAóAòAôAíAîAÞAïAÜAÚAÛA©CªC«CèAêAéAØAðAÿA€B�B‚BƒBþAáAàA÷BøBùBúB¬BëAÖAÜCÝCÞCßCÉCÊCØBÙBÚBÛBÜBçA×AˆC‰CŠC‹CŒC„B…B†B‡BˆB‰BãAâAÔCÕCÖC×CØCÙC–Cì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ÝAËCÌCÍCÎCÏCÐC…C†C‡CÚCÛCâBàCãBÑCÒCÝBúAûAüAýAùAÈC“C”C•CÓCêCäBåBæBçBèB—C˜C™CšC›CœC�CžCŸC C¡C¢C£C¤C¥C¦C§C¨Cé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ÖB×BöA­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˜(™(ÞBßBàBáBñAõAˆëCîð3ð5ìCî��íCîÅ ÅîCîÏ ÏïCî‰ ‰ðCîÑ ÑñCîþ3þ5ò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îÈ(È0‹DîÞÞŒDîÄÄ"�DîððŽDî���Dîþ þ�Dîç ç‘Dî§ §’Dî÷ ÷“Dî² ²”DîÈÈ&•DîÞ Þ–DîÄÄ—Dî��˜DîËË™Dîó óšDîû û›Dî‰ ‰œDî¡ ¡�DîÕ ÕžDîРПDî• •5 DîÅ Å¡DîÈ È¢Dî… …£DîÒ Ò¤Dî‘ ‘$¥Dî˜ ˜#¦DîË Ë*§DîÆ Æ ¨Dîö ö©DîÚ ÚªDîΠΫDî› ›"¬Dîþ þ'­Dî� �®DîŒ Œ¯Dî± ± °Dî´ ´ ±Dî· · ²DîÀ À ³Dî— — ´Dîç ç µDî« « 7¶Dî‘ ‘ ·Dî� � ¸Dî” ” ¹Dîœ œ %ºDî® ® $»Dî    ,¼Dî¦ ¦ !½Dî¤ ¤ ¾Dî· · ¿DîÐ Ð ÀDîº º #ÁDîÈ?ÈÈÂDîÔ Ô ÃDîØ Ø ÄDî± ±ÅDî· ·!ÆDî½ ½$ÇDîê ê ÈDî˜ ˜ ÉDî› › ÊDî¦ ¦ ËDî¢ ¢ ÌDîã ã ÍDî„ „ 1ÎDî� � ÏDî” ” ,ÐDî‘ ‘ ÑDîõ õ "ÒDî‡ ‡ !ÓDîû û &ÔDîË Ë ÕDî‹ ‹ ÖDîÏ Ï ×Dîž ž %ØDî    ÙDîÈÈÚDîï ï .ÛDîŠ Š -ÜDî� � ÝDîœ œÞDîË Ë#ßDî¢ ¢àDî¨ ¨áDîŒ Œ âDîŸ Ÿ ãDîð ðäDîþ-þ1åDî��æDçDèDîÈÈéDîð&ð1êDî�&�1ëDîþ þ+ìDîç ç+íDî§ §+îDî÷ ÷+ïDî² ²+ðDîÈ2È=ñDîÞ Þ+òDîÄ$Ä/¥None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú·óD#Hashes a raw top-level module name.ôDA lens focusing on the ¡.õDÆTurns a top-level module name into a file name with the given suffix.öDð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.÷DÀConverts a top-level module name to a raw top-level module name.øD$Retrieves the top-level module name.ùD Computes the þDà corresponding to the given module name, which is assumed to represent a top-level module name.2Precondition: The module name must be well-formed.úDTurns a qualified name into a þDÆ. The qualified name is assumed to represent a top-level module name.ûD0Turns a raw top-level module name into a string.üDA corresponding ï¶. The range of each Name! part is the whole range of the ƒE.ýDÌ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 †ð.þD:Raw top-level module names (with linear-time comparisons).€EÖWas this module name constructed from a file name rather than declared in the file?ƒE8Top-level module names (with constant-time comparisons).‰EThe ª is not forced.óDôDõDöD÷DøDùDúDûDüDýD™þDÿD€E�E‚EƒEš›œ�žŸ ¡¢£óDôDõDöD÷DøDùDúDûDüDýDþDÿD€E�E‚EƒE „Eñ6 6"…Eñ44†Eñà Ã(‡EñÍ Í*ˆEñÉ É)‰EñÒ Ò&ŠEñ9 9#‹EñÀ À&ŒEñ� �#�EñÆ Æ(ŽEñ4 4�Eñ< <%�Eñ‰ ‰"¦None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú g‘EÈCompute a value from each subpattern and collect all values in a monoid.’E)Does the LHS contain projection patterns?“E´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.”E9Does the pattern contain a with-pattern? (Shortcutting.)•EIs ¨C?–EAppend patterns to éB), separating with patterns from the rest.—EËAdd applicative patterns (non-projection / non-with patterns) to the right.˜EAdd with-patterns to the right.™EConstruct the ¯E" of the given list (if not empty).+Return the view and the remaining patterns.šE?Map pattern(s) with a modification after the recursive descent.›E Modify the —C component in äB.œEEffectfully modify the —C component in äB.�E2Count the number of with-subpatterns in a pattern?žEView 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).ŸECombine a pattern and the value computed from its subpatterns.§E;Combine a pattern and the its recursively computed version.¨Epre : Modification before recursion.post: Modification after recursion.ó²Eô³Eõ´EöµE!‘E’E“E”E•E–E—E˜E™EšE›EœE�EžEŸE E¡E¢E£E¤E¥E¦E§E¨E©EªE«E¬E­E®E¯E°E±E%«E¬E©EªE­E®E³E¯E°E±E™E—E˜E–E›EœE’E¥E¦E§E¨E²E´EµE‘E¢E¡EšE EŸE”E•E�E“E£E¤EžE¶E÷Œ Œ0·E÷’ ’=¸E÷Ž Ž,¹E÷� �2ºE÷‘ ‘2»E÷� �4¼E÷� �2½E÷» »¾E÷þ þÀ¿E÷7 7ÀE÷/ /ÁE÷$ $ÂE÷É É&ÃE÷Ê Ê*ÄE÷à çNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúáÅE,Generic traversals for concrete expressions. Note: does not go into patterns!ÆEThis corresponds to �«.ÇEThis corresponds to ²©.ÈEThis corresponds to ¶ª.ÊEÕCollect declarations and subdeclarations, transitively. Prefix-order tree traversal.ÌEùUpdate declarations and their subdeclarations. Prefix-order traversal: traverses subdeclarations of updated declaration.õE7Note: this instance discards top-level OPTIONS pragmas.øÍEùÎEúÏEûÐEüÑEÅEÆEÇEÈEÉEÊEËEÌE ÅEÆEÇEÈEÎEÏEÑEÉEÊEÍEËEÌEÐE+ÒEýÕ Õ(ÓEýÈ ÈÔEýè èÕEýÖ ÖÖEýà à;×Eý÷ ÷ØEý¤ ¤"ÙEýÀ ÀÚEý¸ ¸ÛEýÑ ÑÜEýÐ Ð$ÝEýÒ Ò*ÞEýÓ Ó*ßEýÚ Ú5àEýÞ Þ$áEý© ©#âEý> >ãEýÖ Ö/äEýÑ Ñ*åEý® ®*æEýà ÃçEýÛ Û)èEý× ×+éEýÉ ÉÇêEýÜ Ü5ëEýå å5ìEýê êÄíEýï ïÓîEýÝ Ý2ïEý9 9ðEýÞ Þ1ñEýØ Ø/òEý¶ ¶óEý­ ­$ôEý¯ ¯*õEý³ ³öEý® ®*÷Eý° °1øEýê ê"ùEýå å,úEýç ç2ûEýæ æ2üEýè è9¨None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú ýEInvariant for …F hl%, parametrised by the invariant for hl.?Additionally the endofunction should be extensionally equal to (fs ‘«) for some list fs.þEThe invariant for ˆF.?Additionally the endofunction should be extensionally equal to (fs ‘«) for some list fs.ÿEThe invariant for ‡F.€F4Conversion from classification of the scope checker.�F A variant of ’« with à set to ì.‚FInvariant for ŒF.ƒF#Conversion between different types.…F'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 (ýE).‡FHighlighting information.>Note the invariant which values of this type should satisfy (ÿE).ÕThis is a type synonym in order to make it easy to change to another representation.ˆFÏA type that is intended to be used when constructing highlighting information.>Note the invariant which values of this type should satisfy (þE).Õ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 ƒF ˆF ‡F.‰FÈSyntax highlighting information, represented by maps from positions to ½.,The first position in the file has number 1.ŒFÉA limited kind of syntax highlighting information: a pair consisting of œ and ½.Note the invariant which ŒFs should satisfy (‚F).”«Merges meta information.Õý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ýE‡FÿEˆFþE�F€F­®¯°±·«ƒF„F¨ª�Fþö ö6�Fþÿ ÿ=‘Fþó ó?’Fþè è3“Fþî î0”Fþë ë7•FþÝ Ý<–Fþ× ×:—FþÀ À-˜Fþ¸ ¸+™FþÐ Ñ7šFþ© ©›Fþ¦ ¦œFþââ�Fþâ âžFþ· ·ŸFþ³ ³ Fþ� �¡Fþ‰ ‰¢FþÖÖ£FþÆÆ¤Fþ’ ’"¥Fþä ä+¦FþÖ Ö§FþÆ Æ©None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúJ1¨F.Global variable to store benchmark statistics.©F=Benchmark an IO computation and bill it to the given account.ªF>Benchmark a pure computation and bill it to the given account.°FPhases to allocate CPU time to.±F Subphase for ãF(: copying definitions for a module macro²F Subphase for ÝF.³F Subphase for ÝF.´F Subphase for ãF: checking the LHSµF Subphase for ÈF : reducing overlapping instances¶F Subphase for ãF: checking the RHS·F Subphase for ¿F: compacting interfaces.¸F Subphase for ßF.¹F Subphase for ÝF.ºF0Coverage checking and compilation to case trees.»FÒGenerating left inverses in LHS unification in cubical or cubical-compatible mode.¼FDead code elimination.½F)Dead code reachable definitions subphase.¿FReading interface files.ÀF Subphase for ÈF": checking candidates for validityÁF Subphase for ãF: free variable computation.ÂF Subphase for ãF: generalizing over variablesÃF Subphase for ßF.ÄFGenerating highlighting info.ÅFImport chasing.ÆF Subphase for ÈF: collecting initial candidatesÇFInjectivity checking.ÈF Subphase for ãF: solving instance goalsÉF)Unfolding all metas before serialization.ÏF Subphase for ßF.ÐF Subphase for ÅF.ÑF Subphase for ãF!: occurs check for solving metas.ÒF Subphase for ÕF.ÓF Subphase for ÕF.ÔF Subphase for ÈF%: ordering candidates for specificityÕF#Happy parsing and operator parsing.ÖFPolarity computation.×FPositivity checking.ØF!Checking for projection likeness.ÙF Subphase for ßF.ÚF Subphase for ßF.ÛF Subphase for ãF": evaluating elaborator reflectionÜF2Scope checking and translation to abstract syntax.ÝFWriting interface files.ÞF Subphase for ÝF.ßFTermination checking.áF Subphase for ãF: checking a type signatureãF1Type checking and translation to internal syntax.äF Subphase for ´F: unification of the indicesåF Subphase for ßF.>¨F©FªF«F¬F­F®F¯F°F±F²F³F´FµF¶F·F¸F¹FºF»F¼F½F¾F¿FÀFÁFÂFÃFÄFÅFÆFÇFÈFÉFÊFËFÌFÍFÎFÏFÐFÑFÒFÓFÔFÕFÖF×FØFÙFÚFÛFÜFÝFÞFßFàFáFâFãFäFåF>°F±F²F³F´FµF¶F·F¸F¹FºF»F¼F½F¾F¿FÀFÁFÂFÃFÄFÅFÆFÇFÈFÉFÊFËFÌFÍFÎFÏFÐFÑFÒFÓFÔFÕFÖF×FØFÙFÚFÛFÜFÝ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 Pretty-print ™G.ïF Pretty-print ¤G.ðF#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.óF)Does a parse error contain a line number?úFThe special name "."Ó is used to indicated that the current directory should count as a project root.ýFÁ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.)†G Content of a  .agda-lib file.ˆG3How many directories above the Agda file is the  .agda-lib file located?‰G Dependencies.ŠG Path to this  .agda-lib file (not content of the file).‹G3Roots where to look for the modules of the library.ŒG!The symbolic name of the library.�G4Default pragma options for all files in the library.�GA symbolic executable name.’GáThe executables file might not exist, but we may print its assumed location in error messages.“GE.g. ~.agda executables.”G5Cache locations of project configurations and parsed  .agda-lib files.–G Contents of  .agda-lib% files that have already been parsed.—G3Map from directories to paths of closest enclosing  .agda-lib files (or ÊG if there are none).˜GCollection of ™Gs and ¼Gs.›G0Collected errors while processing library files.œG1Raised when a library name is defined in several .agda-lib files.�GThe  executables! file contains duplicate entries.žGÇRaised when a library name could not successfully be resolved to an  .agda-lib file.ŸGThe  .agda-lib file could not be parsed. G/The user specified replacement for the default  libraries file does not exist.¡G*An I/O Error occurred when reading a file.¢G.The given project root contains more than one  .agda-lib file.£G Collects ™Gs and ¼Gs.¤G$Collected errors when processing an  .agda-lib file.¨GThrows ¤G exceptions, still collects ¼Gs.©GA 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.«GActual library name.¬GÇMajor version, minor version, subminor version, etc., all non-negative.­GExceptions thrown by the  .agda-lib parser.®GÊAt the given line number, an invalid field name is encountered before the :. (E.g., containing spaces.)¯G1An invalid library name, e.g., containing spaces.°GÍAt the given line number, indented text (content) is not preceded by a field.±G'These fields occur each more than once.²G=At the given line number, the given field is not followed by :.³G=At the given line number, a field name is missing before the :.´GMissing these mandatory fields.µGI/O error while reading file.¶GInformation about which  .agda-lib. file we are reading and from where in the  libraries file it came from.¸G Library file.¹GName of  libraries file.ºGLine number in  libraries file.¾GLibrary Warnings.ÂGßThe libraries file might not exist, but we may print its assumed location in error messages.ÃGE.g. ~.agda libraries.ÅGThe 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.ÇGÆThe range of the options in the pragma (not including things like an OPTIONS keyword).ÈG The options.ÉG�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.ÌG0How many directories above the Agda file is the  .agda-lib file located?ÍG .agda-lib file relative to ÎG (filename only, no directory).ÎGDirectory which contains the  .agda-lib file for the current project.íGRanges are not forced.ñGÌ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.òG?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú  ƒHParse  .agda-lib file.Sets ÷F× name and turn mentioned include directories into absolute pathes (provided the given ¼ª is absolute).…H4Break a comma-separated string. Result strings are trimmed.†H+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 †G 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.£«ÎEnsure that there are no duplicate fields and no mandatory fields are missing.¤«Find —« with given ˜«, throw error if unknown.¥«Parse ž« with ¢« descriptors.¦«Given a list of —«5 descriptors (with their custom parsers), parse a ž« into the †G structure.ÏChecks mandatory fields are present; no duplicate fields, no unknown fields.§«Collect •« and subsequent –«s into ¨«.Leading –«s? That's an error.©«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 file contents.««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" ] ¥«The parsed file.¦«The parsed file.ª«The parsed file.ƒH„H…H†HƒH…H†H„H‡H�Û Û¬None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúyˆH Converts a ‚ƒ to a œ.‰H Converts a ‚ƒ#, seen as a continuous range, to a ˜.ˆH‰H‘’“”•–— ˜™š›œ�ˆH‰H­None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú„�HŠH‹HŒHŠH‹HŒH�HŽH…ü ü%�H…ö ö!�H…РБH…ç ç!’H…ò ò!“H…í í”H…Ç Ç•H…ß ß–H…Ì Ì—H… Â˜H…3 3™H…8 8šH…ã ã!›H…Û ÛœH…= =�H…Ö Ö®None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú E!žH Lens for � in ³H.ŸHÁTarget argument position of a part (Nothing if it is not a hole). HIs the part a hole?¡HIs the part a binder?¢HIs the hole a binder?£HØCheck if a notation contains any lambdas (in which case it cannot be used in a pattern).¤H Analogue of Ê(: prefix, infix, or postfix.¥HMerges ³HÉ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 ³HÀ 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 ³HÀ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 ³H must have the same ·H.Postcondition: No ã†& occurs in more than one list element.¦H2From 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 [°H ("x" :| []) "e", ¯H "xs"]- are mapped to the following notation:  [ ½  "for" , ¾  (Õ 0 0) , ½  "ˆD" , ¼  1 , ½  "return" , ¼  0 ] §HÌIf an operator has no specific notation, then it is computed from its name.¨H'Converts a notation to a (non-)section.©HFor non-sectioned operators this should match the notation's ©H.ÄHEffective precedence level. ­© for closed notations.(žHŸH H¡H¢H£H¤H¥H¦H§H¨H©HªH«H¬H­H®H¯H°H±H²H³H´HµH¶H·H¸H¹HºH»H¼H½H¾H¿HÀHÁHÂHÃHÄHÅH(®H¯H°H±H²H¢H«HŸH H¡HºH»H¼H½H¾H¿H©H¤H¦H³H´HµH¶H·H¸H¹H§H­HªH¬H¥H£HžHÀHÁHÂHÃHÄHÅH¨HÆH‡ààÇH‡‡‡ÈH‡ààÉH‡––ÊH‡‰ ‰ ËH‡º ºÌH‡¹ ¹ÍH‡» » ÎH‡¥ ¥ÏH‡« «ÐH‡­ ­ ÑH‡‡‡ÒH‡ààÓH‡– –¯None) #&()+,/1359<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú# ÖHË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.ÙH0Parse 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.ÚH†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.ÛH)Parse a specific identifier as a NamePartÜH,Parses a potentially pattern-matching binderåHThe €)Ï is possibly ambiguous, but it must correspond to one of the names in the set.íHA singleton type for ºH (except for the constructor ¼H).òH"Used to define the return type of ÙH.óHShould sections be parsed?"ÔHÕHÖH×HØHÙHÚHÛHÜHÝHÞHßHàHáHâHãHäHåHæHçHèHéHêHëHìHíHîHïHðHñHòHóHôHõH"ÝHØHÞHßHàHáHâHãHäHåHæHçHèHéHêHëHìHóHôHõHÚHÛHÖHÜHòHíHîHïHðHñHÙHÕHÔH×HöHˆ„ „÷HˆÉ É+øHˆÌ ÌùHˆä äúHˆ„„°None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú¸ûH”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.¬«Subset of postulates within ­«.®«Subset of private names within ­«.¯«While ÿHþ 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.°«&Mark all declared names as postulates.±«#Mark all declared names as private.²«êCompute the names defined in a declaration. We stay in the current scope, i.e., do not go into modules.³«‘Add more fixities. Throw an exception for multiple fixity declarations. OR: Disjoint union of fixity maps. Throws exception if not disjoint.ûHüHýHþHÿH€I�I‚IƒI„I…I†I‡IˆI‰IÿH‰I€I�I‚IƒI„I…I†I‡IˆIüHýHþHûHŠI‰ù ù‹I‰î îŒI‰ê ê!�I‰ô ô8ŽI‰æ æ;�I‰ùù±None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú0Ü��IAdd a module to a scope.‘IÖAdd all associated name parts of a name (operator parts, notation parts) to the scope.“IAdd a name to a scope.–IReturn all names in a scope.™I$The flat list of ambiguous names in ŠJ.šI 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.)›I Version of šIÉ 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.œI?For ambiguous constructors, we might have both alternatives of Ê!. In this case, we default to Ì.�I+Add first string only if list is non-empty.ŸI?For ambiguous constructors, we might have both alternatives of Ê!. In this case, we default to ‹3. I!Constructor and pattern synonyms.¡I:Get all concrete names in scope. Includes bound variables.¢I!All kinds of regular definitions.£I3Disallow using generalized variables from the scope¥IThe empty name space.¦IThe empty scope.§IThe empty scope info.ªI Only return  [Co]ConName if no ambiguity.¬I&Returns the scope's non-private names.­I‘Filter a scope keeping only concrete names matching the predicates. The first predicate is applied to the names and the second to the modules.®I+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.¯I2Find a concrete, possibly qualified name in scope sÍ. The qualifiers are resolved to modules whose public scopes are searched.°I inNameSpace> selects either the name map or the module name map from a ¹JØ. What is selected is determined by result type (using the dependent-type trickery).±I.Add an explanation to why things are in scope.²IïFind the concrete names that map (uniquely) to a given abstract module name. Sort by length, shortest first.´Iœ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.¶I A version of ´I that also delivers the ˆ3. Used in highlighting.¹IÀIs the given module (or one of its parents) a member of the set?ºI$Is the given name alive in this set?ÚNote: a qualified name can be kept alive by liveness of any of the modules it belongs to.ÂI9Map functions over the names and modules in a name space.ÃI&Map monadic function over a namespace.ÄI4Map functions over the names and modules in a scope.ÅIexportedNamesInScope . restrictPrivate == exportedNamesInScope.âI0The current scope and the scopes of its parents.ãILenses for ScopeInfo componentsêILook up a name in the scopeìIFor a qualified name x.q& resolving to one of the given things ys, find the modules x8 in the current scope (or its parents) through which q resolves to some of ys.Used to mark the qualifier x) as used for the unused-imports analysis.îIGet a ¹J from ßJ.ïIThe scope of the given module.óIUpdate a particular name space.ôIáMove all names in a scope to the given name space (except never move from Imported to Public).÷I3Shadow a local name by a non-empty list of imports.úI Lens for éI.ûI A lens for äJüI`Monadic' lens (Functor sufficient).ýI Lens for òI.‚JFilter privates out of a æJƒJZip together two name spaces.„JÕZip together two scopes. The resulting scope has the same name as the first scope.…JSame as „JÍ but applies the same function to both the public and private name spaces.‡JîUsed for instance arguments to check whether a name is in scope, but we do not care whether is is ambiguousˆJ9Ambiguous constructors, projections, or pattern synonyms.ŠJ:Why is a resolved name ambiguous? What did it resolve to?ÂInvariant (statically enforced): At least two resolvents in total.‹J/The name resolves to at least 2 declared names.ŒJÃThe name resolves both to a local variable and some declared names.�JêFor each bound variable, we want to know whether it was bound by a »,  , module telescope, pattern, or let.ŽJ» (currently also used for   and module parameters)�J  let ... in�JËBinding added to scope by one of context-manipulating reflection primitives‘Jf ... =. Remember ª for pattern variables {x} and {{x}}Ú. This information is only used for checking pattern synonyms. It is not serialized.’J  | ... in q–J-Type class for some dependent-types trickery.™J#Set of types consisting of exactly ö2 and ò2..A GADT just for some dependent-types trickery.œJ A set of ˆ3, for the sake of ¤I.žJAll but these Kinds.ŸJOnly these kinds. JÝA set of module and definition names that were explicitly referred to during scope checking.¡JÊAn interaction point can see this copy, so we should preserve every name.¢JÏWe encountered these names during scope-checking, so they should be preserved.¥J‚A local variable can be shadowed by an import. In case of reference to a shadowed variable, we want to report a scope error.§J/Kind of binder used to introduce the variable (», let, ...).¨JÔIf this list is not empty, the local variable is shadowed by one or more imports.©JUnique ID of local variable.ªJLocal variables.®J"For the sake of highlighting, the ìJ map also stores the ˆ3 of an A.QName.°J)Possible renderings of the abstract name.±JThe ø2.²J%Non-dependent tag for name or module.¶JÇA failure in name resolution, indicating the reason that a name which is% in scope could not be returned from tryResolveName.·J The name was Foo.constructor, and Foo& is in scope, but it is not a record.¸J4Ambiguous names are not supported in this situation.¹JA  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.»JÈAll abstract names targeted by a concrete name in scope. Computed by ÚI.¼J>Maps concrete module names to a list of abstract module names.½JÍMaps name parts to a list of abstract names in which the name part occurs.¾JÞMaps concrete names to a list of abstract names. If this is part of a scope produced by an °ñ, the concrete names should (where possible) match those of the directive. E.g., if the directive mentions  using (x), then the concrete x in the map should be this x rather then the xù from the original scope that is restricted by the import directive. This is important for the highlighting of the  UnusedImports warning.¿JSee �Š.ÀJ1Things from open public, exported by this module.ÁJ#Things not exported by this module.ÂJ+Things defined and exported by this module.ÄJåInformation gathered during scope checking for the unused-imports warning when a module is opened.ÆJModules among ÉJ that accompany a name in ÊJ¢ (e.g. the module of a data type or record type) and are not mentioned explicitly in the opening directive. These are not reported individually when unused.ÇJ Whether the open statement comes with using or renaming.ÈJModule we opened.ÉJThe modules imported by the open statement. The keys (ï†Ú) of this map should be the concrete names of the opening directive, if such was given.ÊJThe names imported by the open statement. The keys (ï†Ú) of this map should be the concrete names of the opening directive, if such was given.ËJ5Parent module into which we merged the opened module.ÌJª of the open keyword.ÍJ,Names that are relevant to operator parsing.ÏJ.Are there any operators or notations in scope?ÐJRelevant names in local scope.ÑJ#All relevant names in global scope.×J Data or record constructor name.ØJ&Function, data/record type, postulate.ÙJÂRecord field name. Needs to be distinguished to parse copatterns.ÚJName of pattern synonym.ÛJ Unbound name.ÜJ9Local variable bound by »,  , module telescope, pattern, let.ÝJWhat kind of binder?ßJÔA scope is a named collection of names partitioned into public and private names.æJ”The complete information about the scope at a particular program point includes the scope stack, the local variables, and the context precedence.éJ&Maps concrete names C.Name to fixitiesïJ(Maps concrete names C.Name to polaritiesñJé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.óJSet the ƒ3 in an abstract name.öJÊInformation gathered during scope checking for the unused-imports warning.øJÌNames that were ambiguously resolved from a concrete name in the source. They are stored with their position in the file that is matched with disambiguation information produced by the type checker.ùJúModules that were resolved from a concrete name in the source, either directly or as the qualifier of a qualified name.úJLog of module open)s with the names they brought into scope.ûJÊNames that were unambiguously resolved from a concrete name in the source.üJ%When we get here we cannot have both using and hiding.�KDecorate something with ˆ3ÆKÁWe show shadowed variables as prefixed by a ".", as not in scope.ÏKInvariant: the ˆ3Ü components should be equal whenever we have two concrete renderings of an abstract name.ÓK/Sets the binding site of all names in the path.›I4Merged scope, clashing names, clashing module names.×JÌ or Ë or both. isJust . ·I . ø2 for all names.ØJø2 can be DefName, ‘3, •3.ÙJ(Ž3 ==) . ø2 for all names.ÚJ(“3 ==) . ø2 for all names.€K 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.‹…Kõ�I‘I’I“I”I•I–I—I˜I™IšI›IœI�IžIŸI I¡I¢I£I¤I¥I¦I§I¨I©IªI«I¬I­I®I¯I°I±I²I³I´IµI¶I·I¸I¹IºI»I¼I½I¾I¿IÀIÁIÂIÃIÄIÅIÆIÇIÈIÉIÊIËIÌIÍIÎIÏIÐIÑIÒIÓIÔIÕIÖI×IØIÙIÚIÛIÜIÝIÞIßIàIáIâIãIäIåIæIçIè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ößJàJáJâJãJäJåJ“J”J•J¿JÀJÁJÂJ•IòJÁ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÷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°I²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ÀI½I¾I¿I¢I¸I I·IžIŸIœI©IªIœJ�JžJŸJ¤I”IøI«I�K‚KƒK„KÖJ×JØJÙJÚJÛJÜJÝJÞJŠJ‹JŒJ¶J·J¸J™IÿJ€K�JÿI€JÊIËI¥IÂIƒJÃI¦I§IÄIÉIÈIÅIÆI„J…JÚI­IÇI–I—I®I¬IÐI˜IùIÌIÍIôIóIÎI’I‘IÝI“IÞI�IüJýJþJþIšI›IßIáIàI‚J£I±IÕIÖI×I¨I¡IêIëIïIâI¯IØIìI†J‡JˆJ‰J»I¼I´IµI¶I²I³IÙIÛIÜIóJôJ…KÔIÔJÕJÒJÓJ�Iá†KŒÌÌ$‡KŒò"ò)ˆKŒÓÓ‰KŒÌÌŠKŒòò ‹KŒÓÓŒKŒî î �KŒ««ŽKŒÌÌ�KŒ— —�KŒÂ ‘KŒò ò’KŒÏ Ï“KŒÓ Ó”KŒýý•KŒàà–KŒÇ Ç—KŒ” ”˜KŒÆÆ™KŒÆ'Æ/šKŒÆÆ%›KŒóóœKŒ««�KŒÌ&Ì-žKŒÀÀŸKŒŠŠ KŒò+ò2¡KŒýý¢KŒÏÏ£KŒÓ&Ó-¤KŒÔÔ¥KŒýý ¦KŒàà§KŒÇǨKŒ‚‚©KŒççªKŒå å «KŒâ â¬KŒ˜ ˜ ­KŒ  ®KŒž ž¯KŒ™ ™°KŒÅ Å $±KŒÆ Æ ²KŒÇ Ç #³KŒÈ È ´KŒÉ É µKŒÊ Ê ¶KŒË Ë ·KŒÌ Ì ¸KŒ… …¹KŒÍ Í ºKŒÎ Î »KŒÏ Ï ¼KŒÖ Ö½KŒÿ ÿ¾KŒÖ Ö¿KŒá áÀKŒé é!ÁKŒÅ ÅÂKŒòòÃKŒÆÆÄKŒ­ ­ÅKŒ¡ ¡ÆKŒÉ ÉÇKŒþ þ ÈKŒø ø ÉKŒ‚ ‚ÊKŒ™ ™ ÎËKŒ“ “ ÆÌKŒâ âÍKŒž ž ÎKŒ° ° ÏKŒŽ Ž ÐKŒð ð 'ÑKŒí í %ÒKŒà à 0ÓKŒê ê %ÔKŒã ã ÕKŒá á 6ÖKŒæ æ ×KŒî î ØKŒó óÙKŒ« «ÚKŒÌ ÌÛKŒÀ ÀÜKŒŠ ŠÝKŒòòÞKŒý ýßKŒÏÏàKŒÓ Ó$áKŒýýâKŒà àãKŒÇÇäKŒ‚ ‚åKŒÆÆæKŒÆ1Æ<²None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú çK-Default is system inserted and prefer parens.èKïK with no range information.ëKDefault meta kind from its ª context.íKSame as  mkDefInfo but where we can also give the  IsInstanceîKEmpty range for patterns.ïKInformation about applicationòK6Do we prefer a lambda argument with or without parens?ôKConstructor pattern info.øKÅDoes this pattern come form the eta-expansion of an implicit pattern?ùK:Has the constructor pattern a dotted (forced) constructor?úKOrdinary constructor.ûKDotted constructor.’LÁInformation associated to a meta variable in the abstract syntax.™L+Kind of a meta: the method how to solve it.šL(Meta variable solved by instance search.›L.Meta variable solved by unification (default).œLÅName suggestion for meta variable. Empty string means no suggestion.ŸLÁThe "as" module name, if any. Retained for highlighting purposes. LÕThe range of the "as" and "to" keywords, if any. Retained for highlighting purposes.¡L Retained for abstractToConcrete of šB.ªL;For a general pattern we remember the source code position.õLDefault value for ¤L.ÅçKè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ëKœL’L“L”L•L–L—L˜LéKŠL‹Lê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ìKíKüKýKþKÿK¤L¥L¦L§L¨L©LŒL�LŽL�LªL«Lî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�Ë+Ë2ÀL�êêÁL�ÁÁÂL�–– ÃL�ÀÀÄL�%%ÅL�™™ÆL���ÇL�þ þÈL�¼ ¼ÉL�ì ìÊL�Ê ÊËL�á áÌL�˜ ˜ÍL�­ ­ÎL�Î ÎÏL�› ›ÐL�‡ ‡ÑL�«:«ÂÒL�� �ÓL�¿ ¿ÔL�ò òÕL�Ð Ð ÖL�ä ä×L�› ›ØL�° °ÙL�Ñ ÑÚL�¡ ¡ÛL�Š ŠÜL�¬ ¬ÝL�Ô Ô%ÞL�× ×#ßL�„ „àL�«"«(áL�«« âL�ˆ ˆãL�Å ÅäL�Í ÍåL�õ õæL�à à)çL�ÜÜ#èL�¢ ¢éL�««#êL�Ô ÔëL�* *ìL�¤ ¤íL�� �îL�¬¬ïL�û ûðL�ÜÜñL�ž žòL�««óL�Ë ËôL�' 'õL�„ „öL�««÷L�ññøL�ËËùL� ÂúL�ï ïûL�Í ÍüL�ž žýL�«0«8þL�ñ ñÿL�ºº€M�ËË�M�ê ê‚M�Á ÁƒM�Ü Ü„M�––…M�« «†M�À À‡M�% %ˆM�™™‰M�� �ŠM�«*«.³None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúâ�M#Does not raise the retrieved entry!�MýAssumes the list of entries to be prepended follows the context ordering convention (earlier entries depend on later ones)‘MåThe returned prefix follows the context ordering convention (earlier entries depend on later ones)’MöThe returned list of context entries follows the context ordering convention (earlier entries depend on later ones)™MCollection of  s of primitive modules.žMThe Context is a stack of ¡MÉs. Unlike telescopes, later context entries are bound in earlier ones.¥MTranslation between Œ and  . that also knows about Agda's builtin modules.§MFor the known  9s, remember whether they refer to Agda's builtin modules.¨M!(Building a) translation between Œ and  .©MäThe absolute path to the directory with the builtin modules. Needs to be set upon initialization.ªM;How much highlighting should be sent to the user interface?«M†This includes both non-interactive highlighting and interactive highlighting of the expression that is currently being type-checked.®M6How should highlighting be sent to the user interface?¯M Via stdout.°MBoth via files and via stdout.±MÛDatatype representing a single boundary condition: x_0 = u_0, ... ,x_n = u_n ¢E t = ?n esµM=Discern Agda's primitive modules from other file modules. isPrimitiveModule implies" IsBuiltinModuleWithSafePostulate implies isBuiltinModule%. Keep constructors in this order!¶MAgda.Primitive.·MAgda.Primitive.Cubical.¸MAny builtin module.¹MSafe module, e.g. Agda.Builtin.Equality.ÁMÁMaps top-level module names to the corresponding source file ids.ÂM8For printing, we couple a meta with its name suggestion.ÆM+Polarity for equality and subtype checking.ÇMantitoneÈMmonotoneÉMno information (mixed variance)ÊMconstantÌMÌM6s must exist and be registered in our file dictionary.Ì‹MŒM�MŽM�M�M‘M’M“M”M•M–M—M˜MƒE™MšM›MœM�MžMŸM M¡M¢M£M¤M¥M¦M§M¨M©MªM«M¬M­M®M¯M°M±M²M³M´MµM¶M·M¸M¹MºM»M¼M½M¾M¿MÀMÁMÂMÃMÄMÅMÆMÇMÈMÉMÊMËMÌMÍMÎMÏMÐMÑMÒMœ ŒÌ‹MŒM�MŽM�M�M‘M’M“M”M•M–M—M˜M™MšM›MœM�MžMŸM M¡M¢M£M¤M¥M¦M§M¨M©MªM«M¬M­M®M¯M°M±M²M³M´MµM¶M·M¸M¹MºM»M¼M½M¾M¿MÀMÁMÂMÃMÄMÅMÆMÇMÈMÉMÊMËMÌMÍMÎMÏMÐMÑMÒMƒEœ Œ9ÓMŽñ ñÔMŽ““ÕMŽœœÖMŽ® ®×MŽ€ €ØMŽùùÙMŽÌ ÌÚMŽ,,,4ÛMŽ€)€1ÜMŽ,#,*ÝMŽ€ €'ÞMŽññßMŽ,,àMŽÃÃáMŽÅ ÅâMŽ“$“+ãMŽœœ&äMŽ®®#åMŽ€€æMŽùùçMŽÌÌ#èMŽÒÒéMŽà à"êMŽæ æ$ëMŽé é$ìMŽê ê(íMŽä ä$îMŽç ç$ïMŽè è$ðMŽå å$ñMŽ˜ ˜òMŽ™ ™óMŽš š%ôMŽœ œ õMŽž ž/öMŽ› ›÷MŽ� �1øMŽ,6,:ùMŽ‚ ‚!úMŽ““ûMŽ®®üMŽÌÌýMŽ““"þMŽœœÿMŽññ€NŽ, ,�NŽà ÂNŽ““ƒNŽœœ„NŽ®®…NŽ€€†NŽù ù‡NŽÌ̈NŽÒ Ò‰NŽ,,!ŠNŽ,<,Ç‹NŽ€3€>´None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú‚'ŒN Interpret ”N as relation on ®N.�NDefault polarity is ³N.�N•N acts as ±©, –N as ìª.’NReturns ­©$ if the constraint is contradictory.”N.Comparison operator, e.g. for size expression.•NäD.–N<.˜N= 0.°N*Type of solution wanted for each flexible.±N)What type of solution are we looking for?´N,Assigning a polarity to a flexible variable.¶NFixed size variables i.¹N2The rigid variables contained in a pice of syntax.¾N*Size expressions appearing in constraints.¿NConstant number n.ÀNMeta variable X + n.ÁN Infinity žD.ÂNVariable plus offset i + n.ÆNSize metas in size expressions.ÈNDe Bruijn indices.ÊNÀPartial substitution from flexible variables to size expression.ÍNExecuting a substitution.ÏN)Make offsets non-negative by rounding up.ÑNOffsets + n must be non-negativeßN-An equality which ignores the meta arguments.âN*An order which ignores the meta arguments.ûNComparison operator is ordered –N < •N.„OAdd offset to size expression.ÇŒN�NŽN�N�N‘N’N“N”N•N–N—N˜N™NšN›NœN�NžNŸN N¡N¢N£N¤N¥N¦N§N¨N©NªN«N¬N­N®N¯N°N±N²N³N´NµN¶N·N¸N¹NºN»N¼N½N¾N¿NÀNÁNÂNÃNÄNÅNÆNÇNÈNÉNÊNËNÌNÍNÎNÏNÐNÑNÒNÇ®N¯N¶N·N¸NžNŸN N¾N¿NÀNÁNÂNÃNÄNÅN½N”N•N–N˜N™NšN›NœN—N±N²N³N´NµN°N�N‘N�NÊNËNÌNŽNÍNÎN“N’N�NŒNÑNÒNÏNÐN¹NºN»N¡N¢N£NªN«N¬N­NÆNÇNÈNÉN�N¼N¤N¥N¦N§N¨N©NÕÓN�Ö Ö'ÔN�Ú ÚÕN�ç çÖN�Ö)Ö-×N�!$!(ØN�ÖÖÙN�> >ÚN�ä äÛN�! !ÜN�ü üÝN�4 4ÞN�ÌÌßN�ü üàN�Ø Ø4áN�” ”!âN�€ €ãN�Ï ÏäN�Ó Ó2åN�ñ%ñ-æN�Ì0Ì8çN�ññ#èN�Ì'Ì.éN�ÖÖêN�ññëN�’’ìN�ààíN�!!îN�ÌÌ%ïN�÷÷ðN�ä äñN�, , òN�Ø ØóN�õ õ:ôN�˜ ˜"õN�â âöN�# #÷N�Ð Ð8øN�ù ùùN�””úN�!!"ûN�ß ßüN�>>ýN�ç çþN�!!ÿN�üü€O�44�O�ÌÌ‚O�í í(ƒO�/ /#„O�´ ´5…O�� �†O�“ “:‡O�à ÈO�ê ê‰O�) )ŠO�ˆ ˆ‹O�Œ Œ9ŒO�9 9�O�€ €8ŽO�ƒ ƒ�O�– –7�O�Æ Æ+‘O�¼ ¼ ’O�À À)“O�Ö Ö”O�ñ ñ•O�À À–O�’ ’—O�àà˜O�& &™O�6 6šO�ÌÌ›O�÷÷œO�” ”�O�§ §3žO�ª ª0ŸO�­ ­6 O�¡ ¡1¡O�° °0¢O�ñ/ñ:£O�Ì:ÌŤO�© ©¥O�­ ­(¦O�œ œ§O�Ÿ Ÿ%µNone/ #&()+,/1359<=>?ÀÃÄÅÆÇÈÉËÍÎÐÑÕØÛÝÞàçèïóú '«OCreates an empty dictionary.°OThe actual logic of ÀO× is cold code, so it's out-of-line, to decrease code size and avoid cache pollution.´Oicode( only if thing has not been seen before.µOicodeN 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]¶OicodeN' is the same as icodeN except that there is no tag¾O$Computing a key of an abstract name.¿O$Computing a key of a qualified name.ÀOIncrease entry for a in åO.ÅOvcase value ix decodes thing represented by  ix :: Word32 via the valu function and stores it in ÐO. If ix is present in ÐO, valu, is not used, but the thing is read from ÐO instead.ÆODecoder arguments.ÈO;Compact region where the decoded interface is allocated.ÉOObtained from interface.ÊO,Memoizes filepaths computed for RangeFile-s.ËOThe include directories.ÌOObtained from interface.ÍOObtained from interface.ÎO 21s for std-lib).ÚOWritten to interface file.ÜOWritten to interface file.ÞONot written to interface file.àOWritten to interface file.âOÀNot written to interface file. Fresh UIDs and reuse statistics:äOWritten to interface file.çOWritten to interface file.êOÃWritten to interface file. Andreas, 2026-08-29, issue #8697: The ´« dictionary is keyed by the  bit pattern of the ´«/, because the 'Eq Double' instance identifies 0.0 and -0.0—, which would make hash-consing conflate these two distinct literals. (This is the inconsistency of issue #2169, which is why 'Eq Literal' compares ´« s bitwise.)ðOicodeArgs proxy (a1, ..., an) maps icode over a1, ..., an* and returns the corresponding list of Word32.òOµAssociation lists mapping TypeRep fingerprints to values. In some cases values with different types have the same serialized representation. This structure disambiguates them.õOWe need to distinguish ã†s with different ƒ3, so we complement the key ¯  with that ª.ùOTwo ©3s are equal if their NameId is equal.úOMonad used by the decoder.TCMÊ is not used because the associated overheads would make decoding slower.ûOMonad used by the encoder.«OCollect statistics for icode calls?´O Memo structure for thing of key a.Counter and statistics.Key to the thing.)Fallback computation to encode the thing.Encoded thing.ìOSerialization (worker).íOSerialization (wrapper).îODeserialization.�ÿO‘€P’�På¨O©OªO«O¬O­O®O¯O°O±O²O³O´OµO¶O·O¸O¹OºO»O¼O½O¾O¿OÀOÁOÂOÃOÄOÅOÐÑÒÓÔÕÆOÇOÈOÉOÊOËOÌOÍOÎOÏOÐOÑOÒOÓOÔOÕOÖO×OØOÙOÚOÛOÜOÝOÞOßOàOáOâOãOäOåOæOçOèOéOêOëOìOíOîOïOðOñOòOóOôOõOöO÷OøOùOúOûOüOýOþOÖרÙÚÛÜÝÚ¨O©OªO«O¬O­O®O¯O°O±O²O³O´OµO¶O·O¸O¹OºO»O¼O½O¾O¿OÀOÁOÂOÃOÄOÅOÆOÇOÈOÉOÊOËOÌOÍOÎOÏOÐOÑOÒOÓOÔOÕOÖO×OØ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ïOðOñOòOóOôOõOöO÷OøOùOúOûOüOýOþO‚P“žžƒP“žž„P“   …P“¤ ¦;†P“š šÕ‡P“‘ ‘ɈP“‰ ‰=‰P“‚ ‚1ŠP“ü ü%‹P“ø øŒP“  ¢:�P“’ ’ÔŽP“… …È�P“ù ù<�P“î î0‘P“ä ä$’P“Ü Ü¶None* #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÎÐÕØÛÝÞàçèïóú“P”P•P–P—P˜P™P“P•P—P˜P™P”P–P#šP”¥ ¦›P”„ „/œP”éé5�P”Ä ÄžP”Ì ÌŸP”Ô Ô0 P”Ò Ò¡P”“ “5¢P”ª ª£P”½ ½6¤P”Ø Ø¥P”Ü Ü¦P”µ µ§P”à à¨P”õõ+©P”ó ó&ªP”® ®9«P”¥ ¥-¬P”œ œ&­P”Á Á'®P”ï ï&¯P”‰ ‰3°P”÷ ÷$±P”¹ ¹&²P”Å Å+³P”ý ý´P”ù ùµP”Ð Ð:¶P”Ž Ž<·P”> >¸P”É É¹P”: :ºP”© ©=»P”ä ä¼P”è è·None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú ½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• –ÓData file location, and package version and installation directories.None) #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú†µ«The package version.¶«žIf the argument is a filename, the result is the name of a corresponding file on the system on which the program is running, if the file were listed in the  data-filesÿ field of the package's Cabal package description file. No check is performed that the given filename is listed in that field.·«3The location of the directory specified by Cabal's --bindir• option (where executables that the user might invoke are installed). This can be overridden at runtime using the environment variable Agda_bindir.¸«3The location of the directory specified by Cabal's --libdirÿ option (where object libraries are installed). This can be overridden at runtime using the environment variable Agda_libdir.¹«3The location of the directory specified by Cabal's  --dynlibdirƒ option (where dynamic libraries are installed). This can be overridden at runtime using the environment variable Agda_dynlibdir.º«3The location of the directory specified by Cabal's  --datadir“ option (where architecture-independent data files are installed). This can be overridden at runtime using the environment variable Agda_datadir.»«3The location of the directory specified by Cabal's  --libexedir· option (where executables that are not expected to be invoked directly by the user are installed). This can be overridden at runtime using the environment variable Agda_libexedir.¼«3The location of the directory specified by Cabal's  --sysconfdir† option (where configuration files are installed). This can be overridden at runtime using the environment variable Agda_sysconfdir.·«º«¶«¹«¸«»«¼«µ«¸None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú8ÏPThe version of Agda.ÐP‚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.ÑPßReturns a URL corresponding to the given section in the documentation for the current version.ÑPÐPÏPÏPÐPÑPÒP—!.!5¹None+ #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú„ÓP1Agda's version suffixed with the git commit hash.ÔPÀInformation about current git commit, generated at compile time.ÔPÓPÓPÔPºNone+ #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúÕPGet the path to ~/.agda1 (system-specific). Can be overwritten by the AGDA_DIR environment variable./(This is not to be confused with the directory ÖPÅ for the data files that Agda needs (e.g. the primitive modules).)ÖPThis overrides the ÖP from ' Paths_Agda'#. See the documentation for the --print-agda-data-dir flag.×PThis overrides the ×P from ' Paths_Agda'.ØPFalseÜ: 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.½«ã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.À« Given the  Agda_datadir#, what should the Agda data dir be?ÕPÖP×PØPÕPÖP×PØP»None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú: ÙP2Tries to compile the Agda mode's Emacs Lisp files.ÛPHelp topic for  --emacs-mode.ÞPáPrints out the path to the Agda mode's main file (using UTF-8 and without any trailing newline).ßP7Tries to set up the Agda mode in the given .emacs file.Á«&Has the Agda mode already been set up?«…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.ëÁEscapes the string so that Emacs can parse it as an Elisp string.Ä«7Tries to find the user's .emacs file by querying Emacs.Å«äIf this string occurs in the .emacs file, then it is assumed that setup has already been performed.Æ«A `monadic' version of @ partition# :: (a -> Bool) -> [a] -> ([a],[a])Ç«Like È« but handles ­ª by printing diagnostics (PATH ) before É«.Ê«2The string appended to the end of the .emacs file.Ç«Command to run.Arguments to command.ÙPÚPÛPÜPÝPÞPßPàPÛPÝPÞPàPßPÚPÙPÜP¼None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú9âPUsage information generationãPConversion functions to stringsäPInterface to the help functionåPGeneral usage informationæP)Specialised usage information about TOPICË«ÚList of Help Topics NOTA BENE: You need to add each new topic together with its name to  allHelpTopicsáPâPãPäPåPæPäPåPæPâPãPáPçP˜ èP˜& &éP˜êP˜&&ëP˜ ìP˜( (íP˜îP˜&&½None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúƒïP Argument to --color.ðPPossible values for --color.ñP Argument to  --emacs-mode.òPPossible values for  --emacs-mode.óPThe argument to --erased-matches.ôPPossible values for --erased-matches.õP Argument to --help.öPPossible values for --help.÷P;Print the possible values of an argument of the given type.øP Argument to  --profile.ùPPossible values for  --profile.úP Argument to --trace-imports.ûPPossible values for --trace-imports.üP Argument to  --warning.ýPPossible values for  --warning.ï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¾None* #$&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúéþPAll builtin modules.ÿP(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.),þPÿP€Q�Q‚QƒQ„Q…Q†Q‡QˆQ‰QŠQ‹Qü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,ƒQ…Q†QˆQ‰Q„Q‡Q�QþPÿP€Q‹Q©GýFÅGÆGÇGÈG†G‡GˆG‰GŠG‹GŒG�G�G¨GŠQ¼G½G¶G·G¸G¹GºGüFÉGÊGËGÌGÍGÎG‚Q™None) #&()+,/1359<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúnÇŽQ'The list should not contain duplicates.�Q--build-library+: Build all modules in the current library.�Q2In the absence of a path the project root is used.‘QUse ~/.agda/defaults.’QConfigure colour output.“Q3Emacs 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.”Q%Exit if an interactive command fails.•Q --interaction mode.›Q Agda REPL (-I).œQ--interaction-json mode.žQ'In literate Markdown/Typst, only treat ```agda blocks as code.ŸQÈShould the top-level module only be scope-checked, and not type-checked? Q Use this (if ®© ) instead of ~/.agda/libraries.¡Q+Should imports be type-checked in parallel?¦QÆPrint all options as a simple list (for implementing bash completion).©Q$Force Agda to self-setup at startup.ªQ/Configure notifications about imported modules.«QÊShould code points that are not supported by the locale be transliterated?¬Q3Map names of trusted executables to absolute paths.­Q look for  .agda-lib files.¶Q If several  --emacs-modeÑ commands are given, they are executed in the order as given in this datatype.·Q Compile the .el files to .elc.¸Q#Print the installation location of agda2.el.¹Q Add the initialization lines to .emacs.ºQInfective or coinfective?ÅQ%Options which can be set in a pragma.ÇQAllow running external  executables from meta programs.ÊQÉAutomatic compile-time inlining for simple definitions (unless marked NOINLINE).ÍQ)Use call-by-name instead of call-by-need.ÎQ&Are the cohesion modalities available?ÏQÜTreat the module given at the command line or via interaction as main module in compilation?ÐQ"Check confluence of rewrite rules?ÑQ(Allow definitions by copattern matching?ÒQÒCount extended grapheme clusters rather than code points when generating LaTeX.×Q,Mark parameters of record modules as erased?ØQ)What kinds of erased matches are allowed?ÜQ+irrelevant levels, irrelevant data matchingÝQ:Defer instance search based on discrimination tree resultsÞQUse the Agda abstract machine ( fastReduce)?ßQøShould we speculatively unify function applications as if they were injective? Implies optRequireUniqueMetaSolutions.àQCan we split on a  (@flat x : A) argument?áQ0Allow recursion on forced constructor arguments.âQ2Perform the forcing analysis on data constructors?ãQCan Agda.Builtin.Erased.Funext be used?æQShould patterns of the form {x} or ƒS x „S be interpreted as puns?çQÂShould every top-level module start with an implicit statement ,open import Agda.Primitive using (Set; Prop)?èQÙShould case splitting and coverage checking try to discharge absurd clauses? Default: ±©, but ìªÀ might make coverage checking considerably faster in some cases.îQâDo not discard clauses constructed by the coverage checker (needed for some external backends).ïQæShould case splitting replace variables with dot patterns (False) or keep them as variables (True).ðQÁAllow large indices, and large forced arguments in constructors.òQËShould we load the primitive modules at all? This is a stronger form of optImportSorts.óQ*Can local rewrite rules be added and used?ôQ4Perform automated occurrence analysis for functions?öQ0Is pattern matching allowed in the current file?÷QCan we use modal polarities (++,  +, etc.)?ùQ$Should system generated projections  ProjSystem0 be printed postfix (True) or prefix (False).üQ6Perform the projection-likeness analysis on functions?þQCan Agda.Builtin.Erased.Propext be used?ÿQ?Should instance search consider instances with qualified names?�RCan Agda.Builtin.Erased.Quotient be used?‚RÜForbid non-unique meta solutions allowed. For instance from INJECTIVE_FOR_INFERENCE pragmas.ƒR$Can rewrite rules be added and used?…R'Save meta-variables to interface files.†R'Show generalized parameters in Pi types‡RíShow identity substitutions when pretty-printing terms (i.e. always show all arguments of a metavariable).‹RÄ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 ­š.�RÉCut off structural order comparison at some depth in termination checker?•ROptions  --version and --numeric-version (last wins).–RPrint Agda version number.—RPrint Agda version information.›RÖþ… 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.›œ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ÌQÍQÎQÏQÐQÑQÒQÓQÔQÕQÖQ×QØQÙQÚQÛQÜQÝQÞQßQàQáQâQãQäQåQæQçQè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Ú«žþþÛ«ž” ”Ü«žš šÝ«žööÞ«žççß«žþþ૞„„᫞””#⫞ššã«ž‰‰ä«žöö嫞¢¢æ«ž¼ ¼.竞 Â#è«žÅ Å é«žÇ Ç#ê«žÈ È!ë«žÉ É%ì«žÆ Æí«žÃ Ãî«žÊ Ê!﫞””ð«žç çñ«žþ þò«ž„ „ó«ž””ô«žššõ«ž‰ ‰ö«žö ö÷«ž¢ ¢ŸNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúŠ R?Returns the command line options which are currently in effect.¡R9Returns the pragma options which are currently in effect. ¢R¡£RŸR R¡R ø«¢% %0ù«¢& &2ú«¢' '2û«¢( (.ü«¢) )/ý«¢- -9þ«¢* *2ÿ«¢. .8€¬¢+ +1�¬¢/ /Å‚¬¢, ,>ÀNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú¤R¥R¤R¥R¦R£‡ ‡!§R£‹ ‹¤None+ #&()+,/1359<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïðóú>¨RïChecks that the given options are consistent. Also makes adjustments (e.g. when one option implies another).©RŒCommand line options of previous versions of Agda. Should not be listed in the usage info, put parsed by GetOpt for good error messaging.«RãSimple interface for Agda.Utils.GetOpt Could be moved to Agda.Utils.Options (does not exist yet)­R"Infective and coinfective options. Note that --cubical[=full] and --cubical=erased� 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.¯RLatex pragma options.øRƒMap a function over the long options. Also removes the short options. Will be used to add the plugin name to the plugin options.€S€S is implied by �S.‹S‹S is implied by ‰S, “S and ®S. ‹S+ is also implied by an explicitly given --erased-matches# with an argument distinct from =none.“S“S is implied by ±S.—S—S requires ¢S.ÇSParse options for a plugin.ÈS%Parse options from an options pragma.ÊSThis function returns ±©! if the file should be rechecked.ÍS?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúZâS$Print an annotated, pretty-printing Û" onto a VT100-compatible terminal.âSãSäSåSâSãSäSåSÂNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúŸæSHandle the option --bash-complete. It expects the index  COMP_CWORD as first argument that tells which of the following arguments  COMP_WORDS is supposed to be completed.5It either returns an error message or the result for  COMPREPLY.çS%Complete the given word as an option.èSCached trie of options.éS™Print just the names of the given options (e.g. for bash completion scripts). For long options with finitely enumerable arguments, print all variants.ìS1The result of an invokation of (bash) completion.îSIf à , the ïS" word cannot be further completed.ïSIf ­©=, then the completion word cannot become a valid option ever.ñS Should the îS4 be truncated to a given maximum number of prefixes?æS/Truncate completions suggestions? To how many?Arguments following --bash-complete. Error or  COMPREPLY. æSçSèSéSêSëSìSíSîSïSðSñS ðSêSëSéSñSæSìSíSîSïSèSçS¿None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúݨR©RªR«R¬R­R®R¯R°R±R²R³R´RµR¶R·R¸R¹RºR»R¼R½R¾R¿RÀRÁRÂRÃRÄRÅRÆRÇRÈRÉRÊRËRÌRÍRÎRÏRÐRÑRÒRÓRÔRÕRÖR×RØRÙRÚRÛRÜRÝRÞRßRàRáRâRãRäRåRæRçRè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¤R¥R™ÐSÑSÒSÓSÔSÕSÖS×SØSÙSÚSÛSÜSÝSÞSßSàSáSŸ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ÌQÍQÎQÏQÐQÑQÒQÓQÔQÕQÖQ×QØQÙQÚQÛQÜQÝQÞQßQàQáQâQãQäQåQæQçQè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€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¤R¥R™ÐSÑSÒSÓSÔSÕSÖS×SØSÙSÚSÛSÜSÝSÞSßSàSáSŒQ�QŽQ�Q�Q‘Q’Q“Q”Q•Q–Q—Q˜Q™QšQ›QœQ�QžQŸQ Q¡Q¢Q£Q¤Q¥Q¦Q§Q¨Q©QªQ«Q¬Q­Q®Q¯Q°Q±Q²Q³Q´QµQ¶Q·Q¸Q¹QºQ»Q¼QÅQÆQÇQÈQÉQÊQËQÌQÍQÎQÏQÐQÑQÒQÓQÔQÕQÖQ×QØQÙQÚQÛQÜQÝQÞQßQàQáQâQãQäQåQæQçQè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ŒQ�QŽQ�Q�Q‘Q’Q“Q”Q•Q–Q—Q˜Q™QšQ›QœQ�QžQŸQ Q¡Q¢Q£Q¤Q¥Q¦Q§Q¨Q©Qª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ÅQÆQÇQÈQÉQÊQËQÌQÍQÎQÏQÐQÑQÒQÓQÔQÕQÖQ×QØQÙQÚQÛQÜQÝQÞQßQàQáQâQãQäQåQæQçQè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ÃNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúþòSð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.*¦§¨©ª«¬­®¯°òSóSôSõSöS÷SøSùSúSûSüSýS±²³´µ¶·¸¹º»¼½þSÿS€T�T‚TƒTòSóSôSõSöS÷SøSùSúSûSüSýSþSÿS€T�T‚TƒT,„T¦î î(…T¦à à†T¦ý ý‡T¦ô ôˆT¦Ì Ì5‰T¦ƒ ƒŠT¦Ï Ï1‹T¦Ó ÓŒT¦Ù Ù�T¦á áŽT¦� ��T¦Õ Õ�T¦ÿ ÿ1‘T¦ì ì"’T¦Ò Ò!“T¦ö ö”T¦û û•T¦§ §–T¦¬ ¬—T¦¿ ¿˜T¦� � ™T¦Õ Õ1šT¦¯ ¯›T¦Ù Ù'œT¦” ”�T¦Ã ÞT¦))-ŸT¦%% T¦,,!¡T¦''#¢T¦55£T¦00¤T¦((¥T¦11¦T¦++"§T¦22!¨T¦66©T¦44)ªT¦--(«T¦&&-¬T¦..­T¦//®T¦**$¯T¦33#ÄNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúö °TConvert a split tree into a ŧ (for printing).µT¿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).ºTAbstract case tree shape.»TA split is necessary.¼TÀNo more splits coming. We are at a single, all-variable clause.½TArg. no to split at.¾T+The number of variables bound in the clauseÀTSub split trees.ÄT­© for root of split treeÈTá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.°T±T²T³T´TµT¶T·T¸T¹TºT»T¼T½T¾T¿TÀTÁTÂTÃTÄTÅTÆTÇTÈT¹TÇTºT»T¼T½T¾T¿TÀT²T³T´TÈTµT¶T·T¸TÁTÂTÃTÄTÅTÆT°T±TÉT¨55ÊT¨ÄÄËT¨55#ÌT¨ÄÄ#ÍT¨22ÎT¨ò òÏT¨ø ø1ÐT¨þ þÑT¨ÿ ÿÒT¨ý ý+ÓT¨55ÔT¨ÄÄÕT¨Æ ÆÖT¨ï ï+×T¨Ó Ó/ØT¨5 5ÙT¨Ä ÄÚT¨2 2ÅNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú íâT Monoidal for ëT and íT. Returns just first ìT discarding the second one.èTÄOne clause in a function definition. There is no guarantee that the äB actually declares the ð(#. We will have to check that later.êT$The kind of the forward declaration.ëTName of a data typeìTName of a function.íTName of a record typeñTNumbering declarations in an interleaved mutual block.óTwe are nicifying a mutual blockôT,we are nicifying decls not in a mutual blockõTIn 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.ýT.Constructors associated to the data signature.þT&Internal number of the data signature.ÿTThe data signature.€U6Function clauses associated to the function signature.�U–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.‚UExtra state for the Nice, monad to process interleaved mutual blocks.‡UÑSeveral declarations expect only type signatures as sub-declarations. These are:ˆU constructor, in interleaved mutual.‰Udata ... where=. Here we got a bad error message for Agda-2.5 (Issue 1698).ŠUfield. Ensured by parser.‹U postulate.ŒU primitive.�U1Termination measure is, for now, a variable name.ŽUëWhen processing a mutual block we collect the various checks present in the block before combining them.“UOnly •Us.”U´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 ...)•U¼: argument: We record whether a declaration was made in an abstract block.ÄÀ argument: Axioms and functions can be declared irrelevant. (ª should be ­.)–UËBlock of function clauses (we have seen the type signature before). The ŠBÁs are the original declarations that were processed into this –U 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.›U‹An uncategorized function clause, could be a function clause without type signature or a pattern lhs (e.g. for irrefutable let). The ŠB is the actual ‘B.¦U (Maybe Range) gives range of the  'pattern' declaration.¬UOnly •Us.ÓÛTÜTÝTÞTßTàTáTâTãTäTåTæTçTè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èTéTŽU�U�U‘U’UõTöT÷TøTùTÝT�UúTûTüTýTþTÿT€U‚UƒU„U…U†UñTáTàT‡UˆU‰UŠU‹UŒUÜ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©Ù ÙÆNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú=<ÆUThe name of the error.ÉU(Nicifier warnings turned into errors in --safe mode.ËUPragmas not allowed in --safe mode produce an ÉU.ÌU-Exception with internal source code callstackÐUThe exception type.ÑUÚIn an interleaved mutual block, a constructor could belong to any of the data signatures (ð()ÒUËIn a mutual block, a clause could belong to any of the åD2 type signatures (ð().ÔUª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.ÕU The first ª= is the range of the current declaration of _. The second ª/ is the range of the previous declaration of _.ÖUThe ª) is the range of the previous definition.×U9In a mutual block, all or none need a MEASURE pragma. ª8 is the one of the offending pragma or the mutual block.ÚUopaque block nested in a mutual; block. This can never happen, even with reordering. The Ç is the one of the opaque keyword.ÛUÕAn unfolding declaration was not the first declaration contained in an opaque block.ãU-Non-fatal errors encountered in the Nicifier.äU#The modality of the clause (second Ä×, range of the warning) is different from the modality of the type signature (first Ä).åUEmpty abstract block.æUEmpty  data _ where block.çUEmpty field block.èUEmpty variable block.éUEmpty instance blockêUEmpty macro block.ëUEmpty mutual block.ìU'POLARITY pragma without any polarities.íUEmpty  postulate block.îUEmpty  primitive block.ïUEmpty private block.ðU5A fixity declaration for a closed operator or syntax.ñUA « identifier in a variableò declaration. Hiding has no effect there as generalized variables are always hidden (or instance variables).òUÅA {-# CATCHALL #-} pragma that does not precede a function clause.óUÂInvalid constructor block (not inside an interleaved mutual block)ôUÂA {-# NON_COVERING #-} pragma that does not apply to any function.õU‹An entry in a data or record definition parameter that is not allowed here. Such parameters can only be names with hiding. The first ³¬4 says what is wrong and thus ignored. The second ³¬, may contain extra details or clarification.öUÈA {-# ETA_EQUALITY #-} pragma that does not apply to any record type.÷U×A {-# NO_POSITIVITY_CHECK #-} pragma that does not apply to any data or record type.øUÓA {-# NO_UNIVERSE_CHECK #-} pragma that does not apply to a data or record type.ùU A misplaced rewrite attribute.úU A misplaced tactic attribute.ûUàA {-# TERMINATING #-} and {-# NON_TERMINATING #-} pragma that does not apply to any function.üUA data definition without a data signature.ýU9Declarations (e.g. type signatures) without a definition.ÿUabstract 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.€Vprivate 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.‚VCOMPILE& pragmas are not allowed in safe mode.ƒVPragma {-# NO_TERMINATION_CHECK #-} has been replaced by {-# TERMINATING #-} and {-# NON_TERMINATING #-}.„V INJECTIVE pragma is unsafe.…V NON_COVERING pragma is unsafe.†VNO_POSITIVITY_CHECK pragma is unsafe.‡VNO_UNIVERSE_CHECK pragma is unsafe.ˆVNON_TERMINATING pragma is unsafe.‰VPOLARITY pragma is unsafe.ŠV TERMINATING pragma is unsafe.ŒV7Public mixfix identifiers without a fixity declaration.�Vabstract6 block with nothing that can (newly) be made abstract.�VAn import; that is applied to parameters by neither bound not opened.‘Vinstance8 block with nothing that can (newly) become an instance.’Vmacro3 block with nothing that can (newly) be made macro.“Vprivate5 block with nothing that can (newly) be made private.”Vopen or import•Vimport or  open import.–Vopen.ÑÆ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ÑÌ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Ç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ªÆ ÆÇNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú *(­VÒAdding a lone signature to the state. Return the name (which is made unique if é().®V�Ensure that all forward declarations have been given a definition, raising an error indicating *why* they would have had to have been defined.¯VLens for field ÜV.°VÂEnsure that all forward declarations have been given a definition.±VLens for field ÝV.µVLens for field ÞV.·V"Search for forward type signature.¸VInitial nicifier state.ºV?Get names of lone function signatures, plus their unique names.»VLens for field ßV.¼V Create a ÒV map from an association list.¾VAdd a new warning.¿V4Check that no lone signatures are left in the state.ÀV>Get current catchall pragma, and reset it for the next clause.ÁVLens for field áV.ÂV'Remove a lone signature from the state.ÃVÓRun a Nicifier computation, return result and warnings (in chronological order).ÄVLens for field âV.ÅVLens for field ãV.ÆVSet ¯V( to given value for a local computation.ÇVSet ±V( to given value for a local computation.ÉVSet ÁV( to given value for a local computation.ÊVSet ÄV( to given value for a local computation.ËVSet ÅV( to given value for a local computation.ÌVÐExtension of the nicifier monad with state to process interleaved mutual blocks.ÐVIf é(!, this name can have a different ¯  than the key of ÒV pointing to it.ÓVÁNicifier monad. Preserve the state when throwing an exception.ÖVNicifier parameters.ØVAre we checking a where module?ÙVWe are in a module declared --safe which is not a builtin module.ÚVNicifier state.ÜV.Catchall pragma waiting for a function clause.ÝV)Coverage pragma waiting for a definition.ÞV ETA_EQUALITY5 pragma waiting for a record signature or definition.ßV4Lone type signatures that wait for their definition.àVWe distinguish different ò(&s (anonymous definitions) by a unique ¯ .áV4Positivity checking pragma waiting for a definition.âV5Termination checking pragma waiting for a definition.ãVÈUniverse checking pragma waiting for a data/rec signature or definition.äV(Stack of warnings. Head is last warning.ÒVWe 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 ¯ .åV(Stack of warnings. Head is last warning.9­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åV9Ó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«&9&ØéV«%$%)êV«&&!ëV«&#&7ìV«2 2!íV«Ý ÝÈNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú  îVäMain. Fixities (or more precisely syntax declarations) are needed when grouping function clauses.ïVHas the ”U a field of type ¼?ðV(Approximately) convert a ”U back to a list of ŠBs.÷VContents of a where& clause are abstract if the parent is.These are inherited ‹B0 blocks, indicated by an empty range for the abstract keyword.´¬Make a declaration abstract.Mark computation as Á ÷ if there was a declaration that could be made abstract. If no abstraction is taking place, we want to complain about �V."Alternatively, we could only flag Á 7 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 Á ö if there was a declaration that could be privatized. If no privatization is taking place, we want to complain about “V."Alternatively, we could only flag Á 6 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.·¬*Ensure there is no local rewrite attribute¸¬Make sure that the ÔC is empty.¹¬ûEmit bits attached to the given name that have been accumulated during processing of the interleaved mutual block as ”U.¢Warns about mistakes in parameters in data definition blocks; but those parameters are finally ignored, taking the parameters of the data signature instead.º¬øCheck data/record definition parameters for parts that are not allowed (allowed if at all in data/record signatures).»¬Replace (DataRecFun)Sigs with AxiomÇs for postulated names. The first argument is a list of axioms only.¼¬=Ensure that every signature got its definition. Signatures (—U, ™U, §U ), that are lone4, i.e., did not get a definition, are replaced by •UÉs so that the scope checker will not look for accompanying definitions (–U, ˜U, ¦U). Throws also a ýU warning for the lone names.½¬Range of the keyword abstract.¾¬ Range of the private keyword.Origin of the private block.»¬)Lone signatures to be turned into Axioms.Declarations containing them.,In the output, everything should be defined.¼¬ Containing (DataRecFun)Sigs for the lone signatures.8The signatures that are not accompanied by a definition.4The indicated lone signatures have been replaced by AxiomÃs. Length and ordering of the declaration list are not affected.¬¿¬­À¬®Á¬áîVïVðVÇUÉUÃVÌ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è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è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€V�V‚VƒV„V…V†V‡VˆV‰VŠV‹VŒV�VŽV�V�V‘V’V“VÉUÓVÖV×VØVÙVÃVîVðVïV�UÇUñV¯� �òV¯û û óV¯Ñ Ñ !ôV¯Ê Ê ,õV¯Ö Ö &öV¯Ë Ë 2÷V¯ƒ ƒ "øV¯± ± &ùV¯³ ³ #úV¯¥ ¥ ûV¯Ì Ì üV¯ž ž *ýV¯ª ª %þV¯Ÿ Ÿ 0ÿV¯Ð Ð !€W¯��ÉNone) #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú¿�W#Concrete syntax for all attributes.ƒW(Parsing an expression into an attribute.ˆWModifiers for – .‰WModifiers for Polarity.ŠWModifiers for ƒ!.ŒWModifiers for —!.�WModifiers for  RewriteAnn4 I don't think we ever actually hit this because rewrite8 is a keyword Of course, we might want to add aliases�W!Setting an attribute (in e.g. an À). Overwrites previous value.‘WØSetting some attributes in left-to-right order. Blindly overwrites previous settings.’W'Setting an unset attribute (to e.g. an À).“W#Setting a list of unset attributes.”WSetting Ü if unset.•WSetting –  if unset.–WSetting £  if unset.—WSetting ƒ! if unset.˜WSetting —! if unset.™WSetting ¢! if unset.šW#Parsing a string into an attribute.œWParsed attribute.žWÌConcrete, user written attribute for error reporting, not including the "@".ŸWRange includes the @. WParsed attribute.¡WAn attribute is a modifier for Ä.©WÉ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.ªW(Conjunctive constraint.)*�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±9 9±W±ÓÓ²W±- -ÊNone+ #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÎÐÕØÛÝÞàçèïóúðijWPop an ØW* from the parser state, and generate the �X warning if the given ÿ5# does not match what was expected.´WThe default flags.¸WÉThe parse interval is between the last position and the current position.¹W—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.ºWü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 ÀW the current position.¼W Push the ØW) state corresponding to an opening token.½W.The most general way of parsing a string. The Agda.Syntax.Parser; will define more specialised functions that supply the êW and the ×W.¾W,Throw a parse error at the current position.¿WUse ÀW or ¾W as appropriate.ÀWè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.ÁW3Report a parse error at the beginning of the given ª.ÂWåParses a string as if it were the contents of the given file Useful for integrating preprocessors.ÃW.The even more general way of parsing a string.ÄWRecords a warning.ÊW5When we see a layout keyword, by default we expect a ÖW block.ÏW Return the current layout block.ÐWA (layout) column.ÑW†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.ÒWLayout at specified ÐW, introduced by Ž5.ÓWThe stack of layout blocks..When we encounter a layout keyword, we push a ÖW block with noColumnÆ. This is replaced by aproper column once we reach the next token.ÔW=Status of a layout column (see #1145). A layout column is ÖWË until we encounter a new line. This allows stacking of layout keywords. Inside a  LayoutContext the sequence of ÕWË columns needs to be strictly increasing. 'Tentative columns between ÕW3 columns need to be strictly increasing as well.ÕWùWe have seen a new line since the layout keyword and the layout column has not been superseded by a smaller column.ÖW÷The token defining the layout column was on the same line as the layout keyword and we have not seen a new line yet.×W: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.ØWéInformation about an opening unicode-able bracket necessary for correctly parsing its closing delimiter.ÙWAn opening double brace.ÚWAn opening idiom bracket.ÛW Position of the opening bracket.ÜW±© if the user wrote ‡S.ÝW,Parse errors: what you get if parsing fails.ÞW'Parse errors that concern a whole file.ßW,Parse errors that concern a range in a file.àW4Errors that arise at a specific position in the fileãWThe remaining input.äW*Hopefully an explanation of what happened.åW"The file which the error concerns.æWWhere the error occurred.çWThe previous token.èW)The range of the bigger overlapping tokenêW Parser flags.ìW/Should comment tokens be returned by the lexer?íW The result of parsing something.ðWÒThe parser state. Contains everything the parser and the lexer could ever need.òWEvery encountered attribute.óW$stack of open unicode/ASCII bracketsôWparametrization of the parserõWthe current inputöWposition of last token÷W'the keyword for the coming layout blockøW%the status of the coming layout blockùWthe stack of layout blocksúWÃthe state of the lexer (states can be nested so we need a stack)ûW"position at current input locationüWthe character before the inputýWthe previous tokenÿWIn reverse order.€XWarnings for parsing.�XThe closing bracket (at the ªÁ) was closed with a unicode-ness that doesn't match that of the ØW.‚XThe †« is the error message.ƒXMultiple attributes.„X,Parse errors that concern a range in a file.…X#Unknown attribute, ignored. The ª includes the "@", the †« not.†XUnknown polarity, ignored.‡XUnsupported attribute.ˆX*The range of the bigger overlapping token.˜X'Does not include printing of the range.¬Calls ÃW with ¡ extracted from the Range.ìOld interface to parser.׳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í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×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²˜ ˜ËNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú“¡XConjunction of ´Xs.¢XDisjunction of ´Xs.£X'Returns the next byte, and updates the ªX 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).¤X,Returns the next character, and updates the ªX value.ÝThis function is not suitable for use by Alex 2, because it can return non-ASCII characters.¥X,Get the previously lexed character. Same as ®XÌ. Alex needs this to be defined to handle "patterns with a left-context".§X A lens for ¬X.¨X Negation of ´Xs.ªX#This is what the lexer manipulates.¬XCurrent input.­XCurrent position.®XPreviously read character.¯XFile.±XëIn the lexer, regular expressions are associated with lex actions whose task is to construct the tokens.´X£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.¡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³Ž Ž)ÌNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúØ »X!Consume the next character. Does ÁX followed by ÅX.¼X$Get the current look-ahead position.½XLift a computation in the ‰X monad to the ÆX monad.¾X8Throw an error message according to the supplied method.¿X”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.ÀXSame as ¿X¤ 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.ÁXÂLook at the next character. Fails if there are no more characters.ÂX-Undo look-ahead. Restores the input from the ðW.ÃXRun a ÆX7 computation. The first argument is the error function.ÄXSet the look-ahead position.ÅXÁConsume all the characters up to the current look-ahead position.ÆXÉThe LookAhead monad is basically a state monad keeping with an extra ªX, wrapped around the ‰X monad.Ĭ#Look at the next character. Return ­©! if there are no more characters. »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´)%)*ÍNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú… ÊXú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.ËXÁLex a string literal. Assumes that a double quote has been lexed.ŬLex a single character.Ƭ?Lex an escaped character. Assumes the backslash has been lexed.Ǭï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.ɬCustom error function.ʬ$Read a number in the specified base.ˬSame as ʬ$ but with an accumulating parameter.̬The escape codes.ͬíThe general function to lex a string or character literal token. The character argument is the delimiter (" for strings and ' for characters).ÊXËXËXÊXÐNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúòåX Lex a hole ( {! ... !}#). Holes can be nested. Returns ‹6 û5.æX Should comment tokens be output?çX Should comment tokens be output?èX,Manually lexing a block comment. Assumes an  open comment< has been lexed. In the end the comment is discarded and ÛX" is called to lex a real token.éX–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.åXæXçXèXéXæXçXèXåXéXÑNone* #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÎÐÕØÛÝÞàçèïóú� êX3This is the main lexing function generated by Alex.ëXš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 ÏX.íXWe enter this state from ÎX„ 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 ÍXÝ is executed, generating the closing brace. The open brace is generated when entering by ÎX.îXÝ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.ïX8The layout state. Entered when we see a layout keyword (äX$) and exited at the next token (ÎX).ðXÈReturn the next token. This is the function used by Happy in the parser.  lexer k = ÛX >>= kñXÃ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 êW to Ь.ѬThe state inside a pragma. ê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ÏNone) #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúˆÐX.Prepend some parser manipulation to an action.ÑX.Enter a new state without consuming any input.ÒX/Enter a new state and perform the given action.ÓX3Enter a new state throwing away the current lexeme.ÔX4Exit the current state and perform the given action.ÕX8Exit the current state throwing away the current lexeme.ÖX&True if we are at the end of the file.×XÈTrue when the given character is the next character of the input string.ØX?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú!ÌX•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.ÍX&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 ÎX).ÎX?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú÷)ùX+Converts lambda bindings to typed bindings.úX%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.ûX&Apply some attributes to some binders.üX#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.þX#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.„YBuild a with-block…YBuild a with-statement†YòReport a parse error if two attributes in the list are of the same kind, thus, present conflicting information.‡Y:Close a double brace from a pair of single closing braces.îThis implements the rule described in the grammar that the braces must be adjacent, and additionally acts as ³WÂ, generating the proper error if the opening braces were Unicode.ˆYBuild a do-statementŒYÅReport an attribute as conflicting (e.g., with an already set value).�YÚReport attributes as conflicting (e.g., with each other). Precondition: List not emtpy.�YËInterpret an expression as a list of names and (not parsed yet) as-patterns‘Y0Match a pattern-matching "assignment" statement p <- e’Y)Turn an expression into a left hand side.“YÕTurn an expression into a name. Fails if the expression is not a valid identifier.”YÕTurn an expression into a pattern. Fails if the expression is not a valid pattern.•YConstructs extended lambdas.–Y&Constructs extended or absurd lambdas.—Y©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).˜Y'Build a forall pi (forall x y z -> ...)šY$Get the tactic attribute if present.œY%Check if tactic attribute is present.�Y-Is the given declaration a module definition?¢YWhen 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).¨YCreate a name from a string©YÜCreate a name from a string. The boolean indicates whether a part of the name can be token  constructor.«Y.Create a qualified name from a list of strings®YÜCreate a name from a string. The boolean indicates whether a part of the name can be token  constructor.¯YÝ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.°YPolarity parser.²Y$Interpret leading dot as irrelevance´Y‹Create a qualified name from a string (used in pragmas). Range of each name component is range of whole string. TODO: precise ranges!·YUpdates òW" and returns an @rewrite attribute¸Y$Set the tactic attribute of a binder¹YUpdates òW and returns the attributeºYParse an attribute.¼YTurn a á5€ into a properly qualified name, and the range of its keyword. If the qualified token is an opening bracket, this also calls ¼W.¾YResult of parsing LamBinds.ÀY,Followed by possibly a final absurd pattern.ÁY=A number of domain-free or typed bindings or record patterns.ûX 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.•Y#The range of the lambda symbol and where or the braces. The attributes in reverse order.The clauses in reverse order.–YThe range of the lambda symbol.!The attributes, in reverse order.§Y Possibly empty list of patterns.¯Y!The attributes, in reverse order.Ìù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ù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ÿXºY·Y¹YúXþXüXýX¸YšYœY›Y†YŒY�YµYûX¼Y‡YÅYº––ÆYºÚ ÚÓNone- #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÎÐÕØÛÝÞàçèïðóú–ÇY3Parse an expression. Could be used in interactions.ÈYÎParse an expression followed by a where clause. Could be used in interactions.ËYParse a module.ÌY1Parse the token stream. Used by the TeX compiler.Ú¬Required by Happy.Û¬Parse a display pragma.Û¬"Range of the whole DISPLAY pragma./Start of the name the thing we want to display.The DISPLAY pragma content.ÇYÈYÉYÊYËYÌYËYÊYÇYÈYÌYÉYÍY»©Â ©ÂÔNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú¦ÎYExtensions supported by ÕY.ÏYParses an expression.ÐY0Parses an expression followed by a where clause.ÑYÂParses an expression or some other content of an interaction hole.ÒYParses a module name.ÓYParses a module.ÔYParse without top-level layout.ÕY Parse a file.The ã§! parameter controls whether only ```agdaÅ blocks are treated as Agda code in Markdown/Typst files. When True, only blocks marked ```agda are considered code. When False, both ``` and ```agda blocks are code (default).×YCalls ÖY with ¡ extracted from the Range.ØY'Returns the contents of the given file.ÙYRun a ÛYò computation, returning a list of warnings in first-to-last order and either a parse error or the parsed thing.ÚY3Gives the parsed token stream (including comments).ÛY/A monad for handling parse errors and warnings.ÞYWrapped Parser type.ܬÀDo not keep comments in the token stream generated by the lexer.ݬParse with top-level layout.Þ¬/Initial state for lexing with top-level layout.߬Initial state for lexing.à¬Parse with top-level layout.á¬Parse with top-level layout.â¬Add a €X.ã¬9Keep comments in the token stream generated by the lexer.ä¬Embed a íW as ÛY computation.ÕYWhen True , only treat ```agda" blocks as code in Markdown/Typst. 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.'ÎYÏYÐYÑYÒYÓYÔYÕYÖY×YØYÙYÚYÛYÜYÝYÞYÝWÞWßWàWáWâWãWäWåWæWçWèWéW€X�X‚XƒX„X…X†X‡XˆX'ÞYÔYÖY×YÕYÓYÒYÎYÏYÐYÑYÚYØYÝWÞWßWàWáWâWãWäWåWæWçWèWéW€X�X‚XƒX„X…X†X‡XˆXÛYÜYÝYÙYßY¼>>"àY¼>>áY¼??#âY¼>$>)ãY¼>+>2äY¼?%?>ÕNone) #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóõú'‰†åYPattern synonym for regular åY.çY$The name defined by the given axiom.3Precondition: The declaration has to be a (scoped) œZ.èY+The clause spine corresponding to a clause.éY5The declaration spine corresponding to a declaration.ëYSmart constructor for ÐZ.úY"Size of the range of the renaming.ûY=The right-hand side spine corresponding to a right-hand side.üYThe spine corresponding to a å[ value.ýYAre we in an abstract block?)In that case some definition is abstract.€ZRecord field assignment f = e.‚Zè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} -> ...ŒZWe 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.‘Z–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.“ZClause spines.˜ZõWe don't yet know the position of generalized parameters from the data sig, so we keep these in a set on the side.›ZThe ImportDirective is for highlighting purposes.œZ3Type signature (can be irrelevant, but not hidden).ÐThe fourth argument contains an optional assignment of polarities to arguments.žZlone data signatureŸZ record field Zsequence of function clauses¡ZÛThe first argument is the (possibly empty) set of generalizable variables used in the type.¢ZThe ImportDirective is for highlighting purposes.£Z)a bunch of mutually recursive definitions¥ZOnly for highlighting purposes§Zprimitive function¨ZThe Ü[' 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.©Zlone record signatureªZscope annotation¬Z(Only for highlighting the unfolded names°ZÙDeclaration spines. Used in debugging to make it easy to see where constructors such as ªZ and £Z are placed.ÇZÄExpressions after scope checking (operators parsed, names resolved).ÈZ»() or »{}.ÉZOrdinary (binary) application.ÊZConstructor (overloaded).ËZÊConstant: axiom, function, data or record type, with a possible suffix.ÌZ For printing DontCare from Agda.Syntax.Internal.ÍZ.e, for postfix projection.ÏZNon-dependent function space.ÐZ(Like a Pi, but the ordering is not knownÑZ:For printing annotated terms produced by the type checker.ÒZ» bs ’C e.ÓZ let bs in e.ÔZLiteral.ÕZMacro.ÖZPattern synonym.×ZDependent function space “ ’C A.ØZProjection (overloaded).ÙZ/For remembering the module name of a qualified do block.ÚZ&Meta variable for interaction. The ¹" is usually identical with the –L of ’LÂ. However, if you want to print an interaction meta as just ? instead of ?n, you should set the –L to ­© while keeping the ¹.ÛZQuote an identifier ©3.ÜZ Quote a term.ÝZRecord construction. The Ç is for the record kewyword.ÞZRecord update. The Ç is for the record kewyword.ßZScope annotation.àZ=Meta variable for hidden argument (must be inferred locally).áZ#The splicing construct: unquote ...âZBound variable.ãZWith application.èZêMaps generalize variables to the corresponding bound variable (to be introduced by the generalisation).ìZôThe lhs of a clause in focused (projection-application) view (outside-in). Projection patters are represented as óZs.îZ Copatterns.ïZRange.ñZØThe lhs in projection-application and with-pattern view. Parameterised over the type e of dot patterns.òZ&The head applied to ordinary patterns.óZ Projection.ôZWith patterns.õZHead f.öZRecord projection identifier.÷ZMain argument of projection.øZ E.g. the òZ.ùZApplied to patterns ps.úZApplied to with patterns | p1 | ... | pn*. These patterns are not prefixed with WithP!ûZ0A lambda binding is either domain free or typed.üZ. x or {x} or .x or {x = y} or x@p or (p)ýZ. (xs:e) or {xs:e} or (let Ds)þZBindings that are valid in a let.ÿZ*LetApply mi newM (oldM args) renamings dir. The ImportDirective is for highlighting purposes.€[5Function declarations in a let with no matching body.�[ LetBind info rel name type defn‚[,only for highlighting and abstractToConcreteƒ[Irrefutable pattern binding.…[  M {{...}}†[ tel. M args : applies M to args and abstracts tel.‰[Turn a name into an expression.Œ[,Parameterised over the type of dot patterns.�[%Defined pattern: function definition f ps÷. It is also abused to convert destructor patterns into concrete syntax thus, we put AmbiguousQName here as well.‘[ Dot pattern .e•[Destructor pattern d.˜[ÜUnderscore pattern entered by user. Or generated at type checking for implicit arguments.™[| p, for with-patterns.š[9The definition of a pattern synonym (excluding its name).œ[&The parameters of the pattern synonym.�[.The definiting pattern of the pattern synonym.¡[×Builtins that do not come with a definition, but declare a name for an Agda concept.¢[ÖJ is not ÛJ:. Name can be ambiguous e.g. for built-in constructors.©[0Mark the definition as not being projection-like«[7If the definition is an instance, set its overlap mode.¬["Range is range of REWRITE keyword.®[†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.·[The ©3" is the name of the with function.¸[The ©3Ás are the names of the generated with functions, one for each ÇZ.¹[The RHS should not be another  RewriteRHS.º[ãThe patterns stripped by with-desugaring. These are only present if this rewrite follows a with.»[&The where clauses are attached to the  RewriteRHS by¼[óWe store the original concrete expression in case we have to reproduce it during interactive case splitting. ­© for internally generated rhss.¾[Right-hand side spines.Å[ How did we get our hands on the ©3% for the constructor of this record?Æ[We made it up.Ç[The user wrote it.Ê[Renaming (generic).Í[ÔInformation created by the scope checker necessary for type-checking a module copy.Ï[ÕAssociates to each (original) module name the list of copies that should be created.Ð[ Same as for Ï[, but for definitions.Ò[ØThe lhs of a clause in spine view (inside-out). Projection patterns are contained in  spLhsPats, represented as ProjP d.Ô[!Name of function we are defining.Õ[Range.Ö[3Elimination by pattern, projections, with-patterns.Ü[ãTypes are just expressions. Use this type synonym for hinting that an expression should be a type.Ý[Only œZs.Þ[¾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.ß[As in telescope  (x y z : A) or type (x y z : A) -> B.à[E.g.  (let x = e) or  (let open M).á[‰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.ã[¶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).ä[+Does this binding have a tactic annotation?ç[is it an ordinary unnamed where?è[The declaration is a «Z.ê[Spines corresponding to å[ values.ù[Does not compare æJ fields.ú[Does not compare æJÈ fields. Does not distinguish between prefix and postfix projections.ý[Ignore ª when comparing ìZs.ƒ\Ignore ¼[ when comparing ³[s.ç\Turn an ö2 into an expression.è\Turn a ÖJ into an expression.Assumes name is not ÛJ.ìYThing to insert (wildcard).6Range of the whole pattern synonym expression/pattern.™\¿¸¸š\¿‘‘›\¿êêœ\¿­7­>�\¿ššž\¿��Ÿ\¿•• \¿ÕÕ¡\¿¶¶¢\¿£££\¿çç¤\¿ââ¥\¿Éɦ\¿¯¯ §\¿??¨\¿š š,©\¿ô ô,ª\¿Ã ë\¿¥ ¥¬\¿ì ì­\¿ï ï®\¿� �¯\¿€ €°\¿Ú Ú±\¿÷ ÷²\¿é é³\¿¡ ¡´\¿ý ý$µ\¿» »¶\¿´ ´·\¿??&¸\¿˜ ˜.¹\¿‰ ‰.º\¿¢ ¢!»\¿Í ͼ\¿¬ ¬½\¿Ÿ Ÿ'¾\¿� �¿\¿„ „/À\¿› ›Á\¿˜ ˜Â\¿ä ä%Ã\¿ï ï/Ä\¿ó ó "Å\¿Œ ŒÆ\¿� �Ç\¿ë ë!È\¿è è!É\¿þ þÊ\¿Ê ÊË\¿¨ ¨ Ì\¿¥ ¥$Í\¿• •%Î\¿Ž ŽÏ\¿” ”!Ð\¿?2?8Ñ\¿¦ ¦(Ò\¿­ ­,Ó\¿« «Ô\¿¢ ¢Õ\¿Ÿ ŸÖ\¿ª ª$×\¿± ±Ø\¿² ²)Ù\¿§ §Ú\¿¥ ¥Û\¿£ £"Ü\¿³ ³)Ý\¿ö ö Þ\¿¤ ¤ß\¿¬ ¬à\¿¯ ¯á\¿¡ ¡â\¿   ã\¿° °ä\¿¨ ¨å\¿© ©!æ\¿® ®"ç\¿å å!è\¿€ €!é\¿Ë Ëê\¿± ± ë\¿É Éì\¿¥ ¥í\¿?(?0î\¿ˆ ˆï\¿? ?ð\¿ŸŸñ\¿­ ­ò\¿ƒ ƒó\¿¥¥ô\¿± ± õ\¿ÿ ÿö\¿Ý Ý÷\¿¬ ¬ ø\¿÷ ÷ù\¿ó óú\¿� �û\¿¸ ¸ü\¿‘ ‘ý\¿ê êþ\¿ššÿ\¿� �€]¿••�]¿Õ Õ‚]¿º º ƒ]¿¶¶„]¿££…]¿ç ç†]¿â â‡]¿É Ɉ]¿¯¯‰]¿¿ ¿ Š]¿± ±*‹]¿¸ ¸>Œ]¿Â Â�]¿³ ³7Ž]¿¯ ¯&�]¿® ®,�]¿¿ ¿‘]¿¼ ¼’]¿² ²1“]¿° °,”]¿µ µ8•]¿Ÿ,Ÿ7–]¿¥(¥3—]¿�&�1˜]¿­&­1™]¿ˆ ˆÖNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúÞ š]-Gather applications to expose head and spine.Note: ÀEverything is an application, possibly of itself to 0 arguments.×If the returned head is a projection originating from a post-fix projection, the Ä× of the first argument might be incorrect. (See issue #8300.) For instance x .f is valid postfix syntax for f {{x}} , but š] turns the former into f x. The correct f {{x}} is produced by æÀ.œ]Gather top-level Ž[%atterns to expose underlying pattern.�]Remove ßZ wrappers everywhere.!NB: Unless the implementation of ¬]Æ for clauses has been finished, this does not work for clauses yet.¤] Remove top ßZ wrappers.¦]An ÇZ viewed as application.¨]-Extracts "all" names which are declared in a šZ.Includes: local modules and where clauses. Excludes:  open public, let, with" function names, extended lambdas.¬]ÉApply an expression rewriting to every subexpression, inside-out. See Agda.Syntax.Internal.Generic.¯]ÅThe first expression is pre-traversal, the second one post-traversal.´]Collects plain lambdas.¶]Collect A.Pis.Á¼]ù½]ú¾]¿]üÀ]"š]›]œ]�]ž]Ÿ] ]¡]¢]£]¤]¥]¦]§]¨]©]ª]«]¬]­]®]¯]°]±]²]³]´]µ]¶]·]¸]¹]º]»]'¦]§]¥]š]›] ]¢]´]µ]Ÿ]¶]·]¡]£]œ]¤]�]ª]«]ž]¸]¹]±]²]º]»]¬]­]®]¯]°]½]¾]¿]À]³]¨]©]¼]3Á]Ã� �2Â]ÃÄ ÄÃ]Õ •#Ä]Ã… …ÊÅ]à ƒ?Æ]Ãþ þ.Ç]À €4È] ‚9É]Ãÿ ÿ4Ê]ô ´Ë]ÃÊ ÊÌ]ÃŽ Ž(Í]È ˆÃÎ]ÃÇ Ç)Ï]Ë ‹Ð]Ãö öÑ]Ãú ú Ò]Ú š(Ó]È ˆ-Ô]ï ¯Õ]ï ¯Ö]Ê Š,×]ÃË Ë Ø]ÃÎ ÎÙ]ë «;Ú]è ¨5Û]ÃÆ Æ&Ü]ÃÅ ÅÝ]ÃÈ È-Þ]ø ¸ß]Ãã ãà]Þ ž$á]õ µâ]Û ›*ã]æ ¦$ä]ò ²å]Ü œ,æ]ß Ÿ*ç]ð °è]Ñ ‘é]Ã� �+ê]Ã� �Óë]ÃË Ëì]à  5í]â ¢5î]ÃÕ Õï]ÃÐ Ð#ð]Ã¥ ¥ñ]ã £$ò]ÃÉ É/ó]à ×None( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúáõ]ª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.Ž^9Bound names in first argument scope over second argument.æ¬ÂBound names in first argument do *not* scope over second argument.Äç¬ô]õ]õ]ô]ö]Å% %"÷]ÅÆ Æ0ø]Å¢ ¢ù]ÅŸ Ÿ:ú]Åà Ã(û]Åô ô8ü]ÅÌ ÌÇý]ÅÕ Õþ]ŵ µ=ÿ]Å€ €€^Ń ƒ5�^Å— —!‚^Å� �!ƒ^ÅÉ É,„^ÅÊ Ê2…^Ÿ ¸(†^ÅÏ Ï!‡^ÅÇ Ç4ˆ^ÅÈ È2‰^Å¥ ¥5Š^Åù ù‹^ÅŠ ŠàŒ^ÅÒ ÒÁ�^Å› ›#Ž^Å! !%ØNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú�^.Match an expression against a pattern synonym.�^*Match a pattern against a pattern synonym.‘^£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).�^�^‘^�^�^‘^ÙNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú Ž"’^êCheck if any user-written pattern variables occur more than once, and throw the given error if they do.“^4Check if a pattern contains a specific (sub)pattern.”^ÀCheck if a pattern contains an absurd pattern. For instance, suc () , does so.+Precondition: contains no pattern synonyms.•^)Check if a pattern contains an @-pattern.–^ÆCompute from each subpattern a value and collect them all in a monoid.˜^Combine a pattern and the value computed from its subpatterns.®^pre : Modification before recursion.post: Modification after recursion.È»^â¼^ɽ^ʾ^)’^“^”^•^–^—^˜^™^š^›^œ^�^ž^Ÿ^ ^¡^¢^£^¤^¥^¦^§^¨^©^ª^«^¬^­^®^¯^°^±^²^³^´^µ^¶^·^¸^¹^º^-¸^¶^·^¼^«^¬^­^®^»^¾^–^¥^¤^Ÿ^£^“^”^•^’^¨^©^¢^¹^º^½^¡^§^ª^¯^°^±^²^ž^³^´^µ^œ^¦^š^�^—^˜^™^›^ ^¿^˰ °0À^˼ ¼=Á^˶ ¶,Â^˹ ¹2Ã^˳ ³4Ä^ËŠ Š#Å^Ë¿ ¿ÔÆ^Ëò òÇ^˧ §'È^˱ ±!É^ˬ ¬.Ê^Ë1 1 Ë^ËÉ ÉÉÌ^ËÈ È8Í^ËÊ Ê>Î^ËÌ ÌÒÏ^ËÀ À<Ð^˾ ¾ÖÑ^˼ ¼4Ò^˽ ½ÄÓ^Ëà Ã$Ô^ËŠ ŠÚNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúÒÅÕ^Demand an exact string.Ö^#Initial auxiliary interaction stateØ^An ý^ parser.6If the parse fails, then an error message is returned.Û^Converter from the type of è¬ to Ì_Ï The first paramter is part of the error message in case the parse fails.Ü^IOTCM commands.Ý^A generalised command type.Þ^ A command.ß^Stop processing commands.à^8An error message for a command that could not be parsed.â^Command queues.ä^When this variable is set to Just nÑ an attempt is made to abort all commands with a command number that is at most n.å^Ò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.æ^.Auxiliary state of an interactive computation.è^The command queue.*This queue should only be manipulated by initialiseCommandQueue and  maybeAbort.é^¥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.ê^*Reset the options on each reload to these.ë^ûThe file which the state applies to. Only stored if the module was successfully type checked (potentially with warnings).ì^>The path supplied by the current interaction command. Unlike ë^É, this is available while a file is being loaded, even if loading fails.í^„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.For example, consider a term  cons ?0 ?1 with some ranges r0 r11 for the two interaction points. We refine ?0 := cons ?2 ?30. The new interaction points will get ranges  r2 = r3 = r0Ç. We cannot do much better than that, as they are constrained by r0 äD r2 äD r3 < r1. At this point (ª,¹)2 still orders the IPs correctly. Now we refine ?2 := cons ?4 ?5 with  r4 = r5 = r2); this breaks the order maintained by (ª,¹)@.ÒSo we need some other structure to remember the correct order of IPs. The list í^ serves this purpose.0Alternatively, we could maintain for entries in InteractionPoints a path p : Genesis = [Int]& into their genesis tree. E.g. for ?2 we would have p2 = [0] (the first child of ?0 ) and p3 = [1] (the second child of ?0 ). Then  p4 = [0,0] and  p5 = [0,1]. The order (ª,Genesis) would be correct then.î^Available backends.ò^ëModifier for the interactive computation command, specifying the mode of computation and result display.ó^Fully  normalise.ô^reduce to weak head normal form.õ^ normalise, unfolding even abstract and NON_TERMINATING definitions.ö^ normalise& to a string literal and wrap it in a show.÷^*Information about the current main module.ù^0The arguments to Agda used for loading the file.ú^7The top-level module name of the currently loaded file.û^+The file currently loaded into interaction.ü^;The modification time stamp of the file when it was loaded.ý^IOTCM 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.€_An interactive computation.‚_Abort the current computation..Does nothing if no computation is in progress.„_ÂSolve (all goals / the goal at point) by using Mimer proof search.…_'Custom hole-level command for backends.†_&Custom top-level command for backends.‡_cmd_compile b m argv compiles the module in file m using the backend b, using argv as the command-line options.‰_ûParse and type check the given expression (as if it were defined at the top-level of the current module) and normalise it.Š_Show constraints on goals.Œ_íGrabs the current goal's type and checks the expression in the hole against it. Returns the elaborated term.�_Exit the program.Ž_ Goal commandsIf the range is øÂ, then the string comes from the minibuffer rather than the goal.�_&Displays the current goal and context.‘_ÐGrabs the current goal's type and checks the expression in the hole against it.’_&Displays the current goal and context and# infers the type of an expression.”_ìTells Agda to compute highlighting information for the expression just spliced into an interaction point.–_îParse the given expression (as if it were defined at the top-level of the current module) and infer its type.˜_cmd_load m argv loads the module in file m , using argv as the command-line options.™_!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.š_Î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)).œ_áShow unsolved metas. If there are no unsolved metas but unsolved constraints show those instead.Ÿ_ÞShows all the top-level names in scope which mention all the given identifiers in their type. _íShows all the top-level names in the given module, along with their types. Uses the scope of the given goal.¡_åShows all the top-level names in the given module, along with their types. Uses the top-level scope.¢_$Displays version of the running Agda£_ÖSolve (all goals / the goal at point) whose values are determined by the constraints.¥_É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 Í_Ê, then the (presumably temporary) file is removed after it has been read.¨_5Tells Agda whether or not to show implicit arguments.©_7Tells Agda whether or not to show irrelevant arguments.ª_%Toggle display of implicit arguments.«_'Toggle display of irrelevant arguments.­_ A subset of OutputConstraint.Ì_The Ì_ monad. é¬! state holds the remaining input.Í_?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóú¤ý_4Info to display at the end of an interactive commandÿ_ÿ_, denotes either an error or a success (when µ`< is present) TODO: split these into separate constructorsƒ`ÔWhen an error message is displayed this constructor should be used, if appropriate.Ž`Give action result"Comment derived from agda2-mode.elIf Ž`2 is 'Give_String s', then the goal is replaced by sÍ, and otherwise the text inside the goal is retained (parenthesised if Ž` is �`).˜`/Auxiliary information that comes with Goal Typeœ`Goals & Warnings�` Errors that goes into Info_ErrorÖWhen an error message is displayed this constructor should be used, if appropriate.¢`,There are two kinds of "make case" commands.¥`ŽShould token-based highlighting be removed in conjunction with the application of new highlighting (in order to reduce the risk of flicker)?¦`No.§`7Yes, remove all token-based highlighting from the file.¨`Entry in context.ª` Whether the ­` is in scope.«`)The value (if it is a let-bound variable)¬`The original concrete name.­`&The name reified from abstract syntax.®` The type.¯`'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.°`%Clear highlighting of the given kind.³`ÁA command sent when an abort command has completed successfully.´`>A command sent when an exit command is about to be completed.¶`Target file, or ­© for the current buffer.¹`$Response is list of printed clauses.»`1The integer is the message's debug level. The Û* usually does not contain a final newline.¼`(Solution for one or more meta-variables.¾`Status information.À`.Has the module been successfully type checked?Á`!Are implicit arguments displayed?Â`#Are irrelevant arguments displayed?Æý_þ_ÿ_€`�`‚`ƒ`„`…`†`‡`ˆ`‰`Š`‹`Œ`�`Ž`�`�`‘`’`“`”`•`–`—`˜`™`š`›`œ`�`ž`Ÿ` `¡`¢`£`¤`¥`¦`§`¨`©`ª`«`¬`­`®`¯`°`±`²`³`´`µ`¶`·`¸`¹`º`»`¼`½`¾`¿`À`Á`Â`Ư`°`±`²`³`´`µ`¶`·`¸`¹`º`»`¼`½`¥`¦`§`¢`£`¤`ý_þ_ÿ_€`�`‚`ƒ`„`…`†`‡`ˆ`‰`Š`‹`Œ`�`’`“`”`•`–`—`œ`�`ž`Ÿ` `¡`˜`™`š`›`¨`©`ª`«`¬`­`®`¾`¿`À`Á`Â`Ž`�`�`‘`ÜNone( #&()+,/159<=>?ÀÃÄÅÆÇÈÉËÍÐÕØÛÝÞàçèïóúîÅ`0Backend-specific hole-level interactive command.Æ`/Backend-specific top-level interactive command.Ç`the name of the backendÈ`0Optional version information to be printed with  --version.É`ßBackend-specific command-line flags. Should at minimum contain a flag to enable the backend.Ê`Compile a single definition.Ë`%Unless the backend has been enabled, runAgda- will fall back to vanilla Agda behaviour.Ì`ú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.Í`Default optionsÎ`3Called after module compilation has completed. The IsMain argument is NotMain if the  --no-main flag is present.Ï`?ÀÃÄÅÆÇÈÉËÍÎÐÕØÛÝÞàçèïóúNæö`!Name of absurdLambda definitions.÷`:Not quite all reductions (skip non-terminating reductions)ø`$Local or global rewriting is enabled‚a.Preserve the state of the failing computation.ƒa Extract the ©3 from the öe.“aÍThe current modality. Note that the returned cohesion component is always �.¦aúThe definition of a data or record type copy (created by a module application), if the given definition is such a copy.§aÚHow a constant is defined: either it is a data or record type copy, defined by a term (¦a#), or it is defined by clauses (¢a"), possibly with a compiled form (£a). Never both.¬a2Has the definition failed the termination checker?¯aÁHas the definition not termination checked or did the check fail?±a+Create a definition with sensible defaults.²a$By default, we have no display form.³a The default ¶hÓ function prints certain things to stdout (other things generate internal errors).µaTurn a šM function into a §f function. Property:  dirToCmp f (fromCmp cmp) = f cmpåaŒ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 Ý.öaA template for creating æ`& definitions, with sensible defaults.ûaAre we allowed to assign metas?üa+Use call-by-need evaluation for reductions.ýaWhen TrueÔ, the conversion checker will consider all term constructors as injective, including blocked function applications and metas. Warning: this should only be used when not assigning any metas (e.g. when envAssignMetas is False or when running pureEqualTerms.) or else we get non-unique meta solutions.þaëAre we currently computing the overlap between two rewrite rules for the purpose of confluence checking?ÿaÚAre we currently in the process of executing an elaborate-and-give interactive command?€b+Sometimes we want to disable display forms.�b5Fold let-bindings when printing terms (default: True)‚b¡Is the "hard" compile-time mode enabled? In this mode the quantity component of the environment is always zero, and every new definition is treated as erased.ƒb5Are we doing implicit importing of primitive modules?„b–Used by the scope checker to make sure that certain forms of expressions are not used inside dot patterns: extended lambdas and let-expressions.†bÅare we inside a make-case (if so, ignore forcing analysis in unifier)‡bWhen TrueÉ, types will be omitted from printed pi types if they can be inferred.ˆbWhen True›, throw away meta numbers and meta elims. This is used for reifying terms for feeding into the user's source code, e.g., for the interaction tactics solveAll.‰bAre we doing pure conversion?‹b>Are we currently in the process of solving active constraints?Œb£Are we currently case-splitting on a strict datatype (i.e. in SSet)? If yes, the pattern-matching unifier will solve reflexive equations even --without-K.�b&Are we working on types? Turned on by  workOnTypes.�b&Base name for extended lambda patterns�bÌ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.‘b!Flip the direction of comparison.”b2Runs the computation in a separate thread, with a copy of the æk of the calling thread.Modifications of the æk´ performed by the detached computation (e.g. creation of metas) are invisible to the parent thread, and to any of its siblings. They will be "discarded" when the thread finishes. It is thus important to ensure that any results returned out-of-band by the child thread are valid in an arbitrary TC state.ÀThe detached thread has read-write, synchronised access to the ¤k.™bEmbed šM into §f.›b Toggle the Ög flag.œb Toggle the Ög flag.�b Toggle the Ög flag.žb Toggle the Ög flag.¢b Toggle the ×g flag.¤b Toggle the Øg flag.¯b Toggle the Ûg flag.°b Toggle the Ûg flag.·b>Name for the record constructor for the generalized variables.¸b5Name for telescope (record) of generalized variables.¹b/Base name for generalized variable projections.»b3Check whether we have a generalized variable field.ÇbÇCombines the source hash and the (full) hashes of the imported modules.ÈbéChoose between behavior in pure conversion and impure conversion. The first branch is the impure case.Éb$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.Êb&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 ±©.ÏbEmpty session state.ÑbEmpty persistent state.×bEmpty state of type checker.Þb An initial Ÿ .ßbA lens for the Óh field of the ¿h type.âb:Check whether we have an definition from an absurd lambda.åbÂChecking whether we are dealing with a function yet to be defined.èbBuilding the projection function (which drops the parameters).ùcIs the record type recursive?þcConceptually: 2redBind m f k = either (return . Left . f) k =<< mˆdˆd runs a safe âk action (a âk9 action which cannot fail, except that it might raise Ûk!s) in the initial environment.‰d4Running the type checking monad (most general form).ŠdÁRunning the type checking monad on toplevel (with initial state).�d3Make sure we do not overwrite a user specification.�dLike Ñc , but with a constant new value.;If the computation of the new value depends on a previous ÷dÝ, this function is prone to suffering from time-of-check vs. time-of-use issues. Prefer the ¸i family of functions instead.�dOverwrite the part of the æk focused on by the lens.‘dOverwrite the part of the æk$ focused on by the lens (strictly).˜dGet the file name of a ÌM.™d Get make a ÌM from a file name.šduse  areWeCaching! from the Caching module instead.ÏdÓShould we instantiate away blocking metas? This can produce ill-typed terms but they are often more readable. See issue #3606. Best set to True only for calls to pretty*/reify to limit unwanted reductions.ûIs this a context where we should always try every possible instance candidate? Used to support "inert improvement", see shouldBlockOverlap in InstanceArguments.âdLike ¸iÃ, but the modification function is not allowed to perform effects.ãdModify the part of the æk0 focused on by the lens, and return some result.äd?Modify a part of the state monadically, and return some result.This is an instance of  Ï.åd Append an Ë to a œLÅ, for computing the name suggestions of eta-expansion metas. If the œLÇ is empty or an underscore, the field name is taken as the suggestion.ìdÆLookup the path of a top level module name, which must be a known one.ód Union two ›es.÷dAccess a part of the ¤k through a lens.ýd6Abstract things in the current module can be accessed.þd#No abstract things can be accessed.ÿd$All abstract things can be accessed.€e Controlling reduce.�e%Copattern definitions may be reduced.‚e6Non-recursive functions and primitives may be reduced.ƒe'Functions marked INLINE may be reduced.„eReduce ×8 terms.…e0Functions that have failed termination checking.†e:(Projection and) projection-like functions may be reduced.‡e(Even recursive functions may be reduced.ˆe0The primRewriteNoMatch primitive may be reduced.‰eAllow  allReductionsÏ in types, even if not allowed at term level (used by confluence checker)Še9Functions whose termination has not (yet) been confirmed.Že&Checked and inserted arguments so far.�e6The function applied to the already checked arguments.‘e