From c7afd3d09b5ae08bc2696078640bb7dd787a412e Mon Sep 17 00:00:00 2001 From: Liang ZhiBo Date: Tue, 12 Apr 2022 19:38:37 +0800 Subject: [PATCH] Fix picture in frontend and ir (#273) Co-authored-by: liangzhibo --- .../intermediate_representation.md | 20 +- chapter_frontend_and_ir/summary.md | 6 +- img/ch04/中间表示-LLVMIR.png | Bin 0 -> 26617 bytes img/ch04/中间表示-LLVMIR.svg | 197 ----- img/ch04/中间表示-MLIR.png | Bin 0 -> 22870 bytes img/ch04/中间表示-MLIR.svg | 321 -------- img/ch04/中间表示-MindIR.png | Bin 0 -> 28313 bytes img/ch04/中间表示-MindIR.svg | 380 --------- img/ch04/中间表示-中间表示结构.png | Bin 0 -> 10741 bytes img/ch04/中间表示-中间表示结构.svg | 364 --------- img/ch04/中间表示-线性中间表示.png | Bin 0 -> 21301 bytes img/ch04/中间表示-线性中间表示.svg | 744 ------------------ img/ch04/自动微分-前向模式自动微分示例.png | Bin 26740 -> 28177 bytes img/ch04/自动微分-反向模式自动微分示例.png | Bin 39066 -> 40542 bytes 14 files changed, 13 insertions(+), 2019 deletions(-) create mode 100644 img/ch04/中间表示-LLVMIR.png delete mode 100644 img/ch04/中间表示-LLVMIR.svg create mode 100644 img/ch04/中间表示-MLIR.png delete mode 100644 img/ch04/中间表示-MLIR.svg create mode 100644 img/ch04/中间表示-MindIR.png delete mode 100644 img/ch04/中间表示-MindIR.svg create mode 100644 img/ch04/中间表示-中间表示结构.png delete mode 100644 img/ch04/中间表示-中间表示结构.svg create mode 100644 img/ch04/中间表示-线性中间表示.png delete mode 100644 img/ch04/中间表示-线性中间表示.svg diff --git a/chapter_frontend_and_ir/intermediate_representation.md b/chapter_frontend_and_ir/intermediate_representation.md index 2a04c46..5cb1f31 100644 --- a/chapter_frontend_and_ir/intermediate_representation.md +++ b/chapter_frontend_and_ir/intermediate_representation.md @@ -10,8 +10,8 @@ 引入中间表示后,中间表示既能面向多个前端,表达多种源程序语言,又能对接多个后端,连接不同目标机器,如 :numref:`intermediate_representation`所示。在此基础上,编译流程就可以在前后端直接增加更多的优化流程,这些优化流程以现有IR为输入,又以新生成的IR为输出,被称为优化器。优化器负责分析并改进中间表示,极大程度的提高了编译流程的可拓展性,也降低了优化流程对前端和后端的破坏。 -![中间表示](../img/ch04/中间表示-中间表示结构.svg) -:width:`800px` +![中间表示](../img/ch04/中间表示-中间表示结构.png) +:width:`850px` :label:`intermediate_representation` 随着编译器技术的不断演进,中间表示主要经历了三个发展阶段。在早期阶段,中间表示是封闭在编译器内部的,供编译器编写者使用。在中期阶段,随着编译器的开源,中间表示逐步开源公开,主要供编译器设计者、分析工具设计者使用。现阶段,中间表示朝着软件生态构建的方向发展,旨在构建统一的中间表示。 @@ -30,14 +30,14 @@ : 中间表示的分类 ::: -1\) 线性中间表示 +1\) 线性中间表示/Users/liangzhibo/Desktop/中间表示-中间表示结构.png 线性中间表示类似抽象机的汇编代码,将被编译代码表示为操作的有序序列,对操作序列规定了一种清晰且实用的顺序。由于大多数处理器采用线性的汇编语言,线性中间表示广泛应用于编译器设计。 常用线性中间表示有堆栈机代码(Stack-Machine Code)和三地址代码(Three Address Code) :cite:`2007Compilers` 。堆栈机代码是一种单地址代码,提供了简单紧凑的表示。堆栈机代码的指令通常只有一个操作码,其操作数存在一个栈中。大多数操作指令从栈获得操作数,并将其结果推入栈中。三地址代码,简称为3AC,模拟了现代RISC机器的指令格式。它通过一组四元组实现,每个四元组包括一个运算符和三个地址(两个操作数、一个目标)。对于表达式a-b\*5,堆栈机代码和三地址代码如 :numref:`linear_ir`所示。 -![堆栈机代码和三地址代码](../img/ch04/中间表示-线性中间表示.svg) +![堆栈机代码和三地址代码](../img/ch04/中间表示-线性中间表示.png) :width:`800px` :label:`linear_ir` @@ -61,8 +61,8 @@ IR使用线性中间表示表示基本块,使用图中间表示表示这些块 Single Assignment, SSA) :cite:`Richard1995A` 形式呈现,这些指令构成一个指令线性列表。SSA形式要求每个变量只赋值一次,并且每个变量在使用之前定义。控制流图中,每个节点为一个基本块,基本块之间通过边实现控制转移。 -![LLVM IR](../img/ch04/中间表示-LLVMIR.svg) -:width:`600px` +![LLVM IR](../img/ch04/中间表示-LLVMIR.png) +:width:`800px` :label:`LLVM_IR` ### 机器学习框架的中间表示 @@ -182,8 +182,8 @@ TensorFlow框架同时支持静态图和动态图,是一个基于数据流编 为了适配不同的硬件平台,基于静态计算图,TensorFlow采用了多种IR设计,其编译生态系统如 :numref:`TFIR`所示。蓝色部分是基于图的中间表示,绿色部分是基于SSA的中间表示。在中间表示的转换过程中,各个层级的中间表示各自为政,无法互相有效地沟通信息,也不清楚其他层级的中间表示做了哪些优化,因此每个中间表示只能尽力将当前的优化做到最好,造成了很多优化在每个层级的中间表示中重复进行, 从而导致优化效率的低下。尤其是从图中间表示到SSA中间表示的变化过大,转换开销极大。此外,各个层级的相同优化的代码无法复用,也降低了开发效率。 -![TensorFlow](../img/ch04/中间表示-MLIR.svg) -:width:`600px` +![TensorFlow](../img/ch04/中间表示-MLIR.png) +:width:`1000px` :label:`TFIR` 4、MLIR @@ -228,8 +228,8 @@ typed)。每个节点需要有一个具体的类型,这个对于性能最大 在结合MindSpore框架的自身特点后,MindIR的定义如 :numref:`MindIR`所示。 -![MindIR文法。MindIR中的ANode对应于ANF的原子表达式,ValueNode用于表示常数值,ParameterNode用于表示函数的形参,CNode则对应于ANF的复合表达式,表示函数调用](../img/ch04/中间表示-MindIR.svg) -:width:`800px` +![MindIR文法。MindIR中的ANode对应于ANF的原子表达式,ValueNode用于表示常数值,ParameterNode用于表示函数的形参,CNode则对应于ANF的复合表达式,表示函数调用](../img/ch04/中间表示-MindIR.png) +:width:`1100px` :label:`MindIR` 接下来我们通过如下的一段程序作为示例,来进一步分析MindIR。 diff --git a/chapter_frontend_and_ir/summary.md b/chapter_frontend_and_ir/summary.md index c8a36c3..e341f8e 100644 --- a/chapter_frontend_and_ir/summary.md +++ b/chapter_frontend_and_ir/summary.md @@ -1,11 +1,11 @@ -## 总结 +总结 ---- - 中间表示是编译器的核心数据结构之一,是程序编译过程中介于源语言和目标语言之间的程序表示。 - 传统编译器的中间表示从组织结构出发,可以分为线性中间表示,图中间表示以及混合中间表示。 -- 机器学习框架的中间对中间表示有一系列新的需求,这些新的需求是传统中间表示所不能完美支持的。因此需要在传统中间表示的基础上扩展新的,更适用于机器学习框架的中间表示。 +- 机器学习框架对中间表示有一系列新的需求,这些新的需求是传统中间表示所不能完美支持的。因此需要在传统中间表示的基础上扩展新的,更适用于机器学习框架的中间表示。 - 自动微分的基本思想是将计算机程序中的运算操作分解为一个有限的基本操作集合,且集合中基本操作的求导规则均为已知,在完成每一个基本操作的求导后,使用链式法则将结果组合得到整体程序的求导结果。 @@ -22,7 +22,7 @@ - 编译优化意在解决编译生成的中间表示的低效性,前端执行的均为与硬件无关的编译优化。 -## 扩展阅读 +扩展阅读 - 一种基于图的中间表示类型: [综述](https://dl.acm.org/doi/10.1145/202530.202534) diff --git a/img/ch04/中间表示-LLVMIR.png b/img/ch04/中间表示-LLVMIR.png new file mode 100644 index 0000000000000000000000000000000000000000..f03bcc77f96aabc26e903aaed291e1c73a96a1df GIT binary patch literal 26617 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 l;~RdE>do1`7jM0 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 - - -intmain() {intx = 1;if (x > 0) {x += 1}return 0;} diff --git a/img/ch04/中间表示-MLIR.png b/img/ch04/中间表示-MLIR.png new file mode 100644 index 0000000000000000000000000000000000000000..24affc3f6f7ae2bd329e5f07fc4fd2d235505118 GIT binary patch literal 22870 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 - - -TensorFlowGraphXLA HLOTensor RTnGraphCore MLTensorFlowLiteLLVM IRTPU IRSeveral othersNNAPIMany othersGrappler diff --git a/img/ch04/中间表示-MindIR.png b/img/ch04/中间表示-MindIR.png new file mode 100644 index 0000000000000000000000000000000000000000..d831996c306ac0999ae32e58580b5780ff11b1b6 GIT binary patch literal 28313 zcmbrm2UJsC_cs^|prWFpARwTkfG8j$9Re0WL3;1fd+!NNno0}37XfLZN$(&aAT_km z2_PkOLQ6vbZjk5szccgB%r|Qm%UsMk_ndupJA423)~~YC;@7TFUjczY*WSN-D-Qx) z1cN~5OfC@v-!xPT#DYLpAK$-yrRXxYI_c~diB4Mg)E8(OEuEZ;vT%x!DmF%}Cr`B} z-_;}+_$nEiUCuF5>1}E8{A0kP(#}Ij#3Jq6JEDqxM7L<)a&+%Je5*wC>BiP>!UiXU zTGPw2zOKdXwgbZp45khUA$!l1m8wpLaJqBA)*#TOw=d71{&F9G`T+g!J}=V$o&Uf2 z^qRhKI{*Lhba~^{V`(_mGsGH`H(nw8I!`EH%erPP#sgqWBMAtE@zy9H-C9wLtA?JRvP3a9QM%9H$20&HSD_kj%VnXSR** z&un(DX%IUmJZAqZ%V}%*7lo$dMT%?~TO9$J?<`29iVNcJS-f;?xnE9pSda;t42f5V z_lI8w_)4&cpPrhC>eM%Ag~}goZ;ECuIknvVao5jw@*`b(qF%(56bKQFR65|DA^NL! zhrja2D;&7_;vzILy$`kAA9HZ2RahC5pYhGhTCzSlwUWWYETCx=5-BD9R~vqkJ<7;n zh8Xi{EZl<1-L!Wy{h60e-H?1EojH0=8V*hjSX9+Fxz>9xK4llWxN{e5jJbe zR*4c;DVV7tyNd`4Y*(tGjQ24c9QaE?|7zI1dO|~jmJjyIkiFx0qb>bmv znS1hL3gMyI;O3s%I!Wc`>zpQr)wf->BB!n#OS0AT(L(5yNPmZHK)~fI)D1{4L&#*n+@5#9w z4$b`h3*}9IIr$YfWVUY)F9wDt!?#U^x$ae~kZ-fvQgImuS7R-sDVY`Vqcm{grroj` znwKuF`?QU1`jElx%C?ibjMpl6*zmFSZiUr5_i}JFPI7CA{l$p&PA(hQeW94CAZlUB zYw^Bt>GW4-)E=_rbPw^dyw<_-73=x@*Q%F}uq8;S?&vcW_2i$#S^vnmQM`D;a`RKL zl)g-MU!d@2S1H~Hb+<;Y?0D7|m(sAEhl;ap%Zn`QRNPa6Ri7Mf#wca!zd6Fvv&@ax z%+l{9R8X4d5i!zWS0+zf1*aP3w-*a{`hVsU`M|_IQ%|;6>36lz98<#^E7rYppD%;; z5OCwb>iupQ-N6vTbw}K@H!y#e3w$y=yrvYf?Ac4kG6%KrOIe&c(bhV#E1YJ)mR56L z9YQo{U=CF9jh-tlAp%@2orU8~YfHtLAl$7pJ2S$Bc_`U)$GBrS+-Ke$ZC;jnhpACs zt^!M407J)0CgyFAu<70LPKDFyO=P>j$fx?qj`vO$RfM5`5=5p25ZMJpjDFX^bbFtY zmwtRGJZi&D!1j(g;ham$7rbExyXO0ph@d-AX_-Z)hCTWtEKftPv)##hpH8;?!BMiI zK+Iqr>SVxqD;jzDR`_7jbIDlv8D5Z-m_Fxt) zRn_@5;+W0fv-?Q%?Ux-!&cE{H%cju&Br@50pE;-8q`Fj<_NCY5V<2WV3))aOHC zP2q$P-X$*_6`vfY}`WT^mtYqCn@5;9{1{1Frpan zvAy}x9@CefCcEecJ>1%O|EG(0F9cn6Tmui182W{B+Dn2jH^xAOMuXjvUS?JZ-h>#K`n&PwS8Vm zbF_-HvWm|uNqET*Ov$ylZM>a4TPXbOZsZ55%_@)0#R?zTgWwdL zn-r1ICcDhaNiKfadhbo|$HICK((;>ts0q=H7mS2HusmkQwtS^xx%;GJGGZ3G-`;Q} z*KktEw7r+^u{S%RAn%bEur>+Rbz#Tbr0@C+l$tSOH>nhSE2RG=j%00z5H7seE1*p zyn&g^2w~5i!L?p+WS*gP%k&M z8t!J9_I0pDd*|;0>%}Y>U;rbLnW;(U^Q=C$?B=eDcUa~$;M?hxiq40R5zoRSuH@_| z)J{$A;jXO9&KA)hD^BIwRLoki=b)KnRt{WswkwnIqZ>P&o_kRqn94Pn{F`7ED2{8w znOiBY!io^uo(j~uqoY0}A||4f5wBVyq2w7+6Ey#MUta_9BHB7>Km42XF(#=t@Mvmi zN|U(pv)>&OB!<1=x5k$IbG!`+-945G9GaMi0~_5Fr)IW_VLud zhc@q4b~65`#;muhU5lHi+x>bQGN*54f0!PuY(o|)e)3AVaIkxY6WpUIHIzR-`mb9_ zu&X~F;|nS6f|XulR=EwfEaTrv$sf9)0!JK@I+HmFa*DQgtLI{m(D0*0cWTOmP+|RU z+g&o9@5=5*IlH}OS2P^jR~oXCh#fwqTb#vL!;eqnEB;SJR}4q3xVee`%1AiWP3X<0 zxO`Qtc&dd^JbbXr{9ii8EnxokPs$M_omv>1hqEstW8?EIu(&hndfEV?X)ZRyRu1;L z*vT`V&G7pz$Qffjf7d!Hw6SH{0AqH4?24_7jQ_QwlXnu5Lw{&3>;eu-f^G5(G0FeL zy5Sz%)!1a+A(D0LlhNCT6J3w~(WH~`ZO0IMrm2u8^XKWEO9UH*#+&!AY*3xqg8+|} z;gW?!u~D0S6X}&=ux{3gD*a5|nG5lFx(6Ya)W)zvWwL(n6K~u+du#hKyUxmMNUB?g*=|4b8NOsN+DKh;dLZF9{>8Tmb zjJWG{A!!{c<^A9lU%J2X$Bo#T&z2@tUKpQVAkHVK+>I{#ADogJI|$t!Mk^ZQ0`{m_A6}nDeaxO# z=!v0>pqELtO{*{wjWN4Lw*a>9S&Kt!7XQroxFjjBUR-`pO3C0}iSXelkSOt|K$J}5 zo>`u8elFoCEWMM;w5K(z{IJF7+Koqe5)F8%k!O5}j#2bk3N&56n#Q*W@h>@Pi$Tkm zS~ypi=v+MKW6fq-q{d$^x7Mx<(CUmVzQGo3lulRFdv@G=+3&@EFeA zJ|aI$gs+sm0yL0M_czjp9?(#rkij1(h{+bD}klBN_-MkOj zwX-u!ABzRuP5trX`FS9vK22~5k@ji0eHtR4ew^Y41f@C6zfK+B=?6jNr*c0{#!uh= zFH4-h{r|WGA;AA{OEi)M|94vcUG4vlmcQtLKQS3y9@u^Vlup7XH&lC)g>sei)t@|i z^tLU8mf`U1Oc&$HnWRnjw&nu@0{VlfIA5CfKaz@jAv%yLMQU>M=1u9vBJ*K3_r3WT zv&rf*v5+BSfEwI zpZfXE;gOM%b{f!L zz+Ygz$1ALJ#bIbJLUh&djD5$9E$Y}^AYamgi*C> z+ZCg@WmH{_bTU}29MO!tK14BEQF0j&F|+aR?+`74mn?3PGJ_8*YBd9UZ=M64n{|>7 zDKIo#))R~G$8K_95hs@SH3-e#&8IPr zC?xmSoOX%!E}JVi_5l`UD8LeNgA4+lm2_W69Yw-Aha*i{i;)U}_iEhK-fQQHF2({7 zCc#-LXgi$y;h(VD@|4x1;6ymZo09!KhucE_sH9zn&3v4mAB>Vr!6rsX%imXpJd}6k-_pt-RgB_KQGF%MCYGcHa9## zpioLkkSao6!`gHPF8U{glKt@8_Ic1HArW9LP^$P(e|m?HATOB`hHi`WZe3qGLpqOD z!HDlbRO3qz^0L!_1x<)7%0(EH%k2xZcEZcHeVG`t# z1yW@Y1U6{y`}LaEUecHtg#R9t5I5$qD(F)~c16oBR*gXSjJk4WNh8l}gZ0uq_uoo^ znqfo=1RHFKitU)Zqhpj1sMT5h3gE#dJj9@v8X)+#=bzeVu@3l6{ah}jtENbO1CS{#4+&^(qcxUoXr{aXS)Lz8^-XD8 zXY$`X=seuJSLasMTLTAV&CZsYWd>N2A$JdV!p$rh@n`aNpXByU<{<8L?^*4bNHdFz z=>cm@JqH4}VPT7an&C);+S7NJx1)9pS_0VE7m+=iW=`l?Bk^3L`K$?;D;y5TPI(|a z3wN+1x7tTiiq>E}L ze7K;%IN2_EPiA4;!4Y}4G)DbVO3OhH^U;DM;Ox9S+k2|=720DuKVl{d#b{S*NbF$} z)>q}4`J4r*Z;WBSmIe_4r;N=cGgEe@{b`8RDBnUnlrK}#vS-DiqCkjt_|GWx#u-+IY85@zKqC>Er#)tJ{F!x*(4PBn4!k6?CTjmATr# zuL&g=q^TrG^@{6PN)`NB?zJ@!Oq$&WpnQgc0A<%6ooRsa;^SskrS6OFmi(t6$f7B#$s z3%)#xPFBh=*6y``MV~E^%V)-W&=dD~WmkIuvGYeq$A%8)790&9sBN4K4Cd2NY|wgI zw}Xq>85}@VB@eGaGG=(WV&(SNoY-~)?Ck6=2?OPw$6VX-3u{XqHLX;c5M#f@x6l4Qf{)Ey)qD{ z!k>GbSA)R2z^&-(HpfyXI`!bYeN17vr`+Ya+7UbrY7z>Yrb>B=efC)kPlRx&5$h`< zd#K4Kg0NBO|Gh;3>@Q2cC9!*sT}$&?$BSsm4=OxU~%a$90WM z8J*RR0to;`H)Me{#`JY9j+@((+q6;}+l9?mt!n@$xu>)#1m3p6|H&X3dgx#V_?Y(+ zlF009ZM8IRUD_Eu@M@ARi8BA(Fmo@f{*s(zTVhN@u9<3+&~P_5)u@W6`;d^roOQn5 z;3{2Dln#DEPjyBXr!R+u2T!!Iu*KXLlM{Iyw3EG*#Uo z+mKM1L+e!~*P^rotCr6S$T@)Efhy>ZZ3&N3dw>@jrLu+*b$-H)&3(14zFxx^wY=PI zyNA6N2bPOUaXv{zgX3leu>%y=5W0hMv*5`ToDg-nN81t3wZ(s>h}FF2WIfJVv1Isz zdoLmbasTLu{Z7&pdR}^5qHOKDcIB_IavfDPtG?w$b0`7pa77K>~ zr~4@%Lo$*DOBmewFz=>}AV&7-`hF?P*njW7wu-4^*60!r^iORDl*|sXSdIRl{AGKJptkQUj6j zG_Oll9N);5>;in~#Rd78&CRwt7xK&+?d(V>d_vY3yVOiVKVL)P8atZxS0RA9Mx1~& zgdP8zXJl$TWk({*1@|Ge<_=AjK#}mg$EpHCxi)=dBo{`lWbavMOr5=6>Lx5~SM9BX z>3X)u-0x~pC*v~#bH{QblRT!u&T3e=M>9+E#z8sUnJ&FrYnvvE?4eWC{z7KO=)`T% zjgN$iP7fQql@&jyywdTXsu}s5YB<@5cI9;Xz2S$(;e=V!#qL9qVy2lZwm%cZV1Rwsf&y(OaSyWJNx?!{~^d|YRMB9vf zHm+%z<^F3L*Ua+z>;~uYg~LfS?MhWvZuRkcRLDxw&y3MQW~9yf+-*&j@yeB~WXGyP zmdfD;H-Vo_*?stK9O`EMMF%vm21w-F5JQh`Ib|*H1;;|Lsd6Xh@wmmn7<|kl1e}!k z%_wYr)?(`N(sBN*MJJTC$rezC27|A4k8!9cFK+GV`gA0ptA(3g9X-frm_oUqu&;Z1 z!b4DBMm$sWnhnS9DM9CRYA9&BjSB}83SFfGif9qJ^;t1yipYVe37R+|rSudilasMA z?lS!F^}1FH5FBXxyc=t0Lrivh#GmbG-ZZVWTmms^ckSc}*Z$=W@xD zpOga%gu>W4RoEPF33XldC}i#mvf#+>({$Rm7{v_h^JVYA<%0Z656o`zbAf)MRqd=V z*Q;bj)%O=o7nRXTL0%3GBy+*pUurp>=rylHcFZ%-PbV`*emvCMI$yVkGEY7~+g_{p z#}7xGeLQzW6f%5N>*;*7)-utQk;YQj|E?@ys6ii+V>~4Bi&rWCSibRf`>wl=#i5th zOrYs*s(p2I)O#ROBitps@M?B})k%#05V3o2+SlW)KPAq-bOq|u?DW|~827=4d(VVz zl&N?)2`4&619e=ZHNpAG*Uf?TvBhHaWbwIVB&>bL3Ro1nN2ZqgYFrlN&2aYSDv5Rf zn9Hg>lK#2)uKzQYX44F)gXZtU3;YpwqN8N03Zx*f1|Y@O+9vOS(~agM7@~P+_dj2t zT#6{tkbEg}$yfdReC-APD7U>-ZnZ2z%n@?!V^%~V?*;X5{`ALIe-_BALz7=G0;f== zSl9S%tt+hGut7!Rtoh!QOyzG#(N0{vY1>9M;y&2d850%d9!T(cy#VS#h)IHuz>Am` z$?CWyQGgW~9qv$f$E9%f=PS+VpfQ^dUrpNqjK#~#_`yk0XH1;mvc7-5fO>Ys{9+df zL|@+-o|f%9a1{goe$?c{pVVamT>pEv91KcvuST`pVNK;WH029=L0|vSP|J} z&TqFF&d-`jx9MMG+tP6EO&bviA2mob?8rSIz)AW^@0){+^;ZE8l$v-#l6?YzXnEBP zGL)k)I=)#lLBmD$V2msr`FNg>i=}`G>wj&~3bh8?CXdo*+<%CT?Wqi?n)@Ja4Wuo{ zgv239LJuo`nWkzcR+>qt4|$9KeaLknX;{h0M9UYN%zr9bu3vrb_nMFo7NdC zS0uYMw5CD8%LKbt$y9{&4rG4a6U?O>WN3klT8M4bzjbB}SMn~qM0*D`Jq(~^(F!(| z#J?wv*?BJ*p-tAS1%pEONCw##zNFofUiq+f2MFO7jhrYx0a>nJfwZ6w)bx*mgbC#zJ z&apDRw6!0lx?80=%T32tk|Nx0xI7dQUp4z(nU+7dnUbw4An+-F3Qr&r_V~50e!Z3hq@Z_p@SF*RQuB#CIrRa z;07=R7b*gJ1n9uuk2BB#_}f{Af0o~$A`qw0!@o)VDSC8@ADn>*|K}x6-#K096e9R9 zOZ*oc?0=v%0x9>u`M`XAFP?5p_&DFWG?0a?b+s226(s=40QhjxzpLwmR+XKoF(MgR zq~GSSHTOP=-|-4aHe|%uQ&TgM-(m4vnfWkWAxk=5*t4FKEfVd-XZy!@fS6lsOx0AM zu?$f3`*;lb0d{R*y3r>|0IEEVT^&`>)zw`dE~E#2yGJeHly{vTys9~(QwLG9NB06Eu(H3qa@zs~y8TK_%%79S00~zL0<^$ux;f_i_wU(K3Eb6g zdoTQ`L7*0!rT)jpAIgfNu)sbS>A`xF)sFG}jx0pL;Ny>5bL|1a!G@YZ@5M#>dc8yZ zCV-+n{X4e3&>hcf`*4=!^q6-T#6u#J7G7%r*p?dsg2#TVdm`-Q|#;gyK|6 z7P^sT8qT8ZYH6jVFRy?>n35m*prye2=)EvyPcv|b}URee|NJ-iXYLb}au*~TNX zQ#9mS#3AwD>V5okrE0KdNO+kTj4HRVem~%pl3Q-7(;Oa6Z_BQl&a>QLG+!T^3>b~b zRyqj30a9j697yC6&=Q?;DYKwTd!mr_L`Wz}j|}9dDlHwtsgSC5fL%s0eTbmUA1J0} zq8gU?`KMd_rIAr7zr%7`a@_$hr{?*fY)zkC{+x)mEUimL12^zSLj%Fj?ywVGFQMgcNMl z9iM+asoJb3UhB5V{D--Ye6!)y2nsg!w_zk8@Z3m|z8SJQSWGGju`0=46!)_H15>Gn zb4F(73%2v18_Yn7^0(UZSUTB&QRnt5%(87T$K07!^Bn+g)Zd1D(5e1v3%?qaC@8M= zrsk#xpnaDb+y1ol`O^I+73OzZD^SW+QJ6a?LM0&~VfUG?^UvLsj+ckAxmJ@<=BG~s z0UAM`*T5n4!Uf8fV=Ryrxhwa0DOzde-{lVRJFnjpr2|Et6R65?PN}CRuky8RC)uI7 zRWMqDe$IFvG!1L~JXyCmk&(;Dt|_VObH24(t$m$v7$_7wRI2s>V)g71vp69kJXj(KbF0RLREAS5) z2i;!id%0Ysumwo}ArP0{cAJ}<$1J#=BE+c#Tue3gx zDz=kJ8!KJ;1~@tnfQ8fSjcuuKJ`X-A6&Nr%8cjZ;zBBZOmH%q*bgcbj;gx2kxzU>y zSu!b^zb}B;mjjS9!)TJ=AqElAU5Mz7W6PF7laykKKAI}Qr#v9}WTfaV+q$tk42 zbnUp^`WC=A9^+L@O^W=bV%1h3>Z5)e!EfFEexF=ZR0%#TzXltJH~Z$RFBg7l>hX!M zcS)dFf0A0BGbEBknbJY2x~jC{kJPkO){r{Yw2sY#<*Mh)YHi?xyHyw-nXO|odtB7G3_LhITKT%~VsgB- z5LL=CvGP>p=(cr*Ht8fPav)rcnbyaIrp8m#Y8(o@W{9s223K)-YsxnO*F`Pim1lW~q_mV#_(ys^MG2O{a$!iYjc zBi%4Xc1LgBZ?DpkKUF#UkSZyI4vw++=dn$;j*8xPwH?Wx|* zWlpPo_{-!-%bzB@Nwu%Gh0eA0BUfJ9nP}AAGOB$6nVg53ST8E*!NE7#u58hyyu4vh=hdfU&hV!Ik5JAIBpK(ji z%rfP+dC4t<&FUFjlIz7WVcCmH=7~jCU0clon}SBDKN-|q_Hm5XyeoUv3i0GzD(;%I zsyI2hf(_?|@kVi*JH{4yLmz`OH|ljTwmn?+Y<*t3H?Pq0O6v~rJX!A9v_RaHN&qVf z5r-%@nA*nM3{TIZ5IM|{9olafNUlFW6GlX)RN0Fe&2|#{gAh}jKr?BKT)I~23L@(c zYDNl2OQ(UIIjo2V)0Q=pizN>Ib}Fnnt_xV^w#*q*zKvXkhY8SQSG<*KbnWYukoJ`A z0i_f^gUjjh$-?7F88D<_QB7>%Xz5!^aNf+JyR6NRZG3!itLbu&eLNqgq?U@>su7ag zwtwK(eU$8JHC{QE`d)<#e&>4!S3JC8t;IHGn!#w`McD~{*G+ibV`_NE1D7FfyL>y? z+$g7ALuu_B+9Nuzi-R=vzh3J8w1pL5zpiy<^M&qGDlOCC(Iva5(GJwZaJCDzMFKLb>ga%JGh3nb!}|BkgOoLLn|l`1YHK27ePPSy1+|4;BS5xMK<6~8SF1t~ECFL8A*t~!J zu<_H1Iebvbhi-Pz_?KSyI~RN*DWs-kpMB)}7Y`}L$tU4(xD}c&zLHlWUpV{E#knH@b(pI+x!F&%qy6aL-cq|pT43ZzVmGzky zG!=`@K8de82$|MLs8IJ6gg~Ra&e-vo>Rr4Gw_}^tk#@qF?<j0!f?_yFzPIfp0%F2HjA9*8~403^F_)D`qBZo0Y2_ohyEKrkXD2$?7JUcKst z=7t6aBW4^tV#fJWAGlvKTMPFjI>|#!UL#V9ybaIWa~ zey-IIsMGsT)9Gd;*VOLhh*4AzS`>Jg_e|V$dt|m*TF`@oYvxu}_k0-$%IF-dGo{5L zHg2p58qLgwz)fcz^P{gMRmnvd2lci|hi*$@Hou`2Zy)&w^#c{&yOe;t{XCs+`0mR} z8rJ125j~MHOKkzJhHY?S!m$M^ZPL>uO8s0=leVT*Hi@OYzB0m}GL~be`kQryY9G}?N#iu>Vv47wzdlm3)%?bDT~<9J@s;9*glW@WL#Ol&5rtR2ff>>dKyLH zI0CP#730qN*wrotGIcwt0NvN*N=Kg~xvuY2C^ufQ)s1)gGFAA4!h-+Xby@+r>2qF` zZ&_8p-Hbp-_Zp=sAiu@?Z3QFEyQxI4TP+5CE_7B6uP8Fv%9y4F;dE5Q zWMFA?#RK&oizw%2ZZxZs)=ia4jA5~z`jUo20&7b~84L>r~ z;M$mw-WUrCHKTpG8j|tQb-y?*`$@+hhW0eZ=!#A)x9@*93T0{7^rIf^q;#{`J`7@E zy-g8=@1CsI4NfX7L>Z;7xOQy`X3q1#M(gB~P-Mr9e>u&_s+xW?z3B-C^pmvQda9t_ zM?A7O3{CQKI*__Yb$b(oT;9up%492-2uaE)i^FYcho_W0RdzLeS-xjL-@ikKW2$1gMzW|LAU*6kGSi#5; zEk_kH?`@}2bNU_pp@jkY_Pcu*&IhG=OkVJTX?5PwgIZqn47WBCedXFHo>Whb?!vqD z4o@8IP1RZUm@WLsTrX=)e#|G0DH0INUm58Nc19X`tXI#@QX^AC4y=?LT=K`L@)yce z#4#jh4bPp0Veh!|!mM*T-yC}QaT#8<%rvw?E=%So@pvx#QMv#W#O z(DMu(C|Q`A2nUZZjn@Y*hfib~$Eu<*wn5X`{BiVVu-uANEUMnjWzA5Ltdyjs;`Uia$*3#d+6rDX9#c^{z z3FCuO_DP;u7GgL)r=t)%-R!9S|WV6a}C3o00fQvz~<%XEJd3ZJ~^GXh|QO9&Ve` zx7@$3fLKUh7Xqgl@AfBP(eWwp`Or~nZc~2|_&#p+Izq0*XS{aB_r|)wdm1_nm)})z-Zu??33|nRO$_h2 zR?W*&4gET~`Ggd?wIt;$N%r?Qpaq%@viZw(>!_%DJ1(T@sEicqGMfv$)5oLXb!?HK zcIsrc0>M)fvgJ<Nm@yl8ev-o`&Sh#MP^TosY>g=VM!k#FJ&pr(m;1Qo$<85zZnK8r=l+Bynnm3~yJ%`6m9|DBU5dQ?q9!Y#?OHdy-DHoj>6 z3wm9pasDZ(N}G8{f0Fu-S>1+AgS?4y9nP3m)3N0@>eXl~^Ku!JV+r$!!o+J@f!G6~ zIbti_H>I|-Vpjw~n6#Z82OyFElL%K@p55+w6QEfxYG0oGbg)v;a(4zA!pb3Vy}I5w zF|%MIU9={kMy8#kJMio9pka;XtnHu4wwe*k_;NQG#T3&t`&aZ!%XYEd#nHgC+_ONZ zfh|E^z`lio-IpH2L`dC%oF^(ON|cb4a6_^8*e7FuHmlaJ1dTZ_r%l#4a}qLM>&DMT z45MS^8`*{eGIA3?>po4C>zhqx(n6si5vrozD#>A4DecN=AW^;=5}UV4&Ul(A7dC#5 z<94rx_+3K=_?Fz}oj}T0fOP``)J1>@(r|IEJ%WG%EEG(3;}!i|5n4;DUyVu(mSTWz z1zU_RO_INOkaFQUU;25WokaqI!6>5)v~>{y$$1d~3znG;L}SvgzJWQdjjuHMkp_JQ z-h*PoXguBq(WP4f4e7cQ53VHJF|s%{R6A@)0q}SIU5`?$^sjQcNfDxVOC+W`eC?^h z55ftkH2_%zX<-V2zRCd@0JQ)#4(J5^4q_o`(fSo6+GAet(M%j50K&Y=l1`F0sjylW zaEVN-aBIOU1z0#qp{<0t^yZlVK`%@i#R~wK@QKAwkuuAvS2F`?r3T}+0jVJJy4`Fs z>EzrY%W>1+y}H#dn-5!PLHOt67zfnho*C7xv>!A2FO9p|jJzVJrMzdj2uL)kgoNg|JWuLi{C-7J`5zv0OP z?FN#hwR^CU0)3`4WT^c$8%hK;Eey2VWkx;KAI!0*1R$jh?IRNN#Y!q_KEq@Hld2;Q zmgQ8rHUrhyixm5ioZFb5m90_eVK!7-wZF4gn6FX6A|Q|eKqy{Y05G9*UZ3)}6Uiff z{;{grm(HkKuYoFi<6t@={`&+HR?7lmu;IOJ^k~}!(0LJc^>~7JH|&gl!ot#lZcPSI zJGkv^E0~Xs?W{G>4gbSxqOvje5=g|A4BQbI#vpEXa(r|f=qQNvie}Z|ZzKU4Rsq=X zU&Qb)ym*Efo<6(*ToFK*36K9k4FC6#&HMOoH~(GwBK`jdF!C>GdWwVo2WWZ;e2Q}u zAWH(Fg!R6?eQAwK1jSRwE zTUzW(2hg)bc?E?kigN@3$vP}8E%k`%tqkQSrA-9bJe^o`MAS{c>bpku;%$H6#@MBPy9s! z>qTZBJ$?*yrAqfqmd?!?XwTk?4i8UTpR5sZW@Xo|eRmKYzA{|+^x3nnxYUo%ekKuV zMK$J5pNb&6W`;&a{ULrf2UtsEr!cKV0-jg?l!(V_!p5kp%yL}$^5x5=wtVry)b#X) zfT#pcGNd{RS63~JUB4moxuyFUPg^JHs=t&r`n*otVe^IH*4I9aX9!8eOj5;j8ed=2 z?7A`d8a5Gki8)a;kivAaH?`Vzn{iF0LplY#wu9s}?&%$x|H9g`)|-04`C#)mGFJsz zX0Ea}Ru)))sz}p~6ztl0?Ga4d)zRVCXt+&Ae(083KPeGtpm?s<`xbh8!`=g!U8;Li zv)*mA>W1-A6>bDY=0kift*&zh?GB?8a+%!xvUZ^RD%O%h3VK=vsAQMyL?jD!uBc1o zF;`?33z7WNPLt@C%+vkT4IJ|5fu~bchZiGh?rfypxb%bl+27WQl|V@ z6qU&7!Ph&vUzSOwnFRLh(-e=68H}YlIIfP!IkhE~GxL)!#wIB`lviAB>xbyPeS1-1 zvh#sJ{!?!5=wVveGr%uM#;|3u|0Sp5sY(Iw0koGQqj^111M^BF5?r&A5Ek}IgR&VA zWKyuMX<%AW1WD}VynDH#J!FhDTCe~13QM<~?%-SeNpQ=$MLbhgxg z4g%DkQu!Z;{7db*8*Z|LpZ=jPD6I7C6ldR`(H#`_KU4?s|2;E6HOH<0p<0gQFGC2Q zt?$lA1WtcJO-+p-vXecOuaPz18DqZGp8-xcA1;U&bS;(<%DVGZ*`(S38b9C2^@i)wQVxom`bdHYB2Sp*umqPsY^!1aPw~Kp_dJ zG4AGIySusu0c5?@X>CleVgtW9i%b`X-P+ScRobRYC-G+hMxSDu3v`Ju0|gwGvdyy6 z*54Dh>%c@XSI?+@5!wLJovg2hJXZ(B4aIWkcdVi{bc(@_bH8t@(Qii$x1pd|x>B5; zT0Jv@w-=PmOw#HO-iZ+rC z1U@8iOMU(N)o`ntP%8r(;+IE?(qF%Ro#@>@X8-5c*NidYwF5Fb!I7sMMCR5|nA2i! z;~woAf=MP>QO%E*d(nBRUlj1?vJD0?)w@IEg6y%J&Z{Fcng*)SG5ccNYqg=LL&o_hF-Sy3 zy@7kjzViA(-@c}ruOgNX;B(4$atT^*;}w*BUtLJ;)+(+TC;IJ3yXvU@eBA`%87XBa z%f+IPlVfA8LNo*7A@`Q-kJ|S?xnJKKTQSjxYmJYtjO1(Zp#5ncTGL%gZqjCAiW(nJ%=D`UPs_Y_Dg2J` zf#Ll70-ndUwT|bkoIkQ&`r$NLYN{YoiuM_~ni|Jx%)fErz@n(e166%LMF?6xfKtAv zR%GNXa6aFi{MN0+QF#h)RXHqf~Y|X85Uf;*&K2gH(y>nssscZ4s4Nx;1)aR+|RcdM&vP zzrpO4KaAh1@7JU=*)XrsH`Qh2YHe;$YB!&;H)Y!^#f8^pt!@va^yeQ;u*34iN)ct+ zb&#m#RkfN=K)iL8Nww@}?6G38MQdXB^-__XJfnH<>E>MNMBW+AFC!$9_fgk&GXgEf zce>aldXfat1N3ZwmD;Tjsy@)5)22yi*K_W$r2c5C88rTal%_QQ(p=p%ok>2vJVQLg z*4An!e{!-^NTEajU@YnRQ-f!}*@CYrvsRXHG{1i4$^M#kuxwO?!fWJeMYz?|@s0Me z4kN*+&)$=*ds}z|p^s^mCSEZn|YhuKd%a=x`8F+SnkaD8%r~{j#rJj0f z57kB83sSB$1{S^LHI(JtHIJIfYVhT+ZO}bQJ0}80o~j)B3PzGI4uAAEvjqX|5}NCz z@--`F&a)CP4uN*(^J~&IT34eT@L@EN5qY1jp%V)-1{(C=L5tCgDXA^`?#17mVH3U0 zD9KXWJv~k%Nq)kc&)ykEe|DZjy?l5mB0@}GuKPGueAJI#`DfIE!*tpY)2(@qol4Hb zSg1~Nw`ym}NH9i16od8t^<-k0t%y@#p}>(}{9SkwdHKmFi!-*+fFh*+c1 zle}PQLAbn06T{&3MA&(D6=h zUK+|kX#W>KDQ;*%ElybA{ZHwS%O`OhKGk}UC29n7e|zTqVOGp!2!1q;S2h20N~ z*{|1pVe7edj+CP6U>DjxBnG7W#)H>Eq)Qv18D<5Lw z-I|SNM_&9$OXjq8ZmYt$x;XI+OFw)f0UZaQFHZqcis2ec%oA`FySJ|iY+2#fC+E}h zEtCT%iP$AHMm@MFUW^*E9IYoj!Ib0P$hGnvP>-7=#A#;KR8{PbrmdG5&?u4Ye|Rn^ zs4-?f3q-kMVfztCZ6`qiOSN)~p^|QOwr=uoBAA&w6fPr^Ca976MsE62(tzSsa_qg; z5Sg!s(g)5@tSp084q8msGS|kOzr{{%{ABFDx{?=?1Tp(Vy|MPE0l{X(n4FH zxO@0hD73|kTe0HqK>`)rQvN`Z;1qXv*HT=HOF|(*6Fd;)<=zkP-TURPx89ex*7DqGEa za}`bXQSMN&!LpT~`*;~)k@L!#CYOwv>f=YFYX_iOvHckyY3CwN{MmemwlzH)C}R2w z(LQ6}5bZ>vDLQPMh+$7)ou(fUtC|4UIryb?L z!RhPz^K(-q^_|K*UR|CYDy}YD0y7B|%`-Gt$V=tA>ynU=G~eTvXeue`)Y8wY+sorB zrM)^wn(sRB8rQ0kwzW+bt5NZk-k66*k4ka*SooROZUG)nl2($GdTb7}%9ktzer=%R zxSH>LeJ$q(9nTh@_3rS64ek>#;M`h|JuEK!YhHbRa=o}wbzuZW7?~(iQRX6#?y67Cf z*kcuCuQ|GvR@JXNasbbNSV>as;ieF~hz2pF|G|VkWHI{rXyJ^Cv($g{cfG>NyQi$Kjy!-sSNH1;@Z>T!uq~hRJag1q zY0>KEq{|u+hnBnJ8^CVNsoqHtKMzGTYziBfwNt($PvTItgE^nfh2}%!Kh|V%`D_gR zkbB%9w=mh{Q*F9DKHd~DpdPEUUQZdM(VlmHEJcq9({Vp{A{yQ!U3&AH;4PNn-Pq4k z)B_}ucHLUcs?&_Np*qb(eHF)*^QG1PUgIM_bL`KC>8_k23>r}x-(0pUxm*c~UnFae z5u+Y<{)Vid#m-V$TuTlA8BmcAGxpXU|0p|?Utelg$5;-Lqav7%xt$iB2R|Er*WGI! zb4NJP?J(wp0}v8&=@k=>2pj0e%{_os4^+;OAa5h4?u+3S4lG@4Iz9@)K-f4%XQ=l;DI zkylun=g+tb9c@|)Y`4=gi__X2Y=SO3&I4R&Xhwou4aNakHO8K`GE0)<=aMLyT1XHI z)wDSO?N`2{T<~c?2v$4>$DE<1zLy1wX7Y$btHU3nLACazstffHn)&;2AJZ4|oIgr( zJTzu+|gQ%gHuQ88$B*(k^-Qfq7#y!!L_ zFJ%ms!K5ve2!AD#x!M}JHRz-J3%1`ZKhHvuQrCd6+2Hk(N!8QnmzyV@m|Tt+_~8;W zM#Ar*GX1S-ZIMi6+Sv=xdHkdoP}K>EG0qRL_&~Y3I%SNm2lxK{%F!bn-x=Jt|BKm1 zHk9ygj3{yjcqkbOzZyltXfpJlc}eH*jeBC@;Z@0}JSxVgQZq6$h_RXVBDx1(3Z zk-=rHE?eFi)yTci{2mu^;=d_uGkD*8zZMw^Wu4Z*AZ(7U=4stb4E`pDNvyJcS6cq@ zmjOJ&RYIg87erfWf(QX{thU$X?w+aTo5I~%0~lS2Da&kqD2e}o4M_LhcvO29eQ0AF zrLdp;-vMulS?pYNF7pEDJP+0r8n(OfcFuKn$Jmuuh+o36>ebd^8Rwo1R^UewG%eTw z-B?ocs^ZK>g14V0kC}8X`ZrG1yfD-a~EmYQX5wlwxXFgD07*PnpF_hLm!3o>hYGtC3X zlBFcRQ7>i%_1{S3gY{}RcN@4ec}Py~8NWsGLU>&Wlnu^q@=f&g2QED-Af}^P)G~S80kRWJ zn_=2(DQ<{&&OeZ!IH5^?l*uh-78c%#;kHEIs7U6m9y+1&s#F6%*ZadR_a26^mjoXu zO=fVZDPAh#+};GWA7NnJ!n&l}6TcFM5GdJcIV?=MFVTkYx zuXQ2K38CVv0gX^Va{ZG4RU?V~UwG6(u5`*#6l29;Qq)F~lb9#DW(vH4Myj)tPTvt` zS@>&?qj;zljNGq0N4I_t_o~ktS)ERxZL;=sxIJjdtCf*{N+(B!ukk64v&rotB|vRt zL(==U^`y4o@8G@ROxoRrI-F`Tig%IHnoObol9SJ?dE~Y=JM)gID(tHqEt7 zTtOl$TTJDmH8D`6F7pt!MoZ+}%FYYW&yuzTRz4_bIUF}wilP?fd0N^Un>oYw`{%-x zRdUOrLpSY~4(1Ly`Q5GTqg#edo&gI&oSHwIGOb~orvzrlQv$41o%-O0ZaV=hjmq2o( z0>r!5x0?TKF~$`}G`hwyvIjEvhDHx29Tv@3PRlN0^!^Nv{Y$A!$0Za0_-Wwt^=a7v zX1|Y$kHA07ZkWUEVCR3#yLPq5*0`0(@y$)d$3&h-iWXhz9|qp-e^!t_VRHJXJF^R8 zJ)rgbUV7ydH^u84$tJ85SJ-qQ3)r*ig4J2=UACE_Z?sl=bzC7R2q)j({wu=Y$|4l@ zh}1swB7jrfg3eMV~LT_k@RRs_TRXsiSQEWuyC<59U*7S@8fZ|?d+p# z;rA1gyJS!)ffXQvNdxyEK=C*p0Dk;qrCRl!uGDRJ%rP*}Y3~ev9rpBiouMc|;6Oi@ zfz+WYYb?;8b*w@5%l<6q{){PJK}kXT{yZkp!D~iC#AF)bOEs3GItkwc+JgeJriJvI$Kz&^WRS@8J8fXhzKlR#OKui+>_sXFtLR{6-P ze&~PBu>yIqEVPwn+9SV-|CH$Epl)`aJl|jSxBX3(fwJIH6Dx-gd`2yRfFKL`1xQ7` zwa8bCP(OAuQ2Y|RBG7o(Ek?cB9#B%QlHxEt$L1S#U}>{JJa@W7%~=w_^=cmnIBAMz@eM`a-_4tm}$>_jDa!2x_uy$a%SU+4fL2&x+BhbV3m+ zVjY`$s92pE8LD|au}KID5Nza_)5;X9i0q^p%M7OlBM;@iu39~->pbibM|=KIu6ULV z+=rqjG$wBp_{a7>+{m_*IlCrI%PkiTXcI?xe)H^;K(K>i#}9HjGp;{`;g4A%s}04s zSx3SYF8UZ#YB0^=woN$Oc=TtT4w zUhmM3ZbZHnXS3wvoPB}!)WIztI&mw3`#1yN%H3b_81Oa_!+a$Jk(APT&qm@v>6p|* z*Be<-f#A&a7y93#GxX4cCy^&n%H7no!vonh;!Oe;s^h7EjmzKG`(lwx9Cd2O^4vB} zlRitD!SiKGcXfE`_Ai&izJBm|`DFu}XFC z!}Z>iNB&Yq=FNK1x#J&Z8Y&@mubv>V-fe$vrjO|xHGUQiRA+lDaaY)u4q8b0w3ZU* zI*j1T+O%XJICTb44{m?Anf1SgHi|n~jDYNquaH5e)F7ZfF5(aC7iSXyTpD+R)j`Ru zHaxah*K!b3pIPq7tCq}PF+rD3^)w#4#9YjcZca*hPrEGY)1Isr$R?p@4do&?JU1SI zhSvb5vts^|41#E+0n)#Xwoq!->eo5mlaK3m%hYkerKr%cz*JZ8blivx#G~UJ@t@RU zbm7n}tnLB;2M;gRQlkc}XmIP3W$EE1H7nktU!<(5x zVPrS&B?4H*knBFU8wuxR2-m=)v`wwb741uO=x-27qSjQX;rQUs6TqO0Ob_X910!#s zh}sx3$gsfoptBcfO$={grwaAmtI9N{2Gi4Gw{tIlSPVRfj*zyD!x^L|+!PU8t9RUP zrN456dsbRPbTdemQCz1dtBHoiv!8L#EnkrIpKl>1cZHQxFx6#Ta4j6!&hI)8FKNqI z-1i_lgu-{70S`UgZz&y2BLN57iv=^3#f8X7Wq<|*fZR{;Jh8V|X+0f`%yQ0zvdHM|X9 zd>)Bi_i6TFYh^DdbH>~NOkWi5^q9?y0n?K)4S9JyK&}F>zs&q^tksI?JKnQDCTRX= zmjrNL4g3mWb36Ijf-SLQ*ESVFeA_>H(nyh{_T7@_wh1^7GPBQF9RQe6YyWktjWI3yl1ffEd?6cs` zLDqStNxUuZ2U7`5>|5^#^#5!Lc(j^G&uVXZX)U!r9+Zrs3e1YwKb@ZpOc#?SE(}N) zoFDmH*n(9eveGu~!E;;e`xzhze8m0?pNqOWdx`Aa&W(H;t#iV3(H%^N!pD4W|aZd5ZjUcuHR5zr474wyO z+CoZHv?vDJuO&_|S?DvW$w5=Fe|OlNQjrCe-eN+w4P{GAHMwVYE6=PE@A}_WDs;Ma zibQ>mM|)1P0Q7GS_r2DKsA8H4A$w6nJYHZ_>2_c;vUu_^ zyM?tw)6|Rw_T>q0BGgRR6}zjns}s(4`l(e<#0dd@PY{M$W*|-iaJFf{2FrC76)we<*Ift$de_`YwKnq4;}% z^-wUk{9tiL%Lh}=E_W+djR4_A_KSYCyn1CP=dunLA3C$S8(2$0D!`;?`gkGDGYHXq zJB;k_aM;)3ssx_|?6w)QXCe!hi(a-i6^|QQ>!`L&4Uk4hyLUPDtnPs8HEZOMFH{!1 zAg%!h5S=e8tDFS}mmHJEd^Z>4!4-b)+Nc@M0peYM9@x53#X^?KL7W}&lE9-2<7T)_BoN(b(g8 z$#hxEF#B<);68n!%W$h?D~Ufhh-CpJeco)(;9x${%qMsvmHA7dL~nEbes&(WI8vp+ zzWwR`bz>z)jsths>#!3c8Mk|@mh^D!p-;AwTEFmq>1)hRn(Q#9d{oTO(X-xsulK#+ z?}psO@4&5)z%8<4Stj6CSXfw7H2i42cLG^pz0xh}y1Zd$9?}=*l_)!r%ezcVUq0bZ z*)!;~r>qoErmxuYv?ttRZh?=VpTiW#*j(@!HTxvPAQ(~K-5g>&9(UIqqpKOf%VLR+IrL#21XO&e?S*Z-$G!DV(h>JDP!-1 zfCO>;obK$$?C+jV6v)gv%&X#gHn@YwBy0<@|YZ%L`blYy>Ed?r3x zrj5gq4T_8IY=?3kbC$Sz=is|#Ma(MxY4^99ejf{Cv2Vs9OGv~^VD`724=QV8t*uy_ zWpnEf15{UAL!!l{v2U3)Op{^k3VzPR)o{016XlPu@RFqc$#AUh#v8gCvJx)h&_*-h ztH61uhLDO{(ND)rzsn^*a;Wp}*(}12H8M&a(tolQ;)I^?GPqf0*#sW}2d#Fp>YK)X z#J{hrycGMICabdM&B#&8hcsGwoX$P=rsbD$_F*V@6qQr2c=e)Y2e^`N1$VPZ*_kN?9t7@Crn`$CMe%|YD%bTy6gni9Mmb{;C1UZGGJ`5h~0G} z4#~;kCasImng*xqxJGKhAHimhd{gcz=L8fu^6W zFlI}n=!a#*X9>Q=nXB{m`pr4YxXEt}D6J)VMWZ_*k5a#gH*i{6VXABG8hJ0p_qER* z<3XBKONm+`t*$R8^#0xS_V8h=+>#o@ZbelU^J&MMxn^U#X{#U}R}Xfz6O)p*!S!Uk zfo{tS6W_BM*aA5puId;+s2NE^R|!|%pBon#eVc{tHim@3RotJh&`p?yyPY=w?z}Hk zB8%*dea>4*$1n^)zxPJSR4wgC=#Pkg@}xV}OCH*%R>MK^B@p&s8XNxp$g`fwi6i7# zeZ#!g=wTemb$v%&RHi#%Tv;I$P+-xQ(2H3L)YH*n{PB=szh#}Hej&|#*s{MuxAXQN z>fty@hK{zBhla0t50mk2A4OgR%>&G)_o2V`3O%0xRh)-g`InjYLAQpL0@KH=yt6NC zfc|&hSa(P|z4kw__fnP6uV95)3U7ST3XNfoYLrdA|6bn9@d4=BRV)hjI`HPb4pC?q z#dwB1T$&vpZuMib>+lRP&E%yl5yTcKu$ccb*2iKr3snKjA_qOdc_o9EBW3v6;%GUX zMnmU!Pu)M%L~8}-Jl)b^h@+UBfzE7U42xxR0@rd|*Zj4aS0K_8AyHTDZ>ic4ztg{@ ze|4yXHB&ujd$H8e|sSf!gY^O6Y z2?cKVnA+%CdIxl}I{WNr!K|X9QbJ6tfiM7dAZ^~cnvJJ7R#}k88GXD!`D9~-w>`{l zEGcP)<*&#>bF=zIcA@SzSt%Q|Fk)fgv zyprpWw!JQYlw|1sK}+iAuK6)hOjnu*NQTWlgFXlRppzD~(C#?qmR{v=ne*uY-h)16 zts0Qd47%LrP54{s|85j9~5Aq6Zf(AKugOh2&-f>EYHzb~1?0 zU*i9>X&K4VR|aQjH`h=|Niu2ZtGd6(Lvx@!+dLo2VTdhXH_7?K> z47ZnaoitB0czJnC_@6=>JFeg6q_NFp-Co&JgF{An192|C7H=z@M*aX?rVP6M+g&^# zgv`|o!N!M{1jU3Y@tgG}hg;I5J+vb1uD$caf%yH#l8ubFB3}W2?&m<*_L;zGN*YAg zQn^a>l2ktEOoG`=MN1GP73N6nDbHc&$Q3AX8RsdNxn!c(3l|IwWov9DR+Cmnun|gL z&#EBtH&7|k<_mLQT8e-;^qzs-FD|GEtqkWtFf8P zSP8ezMb5xM@0v(r4K-)Aa&+7cGt>#fAxLNE-4g0D@S$8plq>lO<%P1v|JKUBsBv(< z_s^=pKPY4MFgb5UKVfR^g_Amdjc*GYza$q-dq&XOlrq46_@ieXnT@^Z?V!&GU*44u zyrDrPmBz$PI-2>Fi>}!!#8HeJQ=WTm$e-VN$&i3Iq)aLxcJAA^Vsm=QK@&p_^v_ej z0H;e&6)XjGXk*Qd;Hznm>V!=cUXc4iFXJc2%C3{&?o>Z@dW-m0wJ6lvtE{B-N#4-P z!2CPBF8FE#1a#0sY(-qmES>%hgS$z6k(HGVJBh~l>wVmQxdHa#B~hX#_`VH(KePEL zFpU%QO6z_S%^DMeND)K+;iP|EkaAA&_vKyqn0`*@dvlz1i+178!WOrF$Gr@r4xx*W zt@5N3yZG2bkwGpG2gXgxU2ki&;KMz`Je6~q8+~`g1`{%eUW4lNRXewcaw0&EpfA7M z5rq38j@f zQYPzHFSMrJ2iQ;q#A)SShI@wBn5uf3}U zCw&{_@U^!H`p(4myc02DH)#QYH>lqoYwF5Wo|C+aqboFW9|p9RL!Jy%v9r?<@?Pi^CN|PL{WyyuX%NpF;{54hH6l`Z zDy3%LLMp!L)wQrHlVd4AJG#8;WEOVov2otdU{sD>hwOs7;7Xk8cpwHOFsDs&sDbp;q9jfVpAwYU?{I9JxWW)FHO}dk9 zaA;?SRg_h-9C1Iak|-Sz&8ZeFp{Mg*;TwdrZsQa89<=RmoN)ik yKmUJs@&7uQ|7jNgoihJZO|t(^QpS;6Vo^w|$t7MfhmhXr&bv42iWRTTzy2>Y(NBv2 literal 0 HcmV?d00001 diff --git a/img/ch04/中间表示-MindIR.svg b/img/ch04/中间表示-MindIR.svg deleted file mode 100644 index 8dfce81..0000000 --- a/img/ch04/中间表示-MindIR.svg +++ /dev/null @@ -1,380 +0,0 @@ - - - -AnfNodeANodeCNodeParameterNodeValueNodeParameterScalarNamedTensorTypeShapePrimitiveMetaFuncGraphFuncGraph diff --git a/img/ch04/中间表示-中间表示结构.png b/img/ch04/中间表示-中间表示结构.png new file mode 100644 index 0000000000000000000000000000000000000000..4fb9ddddb46855c79cdae176d2f5ea5d38c69231 GIT binary patch literal 10741 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 literal 0 HcmV?d00001 diff --git a/img/ch04/中间表示-中间表示结构.svg b/img/ch04/中间表示-中间表示结构.svg deleted file mode 100644 index 7f8a454..0000000 --- a/img/ch04/中间表示-中间表示结构.svg +++ /dev/null @@ -1,364 +0,0 @@ - - - -源程序语言1源程序语言2源程序语言M前端优化器后端目标机器1目标机器2目标机器NIRIR diff --git a/img/ch04/中间表示-线性中间表示.png b/img/ch04/中间表示-线性中间表示.png new file mode 100644 index 0000000000000000000000000000000000000000..be662755d0ab04b4c774506c944a301bf567f3f0 GIT binary patch literal 21301 zcmd432T)U87cLwS5a~ri5k#7F5RopR5Q-omO)&JLARR-;(4+@J6a=XndXXZbLqHHv zloE;{NJl~kr34bnJyGBH`|iCnckcZE{4;+>=S;}n`|PvM-s@TGS!?aMJNjC*R2)1V|oh$86Dk%+%yT8*qD+m_Zi(g{TUx0Po>R3Np_AU zHlB)%)bJ)LX}B}+zc`F6{04(s#0`ds8<#HKG%>lvK&i$MOGSnxWg?4UAVVVgV}ZT| zLWoD`+RD6F|Cd*%P7kc-v$2i1{wxKjfoa#Ry>G5>kIOPMGi^wK34lOiv`>FuL9yUJ zR|xg*>kZVOua}^Iu1NAfR}AUzYnbz&?*C7FrFFKQ>{VtOs2=Yw9ph%&0yk>MJaXXs z-!gl+LywklZKub5R{m3aq2dRkvvh688=jsQA8)_U)Z&Kk)>Y;YlISGEIDqyn}H*Jx*H>gfOHBrTC z9WeK`@ZOWG#L!d1j9e&Ta>nE2S6bWmmJ|G1{miG_lii|Bt&4$+`_1^h%Fwr4_O3%Q z@9qZv`XuN{xQjQ(L%&M@w2K3?_Ty$kLwEKkJ!cei63*>w;EgVq)K3SkElqm1)dqm{ z#k50rF4|O(+#5CX)pGRfvz$%HVL=EPXZYz6R#grV<RNPY(4U>)as+ z@7c(!0_@A|YwVlt*WQt^W`ZYW6X^OibvQG|n;>VL+oleBR8PDw+*7KXW1pE{Dau6$ zt`wwsVAEnXW!fCAheF2h=PAR5;UWvla51_vwEptgeoo=YXykgEu?xgGf|bD;il2SIdoIMc3 zJIdY(Tr&^{eyTjY?MdGUK}Y8C8TrqV+1Ix+%3ly(Mdf=_%uZx)jQ8Zf_4~<-jP~7r zEY-qmKCk5%qx6tR_ImXP?QOSiCu1~$3(J4k`UkJS8ofn^aJ=bz+PQ3u za~bXX{H4Oe<}wv0fPAKpj<-VP3PHB~q6YdX@xK;jVu?k0&mPqqgDai$z_pG|o7*iXDZW`&0 zZpysW$2)6~-+%tavBWBD#j@}G%d(dFMRwgv(y%EPS^n%M&b{(m6}8|yMt-{Ohrp)0 zP1B>{ag<+Sy|^d#w9O*%zwgZ<#hLEDxXOi~0Jk?4b8QuX)o}IuYKzocFMU>sMFn#mQjY?djxMexz znS2nBR?Bjvy#E=ajwlnx8|S$|St9tIA-OZmc7_pMwHj$49>IkCXMs<{1t6A|j_N%P zCbZOy;D-EIgwc^{S$8cp7`Y6(v5Vy?21auogZ7+>4KVA_(3iXJ`xJq2on=ca4al03 z%ce{FKrPwgCFpN+^PVMaBw0uiBoE)k78JyrVEWt`;;O=85nEgN@%i$C82h9*uBouJ zqX%;x4Ij3@O!wqPxUgDM3pd@95rde6+OHy2+W_5zsOq`Z_EtzmMl9^~*C94{hEW)n zavft&zvz6qd9cBUNzWv;rH1ddo|m{?ysu6ya7%OjU8k@7*c?s9xq?K0UmePA81G$2 zx1%MwHid7(?ySScZQuhNqK*~?=1IYueyaxbr0Oc4B k0tMm{_B9-wj-CHH!XW! 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 TJRb~tJp|(Fj6`tGeV6eEk7V5t literal 0 HcmV?d00001 diff --git a/img/ch04/中间表示-线性中间表示.svg b/img/ch04/中间表示-线性中间表示.svg deleted file mode 100644 index e1a6444..0000000 --- a/img/ch04/中间表示-线性中间表示.svg +++ /dev/null @@ -1,744 +0,0 @@ - - - -push 5push bmultiplypush asubstract目标运算符操作数1操作数2t15t2bt3×t1t2t4at5-t4t3t1 5t2 bt3 t1×t2t4 at5 t4 t3堆栈机代码三地址代码 diff --git a/img/ch04/自动微分-前向模式自动微分示例.png b/img/ch04/自动微分-前向模式自动微分示例.png index ac7f559de189c03f1c5b23d8c3d4f88aef69b3f1..4fb73ab694720872a1639e96a0d4e6261a9a8de7 100644 GIT binary patch literal 28177 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 diff --git a/img/ch04/自动微分-反向模式自动微分示例.png b/img/ch04/自动微分-反向模式自动微分示例.png index f6f36150a96a56dcbd4499ca1f609e86897ec554..7d8f1892b3d80866a1251f953ae9f5077c35ccc6 100644 GIT binary patch literal 40542 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ɃObVamc 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 bs*q&lnX=`0bN~M1%HT;SH&l(o`S`y8H{)jL literal 39066 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