autossh-1.4e-lp150.1.4 >  A Z|/=„"m%͕hKm,h^ȋlim49-KF)~,l&)2%$ʽLLj}q(4DNwi0{_ >l5۔rvI@,x`ʱDAiDԱ;T/ I_#aBc?׿ثTY >zE|DW#i_/3y3+7|9]i tjP Tc3VA[bc9cfbbabf89214e429bb97af59fd62b9517510419c37db94ef5b93ec29f589b41262549a50d88c4746a51dd8c4f021b2ca4c98b8Z|/=„m`,8T˽ أ 橙AK!F4ub .Yo-WR%r(8.0BD+C3 <77#{|*GgI먂S[^wb^{W74%C(3m4 @LJ?F4iFO{z6/FexkTƊH۬Vb{ςrMNPۘ=-_`m5KiZUj_x?kӵuU '7Bdt>pF$?$d   H +4A [w     .  D  p      3 j l(89:)=.>6?>@FFNG` H I XY\ ]  ^ b!c!d"e"f"l"u", v"Xw# x# y$z$0$@$D$J$Cautossh1.4elp150.1.4Automatically restart SSH sessions and tunnelsAutossh is a program to start a copy of ssh and monitor it, restarting it as necessary should it die or stop passing traffic. The idea and the mechanism are from rstunnel (Reliable SSH Tunnel), but implemented in C. The author's view is that it is not as fiddly as rstunnel to get to work. Connection monitoring using a loop of port forwardings. Backs off on rate of connection attempts when experiencing rapid failures such as connection refused.Z@lamb01։openSUSE Leap 15.0openSUSEBSD-3-Clausehttps://bugs.opensuse.orgProductivity/Networking/SSHhttp://www.harding.motd.ca/autossh/linuxx86_64 test -n "$FIRST_ARG" || FIRST_ARG="$1" # disable migration if initial install under systemd [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$FIRST_ARG" -eq 1 ]; then for service in autossh.service ; do sysv_service="${service%.*}" touch "/var/lib/systemd/migrated/$sysv_service" || : done else for service in autossh.service ; do # The tag file might have been left by a preceding # update (see 1059627) rm -f "/run/rpm-autossh-update-$service-new-in-upgrade" if [ ! -e "/usr/lib/systemd/system/$service" ]; then touch "/run/rpm-autossh-update-$service-new-in-upgrade" fi done for service in autossh.service ; do sysv_service="${service%.*}" if [ -e /var/lib/systemd/migrated/$sysv_service ]; then continue fi if [ ! -x /usr/sbin/systemd-sysv-convert ]; then continue fi /usr/sbin/systemd-sysv-convert --save $sysv_service || : done fi test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" -a -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -eq 1 ]; then if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl preset autossh.service || : fi elif [ "$FIRST_ARG" -gt 1 ]; then for service in autossh.service ; do if [ ! -e "/run/rpm-autossh-update-$service-new-in-upgrade" ]; then continue fi rm -f "/run/rpm-autossh-update-$service-new-in-upgrade" if [ ! -x /usr/bin/systemctl ]; then continue fi /usr/bin/systemctl preset "$service" || : done for service in autossh.service ; do sysv_service=${service%.*} if [ -e /var/lib/systemd/migrated/$sysv_service ]; then continue fi if [ ! -x /usr/sbin/systemd-sysv-convert ]; then continue fi /usr/sbin/systemd-sysv-convert --apply $sysv_service || : touch /var/lib/systemd/migrated/$sysv_service || : done fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable autossh.service || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_STOP_ON_REMOVAL" && . /etc/sysconfig/services test "$DISABLE_STOP_ON_REMOVAL" = yes -o \ "$DISABLE_STOP_ON_REMOVAL" = 1 && exit 0 /usr/bin/systemctl stop autossh.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_RESTART_ON_UPDATE" && . /etc/sysconfig/services test "$DISABLE_RESTART_ON_UPDATE" = yes -o \ "$DISABLE_RESTART_ON_UPDATE" = 1 && exit 0 /usr/bin/systemctl try-restart autossh.service ) || : fi else # package uninstall for service in autossh.service ; do sysv_service="${service%.*}" rm -f "/var/lib/systemd/migrated/$sysv_service" || : done if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi fij$v'k$A큤큤큤Z|Z|Z|Z|TٌTٌZ|yTٌZ|yTٌZ|638464e6dc2e932fe32f674ce1750633903171806a344e45191321547dd28df1f6f366a06deb2de3415cb369cfc5ed3c9a2acdfb26b8cf7a3faf98f569281af285cbbb13390f61262d811493e5c107d0c2ba31ff369be93605107422b38f49406d2c8df39dccb48ec34d0e8f37a46b14eabce9616103e94ed8ed107163dc0a521234194fad9c5ab573133d4841eab4dbd15b01759cca0d9be2c0c117f63da5611a2d64c78cd3c9cbfab538c2a8f54608e54a0847050cf12204d3da30f6b9b8137c6595ed45e665ae52d677804866a85569962052c7b13b89ea84982a6e740232845eb18c45f2a32ca16e573606dba2bd1b502697cd38cddf1caa5e207aae1703411503025ba086db0b0d38ceed6f41acc3e0e2c7d432fdcd18ca176396fdfee8servicerootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootautossh-1.4e-lp150.1.4.src.rpmautosshautossh(x86-64) @@@@@@    /bin/sh/bin/sh/bin/sh/bin/shlibc.so.6()(64bit)libc.so.6(GLIBC_2.11)(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)opensshrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)systemdsystemdsystemdsystemd3.0.4-14.6.0-14.0-15.2-14.14.1Z@U@US 12.2- support a custom count of instances- add functions to init script for controling autossh instances- change first autossh channel configuration key to the old one to make package update seemless- support upto 10 autossh instances- updated copyright year- updated autossh configuration options- license update: BSD-3-Clause See fakepoll.h (BSD-4-Clause with UCB clarification). There is no GPL in this package- added insserv_cleanup macro- added SysV-style initscript and configuration file fillup template- a ssh connection watch daemon/bin/sh/bin/sh/bin/sh/bin/shlamb01 1511438400 1.4e-lp150.1.41.4e-lp150.1.4autosshautossh@.servicercautosshautosshCHANGESREADMEREADME.SUSE.mdautossh.hostmy.confrscreenautossh.1.gz/usr/bin//usr/lib/systemd/system//usr/sbin//usr/share/doc/packages//usr/share/doc/packages/autossh//usr/share/man/man1/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Leap:15.0/standard/74e1088df1bf808bbf3bcc067feada51-autosshcpioxz5x86_64-suse-linuxELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=a45191007bbb0ad4d5dbf5167ce8c6eff5e0f145, strippedASCII textdirectoryPOSIX shell script, ASCII text executabletroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)RRR RRRT+[ڗk*utf-8a57bbc53b863d06ce3e8d64071d3a5c70da3950e92e9221fe5f192010af0971b?7zXZ !t/sY] crv9uo2eOtḻxdf=D\%忌j{VJȞeFI4x,1V60Q_u!_nh,sЭ)cYECrqb5&<S);.xBD租T gRyBìrJWsY/"7ϾFʶ[hpF^)?;# H!y"ծ[9 7)N;aZh v[hweKp3M+ csnvj@k7V9]M'Ju!t2:z}6u7֟J}GD4~ N>,kûa=Gjԩ8JC JbGH:iitǯjP \&RD4]P@Ot K)Hѭ]C$U(*P"y&-.-4H)2nDMJ&{Ul?hAE+/S!gp 7xF>+V@(S+Jj}݂]I۸4 v#ЛgXRf5Dm~&ۤ3E`#v|.R3֑|>~ebiI Vxg\bI Gț4*Ҙۑ'IXSc69'dՄP̑ Rm't}=5ۅXGN |j}g@ip48+!k&7 č+.$չtoaY_eA.O/* thN wE߭{DaLi1] D/Ii?d/a۞&rqJrtBq(VM> xAKи-8+ގK{PݻWP;c@]]eF#oۅtRbDxnƶCyS'<8m6~&Fl%qؘͩfєܼـ7ved +2OMWz;Bb @ ~*:i=Qiai _MT~],ֻLchՌLFM# dҒ<什K d7DL&d#Bb3VXD>ZM^LlG4rpf"\[WD:?Sm`(`G/='a0iߕuR2Rt:E'H#[ O 6~ i>} y0hP?t"9F%.$%䜜*W%`޷r0A:K9ViF5 [^c9'ċ7$ΪF5V!}Y]6xĽga-6A~h$51oB_m4pkuiYдu2  KhjǎnwpIV/5i zq"7cXi 1o]Yt:ҵ9vkYvrJ>G//qۼ9ǡxz-K 2_a>r/%$x 8)᫩=rlGiGf5*:E:pV4E`io$qn8W%'8YqDbuT g;f?>VGMͦFzA?ЦeG@(vf>vtL=%¸1M=!rA̛TBX<,Y \>oP/@V8jU -˘6+eIQ 7 )W1 :Bti m#+ E.SxسUk"cŌ;ʼnK~%t*hqKi1/l_V\;'|s's%Ҵ9|%B:ga*͜٥1&{US2> Fw+\78"KH ,}8t(J&}Ӟffk&?-ߋLb jD ~KHG܅:IR8kh\Z eDϥ ;;!뚙(%tXahhVk*X1^I^ܦ8j:-cӻ߰L w1D+[C@BQ#!;y" tc>Ķe/cJ>3TMF׃n<鐕D.y9b[hM } ?rP3g=rvCQUobed'v@2 HzE,}˦}|S? n|6짆MC rc vh:"V _ŧf"mjx ąɻ1x5t1"fo+q.LcUmūg|y'EɁS7Al Ӑ / ;mҝnW 84sS*ص*EAjT 5>4SHljS# :0u+UhәC 5Sd|v`8XfiK -}#DЬ&6ˌfdDW\. †XCMY 1Ș\xTKPݗ9LPgq{6/@Cf 0?Wj'Q/^}>0<\r#scD 4`:<ʣʳF@1d/ʽLS= &bPY5e1 B[+E..~&=0IjCE1``+Q$"M{* ){{(!En˯}[QX R|I)zvatzlsXGa͌JFCu[np֗LĕL8x * VIj't8L}]b$`W;:KI_4KLɏ!z}~ݨh[- | 6Ӛ{'[44%;+ y-jk^O~qXi0Jסx~ս+#Vyngzl6v}ENjupnXroF*ԐJߡQRJx=5$R\nYQhQd篚+ /(Ā~/ c:S3_G6?n6_`̂(`{H/ofMxv(Ky3Wclʔ>bP夆Z:}],f"Y[p>7C|sPAo$'Bo&#͂=}RFiò,9P_w(|L;n^Ub2͈ZV9srre%2!AiD*q!zD''wL$i .6'T}\GEtkS:lKDpX5ۻIп",t[Ӷ,Bv2cVJWqxNM]hBn1fئdQ(n ZRK8T3XԸ,v 5_#І>&!{_D_AAϴ: H2N[xsqMi\KRK ~zR[t+9򦡐KX )5}%"$/GX&pt^+ ΚI7'3״܌crK ΍D[$QE^Ԗh/ IilP5(VoN>5RFjuWal{֫aRf.~zR03'?W#J #M2~KωbpWB'&X4ŷnUYTʖC4TzMU-_ +WVN8瑟 pEfuK-z0m0XO !,?z%j{yEz:2B'M\eSKD >ZHwe8 UO܈KmMO7=JG0,]?(cPI)*(KQIL l*cCp?qҺSϖ+c墼~ *j2wShj;Y?̰!1kNVfH 'rt Ȩ\nu3hΗҙM4Ni¶pC4bceњBVg&8.&tuچVl|! cb{hHkrݶd•0uUG*4hj^& r/Fљ&Z_Vq@ps*pn+gyi Pz=$TStfVh7oŖ6悆DH @OBۗxs3\~Z8%O R0>B9$ 1\k ~49kqH 8[YղԷA ax_YA孢.lPg%jBvB7Ce=e[F/y2sƔlK~ Ix+`m> OJ^D薭Ů_Ïm*HAÌl}Jy: ~z? &p#9ҟ[ XY]j.Y`8NÇ g N. 2j̞NPĕ%Nށ^k4C0e^&S2:wP<|pg2qEpYƫ@)ىati+{=g qȶXDfQګç#(>9,fRpMFg #4MCTw/ki[q)$[6oxQ(tx` !צnVQ.Gp)QI#Դ64{ SapO}NaĪ|2]o3P 8!Ե{_yhO.CZ[x3iHޥf-])!2pG -:pcw4R n򓪾qL`΃ 0 WrK b7Cj H"K-rрN:kj@4k!LgDЄs+aШ-gÌ 湬=Ή6td!쑨r{4[ļ}(zO30Z![mkT63B-K'10ϡiك /=Ww Xj@F4{GOW<6i' Y0ȥCQz#y̔](~$~OЂiiׅw @=Beu]y`!Ado5L2̣Y$(N_ez,96$!mǘ* Ӊ/24kc~:cta;Ǣ{Q6Wi5#8A{$mLoԜц|pJrZIAb7&\p#&[O ^ iP3!{`HnTT|AO.JʦV+0c:?rܺ,ޖwղd~z GƝYLH5ź\OugDg`ǶH0E򬘾|g:MlB?ĵ\)SLe?%aRS~ n-կ=W IE53߭1 'B%pώQ{%.%I _{ӵ 0FDag1z9rZ ]Wd:&ΦP{AA"ۃY;sm~U_UMh{J"P)()}kK6WO]ȟ]EtMcppca6xqF5dǴpd])rBv 2ۧ|UBG2{r-6Gͻ_f[&(NًtOC<,pKh LZ]ówq}Vްy~uk{ 1U:fv~?0qNVˌ O5n, J!Ai4 8ZEX{x@UK~)$Ʈhb:+*V;X8]NL5)0(gn})?C NP@>=|bh=ݹ)>dk‹Tr{y8yXѭۑgKRDԣh3A23C4Y;OczYqwè@)mp)rPdo_M^Y ʌK{Ŋ s ɯݪ_iQv,i%)|~o[}g5F E0g['`Q0rDnS7,@-xK0ݼ7d\HuJ[YAóC}-5Mw[DFrFŘvA5h@92G8M>;xs G2lxH@ ={Km5P=A-Ku&B{;DڎR<(E9]]zC >L(8p h&I(\'S^ Q53MhFd6(ENZy$3X+lـ1i0[I:IM};Lh%beAh{ܛvs``wozb CoI|hrpem2C($xc *32: LYn2ڻf.9Nqx>zgdj&2yn`Uf*Ԉ}>T6b}9qWL\oԅU ˽xdfV9  &l|MƘny݉` @inZm!a1>ה=fjd77Y);6șHo>#,\Z#Snh7 Bqnj'߇JaɟBMVܞp M?Lv^{0Ӥ!BAh5fVRуKMLp#vWTv!nӹdK+Ngp!pCG)0<@]tme(͠ߨ}C5Up"/U0)tdo?Q2I8 Lk4-T D*Ze2pU4u>WMxK};(0302YrZ֩וП58e'nfJo@e36a %H`Shz8܉ss}qsT_S/){83Ɉc(jߐz?IQ:#D}r_gYnh5ݨP:ԪO3茖1Etc hgy\? .or]53,|'(0_t TFB#? 1ϒPqab32";xgV #?Wuͪms0aXY8$d섩!R0^qIftyGgMϞ/UʕЎ QnOڗWX}eoi/]n[%;4%@3~Jhcj[tI:ZiY+SEӖb˷:W9L۱DOȍzf Rb!Gl(0Qe].,_5ϻ͝1bђA?C-dePXr͘cpߣfarPT"gdz~tYj gDׄ\}fdKZٝ֒Cc~Z Is: \P9|گƧed(W c~c~gڹnfW)jrPTYv؊rDK ,Wּݢ]*gYÙd,[+x'n0XOTrj燹pp ZF܋3P.Cw8,2"^g} @ЭĿƾB(y+rD5zI*)\XA S= >CP\pImC)!Ё*iXiq[?6=o_T ctL_JyGf}_âjIZ'=@מZwvuhH8Z;, ->M-_z;DVyf1GxCy5O h)clnvhAj ~\EK2l-(T-JY'ņw҉|`.a/tIWsX+|b'oܦ ~fGIa?F;,`Iꦱ5*BݼΖΨLy5}#“H/߲'ҥ=2x.v|W&L77~ #'!˷,Y5E{@{˷$WS(gĕ43( "5(XӛrH_-ń+Fߩ"-.藀æqGCZ[ oIT?_aG,ct~h'81 4  xy4i$+h<>ga'q'3CrKW8o\Ģ"_I ^0&N)!7pfӍlafE&mkauΌ#6ٿjڣiFG.6 K`nn]AV}=.wNeп)\VOb(MVoAX {L!730{1ڝ+HY<а <;ߜq)r{/ et `VT. Le z̘xDoP dKކ!6% ;eEmBY{W. [n%C3(N~v=j Gc"*9:f~#pm\ ?ABȑǚ@H!?p͕VzTx}Ssd2~uz[1/ TO'޻|MGDuf66yB90V&3$B"[Pw-u R~(QM M qаF9SuH4>v\~kvۈ~4-+@@BGy B4Hؔ[Q83ֈl3𿄙P&DrDlygA4.Ap%d&nоCP;޾Y$ 4tu #{EvM [)M5Qa-Qu"|bcdֿ{Rg_OuOXظUƐ䰅}"C[S sv ! o)s5{eQjS#sa/#u_ "#Clsؙ( /zmJ"Ooj2~J\|6jTVM{=&ø:YxjmD9]3!- f#n~,-GMDClP+$j۲GR̟ZhmwB?M%9(b<O~CF|*Q^3XzCSsCEMeAdbǝl';G8}(VQɀ Nli4?)Ҽ-;oG g jdFL%jpXMvx q׈4T=^Y Na;3<"J<ֶ6|j4j{$?7:YU xWj#ZxTCzm*#ðϤɦC4O'UY9IM.2 L"*T Ū(_*y$jYj^mL/l9ԳT!{U+fcՇkVWL {Zpl>T7$}4,2%4 |D|B /G\kڌ ٠> "[6D\4b]p nJd&+r.eSMR\Vfi[Ho '2 [&?pׇh9]e ]^qC^tQ_z G>da.b_p:a&\`*G'0Q8wؑATSjc%jc%O Fr~K`\{zN7ߗ<0`O(B8'Q"f5 %kqj!WnH e e\0y(Tv5{C*f<0}R)PXcOع}eVݑWC/= b<:yQP6 %ĔE. qfH/[) k#>:m*uSn[@?qmܭ<h,pV4TAR|$E{#[Dp\A(~2M@⨀:f0"ǖ$wa½hK8 ~[F|Y꧒ek1v>Ip)|)).xQQzOAJZ3:x6~PlWJ̦@g+} "ֳrK/.*;Wɠybqт0ns;_ҳK}ߧ-]Z^܃MqWj4~"+[6$)g4[ھ@ 3a@~dy-޳% P1=](hQ lo޹GzHŋsĮiaC*[SQsCW66V0r&^,UK#?u0XNLXJP)d̕}$O..ѝ !d 6DZF M0.() %͕Kհ0N/ѿiTwD)J6u,rIv̂1N~րл)L>zhu X<-NQ Nb@ɣm'wֈlQpF"M̓EEڶJY5WuD`)R}ֺ.o +'nNm]w/L*x&]1'1ivߎS9@$#`$  ]Y5#ŞP#Kpj#KAwjdc4PX{3"ĔUԷIbyk|L`Fƶ~̉}c,x;ߠ:]@̇0a}߮U&#ަ3jxLޢběz@v̂pSB1N懣u$j~F}#F`ƊNv-Kt9'@8̋B\ ; #71ojg^J~t>tj_w?nA'h{ A(ǺO~@>G ^[CzT'*[)%rR',zgh; T_S:3>3dO T@qR).q(cwv :_R)G9[Cqpe8A=dDj9M ݥB]K}E!/+~ey6`\pFI%ss@qo S~4``˥Bf]S1C\Xaҏ i7}$d&?&^/'HޱuZɞ?YvITtOW{,GBSUHW0ey5X咬Ɗm{C\hܿcn=YsN{RG$

qzj&$X`rcA-k6[|]TTD$ SVHj B"EÓ'V"Uם+ O[Ӈlvo$MK,śY~1y] .!%[r%3fۂb?h4Ws p^K5vUIkrE3bq?0w,bb>qwE:avҜ٣M"­}}AErqUr7#jAbzw EnR7-߇2CjSђ%M$\ 9OmqN< Yӊ-!u|'byލV*~zȮs9DRe&ņ~QX+m<;ц3[nO6n?xR| u 8vf&JeEo) R}NP: .Z"r&|{'uaC%eT'7/Hc.ZcmƗik+TW|dѲǦ]8#ظkm.&7v/E6NkoOW*1V.4mSwKn/sC$vsI!"8/ HgI+faZtBX ~h:[M<<>c%^i^|TD/n3ǵic_#P\ )m0g:, 8">8=`dZbY\ J&uCd&P T].w&@@ҌS>%B jBVkʺib(M|MhS5A+9a|^srAZj{8Z]t~hg2ԸE R%54lI*}Sg`c}NHhʗBZ8X.+H[YSh[8GMx V528YE([V-J%)M OqY,kK+3# F{F/jI| E?xD +ͦ*A[dB((_f \i"@OqMrBmܴrQZzE b* >"E?gPۨ.౤oţLJv#im2T8vl82v@K6,-R:^I$ã'$!/[DpL5P P;{q*',^QCNR68[KrO'HP1 :kkw/J,G*_ӔPY W )*C;ϐ&+GR31T/&*QWM)$'-, &"'Grz«XX+tn?p3d'—v.xx} Z(,bRXw@sP#'VEnB%)}Qbn#/,D]Q8;QXPmZX}գ'TKqI%4JAuRj@!ltLzy!|IbLۛĶs,̀ZdE'~ȟ<$t(ba:ط"b~!+ K1˄܌\^,$"RmSqc( >y8XtmlŰTP#Ȕb$ ŔL6j(}FxB$IOhWfwY|+5oLα`%Kj긇#ϓwo ٸGu\^#!7/Zi'=ho\EīC!ȉ#ÝPjwa%蠲b =m5~&mj=^R1 Fpg e% 78'x}lKBr?UORÀ"+Id!AKhSfzd3; hu;:C?0^_izc^G8'#(I+(NdS#P>4:<` Lr sIWR@K#Hf@WR$ V<46=upB͑5Sn0LI[aF `' 2X٩ȗQm"zu] i.sd3 YZ