05.8.1 debian/zsh-common//usr/share/zsh/functions/Misc/add-zle-hook-widgetudebian/zsh-common//usr/share/zsh/functions/Misc/add-zsh-hookzldebian/zsh-common//usr/share/zsh/functions/Misc/allopt YXdebian/zsh-common//usr/share/zsh/functions/Misc/checkmail . *debian/zsh-common//usr/share/zsh/functions/Misc/colors.  debian/zsh-common//usr/share/zsh/functions/Misc/getjobs [Tdebian/zsh-common//usr/share/zsh/functions/Misc/harden <debian/zsh-common//usr/share/zsh/functions/Misc/is-at-least: debian/zsh-common//usr/share/zsh/functions/Misc/mere:|debian/zsh-common//usr/share/zsh/functions/Misc/nslookup|debian/zsh-common//usr/share/zsh/functions/Misc/promptnlA debian/zsh-common//usr/share/zsh/functions/Misc/regexp-replaceAldebian/zsh-common//usr/share/zsh/functions/Misc/relativeU#t debian/zsh-common//usr/share/zsh/functions/Misc/run-helpdebian/zsh-common//usr/share/zsh/functions/Misc/run-help-git(debian/zsh-common//usr/share/zsh/functions/Misc/run-help-ip)xpdebian/zsh-common//usr/share/zsh/functions/Misc/run-help-openssl)Gtdebian/zsh-common//usr/share/zsh/functions/Misc/run-help-p4nupdebian/zsh-common//usr/share/zsh/functions/Misc/run-help-sudon^0debian/zsh-common//usr/share/zsh/functions/Misc/run-help-svk^0debian/zsh-common//usr/share/zsh/functions/Misc/run-help-svn debian/zsh-common//usr/share/zsh/functions/Misc/sticky-notedebian/zsh-common//usr/share/zsh/functions/Misc/tetris% 7$debian/zsh-common//usr/share/zsh/functions/Misc/tetriscurses%o3debian/zsh-common//usr/share/zsh/functions/Misc/xtermctlo3(7 debian/zsh-common//usr/share/zsh/functions/Misc/zargs(7='$Xdebian/zsh-common//usr/share/zsh/functions/Misc/zcalc=^GT` debian/zsh-common//usr/share/zsh/functions/Misc/zedK tdebian/zsh-common//usr/share/zsh/functions/Misc/zkbdKSc debian/zsh-common//usr/share/zsh/functions/Misc/zmathfuncdefSEV <debian/zsh-common//usr/share/zsh/functions/Misc/zmv>\d debian/zsh-common//usr/share/zsh/functions/Misc/zrecompile>`ddebian/zsh-common//usr/share/zsh/functions/Misc/zstyle+adebian/zsh-common//usr/share/zsh/functions/Misc/ztodoaABf,$FDAB<A"F`FDACf۬AFDA CKy_AfdқCA8G 8aAy ATqA Ag AGLA` }A,LABp A.rAc+tAc+t C&AFA6!<qpAg A@ ]A'AGzACg A"+c$A,NAf8YzAC>0 "A."+c0 "A."+c0 BA.$0 bA.0 A0 ;AFA FA,)eA 1 A+A @d<AC F+A.]A f-uA FA g A 'AC '2s=A8 1#A7PACAC@<iA` 1A:A+ qAC+ ]A` 1A@AC@%DeqA@$qbAA.Hr APC AI1 Af۬} AFA( M Afc+tAFA' J A@< 4 ACA.UU A\ 1 AV U Ac+  A%] eAc+t APC 1A]R A.`J qAFAUAC@eA\ 1 AfAM Ac+tA<1AjAAc+t aA,#u000 A-FMa0 ;AB -FMazmodloadzsh/zlereturnzsh/parameterzsh/zleparameterprintadd-zle-hook-widget: Need parameter modules for zle hooksemulatelocalhooktypeszleisearchexitzleisearchupdatezlelinepreredrawzlelineinitzlelinefinishzlehistorylinesetzlekeymapselectzstylezlehooktypeshooktypeszleazhw:hooktypeslocalhook_widgetshookzstyleWIDGETwidgetshook_widgets(@)(@on)hook_widgets[@]#<->:hookuser:hook@hookreturnaddzlehookwidgetlocalhooktypeszstylezlehooktypesusageUsage: funcstack[1] hook widgetname\nValid hooks are:\n hooktypesautooptsintegerlisthelpgetoptsdDhLUzkoptUzkautooptsoptreturnshift( OPTIND - 1 )1zle list zle-(1:-(@j:|:)hooktypes[@])widgets help || # != 2 || hooktypes[(I)1] == 0 printu( 2 - help )usage( 1 - help )extant_hookshookzle-12 del hookwidgets del == 2 extant_hooks@:-:fnextant_hooks@:-:fn #extant_hooks hookwidgetsextant_hooks[@]hookwidgetsfnhook +widgets[fn] funcstack[1]: Cannot hook fn to itselfautoloadautoopts[@]integeroptionsksharrays2hookwidgetswidgetshook:user:azhw:hookhookwidgets[hook]0:widgets[hook]hookazhw:hookMextant_hooks@:-:fnOn@@Mextant_hooks@-:%:i:0+1i:fnhookwidgets ! +widgets[fn] autoload ! +widgets[hook] hook@zsh_eval_contextfileevalautofuncloadautofuncaddzlehookwidgetkshautoloadAfdқCAg 8A,8`x0A' |ACG zAg A"+cA,CNACf1zA>Y0 "A. "+c0 "A.$"+c0 BA.(0 bA.,0 mA 0 ;A FAFA1 A:<AgXlyAF+A=Af1AFMA' A' 2sAC:1AEAAGA` 1AHHAC+ uqA+ uA41AOAFXuqA1ATqA`C AUAgX< uA+ u +4sqAgX< uA+ u+4sACH m +4semulatelocalhooktypeschpwdprecmdpreexecperiodiczshaddhistoryzshexitzsh_directory_nameusageUsage: add-zsh-hook hook function\nValid hooks are:\n hooktypesautooptsintegerlisthelpgetoptsdDhLUzkoptUzkautooptsoptreturnshift( OPTIND - 1 ) list typeset(1:-(@j:|:)hooktypes)_functions help || # != 2 || hooktypes[(I)1] == 0 printu( 2 - help )usage( 1 - help )hook1_functions2 del (P)+hook del == 2 hookPhook:fnPhook:fn ! (P)#hook unset (P)+hook (P)hook[(I)fn] == 0 PhookautoloadautooptsA A$g<J2eAf+|AfA 1 A. EA,tA.<aAFA\ 1A +A &tFA C&listalloptionslocalOPT_NAMEOPT_VALUE \t\nbuiltinreadOPT_NAMEOPT_VALUEOPT_NAMEnoOPT_NAMEOPT_VALUELOPT_VALUE:s/on/OFF:s/off/onOPT_NAMEOPT_NAMEnoecho(r:21:)OPT_NAME OPT_VALUElistalloptionsegrep(j.|.)@listalloptionsACfdқCAg 8LA,!8mA,TuA,8A1 A AC81A41AyAFQ A Cۜ t=A\۔uemulatelocalfilemessage@:-mailpath[@]:-MAIL:-/var/spool/mail/LOGNAMEmessage(M)file%%\?*#\?file%%\?*filefile//.ND#filecheckmailfile?messagetestfilefileprint(e)message:-You have new mail.ACfdқCA :@XAC% @t$M)Tm+#,A`=ACGhZAdN,ZA.N+\AdR,ZA.RA+\A,VA,W IA,XA )A('hb]jA D:xA,cxA,d0]A  2;Ai, Z A,jm A,k = A.l ! A C ; Ar, Z A,sY A,t = A.u ! emulatetypesetcolorcolournoneboldfaintnormalstandoutnostandoutunderlinenounderlineblinknoblinkreversenoreverseconcealnoconcealblackbgblackbgredgreenbggreenyellowbgyellowbluebgbluemagentabgmagentacyanbgcyanwhitebgwhitedefaultbgdefaultlocalkcolorcolorcolorkcolorI3colorfgcolorkcolorgreycolorblackcolorfggreycolorgreycolorbggreycolorbgblackcolourkvcolor\e[reset_colorbold_colorlccolor[none]rcbold_colorlccolor[bold]rcAHgfg_boldfg_no_boldkcolorIfgfgkfglccolor[k]rcfg_boldkfglccolor[bold];color[k]rcfg_no_boldkfglccolor[normal];color[k]rcbg_boldbg_no_boldkcolorIbgbgkbgbg_boldkbgbg_no_boldkbgAPAGA&+02;;A C&AB +Cf+*)0+90 ;AFA`C +$A@+0 AUA C&h0 A.0 +A. 0 u A.0  A.0 ; A.UA" +%A C&A")CPۜiAFsetoptlocaloptionsnoshwordsplitnoksharrayslocaltextsshiftreturn;&|||&&break%%+kjobstatesr:+:kjobstatesr::%-1%%OkjobtextsR1%1OkjobtextsR11textsjobtexts1 #texts printj:; :texts*Af+ACFk+Afj+1.fooAfdқCAd' J29LlEEEEAAC%1AlN&AAlNA. lA"! CFpA1A."rA %AC 1 A.%reA"'y FpqA"*y FpA",9 FpA..aApC A C &A"2 FpA"3rQl &A"6 FpA"7  FpA.8emulatelocal.-min_cntver_cntpartmin_verversionordermin_ver12:ZSH_VERSION min_cnt <= #min_ver part ++ver_cnt > #version returnversionver_cnt0909min_verver_cnt-orderOnorderOorderorder1order2versionver_cnt09true ++min_cnt > #min_ver min_vermin_cntbreak part > min_ver[min_cnt] part < min_ver[min_cnt] AfPAL'{c{cj sEEAl 1A A. {cA1A>2P T A.bA1A>2P 4 A.bA1A>2P  EA.bA 1A> 2P  %A."bA p71A"& 'r)A# F AC f<۔At 1A.*rQiAC FA d5A  & qA( $<۬\AC  U0 qA F0 A f$0 ;AF hA\0 ACF#-0 eAF#-Af<۔A|T)1A.CrQAg A@C% * :0 KD c\ ACFx QA.NrQm Ag  A% *s AFx ACd A & #f ) Y Fm F ۜsetoptlocaloptionsextendedgloblocalmanual1terminalmagicline/usr/5bin/col/usr/share/lib/nterm/usr/share/lib/nterm/tab.terminal/usr/share/lib/term/usr/share/lib/term/tabterminal/usr/lib/nterm/usr/lib/nterm/tab.terminal/usr/ucblib/doctools/nterm/usr/ucblib/doctools/nterm/tab.terminal/usr/lib/sgml/sgml2roffread -er < $manual)2P -hA( ft FA ftA ۼargvIargvIcommandnslookup@returnsetoptlocaloptionslocaltrapscompletealiaseslocallinecompcontextcurcontextnslookup:::pmptpageropagerPAGERtypesetPAGERzmodloadzsh/zptytrapreturn 130zpty -d nslookupEXITzstyle:nslookupprompttmprpromptpmpt[@]pageropager:-/usr/bin/pager #pmpt > zptycommand(q)@*> printlinevaredlinelineexitbreakline(|* )> pagerflineLINESlineevalpagerlineexitAfdқCA4' 8LaAC'A@CACۤ\A.#8ApC  A% A (۔A,(8A.)AC F@UA f(tmA 'rA A"77ATC 1 ACۤ\A;4A.<8]A"B(ۄAF$Af@\ACFAf@(AFUAF@A.`EemulatelocalRECVSEND\e[6nREPLYintegerWAITreadRECVREPLYRECVprintsttyechoSENDintegerSECONDSREPLYSECONDS - N <= WAITN=SECONDSRECVREPLY RECV#*\;%R:-0 > 1 EOLMARKreturnsetoptnopromptcrPS1%{(pl:COLUMNS+1:: ::\r:)%}PS1nopromptcrPS1%{%S%s(pl:COLUMNS-4:: ::\r:)%}PS1nopromptcr%{%S#%s(pl:COLUMNS:: ::\r:)%}PS1AG A" 4 AfldқCA"CFA,A,A,AC4LhA  |A A +AC A&2++A,EA,!%A.#A C &dA,(E+A F|A, +integerpcrere_match_pcreemulate pcre setoptre_match_pcreP1localMATCHMBEGINMENDmatchmbeginmend41,MBEGIN1e34MEND+1,1breakeval1q5ABfdқCF A"+{9"F<+ & A" +"UiAB2@ + }F A" R++"CF< C& A, A,  AP  AiAC% +A'JAhCAN2pJA"9"F<i & A,A,ACF<aemulatereturnprint1:t1:h2:PWD3:.cd $1; pwd -rcd $2; pwd -rlocals:/:2s:/:1integerabsabsicuri++i > #curj:/:absi,1j:/:curi,1//..j:/:absi,121:+/1Af۔bқCA' 8YA"+tA"+A@'1AVR+$+A A -AFPeACFPAfd۔}qAFPAFQ A^2 2`R+HACFiAF+A( 0PTA( 'pJA A 1AV+2r5U+AC A8 A.IA f+}A.20AHC 251A aA6A,8A""92` r5M C&Ad۔5A150A"=y  F9 ] 0 A"A  F9 i 05 AC. 0  AFj s 0 3;AFj s< 0 9 AFj sd 0;A$cf C& 0bA At[ 0  ACFj s 0  AFj s 0 AFj sL0 iAFj sPPPP|0 ACFj st0 AFj s0 ;AFj s0  AFj sY0 AFj s0\;A\C*1*AaA8& AFDaACG Af A$dEAuALNA.j ABFHFAF`uA Fj sMAC1AuaAdtA\A"y5! C&PA"z5" & AF$<emulatelocalHELPDIRHELPDIR:-/usr/share/zsh/helpdotcolon-lHELPDIRechoHere is a list of topics for which special help is available:printHELPDIR/:tThere is no list of special help topics available at this time.returnHELPDIR:-HELPDIR/1compctlPAGER:/usr/bin/pagerHELPDIR/1whatplacesnoaliasnewlineintegerdidman(@f)builtin whence -va $1placesnot foundQ1(@f)builtin whence -va ${(Q)1} #places (Q)@i++ < #placesplacesinoaliaswhat is an alias continuebuiltin is an alias for noglobnocorrectwhatw7:twhatw1run_help_orig_cmdrunhelpwhatw7:t is an aliaswhatw6:trun_help_orig_cmdwhatw6:t is a functioncompzshcompsyszshftpsyszshcontribbuiltinfunctionsPAGER:/usr/bin/pager is a builtincompctlzshcompctlzshcompwidbindkeyvaredzlezshzlesetoptzshoptionscapgetcapsetcapclonelnmkdirmvrmrmdirsyncschedechotcechotischedstatzprofzptyzsocketzstyleztcpzshmoduleszftpzshftpsyszshbuiltins is hashed to whatw1:t is a reserved wordzshmisc! didman++whencerun-help-1:t/dev/nullcmd_argsbuiltingetlnbuiltincmd_argszcmd_argscmd_args1run_help_orig_cmd:1shiftevalrun-help-1:t (q@)cmd_args[2,-1]POSIXLY_CORRECT@:ti < #places && ! didmanbuiltin%SPress any key for more help or q to quit%sbuiltinreadnewlineqQbreakunsetrun_help_orig_cmdAA+$,AFj s:KACG cA|1A. cA.ACFj slocalgit config --get "alias.$1"al%% git1A\ 1 A+$,ACFj sJA &AlC 1 A-CHfj sۼAFj sJA &AHAV2+$+<A &pA+0 AFj s0  ;AFj s0 c9ACFj s0 cK;AFj s%0 k ;AFj sE0 k{;AFj su0 k;ACFj s0  AFj s0  AFj s)0 U AFj sm0 s; ACFj s0 {; AFj s0 ;AFj s0 A Fj s0 {;AC Fj sM0 ;A Fj sq0 3;A Fj s0 ;A Fj sJA F+returnipaddress/dev/nullshiftaddrlipaddrlabelipaddressipl2tpiplinkipmaddressipmonitoripmrouteneiipneighbournetcipnetconfnetnipnetnsipntableiprouteipruletcpiptcp_metricsiptokeniptunnelipxfrmAd A+$,AFj sqAFj s+opensslAh AAf0ACf+&U ! # helpcommandsPAGER:lessAd A+$,AFj sqAFj s+sudoA$f[&Qhelp@:1PAGER:/usr/bin/pagerA$fs&Qhelp@:1PAGER:/usr/bin/pagerA fdқCAC <hA ')A'AC8dABۜ8;8ABۜ4d<dYAA!flACtAlAl)Al3l=Ax A!flAtACl A"L=FPAg lABP@Af۬A &ABCllT<CA$l;2;0A llA"UIUA"VVYABWW AABXX ALH1HA &c+ACfH Ll A=1&AV^R+<  A2 ) Y ACF AF Af t AX#f2d] Af ۔Af  ACf t AF  A.gr! E ACfc+l AFc+ AFc+۔q ACFc+ A,n AFc+ACFPAC2 IyA1A.x Af t AX#f24Af ۔Af ACf t)AFPA A, &hDۄllA"P!UA" C! ۜ-AT "&AC"t,A"FPemulatesetoptnobanghistextendedhistoryhistignoredupslocalSTICKYFILESTICKYFILE:HOME/.zstickySTICKYSIZESTICKYSIZE:1000stickystickyfilestickysizezstyle:stickynotenotefileSTICKYFILEmaxnotesSTICKYSIZEbindkey/dev/nullmainXWacceptlineMMselfinsertunmetastickyvicmdstickyvicmdvicmdstickyvicmd1returntheme+bg && +fgautoloadcolorscolorsyellowblack +bg[theme[bg]] themebgbgthemebg +fg[theme[fg]] themefgfgthemefg +theme[color] themecolorthemebgthemefg +theme[reset] themeresetreset_colorzmodloadzsh/parameterlfunctracezlelineinit:stickyfilestickysizestickysizeechotiechotihomeprinttheme[color]@:--1readstickytheme[reset]echotiCONTEXTcontselectvaredNo stickies during (z)PREBUFFER[1]:-CONTEXT, sorry.beep.pushlineBUFFERstickynote.acceptlinestickyfilestickysizestickysize*@stickytheme[reset]vared%{theme[color]%}stickyvicmdstickysticky TRY_BLOCK_ERROR = 0 breakecho\aACfdқCA,  A, LACgx< A%$@\xxxx <XtAgx< A%($$@@\\xx  <<XXttA,"lA\#A.$l-A,&A\'A.(A ftA  ۔lA8C LXA lA l %AC lRUA lA lZA l"AC lbA lA l5ACfd|Afc+tA<+ 9"AfdқCAT 1 A &c+Af ۬9ACFA,5A,\ACfc+\AA. +A &UA, A,A &EAN m lAfdқCA, UA,A,4AA &qAFA &ACfXpA &A &ACFTA &%Afc+tAl_kM_bAfdқCAF!AlAB C&AF!TA &MAfc+tAlikbAfdқCAF!AlAB C&AF!TA &MAfc+tAs >AfdқCAF!A'lA,AB &AF!TA &MACfc+tA|~dAfdқCAF!AlA,CNA C&AlAA C&=AC"fc+tqAKz}AfdқCAF!AlA`C A C&AF!TA &A &@A \A &Alk  AfdқCAF!|A4'l2cJEAd[YA 1 A.y+4cA,A,tA $A `A C&A  AfdқCA0g J9AT)[YA(CL$([YA1A<ABxFABFAB dCFAB FAB 5FA xAJ[YAAFA5$ AfdқCA0g J9AL[YAL ([YA"<y+AAJ[YA Alk& AAfdқCA &!A,tA,AFc+۔Afc+۬AdK ' AfdқCAF <ApJA4Cm eADJJ[YA,A%A,A.|+A9fc+t.AK/ YAfdқCAT 1 A& A,lACfc+lAFA8A ACfc+l)A=F00emulatetetris_hsztetris_vsztypesettetris_shapes0x0f000x44440x4e000x4c400x0e400x46400x66000x46200x6c000x26400x63000x64400x8e000x44c00x0e200xc4400x0e800x44600x2e00tetris_rotationstetris_rotationstetris_blanklinetetris_i=tetris_hsztetris_i--tetris_blankline tetris_blankboardtetris_i=tetris_vsztetris_blankboardtetris_blanklinebindkeytetris\000-\377tetristimeouttetris_i=256T\([##8]tetris_i)tetristimeouttetrislefttetrislefttetrisrotatetetrisrightT tetrisdroptetrisquitunsettetris_boardtetris_scoreemulateprintUse M-x tetris RET to play tetris.returntetris_saved_stateBUFFER=BUFFER:q;CURSOR=CURSOR:q;MARK=MARK:q;zle -K KEYMAP:qtetris_speed(100.0/KEYTIMEOUT)tetristetris_board+settetristimeouttetris_boardtetris_blankboardtetris_scoretetrisnewblocktetrisnewblockemulatetetris_blocktetris_shapes1+RANDOM%tetris_shapestetris_block_ytetris_block_xtetrisblockfitstetrisplaceblocktetrisrenderscreenunsettetris_boardtetris_scoretetrisquitreturntetristimedmovetetrislefttetrisleftemulatetetrisplaceblock tetris_block_x-- tetrisblockfits tetris_block_x++ tetristimeouttetrisrightemulatetetrisplaceblock tetris_block_x++ tetrisblockfits tetris_block_x-- tetristimeouttetrisrotateemulatetetrisplaceblocklocalsave_blocktetris_blocktetris_blocktetris_rotationstetris_blocktetrisblockfitstetris_blocksave_blocktetristimeouttetrisdroptetrisdropemulatetetrisplaceblocktetris_block_y++tetrisblockfitstetris_block_y--tetrisblockdroppedtetristimeouttetristimeoutemulatetetrisplaceblocktetris_block_y++tetrisblockfitstetristimedmovereturntetris_block_y--tetrisblockdroppedtetrisblockdroppedemulatetetrisplaceblocklocaltetris_blankline// /O(tetris_block_y*tetris_hsz)y!=4tetris_boardi+1,i+tetris_hsztetris_boardi+1,i+tetris_hsztetris_boardtetris_blanklinetetris_boardtetris_score++i += tetris_hsztetrisnewblocktetrisblockfitsemulatelocal(1+tetris_block_y*tetris_hsz+tetris_block_x)0x8000y!=4x!=4tetris_block&bx+tetris_block_x >= 0returnx+tetris_block_x < tetris_hszy+tetris_block_y >= 0y+tetris_block_y < tetris_vsztetris_boardib >>= 1i+=tetris_hsz-4tetrisplaceblockemulatelocal(1+tetris_block_y*tetris_hsz+tetris_block_x)0x8000y!=4x!=4tetris_block&btetris_boardib >>= 1i+=tetris_hsz-4tetristimedmoveemulatetetrisrenderscreenLBUFFERRBUFFER\ntetris_screentetrisrenderscreenemulatesetoptextendedgloblocalextrasextrasScore: tetris_scoreGame parameters: tetris_hszxtetris_vsz, tetris_speedHzKeys: left: a j rotate: s k right: d l drop: space quit: qi!=tetris_vszs|tetris_board[1+i*tetris_hsz,(i+1)*tetris_hsz]//O/()//\*/**// / //\#/##|extras1+ extras1\nextras1s+tetris_blankline// /--+tetris_screentetrisquittetrisquitemulatealways_last_promptBUFFERtetris_screenevaltetris_saved_statetetris_screentetris@AT 1 AAF|A &pAfdқCAC g A %  <Xt8TpA g A %\  <XXtt<8TTpp8A(C'A'UA'AC'A'A'DACGyAtC;A.IAG1 _A,5A &A &A,4A,pA41A &A &AFITA S OAFATAB &ACFTA Z rOAFATAB &ACFTAtaAFA'TlA,AB C& AFTAdiKnrAFATA<NA &ATAA(A C&mAtiAFATAL1A &ACFTA &AA C&IA<iqA' AF9|A('2cJ AtCo AP)(A.+4cA1AA,DYA,uA C&eAAf8A, uA,PAAA^1AA`AA & A+[A0gJAT)[YA(L$[YAC1AABXFABFABDFAB CFAB FA XA J[YAxACFA %!bAGA0gJTAp[YA,AL [YA"TALA J[YA, JAlAC AA$H ~A0gJAL[YAL [YA"Y+AAJ[YA At' CAJA0LA  ,ACg @AH%@hDhAXL A(MAC(AfAC0APqAf(AfAf4TpA C(At03 A.A|0N oA,A,$HA,\A,A &A &A &aA2 RAF=A,A'D\qA(C'D0mA$YUAC8XAlA, \A X-ACAfA,A@A.rEyACAfAf$DAC`A & A|<8DA0ARA &AC8XtیAtAtA  =zAGAg 4A(%4TxA4CAfAt -@AGJA('HA$t)AA$AAfdAA.+LACJA~1A.+LA.rAf @Af\|A"KFG@GK5DAALFlGGA CL&GALFGHALF4HPHAM'hHHAl51A5HA.6HHANghHHIA(CN'hH IPIA(N'hH|IIA(N'hHIJAOghHTJJACOGhHJAO1A"OFGJ>r)KuKA,?TJKA,@KKA.AJLq A,CTJ]LA,DpLLA.EJA,GHLA,HIqMACRM N$N@NARf\NH$NA$R|NNNNOAO]OASxOONz33A$CSOOO PAPAOuPASPOOz33A$T Q,QHQiQQQuPATTROtRz33AHTAS RA$URRHRSSuPACVgT4TA@VhHr{TU(UZ+HU\UUA,[TUA W&UACWV7AWVVNZ+HUAXFVWAxCX\]W0 WBRA X&W0 WrbA X&W0  J A Y&%X0dX  Z A CY&yXAeXA.eTU0A Y&X0A Y&0Y0 2BA Z&IYAZFYYA [&YA,nr{UA\o1Ao0ZApZA,r [-[AL\1As\A]F9\u\A.u\\A]]<]N]]A^F]]A ^& ^A8^A.{i^A _&^A `&^AC`FL_h_A`F_*s# LINES < 22 || COLUMNS < 46 echoterminal needs to be at least 22 lines and 46 columnsreturnemulatetypesettetris_shapes0x0f000x44440x4e000x4c400x0e400x46400x66000x46200x6c000x26400x63000x64400x8e000x44c00x0e200xc4400x0e800x44600x2e00tetris_rotationstetris_rotationslocaltetris_vsztetris_hsztetris_blanklinel:11:: :tetris_blankboardj:::l:11:: :s: :l:20:: :tetris_boardtetris_blankboardtetris_scoretetris_linestetris_block_next_x_yi__tetrisnextblocktetris_block_nexttetris_shapes1+RANDOM%tetris_shapes__tetrisnewblocktetris_blocktetris_block_next__tetrisnextblock__tetrisdrawnextblocktetris_block_ytetris_block_x__tetrisblockfits__tetrisgameover__tetrisplaceblock__tetrisleft__tetrisplaceblock tetris_block_x-- __tetrisblockfits tetris_block_x++ __tetrisright__tetrisplaceblock tetris_block_x++ __tetrisblockfits tetris_block_x-- __tetrisrotate__tetrisplaceblocklocalsave_blocktetris_blocktetris_blocktetris_rotationstetris_block__tetrisblockfitstetris_blocksave_block__tetrisdrop__tetrisplaceblocktetris_block_y++__tetrisblockfitstetris_score+=2tetris_block_y--__tetrisblockdropped__tetristimeout__tetrisplaceblocktetris_block_y++__tetrisblockfitsreturntetris_block_y--__tetrisblockdropped__tetrisblockdroppedintegerbonus__tetrisplaceblocklocaltetris_blankline// /O(tetris_block_y*tetris_hsz)tetris_boardi+1,i+tetris_hsz fancygraphics char7..1tetris_boardi+1,i+tetris_hsztetris_blankline// /char__tetrisrenderscreenzcursestimeoutscorezcursesinputtetris_boardtetris_blanklinetetris_boardtetris_score+=100*(bonus++*(tetris_lines/10+10))tetris_lines+=1tetris_lines % 10 == 0timestep = timestep * 0.80i += tetris_hsz__tetrisnewblock__tetrisblockfitslocal(1+tetris_block_y*tetris_hsz+tetris_block_x)0x8000y!=4x!=4tetris_block&bx+tetris_block_x >= 0returnx+tetris_block_x < tetris_hszy+tetris_block_y >= 0y+tetris_block_y < tetris_vsztetris_boardib >>= 1i+=tetris_hsz-4__tetrisdrawnextblocklocaltetris_preview0x8000y!=4 x!=4tetris_block_next&btetris_previewib >>= 1zcursesmovepreview(y+1)zcursesstringpreviewtetris_preview//O/filled_block//*/active_block// / __tetrisplaceblocklocal(1+tetris_block_y*tetris_hsz+tetris_block_x)0x8000y!=4x!=4tetris_block&btetris_boardib >>= 1i+=tetris_hsz-4__tetrisrenderscreenlocalpiecesetoptlocaloptionshistsubstpatternextendedglobmatchmbeginmendanimation⃶⃶⃶⃶⃶⃶⃶⃶⃶⃶⃶⃶⃶⃶i = 0i < tetris_vszi++ zcursesmovegamearea( i + 1 )zcursesstringtetris_board1+itetris_hszi+1tetris_hsz//O/filled_block//*/active_block// / //b17/animationmatch1zcursesclearscorezcurseszcursesScore: tetris_score\ Lines: tetris_lines\ Speed: timestep%.* mszcursesborderzcursesborderzcursesborderpreviewzcursesrefreshpreviewdebug__tetrisgameovergameover__tetrisnewgamegameovertimestep1000tetris_scoretetris_lines__tetrisnextblock__tetrisnewblock__tetrisrenderscreen__tetrisgameoverscreen__tetrisdebugDied with tetris_score points!tetris_boardtetris_blankboardlocaltextYou got tetris_score points!gameover_heightgameover_width( #text + 2 )zcursesaddwingameovergameover_heightgameover_width( off_y + (game_height-gameover_height)/2 )( off_x + (game_width+score_width-gameover_width)/2 )zcursesmovezcursesstringtextPlay again? [yn]zcurses( (gameover_width - #text)/2 )zcurseszcursesborderkeepplayingkeepplayingynqzcursesinputzcursesdelwinzcursesrefreshstdscrzcursestimeoutgameareatimestep%.__tetrisnewgame__tetrisdebugdebugreturnzcursesscrolldebugzcursesmovezcursesstring1__tetrisremovewinslocaldelwindelwinsgameareascoredebuggameoverhelppreviewdelwindelwins:zcurses_windowszcursesdelwindelwin__tetrishelplocalhelp_heighthelp_widthzcursesaddwinhelphelp_heighthelp_width( off_y + (game_height - help_height) / 2 )( off_x + (game_width + score_width - help_width) / 2 )zcursesmovezcursesstringleft: h, j, left\ right: right, n, l\ rotate: up, c, i\ soft drop: down, t, k\ hard drop: space\ quit: q\ press space to returnzcursesborder qzcursesinputkeepplayingzcursesdelwinzcursesrefreshstdscrzmodloadzsh/curseszcursesinit__tetrisremovewinszcursesrefreshechoticivislocaldebug @[(I)--debug|-d] off_xoff_ygame_heightgame_widthscore_heightscore_widthpreview_heightpreview_widthfilled_blockactive_blockfancygraphicszsh/langinfolanginfoCODESETUTF8⃶⃶active_block⃶⃶@Isilly[]active_block()( (COLUMNS-game_width-score_width-1) / 2 )( (LINES-game_height) / 2 )zcursesclearstdscrredrawzcurseszcursesaddwingameareagame_heightgame_widthoff_yoff_xzcursesscrollzcursesaddwinscorescore_heightscore_width( off_x + game_width + 1 )zcurseszcursesaddwinpreviewpreview_heightpreview_width( off_y + score_height )zcursespreviewdebugzcursesaddwin( game_height - score_height - preview_height - 1 )score_width( off_y + score_height + preview_height )typesetSECONDSprevtimesteptimeoutkkeykeepplayinggameoverSECONDS__tetrisnewgamezcursestimeoutkeepplayingzcursesinput__tetrisdebuggot input keykkeykeykkeyLEFT__tetrisleftRIGHT__tetrisright__tetrisrotateDOWN__tetristimeouttetris_score++__tetrisdropbreak__tetrishelp__tetrisdebugtimed out__tetristimeout prev + timestep/1000. < now prev += timestep/1000. timeout( 1000.*(prev + timestep/1000. - now) + 1 )%. timeout < 0 __tetrisdebugBUG: timeout < 0timeouttimestep%.zcursestimeouttimeout__tetrisdebugtimeout: timeout__tetrisrenderscreengameover__tetrisgameoverscreen__tetrisremovewinsechoticnormzcursesAg : A%DhD\t%<`@AC GZAd&,ZA.&)+\A+/SA'+At A4 AG*Af0HA,aAC'+A0J+0!AB dۜ۔[yFACfdAd*0&%AB Cdۜ۔[yCFA J2fd=A"UFHAFAGA8 **9 $ ۔#9 P A"w *F +%+ACFh+typesetxtermseqxtermseqdeiconifyiconify3;X;Yposition4;H;Wsize_pixelsraiselowerrefresh8;H;Wsize_chars9;0unmaximize9;1maximizeget_iconifyget_positionget_size_pixelsget_size_charsget_screen_charsget_labelget_titlelocalkxtermseqxtermseqxtermseqkxtermtelllocalxtermseq1:no such control/HX/2/WY/3print\e[seqtxtermasklocalunsetREPLYreplyget_1get_xtermseq1:no such controlget_labeltitlereadesc?\e[seqtreturnsrd\esrkget_Arsd #reply > 2 shiftlocaldocumentationread\edocumentation CSI = "control sequence introducer": ESC [ OSC = "operating system command": ESC ] ST = "string terminator": ESC backslash Ps = "parameter string": (see list below) All control sequences described here begin with CSI and end with "t". Note that there are no spaces in control sequences or responses, except possibly for the text responses for label and title; spaces shown below are for readability. Window manipulation (from dtterm, as well as extensions). These controls may be disabled using the allowWindowOps resource. Valid values for the first (and any additional parameters) are: Ps = 1 -> De-iconify window. Ps = 2 -> Iconify window. Ps = 3 ; x ; y -> Move window to [x, y]. Ps = 4 ; height ; width -> Resize the xterm window in pixels. Ps = 5 -> Raise the xterm window to the front of the stacking order. Ps = 6 -> Lower the xterm window to the bottom of the stacking order. Ps = 7 -> Refresh the xterm window. Ps = 8 ; height ; width -> Resize the text area in characters. Ps = 9 ; 0 -> Restore maximized window. Ps = 9 ; 1 -> Maximize window (i.e., resize to screen size). Ps = 1 1 -> Report xterm window state. If the xterm window is open (non-iconified), returns CSI 1 t . If the xterm window is iconified, returns CSI 2 t . Ps = 1 3 -> Report xterm window position as CSI 3 ; x; yt Ps = 1 4 -> Report xterm window in pixels as CSI 4 ; height ; width t Ps = 1 8 -> Report size of text area as CSI 8 ; height ; width t Ps = 1 9 -> Report size of screen in characters as CSI 9 ; height ; width t Ps = 2 0 -> Report xterm window's icon label as OSC L label ST Ps = 2 1 -> Report xterm window's title as OSC l title ST Ps >= 2 4 -> Resize to Ps lines (DECSLPP) The size of the screen in characters is often reported inaccurately. Gnome-terminal as of v2.16 responds to 13/14/18/19 but fails to insert the Ps digit 3/4/8/9 between the CSI and the reported dimensions, and does not appear to respond to any of Ps in 1-9. Window managers may also affect behavior; the Gnome desktop allows xterm to resize or iconify itself but won't reliably let it reposition itself. EOdocEOdoc(M)@:#--explainprintdocumentationreturnABfdқCF A0'< T*{3rbJAC'<hA^1ZA T$1Ia)e}!9mAHA^A$8۬PhқCAd 1 AbA( DI`AC"F A4"1AuAC#F A1AA,bA,JA,A.۔A&AA,Al& 1 A.A(C'8۬2{ۄ A'F qA.qA(F A$)g<L*s#A1A.)=AdQAA.*s#qA.*s#%A *< XlA*AXC+ A A+f+u A+f+ AT, 1AE!Au!A-!8۔A-g<!;A.'<!"A(C0'<+L%m%A31A(A31A(A3F q AC4lm)A$4A4F))A5F )A,r*APC6 A*A6f8۬*A7F At7 1At+A+A$88۬++{{+A8F A,,AP9 A,AC:f8۬,A:F A,ba-AP; AT.A<f8۬y.AC<F A,!/APC= A/A=f8۬/A>F A>Ah0A?f000A,;4Ah@ 1A @1f$1LH1A.!1qA.!e2A@BAC A 2A\1A2A2AD +AB2 E&3A4L,3E33A3AEXA4AFF44A\CF AAFl5qAF%l55ACGA5A0GF8۬<62KX6t6666A""6HF A H&<7qACIF)a7ACJF)7AKF )emulatereturnlocaloptsZARGS_VERSION1.5zparseoptseof::eofe::eofexithelpinteractivemaxargs:nn:nmaxchars:ss:smaxlines::ll::lL:lmaxprocs:PP:Pnorunifemptynullreplace::ii::iI:iverboseversion opts[(I)--version] printzargsversionZARGS_VERSIONZSH_VERSION opts[(I)--help] Usage: zargs [options --] [input-args] [-- command [initial-args]] If command and initial-args are omitted, "print -r --" is used. Options: --eof[=eof-str], -e[eof-str] Change the end-of-input-args string from "--" to eof-str. If given as --eof=, an empty argument is the end; as --eof or -e, with no (or an empty) eof-str, all arguments are input-args. --exit, -x Exit if the size (see --max-chars) is exceeded. --help Print this summary and exit. --interactive, -p Prompt before executing each command line. --max-args=max-args, -n max-args Use at most max-args arguments per command line. --max-chars=max-chars, -s max-chars Use at most max-chars characters per command line. --max-lines[=max-lines], -l[max-lines] Use at most max-lines of the input-args per command line. This option is misnamed for xargs compatibility. --max-procs=max-procs, -P max-procs Run up to max-procs command lines in the background at once. --no-run-if-empty, -r Do nothing if there are no input arguments before the eof-str. --null, -0 Split each input-arg at null bytes, for xargs compatibility. --replace[=replace-str], -i[replace-str] Substitute replace-str in the initial-args by each initial-arg. Implies --exit --max-lines=1. --verbose, -t Print each command line to stderr before executing it. --version Print the version number of zargs and exit. HELPHELP opts[(I)--version] #i iiIreplace1:{}optsrxoptsrr #P PPmaxprocs:1xPxPzargs:invalidnumberoptioneofeeofend=ARGC+1 #eof argvieofeeofargviargscallcommandcommand(@)argv[end+1,-1] opts[(I)-(null|0)] (@ps:\000:)argv[1,end-1](@)argv[1,end-1] #command c = #command - 1 commandwaitexecute if (( $opts[(I)-(-interactive|p)] )) then read -q "?$call?..." || continue elif (( $opts[(I)-(-verbose|t)] )) then print -u2 -r -- "$call" fi eval "{ \"\${(@)call}\" } $bg"analyze case $? in (0) ;; (<1-125>|128) ret=123;; (255) return 124;; (<129-254>) return 125;; (126) return 126;; (127) return 127;; (*) return 1;; esac ARGC == 0 opts[(I)-(-no-run-if-empty|r)] commandevalexecute ; analyzeretnnmaxargs:ARGC+c n <= 0 zargs: value for max-args must be >= 1 n > c n -= c argumentlistlongssmaxchars:20480 s <= 0 zargs: value for max-chars must be >= 1llLmaxlines1:l1:+1:ARGC l <= 0 zargs: value for max-lines must be >= 1PPmaxprocs:1 P < 0 zargs: value for max-procs must be >= 0 P != 1 && ARGC > 1 setoptnonotifynomonitorzmodloadzsh/parameter/dev/nullwait ${${jobstates[(R)running:*]/#*:/}/%=*/}waitARGC P == 0 || P > ARGC P = ARGC breakend=lend && (c)#argv[1,end] > send/=2 end > n && ( end = n ) (@)argv[1,end]shift(end > ARGC ? ARGC : end)(@)command/i/args(@)command(@)args (c)#call > s cannotsingleargumentwithinsizelimit opts[(I)-(-exit|x)] continueexecutewait analyzeACfdқCAf <pAtd ;A!A Af5ABr+;t9xA1 AfRR2prr+;tAfqACDa+AfD+A'A0'< sTlA$C 0DXA'lA0g 8E\A$ JrACg<\A AC f  A$  AC!G$Ap! A !fPLtA!Pۄ$4btA.$A"g T AL"< A# A. i A,<AC$f ۬ AD$1A A %G@ <` A&g J*A AH&A E AB'Fr 'F, A$(1AF2` +r+I A,  A (& A"r  (& A))A 9A,0aA, AH)0ZAC*1A A,D%A. A +A,D+A +& qA ,fLeAC,F, Ad, 1 A.A -fL1AC-F, A. 0 2A.F@\0*A0!AA,$sA1A.rYAA. AP2 AA3AC3%A<4 1\A}AC5FLA,ImAC6gA6NAB6<Ap7 AAB C7& A,<A7F AC8A.r%AA,EA,A,<A C9&A,<A,A,A|;1A&QA,E%A,A,<A <&A"R% <& A<=&"A.r% A=ARA 1AR!A.HqA.lAC?Lۜ%A?fLA,<A @&qA.TqA.T9ABLۜ%A, <aA B 0- ACFTiA,<A CD&0   AEF, 0 ! A.80E A,A.80A,#xA.$80A,((A.)80 TA.-80iACLFTA,2<A L& 0) AMf !A,8!!A,9<A N&p"09AOFL"A,?<A P&"0#A,E<Q#AQL۔#A,G<A R&#0$;A,L<#AdCSANM2p%A,NA,OAT%0 $A.R s$0 %AtU 1 AVe%A$UL۔%A,X<A CV&@&AVm%0 kA.] se&0&A,`ACXF 09&AtY 1 A.dr&%'ACYFLu'A,f<A Y&'ACZG!(AjU(A,kA[F 0;A[FL(A,p<A C\&D)0/i)At^ 1 Ax)A$C^L۔1*A,z<A ^&*AC_FT*A_f 0S+At` 1 A,A$aL۔U,A,<A a&,Ab1A.r%- A,Xe&A,=-a-A,--A.AcFT-Acf 0..!Ate 1 A.A$fL۔/A,<A f&/AgFT/ACgF 0Xe0"A,r0Ath 1 A1A$iL۔Y1A,<A i& 2A,E<DAL 02P2l2A,E<2A"2E<dA,E<LAkf +rAlFT20 ;#A.qA.AnA03APp ApFTe3A,<A q&3AB 3 q&3A,43A,ImA"H4r%3i4As1A4A4AHtL56l2ACtf$6A6+JAtF`66qACuF63A.<AvF, emulatesetoptextendedglobtypesetsilentzcalc_show_value_baseprint( _base 1 ) _outdigits _forms_outform_outform( 1 )printf_forms[_outform]\n_outdigits%d\nlocalZCALC_ACTIVE_line_base_defbase_formsmatchmbeginmendpsvar_optlist_opt_arg_tmpcompcontext-zcalc-line-integer_num_outdigits_outform_expression_modeinteger_rpn_mode_matched_show_stackinteger_max_stack_push_expressionsstackhistoryZDOTDIR:-HOME/.zcalc_history_forms%2$g%.*g%.*f%.*E_mathfuncszmodloadzsh/mathfunc/dev/null(j.._mathfuncsf:)_userfuncsffunctions -M_line_userfuncsmatch3match4autoloadzmathfuncdef ! +ZCALCPROMPT typesetZCALCPROMPT%1v> float PI = 4 * atan(1), E = exp(1) ZDOTDIR:-HOME/.zcalcrcZDOTDIR:-HOME/.zcalcrcreturnfer-12,1shift_optlistbreak_optlist_optlist1_optlist2,1_opt_optlist_optlistprint-# requires an argument_arg#:digit:-# requires a decimal number as an argument_defbase[#_arg]setoptforcefloat _expression_mode = 1 _rpn_mode = 1 ZCALC_ACTIVE_optlistb- _show_stack = match[1] _optlistmatch1+1,2 _expression_mode @argv_num = 1_num <= #_num++ argv[_num] = argv[_num] _num> argv[_num]psvar1_num_prev_line_cont_promptvaredcehp_cont_promptZCALCPROMPT #_expressions _expressions1_line\\\\_line1,2...continue_prev_line_line_line//(_line//)continueb:blank:[##-__-]:blank:match6match3_defbase_defbasematch1( _defbase ans )continue_defbase_line##[[:blank:]]#%%[[:blank:]]#_line:\!eval_line:\!:blank:continue:q:norm:sci:blank:b-B_outdigits:fix:blank:b-B_outdigits:eng:blank:b-B_outdigits:raw:local:blank:_line:continuefunction:function:blank:b:blank::blank::blank:_userfuncsmatch1functions -Mm $match[1]4continueUnrecognised escapecontinue$:IDENT:_line$P_linecontinue_line:blank:%%:blank:<:IDENT:P_line<=pop>:IDENT: #stack < 1 _line: not enough values on stackcontinuestack1pop>>:IDENT:_line>_stackansPIE_line##\>: reserved variablecontinue_line> _line##\> = stack[1] BUG in special RPN functionscontinue+^|&*/**>>< #stack < 2 _line: not enough values on stackcontinuexy<>stack1stack2stack2_tmp(( ans = _line(${stack[2]},${stack[1]}) ))_mathfuncs #stack < 1 _line: not enough values on stackcontinue(( ans = _line(${stack[1]}) ))kj.._userfuncs_userfuncs_line #stack < n_ _line: not enough values (_n) on stackcontinue_i = _n_i > 0_i-- stack_i _i > 1 (( ans = _line )) ! _matched ans=$(( _line ))continueanscontinueargv_num++ _push stack _show_stack _max_stack = (_show_stack > #stack) ? #stack : _show_stack _i = _max_stack_i > 0printf%3d: zcalc_show_valuestack_izcalc_show_valueAfPA A@'E2sE8Ag LA$Ch$ 2A,2sA,8A1A.lAC%1Q AYA f۔AF@A"r+\2sA"pAX AAFAF@A 'A 0AB DlaT Da+A 4FA0\6A' 9A0AACFc+A8d8A' 9A0AACFc+Ad 1 Ac+d |ACfc+tAfc+t ACS1SABEL !C fh l+#Ah t+# Ah  AtM A.9Afc+t A l+#  A l+#I ] A"Zr ( A"[  l+#! d A"\  l+#  A"] U C l+#U A"^  l+#1yAC l+#A l+# yAf(۬MAfc+tMA98ABj!f lA tAC l A"nr-( A"o a lA"p  l]A"q U C lU A"r - luAC lA l MA"zFACfA=A2sA, !A 1A.rA. QARA. }A"("l+#lL "fAq!A,\+A" + A#N A(#l+#lL A"L#5A$#$۔AA8 $&A$t,A%Fsetoptlocaloptionsnoksharrayslocaloptszed_file_nameintegerTMOUTokargsbindexpandzparseopts+optsf+optsboptsxexpandoptsx +opts[-x] printInteger expected after -x: opts[-x]returnfned bind # != okargs echoUsage: zed filename zed -f [ -x N ] function zed -bcurcontextzed:::matchmbeginmendzstyle:completion:zed:*inserttabzmodloadzsh/terminfo/dev/null__zed_pg_upintegercount( LINES / 2 - 1 ) count -- upline__zed_pg_downintegercount( LINES / 2 - 1 ) count -- downline__zed_pg_up__zed_pg_down__zed_pg_up__zed_pg_down bind bindkey/dev/nullmainzednormalkeymap__zed_initUNDO_LIMIT_NOUNDO_CHANGE_NO__zed_initbindkey^x^wacceptline^Mselfinsertunmeta+terminfoterminfo[kpp]terminfo[kpp]__zed_pg_upterminfo[knp]terminfo[knp]__zed_pg_downterminfo[khome]beginningoflineterminfo[kend]terminfo[kend]endofline^[[Hbeginningofline^[[Fautoloadzedsetfilename bind zedvicmd/dev/nullvicmdZZ+terminfoterminfo[kpp]terminfo[kpp]__zed_pg_upterminfo[knp]terminfo[knp]__zed_pg_downvibeginningoflineterminfo[kend]terminfo[kend]viendoflinevibeginningoflineviendoflinereturnsetoptlocaloptionsnobanghistfunctions $expand -- $1var# undefinedautoload +X $1; functions -- $1(q-)1 () { }vared__zed_initevalfunctionvarzed_file_name<$1__zed_initprintzed_file_name TRY_BLOCK_ERROR = 0 breakecho\aA" ACg0DKHAB4\A.HpIA@۬+s  zr{$AFDAf`۔bқCA C0Z++A,AB BF  FDAf8MA8=A hEA('ZEJA`L JjiIA"C,ۤ\Z C&@AFXAB +\FpA"> Rr+\Rr+\r+\CFpA'j[+\ADA,ۤ\ZA.j[Af۔rA' /A Af A4'Z+EJA`CL JjiIA"ۤ\Z &0AFHAB +\F`A"> Rr+\}Rr+\r+\F`A, ++\ADCACۤ\ZA.+ACf۔rAFA"; ;AB9FFxA  = *z2& AP h c| Aft ABKh FxA &A1 A.N= U AFu ACF=AFxA &AF}AftuABY| CFxA &A1 A.\AF AF| A&`AF5qAF| A &Aft9ABi c CFxA &A1 A.lAFAF cQA.pAFA&sACFqAF cA1AzAFApC 1A} A  H*z2*z2& qA C! *z2*z2& A C# *z2*z2& A" % *z2*z2& A)\"A"m## C)&A ) #= *z2& AC.\.A"m## .&A / .= *z2& A C3P 0181AD30a111111*r#282L2`2x2A<C5222223303D3\3p3A7813A83&3AC9D9,Z+3A9۬۔r3AB+54:FxAC:Fe4A:۬۔4ABC;F49C;FxA@;'1 A.495A <&A,C<&51 s#5Z+555qAd< 1 A.4A6A C=&A$=T6x6Z+656A\> 1 A.956A >&A>6167A(?'P l77 89A"@08jQ8y8 88A @ 9*z2*z2& interactivelocalARGC/dev/nullprint0:mustfunctionshellscript,sourcedreturnemulatezkbdtermZDOTDIR:HOME/.zkbdzkbdmkdirtrapunfunction getmbkey getseq; command rm -f $zkbd/$TERM.tmpreturn 1getmbkeylocali=10readbreaksleepreturn\012\015mbkkprintmbkgetseqtrapstty stty -g 2>/dev/null:-echo -rawsttyecholocali=10readbreaksleepreturn\012\015seqkprintVseqreadterm?Enter current terminal type: [TERM] termTERMprinttypeset -g -A key\nzkbd/TERM.tmpreturn We will now test some features of your keyboard and terminal. If you do not press the requested keys within 10 seconds, key reading will abort. If your keyboard does not have a requested key, press Space to skip to the next key. EOFlocalctrlmetaHold down Ctrl and press X: getmbkeyctrl\030Your keyboard does not have a working Ctrl key?Giving up ...Your Meta key may have a Microsoft Windows logo on the cap.Hold down Meta and press X: metaYour keyboard or terminal does not recognize the Meta key.unset\177Your keyboard uses the Meta key to send high-order characters.Hold down Alt and press X: altYour keyboard or terminal does not recognize the Alt key.Your keyboard does not distinguish Alt from Meta.Your keyboard uses the Alt key to send high-order characters. +alt + +meta == 0 \n---------\nmultibyteYou are using zsh in MULTIBYTE mode to support modern character sets (for languages other than English). To use the Meta or Alt keys, you probably need to revert to single-byte mode with a command such as unsetopt MULTIBYTE Your current terminal and keyboard configuration does not appear to use high-order characters. You may be able to enable the Meta or Alt keys with a command such as stty pass8 If you want to use these extra keys with zsh, try adding the above command to your ZDOTDIR:-HOME/.zshrc file. See also "man stty" or the documentation for your terminal or emulator. +alt || +meta --------- You may enable keybindings that use the meta:+Metameta:+alt:+ and alt:+Alt keymeta:+alt:+s by adding bindkey -m to your ZDOTDIR:-HOME/.zshrc file. key?Press a key to proceed: key\n --------- You will now be asked to press in turn each of the 12 function keys, then the Backspace key, the 6 common keypad keys found on typical PC keyboards, plus the 4 arrow keys, and finally the Menu key (near Ctrl on the right). If your keyboard does not have the requested key, press Space to skip to the next key. Do not type ahead! Wait at least one second after pressing each key for zsh to read the entire sequence and prompt for the next key. If a key sequence does not echo within 2 seconds after you press it, that key may not be sending any sequence at all. In this case zsh is not able to make use of that key. Press Space to skip to the next key. key?Press a key when ready to begin: If you do not press a key within 10 seconds, key reading will abort. If you make a mistake, stop typing and wait, then run this program again. pckeyssunkeysmodifiersF1..12BackspaceInsertHomePageUpDeletePageDownLeftDownRightMenusunkeysStopAgainPropsUndoFrontCopyOpenPasteFindHelpShiftexec/dev/ttypckeysPress key: getseqkey[key]='(q)seq'seqsourcekey[Delete]key[Backspace]Warning:Deletebothsend(q)key[Delete]^?Warning:Deletesends(not ^?)^HWarning:(q)key[Backspace]termIDDISPLAY:t:VENDOROSTYPEtermFilecommandtermFilezkbd/TERMtermIDzkbd/TERMtermID Parameter assignments for the keys you typed have been written to the file: termFile You may read this file into ZDOTDIR:-HOME/.zshrc or another startup file with the "source" or "." commands, then reference the $key parameter in bindkey commands, for example like this: source (D)zkbd/$TERM-${${DISPLAY:t}:-$VENDOR-$OSTYPE} [[ -n ${key[Left]} ]] && bindkey "${key[Left]}" backward-char [[ -n ${key[Right]} ]] && bindkey "${key[Right]}" forward-char # etc. Adjust the name of the file being sourced, as necessary. AfdқCAF <A$Cp AGpAX A ACF5AFABCfLCFAAA#F<lAfd A,yA<1A.rAFAFAC'p+A'pA1 A  A"Cf<Zi1CFLyAFA# A f<Zi1A( 'EA 'p4+Ad+A.+rIaA,A0Ad1A.1rIaA2AB C <l1 yC FA<CF1FACf,0A(p dAgpA% ( < T h { *3 *Ã  ( @ X JsRRp b{; Ks s ʃʋ , P d | Rss A,B ! A,C| IAA.Dr A,Fx A@A.Gr AC A<1ALYAC 30AhCAFA8CAU$Af<Zi1emulatesetoptextendedgloblocalmatchmbeginmendlinefunc # > 2 printUsage: 0 [name [body]]returnzmodloadzsh/parameter # == 0 functionsreadfunctionsline6funcb:space:((:space::space::space:))zmathfuncdef line[3] (qq)match[1]mnamefnamezsh_math_func_1 # == 1 mnameunfunctionfnamefunctionsfnameintegeriargioptargbodybody${(iarg+1)::digit: iarg++ ioptarg = iarg ${(ioptarg+1):- ioptarg++ iargioptargzsh/mathfuncmathfuncsloadsmathfuncpatbodysearchmathfuncsacosacoshasinasinhatanatanhcbrtceilcosherfcexpm1fabsfloatfloorgammalgammalog10log1plogbsinhsqrttanhsigngamcopysignfmodhypotnextafterldexpscalbrand48mathfuncpat((j.|.)mathfuncs)bodysearchbodysearchb:alnum:alnum:(bodysearchmatch1match3match2mathfuncpat #loads loadsevalfname() { (( body )) } TRY_BLOCK_ERROR Af۔bқCAF <A@C p2:4zHA4 Gp\tA4 Gp4Ld|A(!p   <PAC! {A!GA"'pA,A#N A#fDezAhC# A.rA$#۔A#FAC$FA"4$FhA"RC%F A" !<jA" YtA" bsA" A" "8A'ARUA,tAd' 1 A.A (f۔ AC(FA\C) 1 A A )fۄA A,FA, +A, +A.FhAt. 1 AF2` EabsA$.۔A/FA`/KJA6R@  AC0gpk0A0'DsA,0eA,kAl2 A.r9A$C2۔MqA. EAHC3('A A(3'pA4'rA, Ad4 1 A.+t9A 4fۄA5FAL51A.r+tA 5fۄA AF2` rA,A.5A8A.r]A,<At9 A62@  5A.iqA:F A.<qA.<A<!A" 5 EA=%\A=Z2qA|1A.rA. AB"2` +4r+4M  ?&|A@f+AC@uA4C@ A.:A`A A( A$CA۔q AAFA<CB&A R+<AB\ ! A. r+4+< A" !C۔!A C& "A>2P E" +<ACD\m"Q A2 +<2R"2pR+4+<r#j AD\1#A,y#+4A.#+<ACF1A#A$F۔#A$Fdq$AGFA<G&2qA" R$ H&$A(CH%H$$E!%+4$A"" A%H۔%AHHA# %ABIf%ی% I&,&AHIA&RQ&AB I&m&'AJF&emulatesetoptextendedgloblocalargsmatchmbeginmendfilesactionmynametmpfexecopt_fopt_iopt_nopt_qopt_Qopt_sopt_Mopt_Copt_Lopt_oopt_popt_Popt_vopt_wopt_WMATCHMBEGINMENDreplerrstrfpathasglobqualopattypesetfromintegerstatdashes%:%Ngetopts:o:p:P:MCLfinqQsvwWoptprintmyname: unrecognized option: -OPTARGreturnevalopt_opt=${OPTARG:--$opt} OPTIND > 1 shift( OPTIND - 1 )opt_Qnobareglobqualopt_Mactionopt_Cactionopt_Lactionopt_pactionopt_Pactiondashesactionactionmyname2,1actioncpmvlnmyname: action action not recognised: must be cp, mv or ln. # != 2 Usage: %N [OPTIONS] oldpattern newpattern where oldpattern contains parenthesis surrounding patterns which will be replaced in turn by $1, $2, ... in newpattern. For example, %N '(*).lis' '$1.txt' renames 'foo.lis' to 'foo.txt', 'my.old.stuff.lis' to 'my.old.stuff.txt', and so on. Something simpler (for basic commands) is the -W option: %N -W '*.lis' '*.txt' This does the same thing as the first command, but with automatic conversion of the wildcards into the appropriate syntax. If you combine this with noglob, you don't even need to quote the arguments. For example, alias mmv='noglob zmv -W' mmv *.c.orig orig/*.copt_sactionmyname: invalid option: -sopt_wopt_Wfindinteger(#m)((\*\*##/|[*?]|<[0-9]#-[0-9]#>|\[(^|)(\]|)(\[:[a-z]##:\]|\\?|[^\]])##\])\##|?\###)pat//~find/++cntcntmyname: warning: no wildcards were found in search patternpat//~find/(MATCH)open${closeintegerrepl//~find/open++Nclose%N: error: number of wildcards in each pattern must match%N: warning: no wildcards were found in replacement patternpatb()|~)hasglobqualmatch1b(**/)match[1]match[2]match[3]hasglobqualfpat1odon)bareglobqualfpat(odon)fpatopaterrsfilesb(**/)match[1](*/|)match[2]bpatcontinuematch[@]Xerepl/dev/null TRY_BLOCK_ERROR myname: syntax error in replacement`f' expanded to an empty stringopt_vf not altered, ignoredcontinuefromgf and from[g] both map to gopt_factionfile exists: gfromgtof #errs myname: error(s) in substitution:errstofcontinueactionopt_odashesopt_iopt_nopt_vqexecopt_ireadopt?Execute? continueopt_nexecstatAC PAD zһ4+L++j k`tAC %kAH A fzA E0 A.,+0 A.-+0 A..t+0%;A 1A0 AC %kqA $۬< #lA FAFA: 1A: )A.;+qA.=+APA@ ACg*s#rkA^ACEA,D*s#YA1 A&F*s#+$A4AF*s#A4A%A%kA%j A,PAC ACiz1Ah0 MAj a0 ;A%kyAf4ABX &A%4%MAB\ &A,^һAf4ABaC4-A #1Ac ]A,drkqACA&eA.f++A,h+AlC L1AL1A&j]A,k++A &0qA.q++A4E1EAt ++ACA1 Au )A"yRIC$]d}A.z+q5A"RIf$tAt!-A"R"DC!AB ]C!j4]=!h]1A!F$QA" A"D"AB ]"j4]=(C"h]1A"RI"F$A.+AC$F+Ah% AEA%i AC&A A'% AxC( һAC)4m A1 A.r% A,j lA.` qA,j ۔A.`A 1A.r];|9A.+q qA.+A 1A.% A.++qA.+A0%4 = A"R++l2 L1ALC21A&]A,++A 2&0A\3J1JA ++A84F1 A )A"RI5$]d}A.+q:A"RIC7f$tA7k A9/ A& A"RIC9F$ A.+#A;! A"RE"C;j4]=;h]1A;F$iQAY<A"<j4]=$C<h]1A"RI<F$A.+A>F+setoptlocaloptionsextendedglobnoshwordsplitnoksharrayslocalcheckquietfilesfilemesgpatsgetopts:tqpoptpatstmpOPTARGprintzrecompile:option:OPTARGreturnshiftOPTINDtmp1check # argviargv1,end1argvargvOPTINDgetoptsfilesMRoptfilesOPTINDOPTIND1 #files continuefiles1files2,1:.zwccontinuefiles1%.zwc.zwczwc%.zwczwczcompile -t $zwc | wc -lnum1filesfilebreakquietneedsrecompilationre-compiling zwc: quietzwc.oldzcompilemapsucceeded/dev/nullre-compiling zwc: failedargv/.zwcNDargv.zwcNDMargv:.zwcfpath/.zwcNDfpath.zwcNDMfpath:.zwcargv%.zwc.zwcfzcompile -t $zwc(mapped)succeeded (old saved)zwc%//ZSH_VERSIONprefiles2,1:/Mfiles2,1:/filesNtmpfailed (missing files)quietmesgAXT0 <AF10H;ACfD`AGJA'A,ACLJcZYIA|1ANRp+L+$\AFIAFA.!J1zstyle@setoptlocaloptionsnoksharraysintegerlocalcontextargv[i]context(@)argv[1,i-1]shifti > # ? # : iAfdқCAC <AgAgd debian/zsh-common//usr/share/zsh/functions/Misc/zrecompile`ddebian/zsh-common//usr/share/zsh/functions/Misc/zstyle+adebian/zsh-common//usr/share/zsh/functions/Misc/ztodoABf,$FDA 0".Ac+" 0".Ac+" 0B.A$ 0b.A 0A 0;AFA F,A)eA  1A+A @d<A CF+A.]A f-uA FA g A 'A C's2=A8 #1A7PACAC@<iA` 1A:A+ qAC+ ]A` 1A@AC@%DeqA@$bqA.AHr APC AI 1Af }AFA ( MAf+ctAFA' J A@<  4AC.AU U A\ 1AV UA+c A% ]eA+ct APC 1A]R .A`J qAFAUAC@eA\ 1AfA MA+ctA<1AjAA+ct aA,#u00 0A-FMa 0;AB -FMazmodloadzsh/zlereturnzsh/parameterzsh/zleparameterprintadd-zle-hook-widget: Need parameter modules for zle hooksemulatelocalhooktypeszleisearchexitzleisearchupdatezlelinepreredrawzlelineinitzlelinefinishzlehistorylinesetzlekeymapselectzstylezlehooktypeshooktypeszleazhw:hooktypeslocalhook_widgetshookzstyleWIDGETwidgetshook_widgets(@)(@on)hook_widgets[@]#<->:hookuser:hook@hookreturnaddzlehookwidgetlocalhooktypeszstylezlehooktypesusageUsage: funcstack[1] hook widgetname\nValid hooks are:\n hooktypesautooptsintegerlisthelpgetoptsdDhLUzkoptUzkautooptsoptreturnshift( OPTIND - 1 )1zle list zle-(1:-(@j:|:)hooktypes[@])widgets help || # != 2 || hooktypes[(I)1] == 0 printu( 2 - help )usage( 1 - help )extant_hookshookzle-12 del hookwidgets del == 2 extant_hooks@:-:fnextant_hooks@:-:fn #extant_hooks hookwidgetsextant_hooks[@]hookwidgetsfnhook +widgets[fn] funcstack[1]: Cannot hook fn to itselfautoloadautoopts[@]integeroptionsksharrays2hookwidgetswidgetshook:user:azhw:hookhookwidgets[hook]0:widgets[hook]hookazhw:hookMextant_hooks@:-:fnOn@@Mextant_hooks@-:%:i:0+1i:fnhookwidgets ! +widgets[fn] autoload ! +widgets[hook] hook@zsh_eval_contextfileevalautofuncloadautofuncaddzlehookwidgetkshautoloadAfdCAg  8A,8`x0A' |ACG zAg  Ac+"A,CNACf1zA>Y 0".A c+" 0".A$c+" 0B.A( 0b.A, 0mA  0;A FAFA 1A:<AgXlyAF+A=Af1AFMA' A' s2AC:1AEAAGA` 1AHHAC+ uqA+ uA41AOAFXuqA1ATqA`C  AUAgX <uA+ u s4+qAgX <uA+ us4+AC H ms4+emulatelocalhooktypeschpwdprecmdpreexecperiodiczshaddhistoryzshexitzsh_directory_nameusageUsage: add-zsh-hook hook function\nValid hooks are:\n hooktypesautooptsintegerlisthelpgetoptsdDhLUzkoptUzkautooptsoptreturnshift( OPTIND - 1 ) list typeset(1:-(@j:|:)hooktypes)_functions help || # != 2 || hooktypes[(I)1] == 0 printu( 2 - help )usage( 1 - help )hook1_functions2 del (P)+hook del == 2 hookPhook:fnPhook:fn ! (P)#hook unset (P)+hook (P)hook[(I)fn] == 0 PhookautoloadautooptsA A$g<2JeAf+|AfA 1.A E,At.A<aAFA\ 1A +A &tFA C&listalloptionslocalOPT_NAMEOPT_VALUE \t\nbuiltinreadOPT_NAMEOPT_VALUEOPT_NAMEnoOPT_NAMEOPT_VALUELOPT_VALUE:s/on/OFF:s/off/onOPT_NAMEOPT_NAMEnoecho(r:21:)OPT_NAME OPT_VALUElistalloptionsegrep(j.|.)@listalloptionsACfdCAg 8LA!,8m,ATu,A8A 1A AC81A41AyAF QA C t=A\uemulatelocalfilemessage@:-mailpath[@]:-MAIL:-/var/spool/mail/LOGNAMEmessage(M)file%%\?*#\?file%%\?*filefile//.ND#filecheckmailfile?messagetestfilefileprint(e)message:-You have new mail.ACfdCA : @XAC %@t$M)Tm#+,A`ɚɢ=ACGhZdAN,Z.AN\+dAR,Z.ARA\+,AV,AW I,AXA )A('hb]jA :Dx,Acx,Ad0]A  ;2Ai ,Z ,Aj m ,Ak =.Al !A C ; Ar ,Z ,As Y ,At =.Au !emulatetypesetcolorcolournoneboldfaintnormalstandoutnostandoutunderlinenounderlineblinknoblinkreversenoreverseconcealnoconcealblackbgblackbgredgreenbggreenyellowbgyellowbluebgbluemagentabgmagentacyanbgcyanwhitebgwhitedefaultbgdefaultlocalkcolorcolorcolorkcolorI3colorfgcolorkcolorgreycolorblackcolorfggreycolorgreycolorbggreycolorbgblackcolourkvcolor\e[reset_colorbold_colorlccolor[none]rcbold_colorlccolor[bold]rcAHgfg_boldfg_no_boldkcolorIfgfgkfglccolor[k]rcfg_boldkfglccolor[bold];color[k]rcfg_no_boldkfglccolor[normal];color[k]rcbg_boldbg_no_boldkcolorIbgbgkbgbg_boldkbgbg_no_boldkbgAPAGA&+0;2;A C&AB +Cf+)*09+ 0;AFA`C $+A@+ 0AUA C&h 0.A 0+.A  0u .A 0 .A 0; .AUA" +%A C&A")CPiAFsetoptlocaloptionsnoshwordsplitnoksharrayslocaltextsshiftreturn;&|||&&break%%+kjobstatesr:+:kjobstatesr::%-1%%OkjobtextsR1%1OkjobtextsR11textsjobtexts1 #texts printj:; :texts*Af+ACFk+Afj+1.fooAfdCAd' 2J9LlEEEEAAC%1Al&NAAlN.A lA"! CFpA1.A"rA %A C 1.A%reA"'y FpqA"*y FpA",9 Fp.A.aAp CA  C&A"2 FpA"3rQl  &A"6 FpA"7  Fp.A8emulatelocal.-min_cntver_cntpartmin_verversionordermin_ver12:ZSH_VERSION min_cnt <= #min_ver part ++ver_cnt > #version returnversionver_cnt0909min_verver_cnt-orderOnorderOorderorder1order2versionver_cnt09true ++min_cnt > #min_ver min_vermin_cntbreak part > min_ver[min_cnt] part < min_ver[min_cnt] AfPAL'c{c{s jEElA 1A .A c{A1>AP2 T .AbA1>AP2 4 .AbA1>AP2  E.AbA 1>A P2  %.A"bA p71A"& 'r)A #F  A Cf<At 1.A*rQiA CFA d5A  & qA( $<\A C U 0qA F 0A f$ 0;AF hA\ 0ACF#- 0eAF#-Af<A|T)1.ACrQAg A@C% * : 0K Dc \ACF x Q.ANrQ mAg A% s* AF x ACd A & #f  ) YF mF setoptlocaloptionsextendedgloblocalmanual1terminalmagicline/usr/5bin/col/usr/share/lib/nterm/usr/share/lib/nterm/tab.terminal/usr/share/lib/term/usr/share/lib/term/tabterminal/usr/lib/nterm/usr/lib/nterm/tab.terminal/usr/ucblib/doctools/nterm/usr/ucblib/doctools/nterm/tab.terminal/usr/lib/sgml/sgml2roffread -er < $manualA)P2  -hA( ft FA ftA argvIargvIcommandnslookup@returnsetoptlocaloptionslocaltrapscompletealiaseslocallinecompcontextcurcontextnslookup:::pmptpageropagerPAGERtypesetPAGERzmodloadzsh/zptytrapreturn 130zpty -d nslookupEXITzstyle:nslookupprompttmprpromptpmpt[@]pageropager:-/usr/bin/pager #pmpt > zptycommand(q)@*> printlinevaredlinelineexitbreakline(|* )> pagerflineLINESlineevalpagerlineexitAfdCA4' 8LaAC'A@CAC\.A#8Ap C  A% A (,A(8.A)A CF@UA f(tmA 'rA A"77ATC 1AC\A;4.A<8]A"B(AF$Af@\ACFAf@(AFUAF@.A`EemulatelocalRECVSEND\e[6nREPLYintegerWAITreadRECVREPLYRECVprintsttyechoSENDintegerSECONDSREPLYSECONDS - N <= WAITN=SECONDSRECVREPLY RECV#*\;%R:-0 > 1 EOLMARKreturnsetoptnopromptcrPS1%{(pl:COLUMNS+1:: ::\r:)%}PS1nopromptcrPS1%{%S%s(pl:COLUMNS-4:: ::\r:)%}PS1nopromptcr%{%S#%s(pl:COLUMNS:: ::\r:)%}PS1AG A" 4 AfldCA"CF,A,A,AAC4LhA  |A A +AC &A2++,AE,A!%.A#A  C&d,A(E+A F|A, +integerpcrere_match_pcreemulate pcre setoptre_match_pcreP1localMATCHMBEGINMENDmatchmbeginmend41,MBEGIN1e34MEND+1,1breakeval1q5ABfdCF A"+9{"F<+ & A" +"UiAB@2 + }F A" R++"CF< C& ,A ,A  AP  AiAC% +A'JAhCNAp2JA"9"F<i & ,A,AACF<aemulatereturnprint1:t1:h2:PWD3:.cd $1; pwd -rcd $2; pwd -rlocals:/:2s:/:1integerabsabsicuri++i > #curj:/:absi,1j:/:curi,1//..j:/:absi,121:+/1AfbCA' 8YA"+tA"+A@'1VAR$++A A -AFPeACFPAfd}qAFPAF Q^A2 `2R+HACFiAF+A( 0PTA( 'pJA A 1VA+2r5U+A CA8 A.IA f+}.A20AH C215A aA6,A8A""9`2 r5M C&Ad5A150A"= y  F 9 ]0 A"A  F 9 i50 AC. 0 AFs j  0;3AFs j < 0 9AFs j d0;A$cf C& b0 AAt[ 0 ACFs j 0 AFs j 0AFs jL 0iAFs jPPPP| 0ACFs jt 0AFs j 0;AFs j 0 AFs jY 0AFs j\0;A\C**1AaA8& AFDaACG Af A$dEAuALN.Aj ABFHFAF`uA Fs jMAC1AuaAdtA\A"y5! C&PA"z5" & AF$<emulatelocalHELPDIRHELPDIR:-/usr/share/zsh/helpdotcolon-lHELPDIRechoHere is a list of topics for which special help is available:printHELPDIR/:tThere is no list of special help topics available at this time.returnHELPDIR:-HELPDIR/1compctlPAGER:/usr/bin/pagerHELPDIR/1whatplacesnoaliasnewlineintegerdidman(@f)builtin whence -va $1placesnot foundQ1(@f)builtin whence -va ${(Q)1} #places (Q)@i++ < #placesplacesinoaliaswhat is an alias continuebuiltin is an alias for noglobnocorrectwhatw7:twhatw1run_help_orig_cmdrunhelpwhatw7:t is an aliaswhatw6:trun_help_orig_cmdwhatw6:t is a functioncompzshcompsyszshftpsyszshcontribbuiltinfunctionsPAGER:/usr/bin/pager is a builtincompctlzshcompctlzshcompwidbindkeyvaredzlezshzlesetoptzshoptionscapgetcapsetcapclonelnmkdirmvrmrmdirsyncschedechotcechotischedstatzprofzptyzsocketzstyleztcpzshmoduleszftpzshftpsyszshbuiltins is hashed to whatw1:t is a reserved wordzshmisc! didman++whencerun-help-1:t/dev/nullcmd_argsbuiltingetlnbuiltincmd_argszcmd_argscmd_args1run_help_orig_cmd:1shiftevalrun-help-1:t (q@)cmd_args[2,-1]POSIXLY_CORRECT@:ti < #places && ! didmanbuiltin%SPress any key for more help or q to quit%sbuiltinreadnewlineqQbreakunsetrun_help_orig_cmdAA$+,AFs jK:ACGc |A1.Ac .AACFs jlocalgit config --get "alias.$1"al%% git1A\ 1A$+,ACFs jJA &AlC 1A-CHfs jAFs jJA &AHVA2$++<A &pA+ 0AFs j 0; AFs j 09cACFs j 0;KcAFs j% 0; kAFs jE 0;{kAFs ju 0;kACFs j 0 AFs j 0 AFs j) 0U AFs jm 0;s ACFs j 0;{ AFs j 0;AFs j 0A Fs j 0;{A CFs jM 0;A Fs jq 0;3A Fs j 0;A Fs jJA F+returnipaddress/dev/nullshiftaddrlipaddrlabelipaddressipl2tpiplinkipmaddressipmonitoripmrouteneiipneighbournetcipnetconfnetnipnetnsipntableiprouteipruletcpiptcp_metricsiptokeniptunnelipxfrmAd A$+,AFs jqAFs j+opensslAh AAf0ACf+&U ! # helpcommandsPAGER:lessAd A$+,AFs jqAFs j+sudoA$f[&Qhelp@:1PAGER:/usr/bin/pagerA$fs&Qhelp@:1PAGER:/usr/bin/pagerA fdCA C <hA ')A'AC8dAB8;8AB4d<dYAA!flACtAlAl)All3=Ax A!flAtACl A"L=FPAg lABP@AfҬA &ABCllT<CA$l;;20A llA"UIUA"VVYABWW AABXX ALHH1A &+cACf HL lA=&1VA^R<+  A2 ) Y ACF AF Af t AX#f2d ]Af Af  ACf t AF  .Agr ! EACf+cl AF+c AF+c qACF+c ,An AF+cACFPAC2 IyA1.Ax Af t AX#f24Af Af ACf t)AFPA A, &hDllAP"!UA" !C -AT "&A"Ct,A"FPemulatesetoptnobanghistextendedhistoryhistignoredupslocalSTICKYFILESTICKYFILE:HOME/.zstickySTICKYSIZESTICKYSIZE:1000stickystickyfilestickysizezstyle:stickynotenotefileSTICKYFILEmaxnotesSTICKYSIZEbindkey/dev/nullmainXWacceptlineMMselfinsertunmetastickyvicmdstickyvicmdvicmdstickyvicmd1returntheme+bg && +fgautoloadcolorscolorsyellowblack +bg[theme[bg]] themebgbgthemebg +fg[theme[fg]] themefgfgthemefg +theme[color] themecolorthemebgthemefg +theme[reset] themeresetreset_colorzmodloadzsh/parameterlfunctracezlelineinit:stickyfilestickysizestickysizeechotiechotihomeprinttheme[color]@:--1readstickytheme[reset]echotiCONTEXTcontselectvaredNo stickies during (z)PREBUFFER[1]:-CONTEXT, sorry.beep.pushlineBUFFERstickynote.acceptlinestickyfilestickysizestickysize*@stickytheme[reset]vared%{theme[color]%}stickyvicmdstickysticky TRY_BLOCK_ERROR = 0 breakecho\aACfdC,A  ,A LACgx <A%$@\xxxx <XtAgx <A%($$@@\\xx  <<XXtt,A"l\A#.A$l-,A&\A'.A(A ftA  lA8 CLXA lA l %A ClRUA lA lZA l"A ClbA lA l5ACfd|Af+ctA< +9"AfdCAT 1A &+cAf 9ACF,A5,A\ACf+c\A.A +A &U,A ,AA &EAN  mlAfdC,A U,A,A4AA &qAFA &ACfXpA &A &ACFTA &%Af+ctlA_kM_bAfdCAF!AlA BC&AF!TA &MAf+ctlAikbAfdCAF!AlA BC&AF!TA &MAf+ctAs >AfdCAF!A'l,AA B&AF!TA &MACf+ct|A~dAfdCAF!AlA,CNA C&AlAA C&=A"Cf+ctqAKz}AfdCAF!AlA`C  A C&AF!TA &A &@A \A &lA k AfdCAF!|A4'lc2JEAdY[A 1.Ayc4+,A,AtA $A `A C&A  AfdCA0g J9AT)Y[A(C$L(Y[A1A<ABxFABFAB dCFAB FAB 5FA xAY[JAAFA$5 AfdCA0g J9ALY[A L(Y[A"<y+AAY[JA lAk& AAfdCA &!,At,AAF+cAf+cdA K' AfdCAF <ApJA4Cm eADJY[J,AA%,A.A|+A9f+ct.AK/ YAfdCAT 1&A ,AlACf+clAFA8A ACf+cl)A=F00emulatetetris_hsztetris_vsztypesettetris_shapes0x0f000x44440x4e000x4c400x0e400x46400x66000x46200x6c000x26400x63000x64400x8e000x44c00x0e200xc4400x0e800x44600x2e00tetris_rotationstetris_rotationstetris_blanklinetetris_i=tetris_hsztetris_i--tetris_blankline tetris_blankboardtetris_i=tetris_vsztetris_blankboardtetris_blanklinebindkeytetris\000-\377tetristimeouttetris_i=256T\([##8]tetris_i)tetristimeouttetrislefttetrislefttetrisrotatetetrisrightT tetrisdroptetrisquitunsettetris_boardtetris_scoreemulateprintUse M-x tetris RET to play tetris.returntetris_saved_stateBUFFER=BUFFER:q;CURSOR=CURSOR:q;MARK=MARK:q;zle -K KEYMAP:qtetris_speed(100.0/KEYTIMEOUT)tetristetris_board+settetristimeouttetris_boardtetris_blankboardtetris_scoretetrisnewblocktetrisnewblockemulatetetris_blocktetris_shapes1+RANDOM%tetris_shapestetris_block_ytetris_block_xtetrisblockfitstetrisplaceblocktetrisrenderscreenunsettetris_boardtetris_scoretetrisquitreturntetristimedmovetetrislefttetrisleftemulatetetrisplaceblock tetris_block_x-- tetrisblockfits tetris_block_x++ tetristimeouttetrisrightemulatetetrisplaceblock tetris_block_x++ tetrisblockfits tetris_block_x-- tetristimeouttetrisrotateemulatetetrisplaceblocklocalsave_blocktetris_blocktetris_blocktetris_rotationstetris_blocktetrisblockfitstetris_blocksave_blocktetristimeouttetrisdroptetrisdropemulatetetrisplaceblocktetris_block_y++tetrisblockfitstetris_block_y--tetrisblockdroppedtetristimeouttetristimeoutemulatetetrisplaceblocktetris_block_y++tetrisblockfitstetristimedmovereturntetris_block_y--tetrisblockdroppedtetrisblockdroppedemulatetetrisplaceblocklocaltetris_blankline// /O(tetris_block_y*tetris_hsz)y!=4tetris_boardi+1,i+tetris_hsztetris_boardi+1,i+tetris_hsztetris_boardtetris_blanklinetetris_boardtetris_score++i += tetris_hsztetrisnewblocktetrisblockfitsemulatelocal(1+tetris_block_y*tetris_hsz+tetris_block_x)0x8000y!=4x!=4tetris_block&bx+tetris_block_x >= 0returnx+tetris_block_x < tetris_hszy+tetris_block_y >= 0y+tetris_block_y < tetris_vsztetris_boardib >>= 1i+=tetris_hsz-4tetrisplaceblockemulatelocal(1+tetris_block_y*tetris_hsz+tetris_block_x)0x8000y!=4x!=4tetris_block&btetris_boardib >>= 1i+=tetris_hsz-4tetristimedmoveemulatetetrisrenderscreenLBUFFERRBUFFER\ntetris_screentetrisrenderscreenemulatesetoptextendedgloblocalextrasextrasScore: tetris_scoreGame parameters: tetris_hszxtetris_vsz, tetris_speedHzKeys: left: a j rotate: s k right: d l drop: space quit: qi!=tetris_vszs|tetris_board[1+i*tetris_hsz,(i+1)*tetris_hsz]//O/()//\*/**// / //\#/##|extras1+ extras1\nextras1s+tetris_blankline// /--+tetris_screentetrisquittetrisquitemulatealways_last_promptBUFFERtetris_screenevaltetris_saved_statetetris_screentetris@AT 1AAF|A &pAfdCA Cg A %  <Xt8TpA g A %\  <XXtt<8TTpp8A(C'A'UA'AC'A'A'DACGytAC;.AIAG 1_,A5A &A &,A4,ApA41A &A &AFIT AS OAFATA B&ACFT AZ rOAFATA B&ACFTtAaAFA'Tl,AA BC& AFTdAiKnrAFATA<NA &ATAA(A C&mAtiAFATAL1A &ACFTA &AA C&IrK)Ku,A?JTK,A@KK.AAJL q,ACJTL],ADLpL.AEJ,AGHL,AHIMqARCMN N$N@ARfN\HN$A$RN|NNNOOAO]ASOxON33zA$SCOOOP PAOAPuASPOO33zA$TQ Q,QHQiQQPuATRTORt33zAHTAS RA$URRHRSSPuAVCgT4TA@VHh{rTUU(+ZUHU\U,A[TUA W&UAWCVV<NA`W5.A^V]AW>7AWVVN+ZUHAXFVWAxXC\W] 0WBRA X&W 0WrbA X&W 0 J A Y&X%0Xd  Z A YC&XyAeX.AeTU0A Y&X0A Y&Y0 02BA Z&YIAZFYYA [&Y,An{rU\Ao1AoZ0ApZ,Ar[ [-AL\1As\A]F\9\u.Au\\A]]]<N]]A^F]]A ^&^ A8^.A{^iA _&^A `&^A`CF_L_hA`F_#s* LINES < 22 || COLUMNS < 46 echoterminal needs to be at least 22 lines and 46 columnsreturnemulatetypesettetris_shapes0x0f000x44440x4e000x4c400x0e400x46400x66000x46200x6c000x26400x63000x64400x8e000x44c00x0e200xc4400x0e800x44600x2e00tetris_rotationstetris_rotationslocaltetris_vsztetris_hsztetris_blanklinel:11:: :tetris_blankboardj:::l:11:: :s: :l:20:: :tetris_boardtetris_blankboardtetris_scoretetris_linestetris_block_next_x_yi__tetrisnextblocktetris_block_nexttetris_shapes1+RANDOM%tetris_shapes__tetrisnewblocktetris_blocktetris_block_next__tetrisnextblock__tetrisdrawnextblocktetris_block_ytetris_block_x__tetrisblockfits__tetrisgameover__tetrisplaceblock__tetrisleft__tetrisplaceblock tetris_block_x-- __tetrisblockfits tetris_block_x++ __tetrisright__tetrisplaceblock tetris_block_x++ __tetrisblockfits tetris_block_x-- __tetrisrotate__tetrisplaceblocklocalsave_blocktetris_blocktetris_blocktetris_rotationstetris_block__tetrisblockfitstetris_blocksave_block__tetrisdrop__tetrisplaceblocktetris_block_y++__tetrisblockfitstetris_score+=2tetris_block_y--__tetrisblockdropped__tetristimeout__tetrisplaceblocktetris_block_y++__tetrisblockfitsreturntetris_block_y--__tetrisblockdropped__tetrisblockdroppedintegerbonus__tetrisplaceblocklocaltetris_blankline// /O(tetris_block_y*tetris_hsz)tetris_boardi+1,i+tetris_hsz fancygraphics char7..1tetris_boardi+1,i+tetris_hsztetris_blankline// /char__tetrisrenderscreenzcursestimeoutscorezcursesinputtetris_boardtetris_blanklinetetris_boardtetris_score+=100*(bonus++*(tetris_lines/10+10))tetris_lines+=1tetris_lines % 10 == 0timestep = timestep * 0.80i += tetris_hsz__tetrisnewblock__tetrisblockfitslocal(1+tetris_block_y*tetris_hsz+tetris_block_x)0x8000y!=4x!=4tetris_block&bx+tetris_block_x >= 0returnx+tetris_block_x < tetris_hszy+tetris_block_y >= 0y+tetris_block_y < tetris_vsztetris_boardib >>= 1i+=tetris_hsz-4__tetrisdrawnextblocklocaltetris_preview0x8000y!=4 x!=4tetris_block_next&btetris_previewib >>= 1zcursesmovepreview(y+1)zcursesstringpreviewtetris_preview//O/filled_block//*/active_block// / __tetrisplaceblocklocal(1+tetris_block_y*tetris_hsz+tetris_block_x)0x8000y!=4x!=4tetris_block&btetris_boardib >>= 1i+=tetris_hsz-4__tetrisrenderscreenlocalpiecesetoptlocaloptionshistsubstpatternextendedglobmatchmbeginmendanimation⃶⃶⃶⃶⃶⃶⃶⃶⃶⃶⃶⃶⃶⃶i = 0i < tetris_vszi++ zcursesmovegamearea( i + 1 )zcursesstringtetris_board1+itetris_hszi+1tetris_hsz//O/filled_block//*/active_block// / //b17/animationmatch1zcursesclearscorezcurseszcursesScore: tetris_score\ Lines: tetris_lines\ Speed: timestep%.* mszcursesborderzcursesborderzcursesborderpreviewzcursesrefreshpreviewdebug__tetrisgameovergameover__tetrisnewgamegameovertimestep1000tetris_scoretetris_lines__tetrisnextblock__tetrisnewblock__tetrisrenderscreen__tetrisgameoverscreen__tetrisdebugDied with tetris_score points!tetris_boardtetris_blankboardlocaltextYou got tetris_score points!gameover_heightgameover_width( #text + 2 )zcursesaddwingameovergameover_heightgameover_width( off_y + (game_height-gameover_height)/2 )( off_x + (game_width+score_width-gameover_width)/2 )zcursesmovezcursesstringtextPlay again? [yn]zcurses( (gameover_width - #text)/2 )zcurseszcursesborderkeepplayingkeepplayingynqzcursesinputzcursesdelwinzcursesrefreshstdscrzcursestimeoutgameareatimestep%.__tetrisnewgame__tetrisdebugdebugreturnzcursesscrolldebugzcursesmovezcursesstring1__tetrisremovewinslocaldelwindelwinsgameareascoredebuggameoverhelppreviewdelwindelwins:zcurses_windowszcursesdelwindelwin__tetrishelplocalhelp_heighthelp_widthzcursesaddwinhelphelp_heighthelp_width( off_y + (game_height - help_height) / 2 )( off_x + (game_width + score_width - help_width) / 2 )zcursesmovezcursesstringleft: h, j, left\ right: right, n, l\ rotate: up, c, i\ soft drop: down, t, k\ hard drop: space\ quit: q\ press space to returnzcursesborder qzcursesinputkeepplayingzcursesdelwinzcursesrefreshstdscrzmodloadzsh/curseszcursesinit__tetrisremovewinszcursesrefreshechoticivislocaldebug @[(I)--debug|-d] off_xoff_ygame_heightgame_widthscore_heightscore_widthpreview_heightpreview_widthfilled_blockactive_blockfancygraphicszsh/langinfolanginfoCODESETUTF8⃶⃶active_block⃶⃶@Isilly[]active_block()( (COLUMNS-game_width-score_width-1) / 2 )( (LINES-game_height) / 2 )zcursesclearstdscrredrawzcurseszcursesaddwingameareagame_heightgame_widthoff_yoff_xzcursesscrollzcursesaddwinscorescore_heightscore_width( off_x + game_width + 1 )zcurseszcursesaddwinpreviewpreview_heightpreview_width( off_y + score_height )zcursespreviewdebugzcursesaddwin( game_height - score_height - preview_height - 1 )score_width( off_y + score_height + preview_height )typesetSECONDSprevtimesteptimeoutkkeykeepplayinggameoverSECONDS__tetrisnewgamezcursestimeoutkeepplayingzcursesinput__tetrisdebuggot input keykkeykeykkeyLEFT__tetrisleftRIGHT__tetrisright__tetrisrotateDOWN__tetristimeouttetris_score++__tetrisdropbreak__tetrishelp__tetrisdebugtimed out__tetristimeout prev + timestep/1000. < now prev += timestep/1000. timeout( 1000.*(prev + timestep/1000. - now) + 1 )%. timeout < 0 __tetrisdebugBUG: timeout < 0timeouttimestep%.zcursestimeouttimeout__tetrisdebugtimeout: timeout__tetrisrenderscreengameover__tetrisgameoverscreen__tetrisremovewinsechoticnormzcursesAg: A%DhD\t%<`Ɋ@A CGZdA&,Z.A&)\+A+/SA'+At A4 AG*Af0H,AaAC'+A0J+!0A Bd[yFACfdAd*&0%A BCd[yCFA 2Jfd=A"UFHAFAGA8 ** 9 $# 9 PA"w *F+ +%ACF+htypesetxtermseqxtermseqdeiconifyiconify3;X;Yposition4;H;Wsize_pixelsraiselowerrefresh8;H;Wsize_chars9;0unmaximize9;1maximizeget_iconifyget_positionget_size_pixelsget_size_charsget_screen_charsget_labelget_titlelocalkxtermseqxtermseqxtermseqkxtermtelllocalxtermseq1:no such control/HX/2/WY/3print\e[seqtxtermasklocalunsetREPLYreplyget_1get_xtermseq1:no such controlget_labeltitlereadesc?\e[seqtreturnsrd\esrkget_Arsd #reply > 2 shiftlocaldocumentationread\edocumentation CSI = "control sequence introducer": ESC [ OSC = "operating system command": ESC ] ST = "string terminator": ESC backslash Ps = "parameter string": (see list below) All control sequences described here begin with CSI and end with "t". Note that there are no spaces in control sequences or responses, except possibly for the text responses for label and title; spaces shown below are for readability. Window manipulation (from dtterm, as well as extensions). These controls may be disabled using the allowWindowOps resource. Valid values for the first (and any additional parameters) are: Ps = 1 -> De-iconify window. Ps = 2 -> Iconify window. Ps = 3 ; x ; y -> Move window to [x, y]. Ps = 4 ; height ; width -> Resize the xterm window in pixels. Ps = 5 -> Raise the xterm window to the front of the stacking order. Ps = 6 -> Lower the xterm window to the bottom of the stacking order. Ps = 7 -> Refresh the xterm window. Ps = 8 ; height ; width -> Resize the text area in characters. Ps = 9 ; 0 -> Restore maximized window. Ps = 9 ; 1 -> Maximize window (i.e., resize to screen size). Ps = 1 1 -> Report xterm window state. If the xterm window is open (non-iconified), returns CSI 1 t . If the xterm window is iconified, returns CSI 2 t . Ps = 1 3 -> Report xterm window position as CSI 3 ; x; yt Ps = 1 4 -> Report xterm window in pixels as CSI 4 ; height ; width t Ps = 1 8 -> Report size of text area as CSI 8 ; height ; width t Ps = 1 9 -> Report size of screen in characters as CSI 9 ; height ; width t Ps = 2 0 -> Report xterm window's icon label as OSC L label ST Ps = 2 1 -> Report xterm window's title as OSC l title ST Ps >= 2 4 -> Resize to Ps lines (DECSLPP) The size of the screen in characters is often reported inaccurately. Gnome-terminal as of v2.16 responds to 13/14/18/19 but fails to insert the Ps digit 3/4/8/9 between the CSI and the reported dimensions, and does not appear to respond to any of Ps in 1-9. Window managers may also affect behavior; the Gnome desktop allows xterm to resize or iconify itself but won't reliably let it reposition itself. EOdocEOdoc(M)@:#--explainprintdocumentationreturnABfdCF A0'< T3{*rbJAC'<hA^Z1A T$1Ia)e}!9mAHA^A$8PhCAd 1AbA( DI`A"CF A4"1AuA#CF A1A,Ab,AJ,A.AA&A,AAl& 1.AA('C8{2 A'F q.AqA(F A$)g<L#s*A1.A)=AdQA.A#s*q.A#s*%A *< XlA*AX+C A A+f+ uA+f+ AT, 1A!EA!uA-!8A-g<!;A.'<!"A(0C'<+%L%mA31A(A31A(A3F  qA4Cl)mA$4A4F))A5F ),Ar*AP6C A*A6f8*A7F At7 1A+tA+A$88++{{+A8F ,A,AP9 A,A:Cf8,A:F ,Ab-aAP; A.TA<f8.yAF A>A0hA?f000,A;4Ah@ 1A @1f1$L1H.A!1q.A!2eA@BAC A 2\A1A2A2AD +AB2 E&34AL3,3E3A3AEX4AAFF44A\FC AAFl5qAF%l55AGCA5A0GF86<K26X6t666A""6HF A H&7<qAICF)7aAJCF)7AKF )emulatereturnlocaloptsZARGS_VERSION1.5zparseoptseof::eofe::eofexithelpinteractivemaxargs:nn:nmaxchars:ss:smaxlines::ll::lL:lmaxprocs:PP:Pnorunifemptynullreplace::ii::iI:iverboseversion opts[(I)--version] printzargsversionZARGS_VERSIONZSH_VERSION opts[(I)--help] Usage: zargs [options --] [input-args] [-- command [initial-args]] If command and initial-args are omitted, "print -r --" is used. Options: --eof[=eof-str], -e[eof-str] Change the end-of-input-args string from "--" to eof-str. If given as --eof=, an empty argument is the end; as --eof or -e, with no (or an empty) eof-str, all arguments are input-args. --exit, -x Exit if the size (see --max-chars) is exceeded. --help Print this summary and exit. --interactive, -p Prompt before executing each command line. --max-args=max-args, -n max-args Use at most max-args arguments per command line. --max-chars=max-chars, -s max-chars Use at most max-chars characters per command line. --max-lines[=max-lines], -l[max-lines] Use at most max-lines of the input-args per command line. This option is misnamed for xargs compatibility. --max-procs=max-procs, -P max-procs Run up to max-procs command lines in the background at once. --no-run-if-empty, -r Do nothing if there are no input arguments before the eof-str. --null, -0 Split each input-arg at null bytes, for xargs compatibility. --replace[=replace-str], -i[replace-str] Substitute replace-str in the initial-args by each initial-arg. Implies --exit --max-lines=1. --verbose, -t Print each command line to stderr before executing it. --version Print the version number of zargs and exit. HELPHELP opts[(I)--version] #i iiIreplace1:{}optsrxoptsrr #P PPmaxprocs:1xPxPzargs:invalidnumberoptioneofeeofend=ARGC+1 #eof argvieofeeofargviargscallcommandcommand(@)argv[end+1,-1] opts[(I)-(null|0)] (@ps:\000:)argv[1,end-1](@)argv[1,end-1] #command c = #command - 1 commandwaitexecute if (( $opts[(I)-(-interactive|p)] )) then read -q "?$call?..." || continue elif (( $opts[(I)-(-verbose|t)] )) then print -u2 -r -- "$call" fi eval "{ \"\${(@)call}\" } $bg"analyze case $? in (0) ;; (<1-125>|128) ret=123;; (255) return 124;; (<129-254>) return 125;; (126) return 126;; (127) return 127;; (*) return 1;; esac ARGC == 0 opts[(I)-(-no-run-if-empty|r)] commandevalexecute ; analyzeretnnmaxargs:ARGC+c n <= 0 zargs: value for max-args must be >= 1 n > c n -= c argumentlistlongssmaxchars:20480 s <= 0 zargs: value for max-chars must be >= 1llLmaxlines1:l1:+1:ARGC l <= 0 zargs: value for max-lines must be >= 1PPmaxprocs:1 P < 0 zargs: value for max-procs must be >= 0 P != 1 && ARGC > 1 setoptnonotifynomonitorzmodloadzsh/parameter/dev/nullwait ${${jobstates[(R)running:*]/#*:/}/%=*/}waitARGC P == 0 || P > ARGC P = ARGC breakend=lend && (c)#argv[1,end] > send/=2 end > n && ( end = n ) (@)argv[1,end]shift(end > ARGC ? ARGC : end)(@)command/i/args(@)command(@)args (c)#call > s cannotsingleargumentwithinsizelimit opts[(I)-(-exit|x)] continueexecutewait analyzeACfdCAf <ptAd ;A!A Af5ABr+9t;xA 1fARRp2rr+t;AfqACDa+AfD+A'A0'<s TlA$C 0DXA'lA0g 8E\A$ JrACg<\A A Cf  A$  A!CG$Ap!  A !fPLtA!P$b4t.A$A"g TAL"< A# .A i,A<A$Cf Ҭ AD$1A A %G @< ` A&g J*A AH&A EAB'Fr 'F ,A$(1FA`2 +r+ I,A A (& A"r   (& A))A 9,A0a,A AH)Z0A*C1A ,AD%.A A +,AD+A +& qA ,fLeA,CF ,Ad, 1.AA -fL1A-CF ,.A  02A.F@\0*A!0A,A$sA1.ArYA.A AP2 AA3A3C%A<4 1\A}A5CFL,AImA6CgA6NAB6<Ap7  AAB 7C& ,A<A7F A8C.Ar%A,AE,A,A<A 9C&,A<,A,AA|;1&AQ,AE%,A,A<A <&A"R% <& A<=&".Ar% A=ARA 1AR!.AHq.AlA?CL%A?fL,A<A @&q.ATq.AT9ABL%,A <aA B 0- ACFTi,A<A DC& 0 AEF , 0! .A80E ,A.A80,A#x.A$80,A((.A)8 0T.A-80iALCFT,A2<A L& 0 )AMf !,A8!!,A9<A N&"p09AOFL",A?<A P&"0#,AE<#QAQL#,AG<A R&#$0;,AL<#AdSCNAMp2%,AN,AOAT% 0$.ARs $0% AtU 1AV%eA$UL%,AX<A VC&&@AVm% 0k.A]s &e0&,A`AXCF 90&AtY 1.Adr&'%AYCFL'u,Af<A Y&'AZCG(!Aj(U,AkA[F 0;A[FL(,Ap<A \C&)D/0)iAt^ 1Ax)A$^CL*1,Az<A ^&*A_CFT*A_f S0+At` 1A,A$aL,U,A<A a&,Ab1.Ar%- ,AX&e,A-=-a,A--.AAcFT-Acf .0.!Ate 1A.A$fL/,A<A f&/AgFT/AgCF X00e",Ar0Ath 1A1A$iL1Y,A<A i&2 ,AE<DA L202P2l,AE<2A"2E<d,AE<LAkf r+AlFT2 0;#.Aq.AAnA30APp ApFT3e,A<A q&3AB 3 q&3,A43,AImA"4Hr%34iAs1A4A4AHtL562lAtCf6$6AJ+AtF6`6qAuCF63.A<AvF ,emulatesetoptextendedglobtypesetsilentzcalc_show_value_baseprint( _base 1 ) _outdigits _forms_outform_outform( 1 )printf_forms[_outform]\n_outdigits%d\nlocalZCALC_ACTIVE_line_base_defbase_formsmatchmbeginmendpsvar_optlist_opt_arg_tmpcompcontext-zcalc-line-integer_num_outdigits_outform_expression_modeinteger_rpn_mode_matched_show_stackinteger_max_stack_push_expressionsstackhistoryZDOTDIR:-HOME/.zcalc_history_forms%2$g%.*g%.*f%.*E_mathfuncszmodloadzsh/mathfunc/dev/null(j.._mathfuncsf:)_userfuncsffunctions -M_line_userfuncsmatch3match4autoloadzmathfuncdef ! +ZCALCPROMPT typesetZCALCPROMPT%1v> float PI = 4 * atan(1), E = exp(1) ZDOTDIR:-HOME/.zcalcrcZDOTDIR:-HOME/.zcalcrcreturnfer-12,1shift_optlistbreak_optlist_optlist1_optlist2,1_opt_optlist_optlistprint-# requires an argument_arg#:digit:-# requires a decimal number as an argument_defbase[#_arg]setoptforcefloat _expression_mode = 1 _rpn_mode = 1 ZCALC_ACTIVE_optlistb- _show_stack = match[1] _optlistmatch1+1,2 _expression_mode @argv_num = 1_num <= #_num++ argv[_num] = argv[_num] _num> argv[_num]psvar1_num_prev_line_cont_promptvaredcehp_cont_promptZCALCPROMPT #_expressions _expressions1_line\\\\_line1,2...continue_prev_line_line_line//(_line//)continueb:blank:[##-__-]:blank:match6match3_defbase_defbasematch1( _defbase ans )continue_defbase_line##[[:blank:]]#%%[[:blank:]]#_line:\!eval_line:\!:blank:continue:q:norm:sci:blank:b-B_outdigits:fix:blank:b-B_outdigits:eng:blank:b-B_outdigits:raw:local:blank:_line:continuefunction:function:blank:b:blank::blank::blank:_userfuncsmatch1functions -Mm $match[1]4continueUnrecognised escapecontinue$:IDENT:_line$P_linecontinue_line:blank:%%:blank:<:IDENT:P_line<=pop>:IDENT: #stack < 1 _line: not enough values on stackcontinuestack1pop>>:IDENT:_line>_stackansPIE_line##\>: reserved variablecontinue_line> _line##\> = stack[1] BUG in special RPN functionscontinue+^|&*/**>>< #stack < 2 _line: not enough values on stackcontinuexy<>stack1stack2stack2_tmp(( ans = _line(${stack[2]},${stack[1]}) ))_mathfuncs #stack < 1 _line: not enough values on stackcontinue(( ans = _line(${stack[1]}) ))kj.._userfuncs_userfuncs_line #stack < n_ _line: not enough values (_n) on stackcontinue_i = _n_i > 0_i-- stack_i _i > 1 (( ans = _line )) ! _matched ans=$(( _line ))continueanscontinueargv_num++ _push stack _show_stack _max_stack = (_show_stack > #stack) ? #stack : _show_stack _i = _max_stack_i > 0printf%3d: zcalc_show_valuestack_izcalc_show_valueAfPA A@'Es2E8Ag LA$Ch$ 2,As2,A8A1.AlAC%1 QAYA fAF@A"r+\s2A"pAX  AAFAF@A 'A   0AB DlaT Da+A 4FA0\6A' 9A0AACF+cA8d8A' 9A0AACF+cAd 1A+c d|ACf+ctAf+ct ACSS1ABE L!C f hl#+A ht#+ A h tAM .A9Af+ct A l#+ A l#+ I ]A"Zr ( A"[  l#+ ! dA"\  l#+ A"] UC l#+ U A"^  l#+1yAC l#+A l#+ yAf(ҬMAf+ctMA98ABj!f lA tAC l A"nr-( A"o a lA"p  l]A"q UC l UA"r - luAC lA l MA"zFACfA=As2,A !A 1.Ar.A QAR.A }A(""l#+lL "fA!q,A\+A" + A# NA(#l#+lL AL"#5A$#$AA8 $&A$t,A%Fsetoptlocaloptionsnoksharrayslocaloptszed_file_nameintegerTMOUTokargsbindexpandzparseopts+optsf+optsboptsxexpandoptsx +opts[-x] printInteger expected after -x: opts[-x]returnfned bind # != okargs echoUsage: zed filename zed -f [ -x N ] function zed -bcurcontextzed:::matchmbeginmendzstyle:completion:zed:*inserttabzmodloadzsh/terminfo/dev/null__zed_pg_upintegercount( LINES / 2 - 1 ) count -- upline__zed_pg_downintegercount( LINES / 2 - 1 ) count -- downline__zed_pg_up__zed_pg_down__zed_pg_up__zed_pg_down bind bindkey/dev/nullmainzednormalkeymap__zed_initUNDO_LIMIT_NOUNDO_CHANGE_NO__zed_initbindkey^x^wacceptline^Mselfinsertunmeta+terminfoterminfo[kpp]terminfo[kpp]__zed_pg_upterminfo[knp]terminfo[knp]__zed_pg_downterminfo[khome]beginningoflineterminfo[kend]terminfo[kend]endofline^[[Hbeginningofline^[[Fautoloadzedsetfilename bind zedvicmd/dev/nullvicmdZZ+terminfoterminfo[kpp]terminfo[kpp]__zed_pg_upterminfo[knp]terminfo[knp]__zed_pg_downvibeginningoflineterminfo[kend]terminfo[kend]viendoflinevibeginningoflineviendoflinereturnsetoptlocaloptionsnobanghistfunctions $expand -- $1var# undefinedautoload +X $1; functions -- $1(q-)1 () { }vared__zed_initevalfunctionvarzed_file_name<$1__zed_initprintzed_file_name TRY_BLOCK_ERROR = 0 breakecho\aA" ACg0KDHA4B\.AHpIA@+s  z{r$AFDAf`bCA C0+Z+,AAB  BF  FDAf8MA8=A hEA('ZEJA` LJIijA"C,\Z C&@AFXAB \+FpA>" Rr\+Rr\+r\+CFpA'[j\+ADA,\Z.A[jAfrA' /A Af A4'Z+EJA`C LJIijA"\Z &0AFHAB \+F`A>" Rr\+}Rr\+r\+F`,A +\+ADCAC\Z.A+ACfrAFA"; ;AB9FFxA   =2z*& A P hc |Aft ABK h FxA &A 1.AN = UAF uACF=AFxA &AF}AftuABY | CFxA &A 1.A\AF AF |&A`AF5qAF |A &Aft9ABic CFxA &A 1.AlAFAFc Q.ApAF&AsACFqAFc A1AzAFApC 1A}  A  H2z*2z*& qA !C 2z*2z*& A #C 2z*2z*& A" % 2z*2z*& A)\"A"#m# )C&A ) # =2z*& A.C\.A"#m# .&A / . =2z*& A 3C P 0118AD301a11111#r*2282L2`2xA<5C2222233303D3\3pA7183A83&3A9CD9,+Z3A9r3AB+45:FxA:CF4eA:4AB;CF49;CFxA@;' 1.A459A <&A, 1.A596A >&A>6167A(?' P7l78 9A"@80j8Q8y8 8A @ 92z*2z*& interactivelocalARGC/dev/nullprint0:mustfunctionshellscript,sourcedreturnemulatezkbdtermZDOTDIR:HOME/.zkbdzkbdmkdirtrapunfunction getmbkey getseq; command rm -f $zkbd/$TERM.tmpreturn 1getmbkeylocali=10readbreaksleepreturn\012\015mbkkprintmbkgetseqtrapstty stty -g 2>/dev/null:-echo -rawsttyecholocali=10readbreaksleepreturn\012\015seqkprintVseqreadterm?Enter current terminal type: [TERM] termTERMprinttypeset -g -A key\nzkbd/TERM.tmpreturn We will now test some features of your keyboard and terminal. If you do not press the requested keys within 10 seconds, key reading will abort. If your keyboard does not have a requested key, press Space to skip to the next key. EOFlocalctrlmetaHold down Ctrl and press X: getmbkeyctrl\030Your keyboard does not have a working Ctrl key?Giving up ...Your Meta key may have a Microsoft Windows logo on the cap.Hold down Meta and press X: metaYour keyboard or terminal does not recognize the Meta key.unset\177Your keyboard uses the Meta key to send high-order characters.Hold down Alt and press X: altYour keyboard or terminal does not recognize the Alt key.Your keyboard does not distinguish Alt from Meta.Your keyboard uses the Alt key to send high-order characters. +alt + +meta == 0 \n---------\nmultibyteYou are using zsh in MULTIBYTE mode to support modern character sets (for languages other than English). To use the Meta or Alt keys, you probably need to revert to single-byte mode with a command such as unsetopt MULTIBYTE Your current terminal and keyboard configuration does not appear to use high-order characters. You may be able to enable the Meta or Alt keys with a command such as stty pass8 If you want to use these extra keys with zsh, try adding the above command to your ZDOTDIR:-HOME/.zshrc file. See also "man stty" or the documentation for your terminal or emulator. +alt || +meta --------- You may enable keybindings that use the meta:+Metameta:+alt:+ and alt:+Alt keymeta:+alt:+s by adding bindkey -m to your ZDOTDIR:-HOME/.zshrc file. key?Press a key to proceed: key\n --------- You will now be asked to press in turn each of the 12 function keys, then the Backspace key, the 6 common keypad keys found on typical PC keyboards, plus the 4 arrow keys, and finally the Menu key (near Ctrl on the right). If your keyboard does not have the requested key, press Space to skip to the next key. Do not type ahead! Wait at least one second after pressing each key for zsh to read the entire sequence and prompt for the next key. If a key sequence does not echo within 2 seconds after you press it, that key may not be sending any sequence at all. In this case zsh is not able to make use of that key. Press Space to skip to the next key. key?Press a key when ready to begin: If you do not press a key within 10 seconds, key reading will abort. If you make a mistake, stop typing and wait, then run this program again. pckeyssunkeysmodifiersF1..12BackspaceInsertHomePageUpDeletePageDownLeftDownRightMenusunkeysStopAgainPropsUndoFrontCopyOpenPasteFindHelpShiftexec/dev/ttypckeysPress key: getseqkey[key]='(q)seq'seqsourcekey[Delete]key[Backspace]Warning:Deletebothsend(q)key[Delete]^?Warning:Deletesends(not ^?)^HWarning:(q)key[Backspace]termIDDISPLAY:t:VENDOROSTYPEtermFilecommandtermFilezkbd/TERMtermIDzkbd/TERMtermID Parameter assignments for the keys you typed have been written to the file: termFile You may read this file into ZDOTDIR:-HOME/.zshrc or another startup file with the "source" or "." commands, then reference the $key parameter in bindkey commands, for example like this: source (D)zkbd/$TERM-${${DISPLAY:t}:-$VENDOR-$OSTYPE} [[ -n ${key[Left]} ]] && bindkey "${key[Left]}" backward-char [[ -n ${key[Right]} ]] && bindkey "${key[Right]}" forward-char # etc. Adjust the name of the file being sourced, as necessary. AfdCAF <A$Cp AGpAX  A ACF5AFABCfLCFAAA#F<lAfd ,AyA<1.ArAFAFAC'p+A'pA 1A  A"Cf<iZ1CFLyAFA# A f<iZ1A( 'EA 'p4+dA+.A+rIaA,A0dA1.A1rIaA2A B C<l1 y CFA<CFF1ACf,0A(p dAgpA%  ( < T h { 3* *  ( @ XsJRR p;{b sK s  , P d |sRs ,AB !,AC |IA.ADr ,AF x A@.AGr AC A<1ALYAC3 0AhCAFA8CAU$Af<iZ1emulatesetoptextendedgloblocalmatchmbeginmendlinefunc # > 2 printUsage: 0 [name [body]]returnzmodloadzsh/parameter # == 0 functionsreadfunctionsline6funcb:space:((:space::space::space:))zmathfuncdef line[3] (qq)match[1]mnamefnamezsh_math_func_1 # == 1 mnameunfunctionfnamefunctionsfnameintegeriargioptargbodybody${(iarg+1)::digit: iarg++ ioptarg = iarg ${(ioptarg+1):- ioptarg++ iargioptargzsh/mathfuncmathfuncsloadsmathfuncpatbodysearchmathfuncsacosacoshasinasinhatanatanhcbrtceilcosherfcexpm1fabsfloatfloorgammalgammalog10log1plogbsinhsqrttanhsigngamcopysignfmodhypotnextafterldexpscalbrand48mathfuncpat((j.|.)mathfuncs)bodysearchbodysearchb:alnum:alnum:(bodysearchmatch1match3match2mathfuncpat #loads loadsevalfname() { (( body )) } TRY_BLOCK_ERROR AfbCAF <A@ Cp2:4zHA4 Gp\tA4 Gp4Ld|A(!p   <PA!C {A!GA"'p,AA# NA#fDezAh#C  .ArA$#A#FA$CFA"4$FhA"R%CF A" !<jA" YtA" sbA" A" "8A'ARU,AtAd' 1.AA (f A(CFA\)C 1A A )f AA,F,A +,A +A.FhAt. 1FA`2 EasbA$.A/FA`/KJ6A@R  A0Cgpk0A0'Ds,A0e,AkAl2 .Ar9A$2CMq.A EAH3C('A A(3'pA4'r,A Ad4 1.At+9A 4fA5FAL51.Art+A 5fA  FA`2 r,A.A5A8.Ar],A<At9 6A@2  5.AiqA:F .A<q.A<A<!A" 5 EA=%\A=Z2q|A1.Ar.A A"B`2 4+r4+M ?&|A@f+A@CuA4@C  .A:A`A  A (A$AC qAAFA<BC&A R<+AB\!  .A r4+<+ A" !C!A C&" >AP2 "E <+ADC\"m QA2 <+2R"p2R4+<+r#j AD\#1,A#y4+.A#<+AFC1A#A$F#A$Fd$qAGFA<G&2qA" R$ H&$A(HC%H$$E%!4+$A"" %AH%AHHA# %ABIf%% I&&,AHIA&R&QA BI&&m'AJF&emulatesetoptextendedgloblocalargsmatchmbeginmendfilesactionmynametmpfexecopt_fopt_iopt_nopt_qopt_Qopt_sopt_Mopt_Copt_Lopt_oopt_popt_Popt_vopt_wopt_WMATCHMBEGINMENDreplerrstrfpathasglobqualopattypesetfromintegerstatdashes%:%Ngetopts:o:p:P:MCLfinqQsvwWoptprintmyname: unrecognized option: -OPTARGreturnevalopt_opt=${OPTARG:--$opt} OPTIND > 1 shift( OPTIND - 1 )opt_Qnobareglobqualopt_Mactionopt_Cactionopt_Lactionopt_pactionopt_Pactiondashesactionactionmyname2,1actioncpmvlnmyname: action action not recognised: must be cp, mv or ln. # != 2 Usage: %N [OPTIONS] oldpattern newpattern where oldpattern contains parenthesis surrounding patterns which will be replaced in turn by $1, $2, ... in newpattern. For example, %N '(*).lis' '$1.txt' renames 'foo.lis' to 'foo.txt', 'my.old.stuff.lis' to 'my.old.stuff.txt', and so on. Something simpler (for basic commands) is the -W option: %N -W '*.lis' '*.txt' This does the same thing as the first command, but with automatic conversion of the wildcards into the appropriate syntax. If you combine this with noglob, you don't even need to quote the arguments. For example, alias mmv='noglob zmv -W' mmv *.c.orig orig/*.copt_sactionmyname: invalid option: -sopt_wopt_Wfindinteger(#m)((\*\*##/|[*?]|<[0-9]#-[0-9]#>|\[(^|)(\]|)(\[:[a-z]##:\]|\\?|[^\]])##\])\##|?\###)pat//~find/++cntcntmyname: warning: no wildcards were found in search patternpat//~find/(MATCH)open${closeintegerrepl//~find/open++Nclose%N: error: number of wildcards in each pattern must match%N: warning: no wildcards were found in replacement patternpatb()|~)hasglobqualmatch1b(**/)match[1]match[2]match[3]hasglobqualfpat1odon)bareglobqualfpat(odon)fpatopaterrsfilesb(**/)match[1](*/|)match[2]bpatcontinuematch[@]Xerepl/dev/null TRY_BLOCK_ERROR myname: syntax error in replacement`f' expanded to an empty stringopt_vf not altered, ignoredcontinuefromgf and from[g] both map to gopt_factionfile exists: gfromgtof #errs myname: error(s) in substitution:errstofcontinueactionopt_odashesopt_iopt_nopt_vqexecopt_ireadopt?Execute? continueopt_nexecstatA CPAD z4+L++ jk`tA C%kAH A fzA E 0.A,+ 0.A-+ 0.A.t+%0;A 1A0 A C%kqA  $<# lA FAFA: 1A: ).A;+q.A=+APȱA@ ACg#s*krA^ACE,AD#s*YA 1&AF#s*$+A4AF#s*A4A%A%kA% j,APAC ACiz1Ah 0MA ja 0;A%kyAf4ABX &A%4%MAB\ &,A^Af4ABaC4-A #1Ac ],AdkrqAC&Ae.Af++,Ah+AlC L1AL1&Aj],Ak++A &0q.Aq++A4EE1At ++ACA 1Au )A"yRIC$]d}.Az+5qA"RIf$tAt!-A"RD"!CAB ]!Cj4]=!h]1A!F$QA" AD""AB ]"j4]=("Ch]1A"RI"F$.A+A$CF+Ah% AEA% i A&C A A' %Ax(C A)C4 mA 1.Ar% ,A jl.A` q,A j.A`A 1.Ar]9|;.A+ qq.A+A 1.A% .A++q.A+A0%4 =A"R++l2 L1AL2C1&A],A++A 2&0A\3JJ1A ++A84F 1A )A"RI5$]d}.A+:qA"RI7Cf$tA7k A9/ &A A"RI9CF$ .A+#A;! A"RE";Cj4]=;h]1A;F$iQAY<A"<j4]=$F+setoptlocaloptionsextendedglobnoshwordsplitnoksharrayslocalcheckquietfilesfilemesgpatsgetopts:tqpoptpatstmpOPTARGprintzrecompile:option:OPTARGreturnshiftOPTINDtmp1check # argviargv1,end1argvargvOPTINDgetoptsfilesMRoptfilesOPTINDOPTIND1 #files continuefiles1files2,1:.zwccontinuefiles1%.zwc.zwczwc%.zwczwczcompile -t $zwc | wc -lnum1filesfilebreakquietneedsrecompilationre-compiling zwc: quietzwc.oldzcompilemapsucceeded/dev/nullre-compiling zwc: failedargv/.zwcNDargv.zwcNDMargv:.zwcfpath/.zwcNDfpath.zwcNDMfpath:.zwcargv%.zwc.zwcfzcompile -t $zwc(mapped)succeeded (old saved)zwc%//ZSH_VERSIONprefiles2,1:/Mfiles2,1:/filesNtmpfailed (missing files)quietmesgAXT 0<AF1H0;ACfD`AGJA',AACLJcIYZA|1NApRL+$+\AFIAF.A!J1zstyle@setoptlocaloptionsnoksharraysintegerlocalcontextargv[i]context(@)argv[1,i-1]shifti > # ? # : iAfdCAC <AgAgC<DAA CGk,Ag XABp ABp!UABp$TAkA"CFr AX9A@CG91AAj0## A &AC%X .A,0c+"A C&A%.A#,0DA  &A %X.A(,'0\A  &A GJAX C LpA  4k%9A f qA`   &A4A C4k EA fA": mB; F 9A"=  ef .A? emulatesetoptno_sh_word_splitnull_globno_ksh_arraystypesetgHA__ztodolist__ztodolastwritelocalcachefileshort_formatlist_formatneedupdatetodoszstyle:ztodo:*cachefile~/.ztodolistshortformatYou have %n thing%1(n..s) to do here.listformatlist_formatlist_format%-2n: %etmp::cachefilems( (%)tmp::=%D{%s} - __ztodolastwrite:-0 ) #tmp cachefileps:0:__ztodolistPWD # 1shifttodos*todos1clearlisti = 1i <= #todosi++ zformatlist_formatn:ie:todos[i]//\%/%%printtmptodoszformatshort_formatn:todos #todos __ztodolistPWDpj:0:todosunset__ztodolist[PWD] needupdate __ztodolist=( (kv@qq)^^__ztodolist )cachefile__ztodolastwrite(%)tmp::=%D{%s}