Fandom

Sawfish

Sawinlist

773pages on
this wiki
Add New Page
Talk0 Share

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Copyright Edit

Copyright (C) 2011 , 2012 by the author: John Lumby johnlumby at hotmail dot com

Refer to license in sawinlist.el before using this package.

Overview Edit

sawinlist provides emacs functions for listing and manipulating x-windows managed by sawfish.

The idea is simple - An emacs buffer containing a list of all the current desktop's windows, allowing some window-manager-like manipulation of those windows from the emacs buffer. For example, right-click a window name to raise it.

The obvious question - why would I want this when sawfish provides a perfectly good menu?

Because an emacs buffer provides facilities which make it an even better menu :

  • can be permanently displayed if desired ("nailed-down") or iconified
  • can be resized easily (since it is itself a window)
  • can use cut'n'paste etc inside it - in fact, can do any emacs'y thing inside it.

Download Edit

Download by cut'n'paste this uuencoded-tar file into a file on your computer, e.g.

/tmp/sawinlist.tar.uuencoded

and then run

uudecode /tmp/sawinlist.tar.uuencoded


and then untar the tar file created by the previous step


uuencoded file follows (starting with line containing begin)




​begin 644 sawinlist.tar
M<V%W;&ES="YE;```````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M`````````````#`P,#`V-C0`,#`P,#<V-``P,#`P-S8T`#`P,#`P,#$P-S<S
M`#$R,#`P,S8P-S<V`#`Q,C$U,P`@,```````````````````````````````
M````````````````````````````````````````````````````````````
M``````````````````````````````````````````!U<W1A<B`@`&QU;6)Y
M````````````````````````````````````;'5M8GD`````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M```````````````````````[.R`@(&5X86UP;&4@;V8@86X@96UA8W,@;&]A
M9"!F:6QE('1O(&EN:71I86QI<V4@82!S87=I;FQI<W0@9G)A;64**')E<75I
M<F4@)W-A=VEN;&ES="D**&1E9G9A<B!S87=I;E]K97EM87`@*&-O<'DM:V5Y
M;6%P("AC=7)R96YT+6=L;V)A;"UM87`I*2D@.SL@:V5Y;6%P('1O(&)E(&EN
M(&5F9F5C="!I;B!O=7(@8G5F9F5R"@H[.R`@(&9R86UE+7)E;&%T960@=7-E
MF%T:6]N<R`M+2T@8VAA;F=E(&%N>71H:6YG(&EN('1H92!F
M;VQL;W=I;F<*.SL@("!L;V-A;"!K97EM87`@8FEN9&EN9W,**&1E9FEN92UK
M97D@<V%W:6Y?:V5Y;6%P(%LH8V]N=')O;"`_,RE=("=S87=I;FQI<W0M<F%I
M<V4M9G)O;2UK8F0I"BAD969I;F4M:V5Y('-A=VEN7VME>6UA<"!;*&-O;G1R
M;VP@/S0I72`G<V%W:6YL:7-T+6)U:6QD*0HH9&5F:6YE+6ME>2!S87=I;E]K
M97EM87`@6V8X72`G=&]G9VQE+71R=6YC871E+6QI;F5S*0HH9&5F:6YE+6ME
M>2!S87=I;E]K97EM87`@6VUO=7-E+3-=("=M;W5S92US970M<&]I;G0I(#L@
M=&\@<')E=F5N="!A;'1E<FEN9R!S96QE8W1I;VX**&1E9FEN92UK97D@<V%W
M:6Y?:V5Y;6%P(%MD;W=N+6UO=7-E+3-=("=S87=I;FQI<W0M<F%I<V4M9G)O
M;2UM;W5S92D**&1E9FEN92UK97D@<V%W:6Y?:V5Y;6%P(")<0RUX8R(@)V1I
M<F5D*0HH9&5F:6YE+6ME>2!S87=I;E]K97EM87`@(EQ#+7A<0RUC(B`G9&ER
M960I"BAD969I;F4M<')E9FEX+6-O;6UA;F0@)T-T;"UZ*3L@9&5F:6YE($-T
M;"UZ('1O(&)E(&$@<WEM8F]L:6,@<')E9FEX(&ME>0HH9&5F:6YE+6ME>2!S
M87=I;E]K97EM87`@(EQ#+7HB("=#=&PM>BD[(&1E9FEN92!C=&PM>B!T;R!B
M92!T:&4@<')E=B=L>2!D968G9"!P<F5F:7@@:V5Y"BAD969I;F4M<')E9FEX
M+6-O;6UA;F0@)T-T;"UZ+4-T;"UX*0HH9&5F:6YE+6ME>2!S87=I;E]K97EM
M87`@(EQ#+7I<0RUX(B`G0W1L+7HM0W1L+7@I"BAD969I;F4M:V5Y('-A=VEN
M7VME>6UA<"`B7$,M>EQ#+7A<0RUC(B`G<V%V92UB=69F97)S+6MI;&PM96UA
M8W,I"@H[.R`@(&QO860@=&AI<R!F:6QE(&EN=&\@82!B=69F97(@:6X@8V%S
M92!W92!W86YT('1O(&UO9&EF>2!I="!O;B!T:&4@9FQY"BAI9B`H86YD("AB
M;W5N9'`@)VQO860M9FEL92UN86UE*2!L;V%D+69I;&4M;F%M92`H<W1R:6YG
M<"!L;V%D+69I;&4M;F%M92D@*&9I;&4M<F5A9&%B;&4M<"!L;V%D+69I;&4M
M;F%M92DI"B`@*&9I;F0M9FEL92!L;V%D+69I;&4M;F%M92DI"@H[.R!O9&1S
M(&%N9"!E;F1S('1O(&UA:V4@=&AE(&9R86UE(&%P<&5A<B!A<R!W92!W:7-H
M"CL@*'-E="UF<F%M92UH96EG:'0@*'-E;&5C=&5D+69R86UE*2`V-"D*.R`H
M<V5T+69R86UE+7=I9'1H("AS96QE8W1E9"UF<F%M92D@,3@I"CL@*'-E="UD
M969A=6QT+69O;G0@(C9X,3,B*0H[("AM;V1I9GDM9G)A;64M<&%R86UE=&5R
M<R`H<V5L96-T960M9G)A;64I("AL:7-T("<H;6]U<V4M8V]L;W(@+B`B8FQA
M8VLB*2DI"CL@*&UO9&EF>2UF<F%M92UP87)A;65T97)S("AS96QE8W1E9"UF
M<F%M92D@*&QI<W0@)RAB86-K9W)O=6YD+6-O;&]R("X@(B-%,$5$140B*2DI
M"CL@*&UO9&EF>2UF<F%M92UP87)A;65T97)S("AS96QE8W1E9"UF<F%M92D@
M*&QI<W0@)RAF;W)E9W)O=6YD+6-O;&]R("X@(B,W-3$U,#,B*2DI"CL@=&AE
M(&%B;W9E(&%R92!C;VUM96YT960@;W5T('-I;F-E('5S=6%L;'D@8F5S="!T
M;R!S970@=&AE;2!F<F]M('1H92!E;6%C<R!C;VUM86YD(&QI;F4**&1E9G5N
M(&9R<&%R;2`H<WEM*2`H87-S;V,@<WEM("AF<F%M92UP87)A;65T97)S("AS
M96QE8W1E9"UF<F%M92DI*2D**&UO9&EF>2UF<F%M92UP87)A;65T97)S("AS
M96QE8W1E9"UF<F%M92D@)R@H;65N=2UB87(M;&EN97,@+B`P*2DI"BAT;V]L
M+6)A<BUM;V1E("TQ*0H[.R`@(&9R86UE+7)E;&%T960@=7-E<B!C=7-T;VUI
M>F%T:6]N<R`M+2T@(&-H86YG92!A;GET:&EN9R!I;B!T:&4@86)O=F4*"CL[
M('!R969E<F%B;'D@9&\@;F]T(&-H86YG92!T:&4@;F5X="!P87)T"CL[(&)U
M:6QD('1H92!L:7-T(&EN('1H92!C=7)R96YT(&)U9F9E<B!A;F0@<V5T(&)U
M9F9E<B!N86UE"BAS87=I;FQI<W0M8G5I;&0I"BAS970M8G5F9F5R("(J4T%7
M24Y,25-4*B(I(#L[('!R969E<F%B;'D@9&]N="!C:&%N9V4@=&AI<R!N86UE
M+"`@87,@:70@:7,@:&%R9"UC;V1E9"!I;B!S87=I;FQI<W0N96P**&EF("AA
M;F0@*&)O=6YD<"`G<V%W:6Y?:V5Y;6%P*2`H:V5Y;6%P<"!S87=I;E]K97EM
M87`I*2`[.R!C:&5C:R!I;B!C87-E('5S97(@8VAA;F=E9"!T:&4@<W5G9V5S
M=&5D(&1E9G9A<@H@("AU<V4M;&]C86PM;6%P('-A=VEN7VME>6UA<"DI"CL[
M('!R969E<F%B;'D@9&\@;F]T(&-H86YG92!T:&4@86)O=F4@<&%R=`H*.SL@
M("!B=69F97(M<F5L871E9"!U<V5R(&-U<W1O;6EZ871I;VYS("`M+2T@(&-H
M86YG92!A;GET:&EN9R!I;B!T:&4@9F]L;&]W:6YG(&)L;V-K"CL[("`@9F%C
M97,@86YD('-O;64@8V]N=&5N="!T:&%T(&UU<W0@8F4@<G5N(&%F=&5R('1H
M92!T97)M:6YA;"US<&5C:69I8R!I;FET"BAS970M9F%C92UF;VYT("=M;V1E
M;&EN92`B+6%D;V)E+6-O=7)I97(M8F]L9"UR+6YO<FUA;"TM,3(M,3(P+3<U
M+3<U+6TM-S`M:7-O.#@U.2TQ(BD**'-E="UF86-E+6)A8VMG<F]U;F0@)V1E
M9F%U;'0@(B-%,$5$140B*0HH<V5T+69A8V4M9F]R96=R;W5N9"`G9&5F875L
M="`B(S<U,34P,R(I"BAS970M9F%C92UB86-K9W)O=6YD("=R96=I;VX@(B,Y
M.3DY9C,B*0HH<V5T+69A8V4M9F]R96=R;W5N9"`G<F5G:6]N("(C,3$Q,3<S
M(BD**&1E9G9A<B!S87=I;FQI<W0M;&]W+6AI9V@M;&EG:'0@6R(C9&-D8S<Y
M(B`B(S4Y-#@S-R(@(B,X,V4R.#,B("(C,3,P,C$S(ET@(G9E8W1O<B!O9B!B
M9R!A;F0@9F<@8V]L;W5R<R!F;W(@;&]W;&EG:'1I;F<@86YD(&AI9VAL:6=H
M=&EN9R!R97-P96-T:79E;'DB*0HH<')O9VX@*&9A8V4M<V5T+6%F=&5R+69R
M86UE+61E9F%U;'0@*'-E;&5C=&5D+69R86UE*2D@*'-E="UF86-E+6)A8VMG
M<F]U;F0@)V1E9F%U;'0@*&-D<B`H87-S;V,@)V)A8VMG<F]U;F0M8V]L;W(@
M*&9R86UE+7!A<F%M971E<G,@*'-E;&5C=&5D+69R86UE*2DI*2D@*'-E="UF
M86-E+6)A8VMG<F]U;F0@)V9R:6YG92`H8V1R("AA<W-O8R`G8F%C:V=R;W5N
M9"UC;VQO<B`H9G)A;64M<&%R86UE=&5R<R`H<V5L96-T960M9G)A;64I*2DI
M*2`H<V5T+69A8V4M9F]R96=R;W5N9"`G9&5F875L="`H8V1R("AA<W-O8R`G
M9F]R96=R;W5N9"UC;VQO<B`H9G)A;64M<&%R86UE=&5R<R`H<V5L96-T960M
M9G)A;64I*2DI*2D**&=O=&\M8VAA<B`H<&]I;G0M;6%X*2D*.SL@("`@:6YS
M97)T(&EN=&\@=&AE(&)U9F9E<B!T97AT(&]F('-O;64@96UA8W,@9G5N8W1I
M;VYS('1H870@=V4@;6EG:'0@=V%N="!T;R!M;V1I9GD@86YD(')U;@HH:6YS
M97)T(")<;BAP<F]G;B`H;6]D:69Y+69R86UE+7!A<F%M971E<G,@*'-E;&5C
M=&5D+69R86UE*2`G*"AM96YU+6)A<BUL:6YE<R`N(#`I*2E<;BAS970M9&5F
M875L="UF;VYT(%PB-G@Q,UPB*5QN*'-E="UF86-E+69O;G0@)VUO9&5L:6YE
M(%PB+6%D;V)E+6-O=7)I97(M8F]L9"UR+6YO<FUA;"TM,3(M,3(P+3<U+3<U
M+6TM-S`M:7-O.#@U.2TQ7"(I7&X@*&9A8V4M<V5T+6%F=&5R+69R86UE+61E
M9F%U;'0@*'-E;&5C=&5D+69R86UE*2D@*'-E="UF86-E+6)A8VMG<F]U;F0@
M)V1E9F%U;'0@*&-D<B`H87-S;V,@)V)A8VMG<F]U;F0M8V]L;W(@*&9R86UE
M+7!A<F%M971E<G,@*'-E;&5C=&5D+69R86UE*2DI*2D@*'-E="UF86-E+6)A
M8VMG<F]U;F0@)V9R:6YG92`H8V1R("AA<W-O8R`G8F%C:V=R;W5N9"UC;VQO
M<B`H9G)A;64M<&%R86UE=&5R<R`H<V5L96-T960M9G)A;64I*2DI*2`H<V5T
M+69A8V4M9F]R96=R;W5N9"`G9&5F875L="`H8V1R("AA<W-O8R`G9F]R96=R
M;W5N9"UC;VQO<B`H9G)A;64M<&%R86UE=&5R<R`H<V5L96-T960M9G)A;64I
M*2DI*5QN*&UO9&EF>2UF<F%M92UP87)A;65T97)S("AS96QE8W1E9"UF<F%M
M92D@*&QI<W0@*&-O;G,@)W9E<G1I8V%L+7-C<F]L;"UB87)S(&YI;"DI*5QN
M*'-E<G9E<BUS=&%R="DI(BD*.SL@;6%Y8F4@=V4@=V%N="!T;R!S=&%R="!A
M('-H96QL/S\_("!F;W(@97AA;7!L92`N+BX*.SL@*&QE="`H*&5X<&QI8VET
M+7-H96QL+69I;&4M;F%M92`B+V)I;B]B87-H(BD@*&5X<&QI8VET+6)A<V@M
M87)G<R`H;&ES="`B+6DB*2DI("AS:&5L;"`B*EA3150J(BDI"CL[("AS;&5E
M<"UF;W(@,2D*.SL@*'-E="UB=69F97(@(BI84T54*B(I"CL[("AG;W1O+6-H
M87(@*'!O:6YT+6UA>"DI"CL[("AI;G-E<G0@(F5X<&]R="!,04Y'/4,@1$E3
M4$Q!63TZ,#MF;W(@:V5Y8V]D92!I;B`Q,"`Q,2`Q,B`Q,R`Q-"`Q-2`Q-B`Q
M-R`Q."`Q.2`R,B`R-"`R-2`R-B`R-R`R."`R.2`S,"`S,2`S,B`S,R`S."`S
M.2`T,"`T,2`T,B`T,R`T-"`T-2`T-B`U,B`U,R`U-"`U-2`U-B`U-R`U."`V
M-2`W-2`W-B`Y."`Y.2`Q,#`@,3`R(#$P-"`Q,#4@,3`W.V1O('AS970@<B`D
M>VME>6-O9&5].V1O;F4[>'-E="!R(')A=&4@-#4P(#0P(BD*.SL@("!B=69F
M97(M<F5L871E9"!U<V5R(&-U<W1O;6EZ871I;VYS("`M+2T@(&-H86YG92!A
M;GET:&EN9R!I;B!T:&4@86)O=F4@("`@8FQO8VL*``````!S87=I;FQI<W0N
M96P`````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M,#`P,#8V-``P,#`P-S8T`#`P,#`W-C0`,#`P,#`P-30U-30`,3(P,38Q-S`V
M-C(`,#$R-3`W`"`P````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M`````````````````````````````'5S=&%R("``;'5M8GD`````````````
M``````````````````````!L=6UB>0``````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M`````````#L[.R!S87=I;FQI<W0N96P@+2TM(&9U;F-T:6]N<R!F;W(@;&ES
M=&EN9R!A;F0@;6%N:7!U;&%T:6YG('@M=VEN9&]W<R!M86YA9V5D(&)Y('-A
M=V9I<V@*"CL[($-O<'ER:6=H="`H0RD@,C`Q,2`L(#(P,3(@8GD@=&AE(&%U
M=&AO<CH@2F]H;B!,=6UB>2!J;VAN;'5M8GE`:&]T;6%I;"YC;VT*"CL[(%1H
M:7,@9FEL92!M87D@8F4@=7-E9"!I;B!C;VYJ=6YC=&EO;B!W:71H($=.52!%
M;6%C<RX*"CL[($)O=&@@=&AI<R!F:6QE(&%N9"!'3E4@16UA8W,@87)E(&9R
M964@<V]F='=A<F4[('EO=2!M87D@<F5D:7-T<FEB=71E('1H96T@86YD+V]R
M(&UO9&EF>0H[.R!T:&5M('5N9&5R('1H92!T97)M<R!O9B!T:&4@1TY5($=E
M;F5R86P@4'5B;&EC($QI8V5N<V4@87,@<'5B;&ES:&5D(&)Y"CL[('1H92!&
M<F5E(%-O9G1W87)E($9O=6YD871I;VX[(&5I=&AE<B!V97)S:6]N(#(L(&]R
M("AA="!Y;W5R(&]P=&EO;BD*.SL@86YY(&QA=&5R('9E<G-I;VXN"@H[.R!"
M;W1H('1H:7,@9FEL92!A;F0@1TY5($5M86-S(&%R92!D:7-T<FEB=71E9"!I
M;B!T:&4@:&]P92!T:&%T('1H97D@=VEL;"!B92!U<V5F=6PL"CL[(&)U="!7
M251(3U54($%.62!705)204Y463L@=VET:&]U="!E=F5N('1H92!I;7!L:65D
M('=A<G)A;G1Y(&]F"CL[($U%4D-(04Y404))3$E462!O<B!&251.15-3($9/
M4B!!(%!!4E1)0U5,05(@4%524$]312X@(%-E92!T:&4*.SL@1TY5($=E;F5R
M86P@4'5B;&EC($QI8V5N<V4@9F]R(&UO<F4@9&5T86EL<RX*"CL[(%EO=2!S
M:&]U;&0@:&%V92!R96-E:79E9"!A(&-O<'D@;V8@=&AE($=.52!'96YE<F%L
M(%!U8FQI8R!,:6-E;G-E"CL[(&%L;VYG('=I=&@@1TY5($5M86-S.R!S964@
M=&AE(&9I;&4@0T]064E.1RX@($EF(&YO="P@=W)I=&4@=&\*.SL@=&AE($9R
M964@4V]F='=A<F4@1F]U;F1A=&EO;BP@26YC+BP@-3D@5&5M<&QE(%!L86-E
M("T@4W5I=&4@,S,P+`H[.R!";W-T;VXL($U!(#`R,3$Q+3$S,#<L(%5302X*
M"BAP<F]V:61E("=S87=I;FQI<W0I"@HH9&5F=6X@<V%W:6YL:7-T+7)A:7-E
M("AT:&ES+7!O:6YT*0H@(G)A:7-E('1H92!S87=F:7-H('=I;F1O=R!W:&]S
M92!N86UE(&ES('1H92!S=')I;F<@870@;W(@;F5A<B!P;VEN=#L*82!#=&PM
M9SQW:6YD;W=I9#X@<V5Q=65N8V4L("!I9B!P<F5S96YT(&9O<B!D:7-A;6)I
M9W5A=&EO;BP*;6%Y(&)E(')E;6]V960@<')I;W(@=&\@<V5L96-T:6YG('1H
M92!L:6YE+"`@=&\@8V%U<V4@<V5L96-T:6]N(&]F(&UO<W0@<F5C96YT('=I
M=&@@=&AA="!N86UE(@H@("AL970*("`@("@*("`@("`@=&5M<&]I;G0@;F5X
M='!O:6YT('1E;7`@;&5N(&-U<F-H87(@:6YD97@@;F5X=&EN9'@@=VEN9&]W
M+6YA;64*("`@("`@(&-U<BUI<RUC=&PM9R!P<F5V+7=A<RUC=&PM9PH@("`@
M("`@97-C87!E+71Y<&4@.R!V86QU97,@(ELB(#P]/B!O8W1A;"!S97%U96YC
M92P@("(\(B`\/3X@=VEN9&]W+6ED"CL[("`@("`H8V]D:6YG+7-Y<W1E;2UF
M;W(M<F5A9"`G;F\M8V]N=F5R<VEO;BD*.SL@("`@("AC;V1I;F<M<WES=&5M
M+69O<BUW<FET92`G;F\M8V]N=F5R<VEO;BD*("`@("`@*&-O9&EN9RUS>7-T
M96TM9F]R+7)E860@)W5N9&5C:61E9"D*("`@("`@*&-O9&EN9RUS>7-T96TM
M9F]R+7=R:71E("=I<V\M;&%T:6XM,2D*("`@("`@*&-U<BUL:6YE+6YU;2`P
M*2`[(&QI;F4@;G5M8F5R(&]F(&-U<G)E;G0@;&EN92!C;W5N=&5D(&)A8VMW
M87)D<R!F<F]M('1H92!L87-T(&%S(#`*("`@("`@=VEN9&]W;G5M("`@("`@
M("`[('=I;F1O=RUI9"!O9B!W:6YD;W<@;VX@=&AI<R!L:6YE(&%C8V]R9&EN
M9R!T;R!S87=I;FQI<W0M=VEN9&]W+6ED<PH@("`@("!O=F5R<FED92UW:6YD
M;W<M:60@.R`@=VEN9&]W+6ED("AP<FEN=&%B;&4I(&9R;VT@;W9E<G)I9&4@
M:6X@;&EN92!I;B!B=69F97(*("`@("D*.SL@("!C;W5N="!L:6YE<R!B86-K
M=V%R9',@9G)O;2!L87-T('1O(&-U<G)E;G0@<&]I;G0*("`@*&=O=&\M8VAA
M<B`H<&]I;G0M;6%X*2D*("`@*&)A8VMW87)D+6-H87(I"B`@("AB96=I;FYI
M;F<M;V8M;&EN92D*("`@*'=H:6QE("@^("AP;VEN="D@=&AI<RUP;VEN="D*
M("`@("`H<V5T<2!C=7(M;&EN92UN=6T@*#$K(&-U<BUL:6YE+6YU;2DI"B`@
M("`@*&9O<G=A<F0M;&EN92`M,2D*("`@*0H@("`H9V]T;RUC:&%R('1H:7,M
M<&]I;G0I"B`@("AS971Q('1E;7!O:6YT("AP<F]G;B`H8F5G:6YN:6YG+6]F
M+6QI;F4I("AP;VEN="DI*0H@("`H<V5T<2!N97AT<&]I;G0@*'!R;V=N("AE
M;F0M;V8M;&EN92D@*'!O:6YT*2DI"CL@('=I;F1O=RUN86UE(&ES(&9R;VT@
M<W1A<G0@;V8@;&EN92!T;R!E;F0L("!M:6YU<R!A;GD@87!P96YD960@=VEN
M9&]W+6ED"B`@("AS971Q('1E;7`@*&)U9F9E<BUS=6)S=')I;F<M;F\M<')O
M<&5R=&EE<R!T96UP;VEN="!N97AT<&]I;G0I*0H[("!Q=6]T92!B86-K<VQA
M<V@@86YD(&1O=6)L92UQ=6]T92P@86YD(&-O;G9E<G0@=&AE(%Q#+4<@<V5Q
M=65N8V5S(&)A8VL@=&\@8V]N=')O;"!C:&%R<PH@("`H<V5T<2!I;F1E>"`P
M*0H@("`H<V5T<2!L96X@*&QE;F=T:"!T96UP*2D*("`@*'-E='$@=VEN9&]W
M+6YA;64@(B(I"B`@("AS971Q(&]V97)R:61E+7=I;F1O=RUI9"!N:6PI"B`@
M("AS971Q('!R978M=V%S+6-T;"UG(&YI;"D*("`@*'-E='$@97-C87!E+71Y
M<&4@;FEL*0H[("`@8W)A=VP@=&AR;W5G:"!C:&%R86-T97)S"B`@("`@("`H
M=VAI;&4@*#P@:6YD97@@;&5N*0H)("AS971Q(&YE>'1I;F1X("@Q*R!I;F1E
M>"DI"@D@*'-E='$@8W5R8VAA<B`H<W5B<W1R:6YG('1E;7`@:6YD97@@;F5X
M=&EN9'@I*0H)("AS971Q(&-U<BUI<RUC=&PM9R`H<W1R:6YG/2!C=7)C:&%R
M("('(BDI"@D@*&-O;F0*"2`@*&-U<BUI<RUC=&PM9R`@("`@("`@("`@("`@
M("`@("`@("`@("`@("`[('-T87)T(&]F(&$@7$,M1R!S97%U96YC92`M(&UE
M<F5L>2!R96UE;6)E<@H)("`@*'-E='$@<')E=BUW87,M8W1L+6<@="D*"2`@
M("AS971Q(&5S8V%P92UT>7!E(&YI;"DI("`@("`@("`@("`@("`@("`[(&YE
M>'0@8VAA<B!D971E<FUI;F5S(&5S8V%P92UT>7!E"@D@("@H86YD('!R978M
M=V%S+6-T;"UG("AN;W0@8W5R+6ES+6-T;"UG*2`H;F]T(&5S8V%P92UT>7!E
M*2D@.R!C;VYT:6YU871I;VX@;V8@82!<0RU'('-E<75E;F-E("T@:61E;G1I
M9GD@97-C87!E('1Y<&4*"2`@("`H:68@*&]R"@D@("`@("`@("`@*'-T<FEN
M9ST@8W5R8VAA<B`B6R(I("`@("`@("`@("`@("`@.R!O8W1A;"!S97%U96YC
M90H@("`@("`@("`@("`@("`@("`H<W1R:6YG/2!C=7)C:&%R("(\(BDI("`@
M("`@("`@("`@("`[('=I;F1O=RUI9"!O9B!N;VXM=6YI<75E('=I;F1O=R!N
M86UE"B`@("`@("`@("`@("`@("AS971Q(&5S8V%P92UT>7!E(&-U<F-H87(I
M("D*("`@("`@("`@("`@*'-E='$@<')E=BUW87,M8W1L+6<@;FEL*0H)("`I
M"@D@("AE<V-A<&4M='EP92`[('!R978@8VAA<B!W87,@=&AE(&5S8V%P92!T
M>7!E+"`@8W5R<F5N="!I<R!S=&%R="!O9B!S97%U96YC90H@("`@("`@("`@
M("AC;VYD"@D@("`@("@@*'-T<FEN9ST@97-C87!E+71Y<&4@(ELB*2`@("`@
M("`@("`@("`@(#L@;V-T86P@<V5Q=65N8V4*("`@("`@("`@("`@("`@*'-E
M='$@;F5X=&EN9'@@*"L@:6YD97@@,RDI"B`@("`@("`@("`@("`@("AS971Q
M('=I;F1O=RUN86UE("AC;VYC870@=VEN9&]W+6YA;64@*&-A<B`H<F5A9"UF
M<F]M+7-T<FEN9R`H8V]N8V%T(")<(EQ<(B`H<W5B<W1R:6YG('1E;7`@:6YD
M97@@;F5X=&EN9'@I(")<(B(I*2DI*0H@("`@("`@("`@("`@("`H<V5T<2!N
M97AT:6YD>"`H,2L@;F5X=&EN9'@I*2`@("`@("`@("`@.R!F;W(@=&AE('1E
M<FUI;F%T:6YG(")=(@H)("`@("`I"B`@("`@("`@("`@("`H("AS=')I;F<]
M(&5S8V%P92UT>7!E("(\(BD@("`@("`@("`@("`@("`[('=I;F1O=RUI9"!O
M9B!N;VXM=6YI<75E('=I;F1O=R!N86UE"CL[("`@("!I;B!T:&ES(&-A<V4L
M('-E="!O=F5R<FED92UW:6YD;W<M:60@=&\@9F]R8V4@<V5L96-T:6]N(&)Y
M('=I;F1O=RUI9`H)("`@("`@("AI9B`H<W1R:6YG+6UA=&-H(")<7"A;,"TY
M72M<7"D^(B!T96UP(&EN9&5X*0H)"2`@("AS971Q(&]V97)R:61E+7=I;F1O
M=RUI9"`H;6%T8V@M<W1R:6YG+6YO+7!R;W!E<G1I97,@,2!T96UP*2DI"B`@
M("`@("`@("`@("`@("AS971Q(&YE>'1I;F1X(&QE;BD@("`@("`@("`@("`@
M("`@("`@("`[(&%N9"!E>&-L=61E('1H:7,@9G)O;2!T:&4@=')U92!W:6YD
M;W<M;F%M90H@("`@("`@("`@("`@*0H@("`@("`@("`@("D*"2`@("AS971Q
M(&5S8V%P92UT>7!E(&YI;"D*("`@("`@("`@*0H)("AT"CL[("`@;F]T(&$@
M7$,M1R!S97%U96YC92`M('1A:V4@=&AE(&-H87)A8W1E<B!A<R!I<R!O<B!Q
M=6]T960*"2`@("AS971Q('!R978M=V%S+6-T;"UG(&YI;"D*("`@("`@("`@
M("`H:68@*&]R("AS=')I;F<](&-U<F-H87(@(EQ<(BD*("`@("`@("`@("`@
M("`@("`@("AS=')I;F<](&-U<F-H87(@(EPB(BD*("`@("`@("`@("`@("`@
M*0H[("`@<75O=&4@=&AE(&-H87)A8W1E<@H@("`@("`@("`@("`@*'-E='$@
M=VEN9&]W+6YA;64@*&-O;F-A="!W:6YD;W<M;F%M92`B7%PB*2DI"B`@("`@
M("`@("`@*'-E='$@=VEN9&]W+6YA;64@*&-O;F-A="!W:6YD;W<M;F%M92!C
M=7)C:&%R*2D*"2`I*0H)("AS971Q(&EN9&5X(&YE>'1I;F1X*0H@("`@("`@
M*0H@("`@("`@*'-E='$@=VEN9&]W;G5M("AA<F5F('-A=VEN;&ES="UW:6YD
M;W<M:61S(&-U<BUL:6YE+6YU;2DI(#L@('-A=F4@=&AI<R!B969O<F4@<F5F
M<F5S:`H[.R`@("`@86QW87ES(')E9G)E<V@@+2!A;F0@:&EG:&QI9VAT(&-U
M<G)E;G0@=VEN9&]W(&EF(')E<75E<W1E9`H@("`@("`@*'-A=VEN;&ES="UB
M=6EL9"`H:68@*&%N9"`H8F]U;F1P("=S87=I;FQI<W0M;&]W+6AI9V@M;&EG
M:'0I("AV96-T;W)P('-A=VEN;&ES="UL;W<M:&EG:"UL:6=H="DI('=I;F1O
M=VYU;2DI"CL[("`@("`H;65S<V%G92!W:6YD;W<M;F%M92D*.SL@("`@(&EF
M(&%N(&]V97)R:61E('=I;F1O=RUI9"!O9B!N;VXM=6YI<75E('=I;F1O=R!N
M86UE('=A<R!F;W5N9"P@('1H96X@9V5T('=I;F1O=R!U<VEN9R!T:&%T('=I
M;F1O=R!I9"X*.SL@("`@(&]T:&5R=VES92P@('1H92!F;VQL;W=I;F<@;W(@
M8VQA=7-E(&9I<G-T('1R:65S('1O(&9I;F0@=&AE('=I;F1O=R!B>2!N86UE
M+"!A;F0@=&AE;B!I9B!T:&%T(&9A:6QS+"!B>2!W:6YD;W<@:60N"CL[("`@
M("!R96%S;VX@=VAY(&YO="!T;R!U<V4@=VEN9&]W(&ED(&9I<G-T(&ES('1H
M870L('=H96X@=&AE<F4@87)E(&UU;'1I<&QE('=I;F1O=W,@=VET:"!S86UE
M(&YA;64L"CL[("`@("`H86YD(&%S<W5M:6YG('1H870@=&AE('5S97(@9&5L
M971E9"!T:&4@0W1L+6<\=VEN9&]W:60^('-E<75E;F-E(&%T('1H92!E;F0@
M;V8@=&AE(&YA;64@<V\@=&AA="!T:&ES(&9U;F-T:6]N(&1O97,@;F]T('-E
M92!I="DL"CL[("`@("!E;7!I<FEC86QL>2P@<V%W9FES:"!A;'=A>7,@9FEN
M9',@=&AE(&]N92!W92!W86YT("AM;W-T(')E8V5N="D@=VAE<F5A<R!U<V4@
M;V8@=VEN9&]W(&ED('=O=6QD(&YO="X*.SL@("`@(&AO=V5V97(L('=H97)E
M(&%N(&%P<"!C;VYT:6YU86QL>2!C:&%N9V5S(&ET<R!N86UE+"!S=6-H(&%S
M($QO='5S($YO=&5S+"!M;WII;&QA+"!E=&,L"CL[("`@("!W92!W86YT('1O
M(&QO8V%T92!T:&%T('=I;F1O=R!B87-E9"!O;B!I9`H[.R`@("`@8F4@8V%R
M969U;"!W:71H(&9O<FUA='1I;F<@;V8@=&AE('=I;F1O=VYU;2`@+2`@('=E
M('=A;G0@86X@:6YT96=E<B!B=70@:70@;6%Y(&)E('-T;W)E9"!A<R!A(&9L
M;V%T('=I=&@@+C`@87,@9G)A8W1I;VYA;"!P87)T"CL[("AM97-S86=E("AC
M;VYC870@(BAL970@*"AC:&]S96XM=VEN9&]W("(@*&-O;F0@*&]V97)R:61E
M+7=I;F1O=RUI9"`H8V]N8V%T("(H9V5T+7=I;F1O=RUB>2UI9"`B(&]V97)R
M:61E+7=I;F1O=RUI9"`B*2(I*2`H="`H8V]N8V%T("(H;W(@*&=E="UW:6YD
M;W<M8GDM;F%M92!<(B(@=VEN9&]W+6YA;64@(EPB*2`H9V5T+7=I;F1O=RUB
M>2UI9"`B("AF;W)M870@(B4N,&8B('=I;F1O=VYU;2D@(BDI(BDI*2`B*2D@
M*&EF("AW:6YD;W<M:6-O;FEF:65D+7`@8VAO<V5N+7=I;F1O=RD@*'5N:6-O
M;FEF>2UW:6YD;W<@8VAO<V5N+7=I;F1O=RDI("AA8W1I=F%T92UW:6YD;W<@
M8VAO<V5N+7=I;F1O=RDI(BDI"B`@("AC86QL+7!R;V-E<W,@(G-A=V9I<V@M
M8VQI96YT(B!N:6P@;FEL(&YI;"`B+64B("AC;VYC870@(BAL970@*"AC:&]S
M96XM=VEN9&]W("(@*&-O;F0@*&]V97)R:61E+7=I;F1O=RUI9"`H8V]N8V%T
M("(H9V5T+7=I;F1O=RUB>2UI9"`B(&]V97)R:61E+7=I;F1O=RUI9"`B*2(I
M*2`H="`H8V]N8V%T("(H;W(@*&=E="UW:6YD;W<M8GDM;F%M92!<(B(@=VEN
M9&]W+6YA;64@(EPB*2`H9V5T+7=I;F1O=RUB>2UI9"`B("AF;W)M870@(B4N
M,&8B('=I;F1O=VYU;2D@(BDI(BDI*2`B*2D@*&EF("AW:6YD;W<M:6-O;FEF
M:65D+7`@8VAO<V5N+7=I;F1O=RD@*'5N:6-O;FEF>2UW:6YD;W<@8VAO<V5N
M+7=I;F1O=RDI("AA8W1I=F%T92UW:6YD;W<@8VAO<V5N+7=I;F1O=RDI(BDI
M"BDI"@HH9&5F=6X@<V%W:6YL:7-T+7)A:7-E+69R;VTM:V)D("AT:&ES+7!O
M:6YT*0H@(G)A:7-E('1H92!S87=F:7-H('=I;F1O=R!W:&]S92!N86UE(&ES
M('1H92!S=')I;F<@870@;W(@;F5A<B!P;VEN="(*("AI;G1E<F%C=&EV92`B
M9"(I"B`@*'-A=F4M97AC=7)S:6]N"B`@*'-A=VEN;&ES="UR86ES92!T:&ES
M+7!O:6YT*0HI*0H**&1E9G5N('-A=VEN;&ES="UR86ES92UF<F]M+6UO=7-E
M("AE=F5N='`I"B`@(G)A:7-E('1H92!S87=F:7-H('=I;F1O=R!W:&]S92!N
M86UE(&ES('1H92!S=')I;F<@870@;W(@;F5A<B!M;W5S92!P;W-I=&EO;B(*
M("`H:6YT97)A8W1I=F4@(F4B*0H@("AM;W5S92US970M<&]I;G0@979E;G1P
M*0H@("AS879E+65X8W5R<VEO;@H@("`@*&QE="`H("AT:&ES+7!O:6YT("AP
M;VEN="DI("D*.SL@87,@82!C;VYV96YI96YC92P@=')E870@<FEG:'0M8VQI
M8VL@870@96YD(&]F(&)U9F9E<B!A<R!R97%U97-T('1O(')E9G)E<V@@:70*
M("`@("`@*&EF("@]('1H:7,M<&]I;G0@*'!O:6YT+6UA>"DI"@D@("AS87=I
M;FQI<W0M8G5I;&0I"CL[("`@("!E;'-E"@D@("AS87=I;FQI<W0M<F%I<V4@
M=&AI<RUP;VEN="D*("`@("`@*0HI*2D*"BAD969U;B!S87=I;FQI<W0M8G5I
M;&0@*"9O<'1I;VYA;"!H:6=H;&EG:'0M=VEN9&]W+6ED*0H@(F)U:6QD(&QI
M<W0@;V8@<V%W9FES:"!W:6YD;W=S(&EN("I305=)3DQ)4U0J(&)U9F9E<@IF
M;W(@;6%N:7!U;&%T:6]N(&)Y('5S97(@+2!E+F<N('1O(')A:7-E(&%N9"!L
M;W=E<B!W:6YD;W=S"FEF(&AI9VAL:6=H="UW:6YD;W<M:60@:7,@<W!E8VEF
M:65D+"`@:&EG:&QI9VAT('1H92!L:6YE(')E9F5R<FEN9R!T;R!T:&ES('=I
M;F1O=PIA;F0@;&]W;&EG:'0@=&AE('!R979I;W5S;'DM:&EG:&QI9VAT960@
M;&EN92!I9B!S=&EL;"!P<F5S96YT(@H[.R`@=&AE(&9O;&QO=VEN9R!R971U
M<FYS('1H92!W:6YD;W<@;&ES=`H[.R`@8F%S:"`M8R`G<V%W9FES:"UC;&EE
M;G0@+64@(BAL970@*"AW:6YL:7-T("AM86YA9V5D+7=I;F1O=W,I*2!T8V%R
M('1C9'(@*')E<&]U="!<(EQ@7"(I('1E;7`I("AS971Q('1C9'(@=VEN;&ES
M="D@*'=H:6QE("AS971Q('1C87(@*&-A<B!T8V1R*2D@*'-E='$@=&-D<B`H
M8V1R('1C9'(I*2`H<V5T<2!T96UP("AP<FEN,2UT;RUS=')I;F<@*'=I;F1O
M=RUN86UE('1C87(I*2D@*'-E='$@<F5P;W5T("AC;VYC870@<F5P;W5T("AS
M=6)S=')I;F<@=&5M<"`Q("@Q+2`H;&5N9W1H('1E;7`I*2D@7")<8%PB*2DI
M("AP<FEN8R!R97!O=70I*2(@?"!T<B`B7&`B(")<;B(G"CL[(&%N9"!T:&4@
M9F]L;&]W:6YG(')A:7-E<R!A(&YA;65D('=I;F1O=PH[.R!S87=F:7-H+6-L
M:65N="`M92`G*&%C=&EV871E+7=I;F1O=R`H9V5T+7=I;F1O=RUB>2UN86UE
M(")L86)V;2(I*2<*.SL@86YD('1H92!F;VQL;W=I;F<@<F5N86UE<R!A(&YA
M;65D('=I;F1O=PH[.R!S87=F:7-H+6-L:65N="`M92`B*'-E="UX+7!R;W!E
M<G1Y("AG970M=VEN9&]W+6)Y+6YA;64@7")L=6UB>4!L=6UB>7)N=#I^7"(I
M("=735].04U%(%PB<F5D<&EN92US8W)E96Y<(B`G4U1224Y'(#@I(@H[.R!A
M;F0@=&AE(&9O;&QO=VEN9R!D96QE=&5S(&$@;F%M960@=VEN9&]W"CL[('-A
M=V9I<V@M8VQI96YT("UE("<H9&5L971E+7=I;F1O=R`H9V5T+7=I;F1O=RUB
M>2UN86UE(")3;6EL92$B*2DG"CL["CL[('%U;W1I;F<@:7,@=')I8VMY.B`@
M('1H97)E(&%R92!U<"!T;R!T:')E92!L979E;',@;V8@;F5S=&EN9R!O9B!Q
M=6]T:6YG.@H[.R`@("`@;&5V96P@("`@("!W:&5R92`@("`@("`@("`@("`@
M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!W:&%T
M('%U;W1E9`H[.R`N("`@("`Q("`@(&EN<VED92!A(&QI<W`@<W1R:6YG("`@
M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
M("!<("(*.SL@+B`@("`@(#(@("!I;G-I9&4@=&AE('-H96QL(&-O;6UA;F0@
M*'-T<FEN9R!A='1A8VAE9"!T;R`M8RD@("`@("`@("`@("`@("`@("`@("`@
M7"`B(&`@)`H[.R`N("`@("`@(#,@(&EN<VED92!A(&QI<W`@<W1R:6YG(&EN
M<VED92!S87=F:7-H+6-L:65N="!P87)M<W1R:6YG("`@("`@("`@("`@("`@
M("!<("(*.SL*.SL@=')A;G-P87)E;F-Y('-C:&5M97,Z"CL[('1W;R!T<F%N
M<W!A<F5N8WD@<V-H96UE<R!A<F4@=7-E9#H*.SL@("`N("!S87=F:7-H(#T]
M/CX@=&AI<R!P<F]G<F%M("`@("`@("`@("`Z("`@('!R:6YT86)L92UA<V-I
M:2!C:&%R('=H;W-E('9A;'5E(&ES(&EN('-Y;6)O;"!T<F%N<W`M8VAA<@H[
M.R`@("X@('1H:7,@<')O9W)A;2`]/3X^("I305=)3DQ)4U0J(&)U9F9E<B`@
M.B`@("!N;VXM<')I;G1A8FQE(&-O;G1R;VP@8VAA<B!#=&PM1PH[.R!D971A
M:6QS(&]F(&5A8V@@87)E(&=I=F5N('=H97)E(&1E<&QO>65D+B`@("!T:&4@
M<F%T:6]N86QE(&9O<B!T:&5S92!C:&]I8V5S(&%N9"!W:'D@=&AE>2!A<F4@
M9&EF9F5R96YT(&ES(#H*.SL@("`N("!S87=F:7-H(#T]/CX@=&AI<R!P<F]G
M<F%M"CL[("`@("`@('=E("IM=7-T*B!U<V4@82!P<FEN=&%B;&4M87-C:6D@
M<VEN8V4@;F]N+7!R:6YT86)L92!C:&%R<R!A<F4@=')A;G-L871E9"!I;G1O
M('%U;W1E9"!O8W1A;"!S97%U96YC97,@8F5F;W)E('=E(')E8V5I=F4@=&AE
M;3L*.SL@("`@("`@;F]T92!T:&%T('1H:7,@8VAA<F%C=&5R(&ES(&EN=&5R
M;F%L('1O('1H:7,@<')O9W)A;2!A;F0@:71S('5S92!F;W(@8V]N=')O;"!S
M97%U96YC97,@:7,@;F]T('9I<VEB;&4@=&\@=&AE('5S97(N"CL[("`@+B`@
M=&AI<R!P<F]G<F%M(#T]/CX@*E-!5TE.3$E35"H@8G5F9F5R"CL[("`@("`@
M('=E("IP<F5F97(J('1O('5S92!A(&YO;BUP<FEN=&%B;&4M87-C:6D@<VEN
M8V4@=&AE(&-H;W-E;B!C:&%R86-T97(@:7,@=FES:6)L92!T;R!T:&4@=7-E
M<@H[.R`@("`@("!A;F0@;F]N+7!R:6YT86)L92!I<R!L97-S(&QI:V5L>2!T
M;R!A<'!E87(@87,@:71S96QF(&EN(&$@;F%M92P@("!I+F4N(')E<W5L=',@
M:6X@;&5S<R!C;VYF=7-I;VX@=VAE;B!D:7-P;&%Y960N"CL["B`H:6YT97)A
M8W1I=F4I"B`@*'-A=F4M97AC=7)S:6]N"B`@*&QE=`H@("`@*`H@("`@("AT
M<F%N<W`M8VAA<B`B8"(I(#L@<')I;G1A8FQE+6%S8VEI(&-H87(@=7-E9"!T
M;R!D96QI;6ET(&-O;G1R;VP@<V5Q=65N8V5S(&EN(&1A=&$@<V%W9FES:"`]
M/3X^('1H:7,@<')O9W)A;2`M('-E92!A8F]V92!A;F0@8F5L;W<*("`@("`H
M8V)U9B`H8W5R<F5N="UB=69F97(I*0H@("`@("AS87=B=68@*&=E="UB=69F
M97(M8W)E871E("(J4T%724Y,25-4*B(I*0H@("`@('-A=V9I<V@M<W1R:6YG
M(#L@('1H92!S=')I;F<@<&%S<V5D('1O('-A=V9I<V@@+64*("`@("!T96UP
M(&EX(')E<&QA8V5M96YT('1E;7!O:6YT('=I;F1O=VED('=I;F1O=VYU;2`H
M=VEN:60M;&ES="`H;&ES="DI"CL@("`@*&-O9&EN9RUS>7-T96TM9F]R+7)E
M860@)VYO+6-O;G9E<G-I;VXI"CL@("`@*&-O9&EN9RUS>7-T96TM9F]R+7=R
M:71E("=N;RUC;VYV97)S:6]N*0H@("`@("AC;V1I;F<M<WES=&5M+69O<BUR
M96%D("=U;F1E8VED960I"B`@("`@*&-O9&EN9RUS>7-T96TM9F]R+7=R:71E
M("=I<V\M;&%T:6XM,2D*("`@("!W:6YD;W<M;F%M92!P<F5V+6YA;64*("`@
M("!S=&%R="UO9BUW:6YD;W=I9"US96-T:6]N(&5N9"UO9BUW:6YD;W=I9"US
M96-T:6]N('!R961E8V5S<V]R+7=I;F1O=VED"B`@("`@8W5R<F5N="UR97!E
M871E9"UN86UE(#L@:6YD:6-A=&5S('=H971H97(@=&AI<R!W:6YD;W<@;F%M
M92!I<R!A(')E<&5T:71I;VX@;V8@:71S('!R961E8V5S<V]R"B`@("`@<')E
M=BUR97!E871E9"UN86UE("`@(#L@<')E=B!V86QU92!O9B!C=7)R96YT+7)E
M<&5A=&5D+6YA;64@.B!I;F1I8V%T97,@=VAE=&AE<B!T:&4@<')E=FEO=7,@
M=VEN9&]W(&YA;64@=V%S(&$@<F5P971I=&EO;B!O9B!I=',@<')E9&5C97-S
M;W(@*&-U<B`M(#(I"B`@("`@:&EG:&QI9VAT+6QI;F5N=6T@.R`@(&QI;F4@
M;G5M8F5R('1O(&)E(&AI9VAL:6=H=&5D"B`@("`@;&]W;&EG:'0M;&EN96YU
M;2`@.R`@(&QI;F4@;G5M8F5R('1O(&)E(&QO=VQI9VAT960@("AP<F5V:6]U
M<R!H:6=H;&EG:'1E9"!L:6YE*0H@("`@(&-U<G)E;G0M;&EN96YU;2`@;W9R
M;'D*("`@("D*.SL@*&-A;&PM<')O8V5S<R`B8F%S:"(@;FEL("(J4T%724Y,
M25-4*B(@;FEL("(M8R(@(G-A=V9I<V@M8VQI96YT("UE(%PB*&QE="`H*&IU
M;FL@7%Q<(FIU;FMW;W)D7%Q<(BD@=&5M<"D@*'!R:6YC(&IU;FLI*5PB(BD*
M("`@*'-W:71C:"UT;RUB=69F97(@<V%W8G5F*0H[.R`N+BX@=&AE(&9O;&QO
M=VEN9R!D96)U9R!R979E86QS('1H870@;W9E<FQA>7,@87)E(&YE=F5R('1R
M=6QY(&1E<W1R;WEE9"`M('1H92!L:7-P(&]B:F5C=',@<&5R<VES="`M('-O
M("XN+@H[.R!F;W(@9&5B=6=G:6YG("`@*&UE<W-A9V4@*&-O;F-A="`B8F5F
M;W)E(&1E;&5T92`M(&]V97)L87ES(&%T(#H@(B`H<')I;C$M=&\M<W1R:6YG
M("AO=F5R;&%Y<RUI;B`H<&]I;G0M;6EN*2`H<&]I;G0M;6%X*2DI*2D*("`@
M*&-O;F0*("`@("@H<V5T<2!T96UP("AO=F5R;&%Y<RUI;B`H<&]I;G0M;6EN
M*2`H<&]I;G0M;6%X*2DI"B`@("`@*&1E;&5T92UO=F5R;&%Y("AC87(@=&5M
M<"DI"B`@("`@*'=H:6QE("AS971Q('1E;7`@*&-D<B!T96UP*2D*("`@("`@
M("`H9&5L971E+6]V97)L87D@*&-A<B!T96UP*2DI"B`@("DI"CL[(&9O<B!D
M96)U9V=I;F<@("`H;65S<V%G92`H8V]N8V%T(")A9G1E<B!D96QE=&4@+2!O
M=F5R;&%Y<R!A="`Z("(@*'!R:6XQ+71O+7-T<FEN9R`H;W9E<FQA>7,M:6X@
M*'!O:6YT+6UI;BD@*'!O:6YT+6UA>"DI*2DI"B`@("AE<F%S92UB=69F97(I
M(#L@96UP:7)I8V%L;'DL("!E<F%S92UB=69F97(@9&5L971E<R!A;GD@;W9E
M<FQA>7,@:6X@969F96-T+"`@=VAI8V@@:7,@=VAA="!W92!W86YT("`N+BX*
M.SL@9F]R(&1E8G5G9VEN9R`@("AM97-S86=E("AC;VYC870@(F%F=&5R(&5R
M87-E("T@;W9E<FQA>7,@870@.B`B("AP<FEN,2UT;RUS=')I;F<@*&]V97)L
M87ES+6EN("AP;VEN="UM:6XI("AP;VEN="UM87@I*2DI*0H[.R!I;B!T:&4@
M9F]L;&]W:6YG.@H[.R!T:&4@<V%W9FES:"!L86UB9&$@8G5I;&1S('1H92!L
M:7-T(&]F(&YA;65S('5S:6YG(&$@=')A;G-P87)E;G0@8V]N=')O;"!C:&%R
M+"`@9&5F875L="!B86-K+71I8VL@.@H[.R`@("!S:6YG;&4@=')A;G-P+6-H
M87(@:6X@;F%M92!I<R!R97!L86-E9"!B>2!T=V\@=')A;G-P+6-H87)S"CL[
M("`@(&YA;65S(&%R92!S97!A<F%T960@8GD@<V5Q=65N8V4@9F]R=V%R9"US
M;&%S:"!T<F%N<W`M8VAA<B!F;W)W87)D+7-L87-H+"!W:&EC:"!I<R!R97!L
M86-E9"!B>2!N97=L:6YE(&EN('1H92!B87-H(&]N92UL:6YE+6-O;6UA;F0*
M.SL@("`@86YY(&YA;64@96YD:6YG(&EN("(M(%LM(&$M>D$M6C`M.5\N.ETK
M(B!W:6QL(&AA=F4@=&AI<R!S=69F:7@@<')E<&5N9&5D(&%S('!R969I>"P@
M;VX@87-S=6UP=&EO;B!T:&%T(&ET(&ES(&$@8V]N<W1A;G0L"CL[("`@("`@
M("`@("`@("`@<V5P87)A=&5D(&)Y('-E<75E;F-E(&)L86YK('1R86YS<"UC
M:&%R(&)L86YK"CL[("`@('=I;F1O=RUI9"!I;G1E9V5R(&ES(&%P<&5N9&5D
M('1O(&5A8V@@;F%M92!S97!A<F%T960@8GD@87-T97)I<VL@=')A;G-P+6-H
M87(@87-T97)I<VL*.SL@;F]N92!O9B!T:&5S92!S97%U96YC97,@:7,@82!P
M87)T(&]F(&%N>2!O=&AE<B!S97%U96YC92!R96=A<F1L97-S(&]F(&YE:6=H
M8F]U<FEN9R!C:&%R86-T97)S"CL[(`H[.R!T:&4@<'5R<&]S92!O9B!T:&4@
M:68@;F]T('-T<FEN9ST@=&5S="!I<R!T;R!E>&-L=61E('1H92!N86UE(&]F
M('1H92!C=7)R96YT('=I;F1O=R!S:6YC92!W92!A<F4@86QR96%D>2!I;B!I
M=`H[.PH[.PH**'-E='$@<V%W9FES:"US=')I;F<@*&-O;F-A="`B*&QE="`H
M*'=I;FQI<W0@*&UA;F%G960M=VEN9&]W<RDI('1C87(@=&-D<B`H<F5P;W5T
M(%PB+R(@=')A;G-P+6-H87(@(B]<(BD*("`@("!T96UP(&EN9&5X('!R979I
M;F1X(&YE>'1I;F1X(&-U<F-H87(@;&5N(&1A<VAP;W,@=')A;G-T<BD*("`H
M<V5T<2!T8V1R('=I;FQI<W0I"B`@*'=H:6QE("AS971Q('1C87(@*&-A<B!T
M8V1R*2D*("`@*'-E='$@=&-D<B`H8V1R('1C9'(I*0H@("`H<V5T<2!T96UP
M("AP<FEN,2UT;RUS=')I;F<@*'=I;F1O=RUN86UE('1C87(I('0I*0H@("`H
M<V5T<2!T96UP("AS=6)S=')I;F<@=&5M<"`Q("@Q+2`H;&5N9W1H('1E;7`I
M*2DI"CL@("`@("`@("AP<FEN8R!T96UP*0H@("`H8V]N9`H[("`@("`@("!I
M9VYO<F4@8W5R<F5N="!W:6YD;W<*("`@("`H*'-T<FEN9ST@=&5M<"!<(B(@
M*&]R("AC9'(@*&%S<V]C("=T:71L92`H9G)A;64M<&%R86UE=&5R<R`H<V5L
M96-T960M9G)A;64I*2DI("AC9'(@*&%S<V]C("=N86UE("AF<F%M92UP87)A
M;65T97)S("AS96QE8W1E9"UF<F%M92DI*2DI(")<(BDI"B`@("`@*'0*("`@
M("`@("AS971Q(&EN9&5X(#`I"B`@("`@("`H<V5T<2!D87-H<&]S(&YI;"D*
M("`@("`@("AS971Q('1R86YS='(@7")<(BD*("`@("`@("AS971Q(&QE;B`H
M;&5N9W1H('1E;7`I*0H[("`@8W)A=VP@=&AR;W5G:"!C:&%R86-T97)S"B`@
M("`@("`H=VAI;&4@*#P@:6YD97@@;&5N*0H[("`@("`@("`H<')I;F,@:6YD
M97@I"@D@*'-E='$@;F5X=&EN9'@@*#$K(&EN9&5X*2D*"2`H<V5T<2!C=7)C
M:&%R("AS=6)S=')I;F<@=&5M<"!I;F1E>"!N97AT:6YD>"DI"@D@*'-E='$@
M=')A;G-T<B`H8V]N8V%T('1R86YS='(@8W5R8VAA<BDI"@D@*&-O;F0*"2`@
M("@H<W1R:6YG/2!C=7)C:&%R(%PB+5PB*0H)("`@("`@*&EF("AA;F0@*#X@
M:6YD97@@,2D@*#P@:6YD97@@*"T@;&5N(#0I*0H)"2`@("`@("`H<W1R:6YG
M/2`H<W5B<W1R:6YG('1E;7`@<')E=FEN9'@@:6YD97@I(%PB(%PB*0H)"2`@
M("`@("`H<W1R:6YG/2`H<W5B<W1R:6YG('1E;7`@;F5X=&EN9'@@*#$K(&YE
M>'1I;F1X*2D@7"(@7"(I"@D)("`I"CL@("!F;W5N9"!C86YD:61A=&4@9&%S
M:`H)"2`@*'-E='$@9&%S:'!O<R!I;F1E>"DI*0H[("`@8VAE8VL@:68@=F%L
M:60@<W5F9FEX(&-H87)A8W1E<B`N+BX*"2`@("@H<W1R:6YG+6UA=&-H(%PB
M6R!A+7I!+5HP+3E?+CI=7"(@8W5R8VAA<BDI"CL@("`N+BX@:68@;F]T("XN
M+@H)("`@*'0*"2`@("`@("`H<V5T<2!D87-H<&]S(&YI;"D*"2`@("`@("`H
M:68@*'-T<FEN9ST@8W5R8VAA<B!<(B(@=')A;G-P+6-H87(@(EPB*0H[("`@
M<F5P96%T('1H92!T<F%N<W`M8VAA<@H)"2`@("AS971Q('1R86YS='(@*&-O
M;F-A="!T<F%N<W1R(&-U<F-H87(I*2D*"2`@("D*"2`I"@D@*'-E='$@<')E
M=FEN9'@@:6YD97@I"@D@*'-E='$@:6YD97@@;F5X=&EN9'@I"B`@("`@("`I
M"B`@("`@("`H:68@*&%N9"!D87-H<&]S("@\("@M(&QE;B!D87-H<&]S*2`T
M-"DI"CL@("!P<F5P96YD('1H92!D87-H('-U9F9I>`H)("`@*'-E='$@=')A
M;G-T<B`H8V]N8V%T("AS=6)S=')I;F<@=&5M<"`H*R!D87-H<&]S(#(I*2!<
M(B`B('1R86YS<"UC:&%R("(@7"(@=')A;G-T<BDI*0H[("`@87!P96YD('1H
M92!W:6YD;W<M:60@87,@=V5L;`H@("`@("`@*'-E='$@<F5P;W5T("AC;VYC
M870@<F5P;W5T('1R86YS='(@7"(J(B!T<F%N<W`M8VAA<B`B*EPB("AP<FEN
M,2UT;RUS=')I;F<@*'=I;F1O=RUI9"!T8V%R*2!T*2!<(B\B('1R86YS<"UC
M:&%R("(O7"(I*2DI"B`@*0H@(')E<&]U=`HI(BDI"@H[.R`H8V%L;"UP<F]C
M97-S(")E8VAO(B!N:6P@(BI305=)3DQ)4U0J(B!N:6P@<V%W9FES:"US=')I
M;F<I(#L@=&\@9&5B=6<**&-A;&PM<')O8V5S<R`B<V%W9FES:"UC;&EE;G0B
M(&YI;"`B*E-!5TE.3$E35"HB(&YI;"`B+64B('-A=V9I<V@M<W1R:6YG*0H[
M.PH[.R!P;W-T+7!R;V-E<W-I;F<*.SL*.SL@86YY(&YO;BUP<FEN=&%B;&4@
M8VAA<F%C=&5R<R!I;B!O<FEG:6YA;"!W:6YD;W<@;F%M97,@87!P96%R(&%S
M(&$@9&]U8FQY+7%U;W1E9"!O8W1A;"UR96%D+7-Y;G1A>`H[.R!T:&5S92!A
M<F4@=6YA;6)I9W5O=7-L>2!D:7-T:6YG=6ES:&5D(&9R;VT@82!C;&5A<B!S
M97%U96YC92!O9B!S=6-H(&-H87)A8W1E<G,@*&4N9RX@7%PR-3,I"CL[(&)E
M8V%U<V4L(&9O<G1U;F%T96QY+"!O<FEG:6YA;"!B86-K<VQA<VAE<R!A<'!E
M87(@87,@82!S97%U96YC92!O9B!F;W5R(&)A8VMS;&%S:&5S("AD;VXG="!K
M;F]W('=H>2`N+BXI"CL[('-O('1H92!N;VXM<')I;G1A8FQE<R!A<F4@9&ES
M=&EN9W5I<VAA8FQE(&)Y(&QE861I;F<@=VET:"!A('!A:7(@;V8@8F%C:W-L
M87-H97,@3D]4('!R96-E9&5D(&)Y(&)A8VMS;&%S:#L*.SL@86QS;R!N;W1E
M('=E(&1O;B=T('=A;G0@86YY(&-L96%R(&QI;F5F965D<R!T;R!B92!T<F%N
M<VQA=&5D(&)A8VL@=&\@8VQE87(@;&EN969E961S('-I;F-E(&]U<B!N86UE
M('!A<G-I;F<@86YD('-O<G1I;F<@<F5L:65S(&]N(&]N92!N86UE('!E<B!L
M:6YE.PH[.R!R97!L86-E(&5A8V@@;V-T86PM<F5A9"US>6YT87@@8VAA<F%C
M=&5R(&)Y(#H*.SL@("X@:68@:6X@<F%N9V4@,#`P+3`S-R`H('1H92!C;VYT
M<F]L(&-H87)S("P@:6YC;'5D:6YG(%Q#+4<I("!<0RUG6V]C=&%L+7-E<75E
M;F-E72`H8V]N=')O;"U'(&9O;&QO=V5D(&)Y(&]C=&%L+7)E860M<WEN=&%X
M(&EN('-Q=6%R92UB<F%C:V5T<RD*.SL@("`@("`@*&YO=&4@+2!T:&4@86)O
M=F4@<F%N9V4@:6YC;'5D97,@;&EN969E960@+2`P,3(@*0H[.R`@+B!O=&AE
M<G=I<V4@("`@=&AE('-I;F=L92!C:&%R86-T97(*.SL@"CL[(&YO=&4@+2!F
M;W(@<F5A<V]N(&=I=F5N(&)E;&]W+"!T:&ES('=O<FMS(&EN<VED92!E;6%C
M<R!S=&%R=&5D('=I=&@@;F\@+F5M86-S('!R;V9I;&4@8G5T(&YO="!I;B!M
M>2!H96%V:6QY(&-U<W1O;6EZ960@96UA8W,@+0H[.R`@("`@("`@86QT:&]U
M9V@@=&AE(')E<W5L=&EN9R!T<F%N<VQA=&EO;B!I<R!M861E+"!S87=F:7-H
M(&1O97,@;F]T(&9I;F0@=&AE('=I;F1O=R`M"CL[("`@("`@("!I="!S965M
M<R!T:&%T(&EN('1H92!C=7-T;VUI>F5D(&5M86-S+"!T:&4@<W!E8VEA;"!C
M:&%R86-T97)S(&%R92!T<F%N<VQA=&5D(&]N8V4@;6]R90H[.R`@("`@("`@
M=VET:"!S;VUE(&MI;F0@;V8@<W!E8VEA;"!L96%D:6YG(&-H87)A8W1E<@H[
M.R`@("`@("`@870@<V]M92!P;VEN="!B969O<F4@8F5I;F<@<V5N="!T;R!S
M87=F:7-H(&EN('-A=VEN;&ES="UR86ES92X*.SL@("`@("`@(&5X<&QA;F%T
M:6]N(&9O=6YD("T@<F5L871I;F<@=&\@8V]D:6YG('-Y<W1E;2!U<V5D(&9O
M<B!W<FET:6YG('1O("\@<F5A9&EN9R!F<F]M('-U8G!R;V-E<W-E<SH*.SL@
M("`@("`@(&%L=&AO=6=H(&)O=&@@96UA8W,G<R!H860@96YA8FQE+6UU;'1I
M8GET92UC:&%R86-T97)S('0@;F]N87-C:6DM:6YS97)T+6]F9G-E="`P"CL[
M("`@("`@("`N("`@8W5S=&]M:7IE9"!E;6%C<R`M(&AA9"!D969A=6QT+7!R
M;V-E<W,M8V]D:6YG+7-Y<W1E;2`H;75L92UU=&8M."`N(&UU;&4M=71F+3@I
M"CL[("`@("`@("`N('5N8W5S=&]M:7IE9"!E;6%C<R`M(&AA9"!D969A=6QT
M+7!R;V-E<W,M8V]D:6YG+7-Y<W1E;2`H=6YD96-I9&5D("X@:7-O+6QA=&EN
M+3$I"CL[("`@("`@("!)(&1O;B=T(&MN;W<@=VAY('1H97-E(&1E9F%U;'1S
M('=E<F4@9&EF9F5R96YT+"!B=70*.SL@("`@("`@('-E='1I;F<@8F]T:"!C
M;V1I;F<M<WES=&5M+69O<BUR96%D(&%N9"!C;V1I;F<M<WES=&5M+69O<BUW
M<FET92!A<R!F;W(@=6YC=7-T;VUI>F5D(&5M86-S(&UA:V5S(&ET('=O<FLA
M"CL[("`@("`@("!)(&%L<V\@86T@3D]4('-U<F4@=&AA="!T:&ES('=I;&P@
M8V]R<F5C=&QY(&AA;F1L92!A;&P@8VAA<F%C=&5R('-E=',@87!P96%R:6YG
M(&EN('=I;F1O=R!T:71L97,@+BXN"CL["B`@("AG;W1O+6-H87(@*'!O:6YT
M+6UI;BDI"B`@("AW:&EL92`H<F4M<V5A<F-H+69O<G=A<F0@(EQ<*%Y<7'Q;
M7EQ<75Q<*5Q<*%Q<7%Q<7%Q<6S`M-UU;,"TW75LP+3==7%PI(B!N:6P@="D*
M.SL@("`H;6%T8V@M<W1R:6YG+6YO+7!R;W!E<G1I97,@,BD@:7,@=&AE(&]C
M=&%L('-E<75E;F-E(&EN8VQU9&EN9R!T=V\@;&5A9&EN9R!B86-K<VQA<VAE
M<PH@("`@("AS971Q('1E;7`@*'-U8G-T<FEN9R`H;6%T8V@M<W1R:6YG+6YO
M+7!R;W!E<G1I97,@,BD@,2DI(#L@;V-T86P@<V5Q=65N8V4@:6YC;'5D:6YG
M(&]N92!L96%D:6YG(&)A8VMS;&%S:`H@("`@("AS971Q(&EX("AC87(@*')E
M860M9G)O;2US=')I;F<@*&-O;F-A="`B/R(@=&5M<"DI*2D@.R!N=6UE<FEC
M('9A;'5E"B`@("`@*&-O;F0*("`@("`@*"@\(&EX(#,R*0H@("`@("`@*'-E
M='$@<F5P;&%C96UE;G0@*&-O;F-A="`B!ULB("AS=6)S=')I;F<@=&5M<"`Q
M*2`B72(I*2D*("`@("`@*'0*("`@("`@("AS971Q(')E<&QA8V5M96YT("AC
M87(@*')E860M9G)O;2US=')I;F<@*&-O;F-A="`B7"(B('1E;7`@(EPB(BDI
M*2DI(#L@8VAA<F%C=&5R('9A;'5E(&%S(&$@<W1R:6YG("T@9&5F875L="!R
M97!L86-E;65N=`H@("`@("D*("`@("`H<F5P;&%C92UM871C:"!R97!L86-E
M;65N="!T('0@;FEL(#(I"CL[(&)A8VL@=7`@8F5H:6YD(&QA<W0@<F5P;&%C
M96UE;G0@8VAA<B!I;B!C87-E(&%N;W1H97(@<V5Q=65N8V4@9F]L;&]W<R!I
M;6UE9&EA=&5L>0H[.R`H;F]T92!T:&4@;6%T8VAI;F<@<F5G97AP(&EN8VQU
M9&5S(&]N92!C:&%R86-T97(@;W(@;&EN92US=&%R="!P<F5C961I;F<@=&AE
M(&]C=&%L('-E<75E;F-E*0H@("`@("AB86-K=V%R9"UC:&%R*0H@("`I"CL[
M"CL[(')E<&QA8V4@96%C:"!T<F%N<W!A<F5N="!L:6YE9F5E9"!S97%U96YC
M92!B>2!A('-I;F=L92!L:6YE9F5E9`H@("`H9V]T;RUC:&%R("AP;VEN="UM
M:6XI*0H@("`H=VAI;&4@*'-E87)C:"UF;W)W87)D("AC;VYC870@(B\B('1R
M86YS<"UC:&%R("(O(BD@;FEL('0I"B`@("`@*')E<&QA8V4M;6%T8V@@(EQN
M(B!T('0@;FEL*0H@("`I"CL[(&1E;&5T92!E86-H(&QI;F4@8V]N=&%I;FEN
M9R!O;FQY('-I;F=L92!D;W5B;&4M<75O=&4*("`@*&=O=&\M8VAA<B`H<&]I
M;G0M;6EN*2D*("`@*'=H:6QE("AR92US96%R8V@M9F]R=V%R9"`B7EPB)"(@
M;FEL('0I"B`@("`@*&1E;&5T92UR96=I;VX@*#$M("AP;VEN="DI("@Q*R`H
M<&]I;G0I*2D*("`@*0H[.R!S;W)T('1H92!B=69F97(*.SL@;F]T92!T:&%T
M('1H92!W:6YD;W<M:61S(&%R92!S=&EL;"!P<F5S96YT(&)U="!A="!T:&4@
M96YD(&]F(&QI;F5S('-O('=E(&UA>2!U<V4@<V]R="UL:6YE<PH@("`H9V]T
M;RUC:&%R("AP;VEN="UM:6XI*0H@("`H<V]R="UL:6YE<R!N:6P@*'!O:6YT
M+6UI;BD@*'!O:6YT+6UA>"DI"CL[('-A=F4@=VEN9&]W(&ED<R!I;B!O=7(@
M<&5R<VES=&5N="!D969V87(@+2!F;W)M870@:7,@82!V96-T;W(@;V8@=VEN
M9&]W+6ED<R!I;B!L:6YE;G5M8F5R('-E<75E;F-E"CL[(&EF('=I;F1O=R!N
M86UE(&ME>2!I<R!U;FEQ=64L(')E;6]V92!W:6YD;W<@:60*.SL@;W1H97)W
M:7-E+"!F;W(@86YY('-E<75E;F-E(&]F(')E<&5A=&5D(&QI;F5S("AI9&5N
M=&EC86P@=VEN9&]W(&YA;64@:V5Y+"`@:2YE+B!N;VXM=6YI<75E('=I;F1O
M=R!N86UE<RD@.@H[.R`@("`@($E&("`@=&AA="!N86UE(&ES('9A;&ED("AT
M:&5R92!I<R!S=&EL;"!A('=I;F1O=R!O9B!T:&%T(&YA;64I"CL[("`@("`@
M5$A%3B!L96%V92!T:&4@=VEN9&]W+6ED(&EN('!L86-E"CL[("`@("`@("`@
M("`H8VAA;F=I;F<@=&AE('1R86YS<"UC:&%R('-E<75E;F-E(&EN=&\@=&AE
M('-E<75E;F-E($-T;"U'/'=I;F1O=VED/@H[.R`@("`@("`@("`@('1O(&UA
M:V4@:70@9&ES86UB:6=U86)L92!B>2!S87=I;FQI<W0M<F%I<V4I"B`@("AG
M;W1O+6-H87(@*'!O:6YT+6UI;BDI"B`@("AS971Q('!R978M;F%M92`B!R(I
M(#L@;F]T92`@+2`@=V4@;75S="!U<V4@<V]M92!N86UE('1H870@8V]U;&0@
M;F5V97(@8F4@<F5T=7)N960@9G)O;2!S87=F:7-H"B`@("AS971Q('!R978M
M<F5P96%T960M;F%M92!N:6PI"B`@("AS971Q(&AI9VAL:6=H="UL:6YE;G5M
M(&YI;"D*("`@*'-E='$@;&]W;&EG:'0M;&EN96YU;2!N:6PI"B`@("AS971Q
M(&-U<G)E;G0M;&EN96YU;2`P*0H@("`H=VAI;&4@*')E+7-E87)C:"UF;W)W
M87)D("AC;VYC870@(EQ<*%Q<*B(@=')A;G-P+6-H87(@(EQ<*EQ<*5Q<*%LP
M+3E=*UQ<*2(I(&YI;"!T*0H@("`@("AS971Q(&-U<G)E;G0M;&EN96YU;2`H
M,2L@8W5R<F5N="UL:6YE;G5M*2D*("`@("`H<V5T<2!W:6YD;W=I9"`H;6%T
M8V@M<W1R:6YG+6YO+7!R;W!E<G1I97,@,BDI"B`@("`@*'-E='$@=VEN9&]W
M;G5M("AS=')I;F<M=&\M;G5M8F5R('=I;F1O=VED*2D*("`@("`H<V5T<2!S
M=&%R="UO9BUW:6YD;W=I9"US96-T:6]N("AM871C:"UB96=I;FYI;F<@,"DI
M"B`@("`@*'-E='$@96YD+6]F+7=I;F1O=VED+7-E8W1I;VX@*&UA=&-H+65N
M9"`P*2D*.SL@("!N;W1E(&AI9VAL:6=H="UW:6YD;W<@:68@:6X@969F96-T
M"B`@("`@*&-O;F0*("`@("`@*"AA;F0@:&EG:&QI9VAT+7=I;F1O=RUI9"`H
M/2!H:6=H;&EG:'0M=VEN9&]W+6ED('=I;F1O=VYU;2DI"B`@("`@("`H<V5T
M<2!H:6=H;&EG:'0M;&EN96YU;2!C=7)R96YT+6QI;F5N=6TI"B`@("`@*2D*
M.SL@("!N;W1E(&QO=VQI9VAT+7=I;F1O=R!I9B!I;B!E9F9E8W0*("`@("`H
M8V]N9`H@("`@("`H*&%N9"`H8F]U;F1P("=S87=I;FQI<W0M;&]W;&EG:'0M
M=VEN9&]W+6ED*2`H;G5M8F5R<"!S87=I;FQI<W0M;&]W;&EG:'0M=VEN9&]W
M+6ED*2`H/2!S87=I;FQI<W0M;&]W;&EG:'0M=VEN9&]W+6ED('=I;F1O=VYU
M;2DI"B`@("`@("`H<V5T<2!L;W=L:6=H="UL:6YE;G5M(&-U<G)E;G0M;&EN
M96YU;2D*("`@("`I*0H[.R`@(&%L=V%Y<R!D96QE=&4@=&AE('=I;F1O=VED
M('-E8W1I;VX@("T*.SL@("!T:&4@8V]R<F5S<&]N9&EN9R!C=&PM1R!S97%U
M96YC92!W:6QL(&)E(&EN<V5R=&5D(&]N(&YE>'0@;&]O<"!I9B!N965D960*
M("`@("`H9&5L971E+7)E9VEO;B!S=&%R="UO9BUW:6YD;W=I9"US96-T:6]N
M(&5N9"UO9BUW:6YD;W=I9"US96-T:6]N*0H@("`@("AS971Q('1E;7!O:6YT
M("AP;VEN="DI(#L@96YD(&]F(&-U<G)E;G0@=VEN9&]W+6YA;64*("`@("`H
M8F5G:6YN:6YG+6]F+6QI;F4I"B`@("`@*'-E='$@=VEN9&]W+6YA;64@*&)U
M9F9E<BUS=6)S=')I;F<@*'!O:6YT*2!S=&%R="UO9BUW:6YD;W=I9"US96-T
M:6]N*2D*("`@("`H8V]N9`H@("`@("`H*'-T<FEN9ST@=VEN9&]W+6YA;64@
M<')E=BUN86UE*0H@("`@("`@*'-E='$@8W5R<F5N="UR97!E871E9"UN86UE
M('0I"B`@("`@("D*("`@("`@*'0@(#L@96QS92!D:69F97)E;G0*("`@("`@
M("AS971Q(&-U<G)E;G0M<F5P96%T960M;F%M92!N:6PI"B`@("`@("`H<V5T
M<2!P<F5V+6YA;64@=VEN9&]W+6YA;64I"B`@("`@("D*("`@("`I"CL[("`@
M<V%V92!I=',@=VEN9&]W:60*("`@("`H<V5T<2!W:6YI9"UL:7-T("AC;VYS
M('=I;F1O=VYU;2!W:6YI9"UL:7-T*2D*.SL@("!I;G-E<G0@=VEN9&]W+6ED
M('-E<75E;F-E(&%T(&5N9"!O9B!P<F5D96-E<W-O<B!U;FQE<W,@:71S(&YA
M;64@=V%S(&1I<W1I;F-T(&9R;VT@:71S('!R961E8V5S<V]R(&%N9"!O=7)S
M"B`@("`@*&-O;F0*("`@("`@("@@*&]R('!R978M<F5P96%T960M;F%M92!C
M=7)R96YT+7)E<&5A=&5D+6YA;64I"B`@("`@("`@("AF;W)W87)D+6QI;F4@
M+3$I"B`@("`@("`@("AE;F0M;V8M;&EN92D*("`@("`@("`@*&EN<V5R="`H
M8V]N8V%T("('/"(@*&9O<FUA="`B)60B('!R961E8V5S<V]R+7=I;F1O=VED
M*2`B/B(I*0H@("`@("`@("`H9F]R=V%R9"UL:6YE(#$I"B`@("`@("`@("AE
M;F0M;V8M;&EN92D*("`@("`@("D*("`@("`I"B`@("`@*'-E='$@<')E=BUR
M97!E871E9"UN86UE(&-U<G)E;G0M<F5P96%T960M;F%M92D*("`@("`H<V5T
M<2!P<F5D96-E<W-O<BUW:6YD;W=I9"!W:6YD;W=N=6TI"B`@("D*("`@*&-O
M;F0*("`@("`H('!R978M<F5P96%T960M;F%M90H@("`@("`@*&5N9"UO9BUL
M:6YE*0H@("`@("`@*&EN<V5R="`H8V]N8V%T("('/"(@*&9O<FUA="`B)2XP
M9B(@<')E9&5C97-S;W(M=VEN9&]W:60I("(^(BDI"B`@("`@*0H@("`I"B`@
M("AM86MU;F)O=6YD("=S87=I;FQI<W0M=VEN9&]W+6ED<RD*("`@*&1E9G9A
M<B!S87=I;FQI<W0M=VEN9&]W+6ED<R`H=F-O;F-A="!W:6YI9"UL:7-T*2`B
M=F5C=&]R(&]F('-A=VEN;&ES="!W:6YD;W<@:61S(BD*.SL*.SL@<F5P;&%C
M92!E86-H('-E<75E;F-E(&]F('1H<F5E(&)A8VMS;&%S:&5S(&9O;&QO=V5D
M(&)Y(&1O=6)L92UQ=6]T92!B>2!A('-I;F=L92!D;W5B;&4M<75O=&4*("`@
M*&=O=&\M8VAA<B`H<&]I;G0M;6EN*2D*("`@*'=H:6QE("AS96%R8V@M9F]R
M=V%R9"`B7%Q<7%Q<7"(B(&YI;"!T*0H@("`@("AR97!L86-E+6UA=&-H(")<
M(B(@="!T(&YI;"D*("`@*0H[.R!R97!L86-E(&5A8V@@<V5Q=65N8V4@;V8@
M9F]U<B!B86-K<VQA<VAE<R!B>2!A('-I;F=L92!B86-K<VQA<V@*("`@*&=O
M=&\M8VAA<B`H<&]I;G0M;6EN*2D*("`@*'=H:6QE("AS96%R8V@M9F]R=V%R
M9"`B7%Q<7%Q<7%PB(&YI;"!T*0H@("`@("AR97!L86-E+6UA=&-H(")<7"(@
M="!T(&YI;"D*("`@*0H[.PH[.R!C:&]P(&]F9B!T:&4@<')E<&5N9&5D(&1A
M<V@M<W5F9FEC97,*("`@*&=O=&\M8VAA<B`H<&]I;G0M;6EN*2D*("`@*'=H
M:6QE("AR92US96%R8V@M9F]R=V%R9"`H8V]N8V%T(")>+BH@(B!T<F%N<W`M
M8VAA<B`B("(I(&YI;"!T*0H@("`@("AR97!L86-E+6UA=&-H("(B('0@="!N
M:6PI"B`@("D*.SL@<F5P;&%C92!E86-H('-E<75E;F-E(&]F('1W;R!T<F%N
M<W`M8VAA<G,@8GD@82!S:6YG;&4@=')A;G-P+6-H87(*("`@*&=O=&\M8VAA
M<B`H<&]I;G0M;6EN*2D*("`@*'=H:6QE("AS96%R8V@M9F]R=V%R9"`H8V]N
M8V%T('1R86YS<"UC:&%R('1R86YS<"UC:&%R*2!N:6P@="D*("`@("`H<F5P
M;&%C92UM871C:"!T<F%N<W`M8VAA<B!T('0@;FEL*0H@("`I"CL[("!A<'!L
M>2!L;W=L:6=H=&EN9R!I9B!T:&5R92!W87,@82!H:6=H;&EG:'1E9"!L:6YE
M(&]N('!R979I;W5S(&)U:6QD"CL[("!M:6YO<B!N;W1E("`M("!L;V=I8V%L
M;'D@=V4@<VAO=6QD(&YO="!A<'!L>2!A(&QO=VQI9VAT(&EF('1H97)E(&ES
M(&$@:&EG:&QI9VAT('1O(&)E(&%P<&QI960@=&\@=&AE('-A;64@;&EN92X*
M.SL@("`@("`@("`@("`@("`@(&AO=V5V97(L('1H:7,@:&%P<&5N<R!R87)E
M;'D@*'=H96X@<F4M<V5L96-T:6YG('-A;64@=VEN9&]W(&%S('=E('=E<F4@
M86QR96%D>2!O;BD*.SL@("`@("`@("`@("`@("`@(&%N9"!A9&1I;F<@=&AE
M(&-H96-K('-L;W=S(&1O=VX@86QL(')E9G)E<VAE<RP@(&%N9"!I<R!U;FYE
M8V5S<V%R>2!S:6YC92!T:&4@9F]L;&]W:6YG"CL[("`@("`@("`@("`@("`@
M("!A<'!L:6-A=&EO;B!O9B!H:6=H;&EG:'1I;F<@<&QA8V5S(&$@;F5W(&]V
M97)L87D@;VX@=&]P+@H@("`H8V]N9`H@("`@("AL;W=L:6=H="UL:6YE;G5M
M"B`@("`@("`H9V]T;RUL:6YE(&QO=VQI9VAT+6QI;F5N=6TI"B`@("`@("`@
M("`H8V]N9`H)("`@("@H<V5T<2!O=G)L>2`H;6%K92UO=F5R;&%Y("AP<F]G
M;B`H8F5G:6YN:6YG+6]F+6QI;F4I("AP;VEN="DI("AP<F]G;B`H96YD+6]F
M+6QI;F4I("AP;VEN="DI*2D*"2`@("`@("AO=F5R;&%Y+7!U="!O=G)L>2`G
M9F%C92`H;&ES="`H8V]N<R`G8F%C:V=R;W5N9"UC;VQO<B`H87)E9B!S87=I
M;FQI<W0M;&]W+6AI9V@M;&EG:'0@,"DI("AC;VYS("=F;W)E9W)O=6YD+6-O
M;&]R("AA<F5F('-A=VEN;&ES="UL;W<M:&EG:"UL:6=H="`Q*2DI*0H)("`I
M*0H@("`I*0H[.R`@87!P;'D@:&EG:&QI9VAT:6YG(&EF(')E<75E<W1E9`H@
M("`H;6%K=6YB;W5N9"`G<V%W:6YL:7-T+6QO=VQI9VAT+7=I;F1O=RUI9"D*
M("`@*&-O;F0*("`@("`H:&EG:&QI9VAT+6QI;F5N=6T*("`@("`@("AG;W1O
M+6QI;F4@:&EG:&QI9VAT+6QI;F5N=6TI"B`@("`@("`@("`H8V]N9`H)("`@
M("@H<V5T<2!O=G)L>2`H;6%K92UO=F5R;&%Y("AP<F]G;B`H8F5G:6YN:6YG
M+6]F+6QI;F4I("AP;VEN="DI("AP<F]G;B`H96YD+6]F+6QI;F4I("AP;VEN
M="DI*2D*"2`@("`@("AO=F5R;&%Y+7!U="!O=G)L>2`G9F%C92`H;&ES="`H
M8V]N<R`G8F%C:V=R;W5N9"UC;VQO<B`H87)E9B!S87=I;FQI<W0M;&]W+6AI
M9V@M;&EG:'0@,BDI("AC;VYS("=F;W)E9W)O=6YD+6-O;&]R("AA<F5F('-A
M=VEN;&ES="UL;W<M:&EG:"UL:6=H="`S*2DI*0H)("`@("`@*&1E9G9A<B!S
M87=I;FQI<W0M;&]W;&EG:'0M=VEN9&]W+6ED(&AI9VAL:6=H="UW:6YD;W<M
M:60I(#L@9F]R(&QO=RUL:6=H=&EN9PH)("`I*0H@("`I*0HI*2D*````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
>````````````````````````````````````````
`
end

package components Edit

  • sawinlist.el: the emacs functions that interface with sawfish (using sawfish-client command)
  • sawlist.el: example of user's own load file to run in the emacs frame to initialise the sawinlist
  • sawinlist.readme: this file

Installation and Operation Edit

Installation Edit

  • Put sawinlist.el somewhere in your emacs load-path.
  • Put sawlist.el anywhere that can be accessed (e.g. in your home)
  • Customize sawlist.el as desired (see instructions in example)

Testing Edit

Verify that the sawfish-client command is available and works in your environment - try running this command:

sawfish-client -e "(let ((winlist (managed-windows)) tcar tcdr (repout \"\`\") temp) (setq tcdr winlist) (while (setq tcar (car tcdr)) (setq tcdr (cdr tcdr)) (setq temp (prin1-to-string (window-name tcar))) (setq repout (concat repout (substring temp 1 (1- (length temp))) \"\`\"))) (princ repout))" | tr "\`" "\n"

It should return a list of all windows managed by sawfish (sawinlist.el uses this command to build its list)

Usage Edit

Start the emacs frame by running an emacs command such as

emacs --geometry=26x64+6+6 --name=sawinlist --title=sawinlist -ms "#146a2b" -cr red -fn "6x13" -bg "#E0EDED" -fg "#751503" -q -load sawlist.el </dev/null &

(where all the options except for the -load sawlist.el are optional and whatever you wish)

If you used the example's key bindings, then:

  • right-clicking at the end of the buffer refreshes it
    • N.B.: do this first if there are any emacs forms in the buffer - nothing happens if the buffer content is not a valid list of window names!
  • right-clicking on any window-name line raises it

Miscellaneous notes Edit

Window names are displayed one per line, sorted alphabetically on their names; Exception to sort-sequence - any name ending in "- [- a-zA-Z0-9_.:]+" (dash, space, stuff) will have this suffix prepended as prefix to the sort key (only for sorting purposes). This is in order to try to keep those windows from jumping around in the buffer, since in many cases, especially web browsers, the name changes frequently but the suffix remains constant, e.g. "sawfish - Google Search - Google Chrome"

Any non-printable characters in range octal 000-037 (i.e. the ascii control characters) in a window name will appear as the sequence ^G[octal-sequence] (control-G followed by octal-read-syntax in square-brackets) note that this includes ^G itself and ^J (linefeed)

If a subset of windows all have the same name, the suffix ^G<windowid> is appended to disambiguate, where <windowid> is angle-bracket followed by sawfish's internal window id followed by angle-bracket. In this case, there is a feature which may sometimes be useful - the ^G<windowid> suffix may be removed (by simply editing the name in the buffer) before right-clicking, in which case sawinlist will select the most recently created with that name.

Bug/feature - the window list is refreshed only when you click in the sawinlist window, not continuously. So sawinlist does not "notice" new/changed windows until after the next click. However, if a window name changes and you then click on the (old) name, then provided there is no new window with the old name, sawinlist will still raise the correct window, as it first tries to find the window by name, and then if that fails, by window id, which remains unchanged.

The only window-manger currently (July 2011) implemented is "raise" (activate-window sawfish function); others could easily be implemented if desired.

See also Edit

Also on Fandom

Random Wiki