# point                                       (1634)
#    - x                                            
#    - y                                            
#    - r                                            
#    - t                                            
# add                                         (1528)
# invert                                      (1521)
# orbit                                       (6098)
# rotate                                      (1462)
# scale                                       (1464)
#
{{{wS_w{Qx[sJMh{LSgKzMpz^[M{qxMB{uHRpCcqXRM{Yv>SyXLsQlUzo{scq[syrIq<lSccs{yl?SQ
bysKErIlEyL<[qA{{y^jcNOkAAL`cTpm[bWJu[qc{{yPEQzYyztFNYdEStB[L>ShqT[yU{{wC[kESy=
QSTFNU{Qb?=Ycmvt>[HphSyU[pYwkFgkC{ysqTFL>vYE[fDAh<v\RZn>Shpe[sYwqnt\=xxAyPiYngP
>LaScVZBYetblBz[Chr[HyXsptjMmIoLcqrkQa\W\YzxJ[`^Mq`eSf>@RlBd>Z[[@CG`XC>hYuxmYYl
XGo{qywkFkzOy>JZFcC\uSt?@lPx?lXFf]eY[qdEYRRvwfYsoQskSG^=qCy[vc{z\K`\UmnCWKURfBB
ualOsp[lkKk=Wm]QyrJXsptjMms^[yCuxCPUz[C{^DzNEmgKkdWjk@SS[YT>vwfYaAUMK=FYipLXjMl
XFx{Z[clD[<[s^D[<[qC{m{w<{]yQSXvvvjRN[xRSnK=Wm]QlimYvfRyVK=lffBLQK[D[<[<RUx{[<R
Uyt]z[CP[{cunlWUopGfvkfxCqsSkKyeMRPOmFOFAyfgRzyMRfBBtzSxg<RUbTBLQK[BTCoyvCnCyt]
z[KqC`sM{PqVkfzg]ftKmoSApJcU[C>sAsjJwEXpf{<sSfz]jvyq{Xd<U\Tf<zSxfF\LQK[LApAoyvC
nCgytchY[y[U[zg]ftVjBg]{YbZd[Q\pnSFOFAyiEYGOX<NPeqaIESXvvvjAyXdddf<Aq{Xd<<Ka{Fb
Te=Pyy<SLNkoy{{\{kRoQuk{YDVjBg]ftVi=[fiYASk{H_Ortwhay\p\uqNBQvxw\Xy>vjgvjyQfPf\
=[SFFGY[sF<>d_u[nebGfu=Pyx[cs{vZoNZjLc[sygtBg]flVhBfEylalV{L`yy`JXSiEYGOW??\mTe
LyZHaAQIRgvkftVj_s{Np?qReNfAyXddd?Y[sF<>d]ftzSxf]x]y{qB[`chh<zlcNfkF{PzBg=f]f]g
HRtCKNKrOnLu<mW[TIDJYQLA<rz_?MlUcU[zg]ftVjBgi[{YI<>K[yGLKQVaFdAyXddd>BgsSyn\@=Y
=DO{ZE`{O<WXXhGtCS<[nBglVdV]fBdEK?wCLOyk<qdIiO??\mTeTPansJUPzW{sNBg]ftVjBgAO{[r
klI[{YI<>K[yGLKQVaFdBk=[SFFFU^_O{Ks{SzizCBNyOwgrvwc^x=fB]dUtqzE^HXCtrkJXti<P?Wy
KQvcgUW=>Y{[rk\VjBg=flVjOxfgnkq{]P{sygx?S{sOL<_s{Np<WByQfPf^d\pzLQK[[yCux=mnKvc
=fxj>cgpg{XkTVBB<>gyaInSdNcWpQXhUTPa{eLGQCNQuFHEpfgnkqK]flVdVdVy^ylYX={DYny`{Ff
xgy[tQKy{V{<q{ypp<={Dy{pi<<\pzKa{Fcux>ClC_uK{{cZaXFvcNj>nxfl>b]\=CpmFxCYYGsHRkO
\SpyRzvtN^ODk{G>z=qlCx]fxBfBdV]kZpgtyYjjxfmSCTkXCS<[nCXkUKnfkF{SzAO{[rkl<LGS{sO
L<<piY[sF<D[<[<RU{zsPUz[JwsIYvkJKfyFx=oMlHfNoC_uYMmud_zrwi[fP>owfoLdC?GoNKPzvyj
jutk<V]dVBwmlGgnvfZkNk\VgssiFzKSWgkFhQmrGs=qlCx]sGrOxfgnkq{\AO{[rkl<n][SFFG<RUb
TCqC{us^D[<ZkX?flFZBg]wdVkMSWkJTHvx@RlJxPYldcYcEMHGKhtOKoqPVRqgJdC=fxj>cgpg{XkT
VBBAlJDgqlg]Mpg\hkKVfVwmlGgnvfZkNk\VgssiFzKSWgkFhQmrGs=qlCx]sGrOxfgnkq{\HyQfPfb
TBF]s^Cux{KslAbVjJ[]^cLVk{mdVj<FXjJCh=D\Nblk[zHa\qsVU<NzwI?KHO=QGB_QWQYvQlgfYFt
GGng<FVB<?cuNyYvjjKfyIXGg]MqlJDgqlg]Mpg\hkKVfVwmlGgnvfZkNk\VgssiFzKSWgkFhQmrGs=
qlCx]sGsdy{pi<F\=oyvCnCg`AOsmb=vjyenxttVh[cm^BgPZgw{tPzet?yzyn=H]YPq<oxyMdQ?GQN
\g`qUOkXqsfxtzgpglCIC<yen>kNc]fx{VBgpGrgbyU?cuNyYvjjKfyIXGg]MqlJDgqlg]Mpg\hkKVf
VwmlGgnvfZkNk\VgssiFzKSWgkFhQl>i[{YI<<==Pyy<SLNjKa{F^d=ftsraG]wdVfCnCz=focVjjuz
[m]FettTQhll`JSJn`xmHAFpdiD<Q?aLS<vh>c]ftZvBgpQrwobIyeRg]MpBg]{elVjAFYfvwozyen>
kNc]fx{VBgpGrgbyU?cuNyYvjjKfyIXGg]MqlJDgqlg]Mpg\hkKVfVwmlGgnvfZkNk\Vgr=P{sygx<z
SxfU^vkY[sF<<=fy{mK^k{mdVlApA{]fCc]fuMZ]x=[_<dR_vp=j=@RPPaLnoFFUg@i@_ctTepBg{xV
Bg\>cG_]wS{@z=fvttVh[cq^Bg=MtVjPS]{hIyeRg]MpBg]{elVjAFYfvwozyen>kNc]fx{VBgpGrgb
yU?cuNyYvjjKfyIXGg]MqlJDgqlg]Mpg\hkKVfW`{Ffxgy[uY[sF<>d]ftSqn^^]gp{?rdwfuz[BDVU
^cuxB{zVBg]_x=Z[[Dq=Lcu]aa`GN^lCoIR`vyenxttVh[cm^BgPZgw{tOxKV_dVkKr]fd[DZZ]fqc=
ftTz[ctS{@z=fvttVh[cq^Bg=MtVjPS]{hIyeRg]MpBg]{elVjAFYfvwozyen>kNc]fx{VBgpGrgbyU
?cuNyYvjjKfyIXGg]MsTkXCS<[nCXk=[SFFF<]fwqReNfBl^GJdD=dVj]x]{\TfFCrC]cu{ulVh__bT
\Ny>XFHSoHCP>bYHbVcjz_[VPjCj]fd[D[tBgJYfvwcuzDhv\\B]fl[vXBh=Y=[tBhzZBgDtvClAx{?
rdvBgoydVfCnCcdViUlVjBKcuzA{mK\VjjJBgCuyT]flPZBgaAt[w?[VQftPY=ft[vXBg]NcVjjx{kV
X\gpetVkKr]fy>yfukRSZpgtyYjjxfmS?qReNf=gnK[yGL=rXBo^=fx=Y=[t<H=THLD[T[[v<VhmxF_
KQYqKYQDFkoDUoDYUwsa{mK^k{mdVlApA{]fCc]fuMZ]x=ZXBo^=fcuyT]ebF[clVC{b]foCp=Z[>GJ
dD=dVhCzc=g<SLSz=gKc]fnJJ]x=[KlyfJ]fx{VBf]x]uvBgRXBg]_uz[][xOtBgg_]fmz[RDVhAC]f
uMZCzlsraVjACLVjCzc=ftPerggkKwkC<jkGfevyFz=fkVK[yGL=hWS{sOL<=bcTN=fmbF[clU\lA]E
Uz[LV_EF=xtfKm{h>dmIHbXoNjyYTwYoxKV_jgcuxT]ebF[clW{udVjBKlAuyer@\Vd[DZZ]^dd[TZB
[c{c=fH`ebD@c=ht\Vez[RDVU^cuxB]{udVhmy<Scl^of><VBg={elVlApA{\VoutVh__d[<SoxKV_d
VkKr]fd[DZZ]fqc=ftTz[ctS{@z=fvttVh[cq^Bg=MtVjPS]{iX?^FyXFtPYFtGGorfbi[{YI<<[mP{
sygx>YfOLVdfFCla^jU]`]x=zB\m\<nXJBEeHatDUoHD<=YTwpAyy>GJdD=dVj]x]{\TfFCrC]cu{ul
Vh__bT\OreI=h=Y=[t<?<R?@>CrCsz`B\m^drcTN=f]x]uvBF^]y]tUz[zXBdnNbT\NXBo^=fcuyT]e
bF[clVC{b]foCp=Z[>GJdD=dVhCzc=g<SLSz=gKc]fnJJ]x=[KlyfJ]fx{VBf]x]uvBgRXBg]_uz[\J
[aGqsfvtzgpqljjACAO{[rkl<LJOxfgnkq{\eHf<V\H=Vb<<fC<RUvCRHod{\lFD`oN]aa]YUasQTXB
o^=fx=Y=[t<H=THLD[T[[v<VhmxF_FOF\BU^cuxBTH=TNR[cp=q\CyfOLW<SLSz<<lA\m<]y]y{e=dH
TfIer@\Vd[DZZ]^dd[TZB[c{c=fH`ebD@c=ht\Vez[RDVU^cuxB]{udVhmy<Scl^of><VBg={elVlAp
A{\VoutVh__d[<SkVX\gpetVkKr]fy>yfukRROxfgnkq{\Y^ylYX={DYnyF\<VBUT<Eb=c\><^<PHGs
L\=kQRRSjURUZcTN=fmbF[clU\lA]EUz[LV_EF=xf<<F^]xETgbTUD[<[\><>`nd=bTez[=b?<R@acu
y<YT={V`pBlApA{\<H=THLD[T[[vLV?BF_VY]DBfCnCcdTfFCrC]cu{ulV_EFU^=ElWJDBf[cq^BbTe
z[=d[zVBgH[LAuxIyeRg]MpBg]{elVjAFYfvwo{rGs=qlCx]sGsZpgtyYjjxfmS<<BFd<fB<<dB_>AB
vukQQBuaqQreI=f^dd[>RFubBNClCtV?B<<<?<Re\<F]lAbZ`f<<F^]xETgbTUD[<[\><>`nd=bTez[
=b?<R@acuy<YT={V`pBlApA{\<H=THLD[T[[vLV?BF_VY]DBfCnCcdTfFCrC]cu{ulV_EFU^=I{mK\V
jjJBgCuyT]flPZBgaAt[wYwNk_qrvwngAXJxX>vxjfcgpgtBfy\<<[NrNPSqPWg^P[QRjFOF\Bd?<Re
\<F]lAbZ]q\Ua\<bTBZ<<H=Vb<<fC<RUvNd<<fFCla^jU]`]x=z<D<FOF\BU^cuxBTH=TNR[cp=q\Cy
fOLW<SLSz<<lA\m<]y]y{e=dHTfIKlyfJ]fx{VBf]x]uvBgRXBg]_uz[\wmlGgnvfZkNk\VgsX?^FyX
FtPYFtGGorfb{tbd>QNfaAYLc{gayPf<=dUa\<bTBZ<DFd<fB<BUT<Eb=c\<?<Re\<F]lAbZ`f<<F^]
xETgbTUD[<[\><>`nd=bTez[=b?<R@acuy<YT=t^of><VBg={elVlApA{\VoutVh__d[<Ss<t^kS>jA
CNj>nxyfeduzPkSZgg_vkOS>vtPX[cp<?`_^WFd[cyYQPf\<Tf\>dT<<<ZFd<fB<BUT<Eb=c\<?<Re\
<F]lAbZ`f<<F^]xETgbTUD[<[\><=lWJDBf[cq^BbTez[=d[zVBgH[LAuxJ[aGqsfvtzgpqljjACKVX
\gpetVkKr]fy>yfukRNCnCiRSAH_dS^[WFg`_<<<[{\<C^f<F]\=bR<>U\Ut<<lAfT<>dX=Uceer@\V
d[DZZ]^dd[TZB[c{c=fH`ebD@kVX\gpetVkKr]fy>yfukRLsraVjACLVjCzc=ftPerggkKx=Y=NkFbJ
SR[]ApnIQa{uz[[t<=tf\>dT<Ua\<bTB[reI=h=Y=[t<?<R?@>CrCsz`B\m^dlsraVjACLVjCzc=ftP
erggkKy{mK\VjjJBgCuyT]flPZBgaAt[wBTjgs?Mnd?=xuTuVkKCux]x]uz[[t<=tf\>dT>`nd=bTez
[=b?<R@acuy<YT=y{mK\VjjJBgCuyT]flPZBgaAt[wOxKV_dVkKr]fd[DZZ]fqc=ftTz[ct>d\PmxUs
>OC\ICKFymvCnClAp@]x]uz[[t<=xf<<F^]xETgbTUD[<[\><@{?rdvBgoydVfCnCcdViUlVjBKcuz<
^of><VBg={elVlApA{\VoutVh__d[<S\FAqAHZ\BAusCaH[Ux=Y=BTh=Y=D[DZ[csz<<H=Vb<<fC<RU
v>GJdD=dVhCzc=g<SLSz=gKc]fnJJ]x=ZXBo^=fcuyT]ebF[clVC{b]foCp=Z[APJeYLBAHZuvAqCyE
bFF^U^lAp@]x]uz[=bR<>U\UulWJDBf[cq^BbTez[=d[zVBgH[LAuyer@\Vd[DZZ]^dd[TZB[c{c=fH
`ebD@kqfq?^eYM{OQ?{vv>d\DfEbG<SLNCnC^f<F]\VY]DBfCnCcdTfFCrC]cu{ulV_EFU^=KV`pBlA
pA{\<H=THLD[T[[vLV?BF_Co=i[R^q?{vvKqez[qD<\>F^U^lAp@<<[reI=h=Y=[t<?<R?@>CrCsz`B
\m^dn`nd=bTez[=b?<R@acuy<YT=wizDco=i[Rcu{P]xlV][<z>\<^dbTkzeHf<UbF[clU\lA]EUz[L
CR<[F\<>dd[>RFubBNClCt<\<{KIuJst^[HBdSlK\gizEUzm{<<^dcuyF\<>dd[>RFubBNClCt<\<<<
H=Vb<<fC<RUv?qsTKp{KIuJstacwCxKooZ<l[@Ux<>]x]t<<lAfT<>dX=UcdBUT<Eb=ckPRwwg\KSY\
{Oxxs\HCmB[<yYr?xOCdHZLAp@BUT<Eb=c^f<F]\O^cs<cJgKPRwwg\KSY\{@mv?CkPRwwg\B@=]bTd
f\>dT<<=tnUZJV?xoJF[X>XvhyMWkjj<TLBCJF[X>XvhB<^d\<C{wHezyjqlXHbS_b\{Ho^cs<cJg=\
DnUZJV?xnF<{uz[<_\S_[TcsahncwrwS=lnUZJV?xnFoF[kWiXC<Cux]x]t=cy{mD[yXZ>J=ZIy^[ZR
oF[kWiXC<>J=ZIy^[ZR]x]x=Y=?=[KlygQRYYAt=cy{mD[yXZ>J=ZIy^[ZR<U{[xNC{SClAp@U^_ct^
of>>poNjF[_=[KlygQRYYAt=cy{mD[yXZHAx{?riQUqpSbTdfD<@ulWJfpfUK\S_ct^of>>poNjF[_=
[KlygQRYYAtuzDhv\\iHpg^ctfD>{vY]J<VpmDUz<=JXBofiFbOtAtuzDhv\\iHpg^ct<@ulWJfpfUK
\S\DdSyfOPntTTlSkzcTO\BiHNB[\<Oc=hvgNe`z=Z{vY]J<VpmDUzFcv`ndQEHnJ[fA{V`qHjBBHAw
{er@t=gO@]cv][reIOG]]_=ZI=KF\<QNf<=Jf[fOF]P`oDuzdSyfOPntTTlSfcv`ndQEHnJ[^{t=d<?
zI=KF\<QNf<=Jf[fOF]P`oDuzI=KF\<QNf<=J<dSzFAtkz<V<<{_LOnd<APf\<O^{t=d<?zFOjnez<d
SzFAtkz<V<<{\FA{^]Zoz{Dp@teJwFct>][tdS^`whf[^DS_qlkzoz{Dp@teJwFcwKwx_LO_cwqA\FA
t^AtyXG{h{knI=JD]ZKS>{v<ApteteJJ[kPR<dS^DS_qlkzJ[kPR<dS^ZHbSh{d<SO^c^`tuzyMT>]Z
\=YJFZFOvBoF[^DS^ZHbSh{d<SO^c^`tc_EawKt=<_\S_cz]hnct^Atc_EawKz]hnct^Av<Uz\=X<LD
tAtu{dWHezD]Z<LDtAtuz?=ZEv<Uz\=X<LDtAtuz\B[d<S?cz]\lS^Z\B[d<S<lS^Z<=J<Lu{dTHAtc
_cz]kv<=J<Lu{dT<@t=FAt{d<@t=Kvf[fAt{f]Z?LOfcv]ZFctkzI=Jf[_LO\FAtkzI=JG{^`t>]ZG{
\FAwKteJ<dS^`t^AwKteJozJ[^DSh{^DSd<S?ct^AtuzEv<Aluz\=YdTcd<S>Z<R]^[dV<R]\@D=D\
