From 6895f110bafad58a8de08b3223822f13f93d53ea Mon Sep 17 00:00:00 2001 From: Shine wOng <1551885@tongji.edu.cn> Date: Thu, 3 Oct 2019 22:14:06 +0800 Subject: [PATCH] conclude bm-gs algorithm. --- thu_dsa/chp11/bm.md | 148 ++++++++++++++++++++++++++++++++ thu_dsa/chp11/buildss_case1.png | Bin 0 -> 12180 bytes thu_dsa/chp11/buildss_case2.png | Bin 0 -> 28196 bytes thu_dsa/chp11/gs_case1.png | Bin 0 -> 31662 bytes thu_dsa/chp11/gs_case2.png | Bin 0 -> 41603 bytes thu_dsa/chp11/ss2gs_case1.png | Bin 0 -> 15082 bytes thu_dsa/chp11/ss2gs_case2.png | Bin 0 -> 15429 bytes thu_dsa/chp11/ss_definition.png | Bin 0 -> 12789 bytes 8 files changed, 148 insertions(+) create mode 100644 thu_dsa/chp11/buildss_case1.png create mode 100644 thu_dsa/chp11/buildss_case2.png create mode 100644 thu_dsa/chp11/gs_case1.png create mode 100644 thu_dsa/chp11/gs_case2.png create mode 100644 thu_dsa/chp11/ss2gs_case1.png create mode 100644 thu_dsa/chp11/ss2gs_case2.png create mode 100644 thu_dsa/chp11/ss_definition.png diff --git a/thu_dsa/chp11/bm.md b/thu_dsa/chp11/bm.md index c7e2e4f..2770bff 100644 --- a/thu_dsa/chp11/bm.md +++ b/thu_dsa/chp11/bm.md @@ -68,3 +68,151 @@ void makeBC(char* const pattern, int* bc){ ![bc_worstcase](bc_worstcase.png) 可以看到,在这种情况下,每次都需要进行`m - 1`次比对,才能在最左侧一次比对中失败,而该次失败只能让模式串右移一个单位。这种情况正与蛮力策略的最好情况相一致。一般地,单次匹配成功的概率越大,即字符集越小,就越接近于这种最坏的情况;单次匹配成功的概率越小,即字符集越大,就越接近于最好的情况。 + +### bm-gs策略 + +对上述`bc`策略低效的原因进行分析,可以发现这是因为`bc`策略中只利用到了匹配失败的`坏字符`,而在坏字符之前的那多次成功比对却直接被`bc`策略忽略了。在上面的这种情形中,如果注意到最左侧的`1`与其右侧四个字符均不相等,一次比对失败后可以直接跳过这四个无意义的对齐位置,从而规避了这种低效的情况。 + +基于上面的考虑,我们这里提出好后缀(good suffix, gs)策略。顾名思义,好后缀策略就是要将某次比对失败前的成功比对信息加以利用,因此它的思想和`kmp`算法是一致的。具体说来,就是要利用这些成功比对的信息,将模式串直接移动到下一个值得对齐的位置,那么这里的值得对齐的位置和`kmp`算法是否存在异同呢? + +设某次比对失败于模式串的位置`j`,因此`P[j+1, m)`与文本串中的对应字符依次相等。一般地,如果这`m - j -2`个字符在模式串中左侧的另一位置再次出现,则显然是一个值得的对齐位置,如下图所示: + +![gs_case1](gs_case1.png) + +但是如果这`m - j - 2`字符没有在模式串中重复出现,是否就不存在值得的对齐位置了呢?答案是否定的,因为此时的情形就类似`kmp`的情形了啊,一般地,如果模式串存在一个前缀,与子串`P[j+1, m)`的后缀相互匹配,那么这也是一个值得的对齐位置,如下图所示: + +![gs_case2](gs_case2.png) + +和`bc`算法和`kmp`算法一样,如果这样的对齐位置有多个,应该取出其中移动距离最短的一个,从而不会错过其他的对齐位置。并且仿照`bc`策略和`kmp`算法的思想,可以预先构造一个`gs`表,其中`gs[i]`表示在第`i`个位置比对失败后,按照`好后缀策略`应该采取的位移量。需要指出的是,`gs`表是只依赖于模式串`P`本身的,这是因为和`kmp`类似,文本串的相关字符已经全部和模式串匹配了。以下就主要讨论如何高效地构造`gs`表,而这个问题非常复杂,我只能尽量...... + +### gs表的构造 + +还是首先考虑蛮力策略吧,为了找到`gs`表中的任意一项,如`gs[i]`,根据`gs`表的语义,应该从位置`i`往前遍历整个模式串,直到出现上面讨论过的两种情况位置,其最坏情况下的时间复杂度为`O(m^2)`,因此蛮力算法构造`gs`表的时间复杂度为`O(m^3)`。而这里要介绍的一种`O(m)`构造`gs`表的策略,你就知道它有多难了。 + +> ss表 + +为了构造`gs`表,首先引入`ss`表的概念——`ss[i]`是表示在`P[0, i]`的所有后缀中,与`P`的某一后缀匹配的最长长度,即最长匹配后缀(maximum matched suffix)的长度。如下图所示: + +![ss_definition](ss_definition.png) + +如果可以成功地构造出`ss`表的话,就可以用`ss`表快捷地构造出`gs`表,因为`ss`表中包含了`gs`表中的全部信息。 + +> ss -> gs + +这里先讨论如何通过`ss`表构造出`gs`表。 + +实际上,对应于上面提到的好后缀的两种情形,由`ss`表构造`gs`表也无非两种情况。第一种情况是`ss[j]`对应的最长匹配后缀延伸到了`P`的最左侧,此时有 + +```c +ss[j] == j + 1; +``` + +如下图所示: + +![ss2gs_case1](ss2gs_case1.png) + +此时,对于模式串中所有的秩为`i`的字符,如果有`i < m - j - 1`,则`MS[j]`都是在该处匹配失败的一个候选对齐位置,对应了上面好后缀的第二种情形,此时它们的移动距离距离都是`m - j - 1`,即`m - j -1`必然是`gs[i]`的一个候选。需要指出的是,这种情形并不适用于`i >= m - j - 1`的情形,因为首位两个子串完全匹配,在该位置对齐后的下一次匹配必然会失败。 + +第二种情形是`ss[j]`是`P[0, j]`的一个真后缀,此时有 + +```c +ss[j] < j + 1; +``` + +如下图所示: + +![ss2gs_case2](ss2gs_case2.png) + +在这种情况下,`MS[j]`只能作为在位置`m - ss[j] - 1`处比对失败的候选对齐位置。这是因为,假如`i > m - ss[j] - 1`,这里的情形与上面讨论的一致,两个子串完全匹配,在该位置对齐后的下一次匹配必然会失败;而假如`i < m - ss[j] - 1`,由于`ss[j]`的最值性,`MS[j]`的前一个字符必然与`P[m - ss[j] - 2]`不相等,因此这并不是一个有意义的对齐位置。综上,此时`m - j - 1`是`gs[m - ss[j] - 1]`的一个候选。 + +将上述两种情况进行综合,可以得到下面的通过`ss`表构造`gs`表的算法: + +```c +int* buildGS(char* P){ + int* ss = buildSS(P); + int m = strlen(P); + int* gs = new int[m]; + + //initialize + for(int j = 0; j < m; ++j) gs[j] = m; + + for(int i = 0, j = m - 1; j >= 0; --j) + if(ss[j] == j + 1) + while(i < m - j - 1) //double loop? + gs[i++] = m - j - 1; + + for(int j = 0; j < m - 1; ++j) //painter's algorithm + gs[m - ss[j] - 1] = m - j - 1; + + delete []ss; + return gs; +} +``` + +需要对上面的算法做一些说明。可以看到,在构造`gs`表时,是使用画家算法,优先对`ss`的第一种情形进行判断,再使用第二种情形的结果来覆盖第一种情形。实际上,`ss`的第二种情形的确是优先于第一种情形的,可以证明,对于同一位置`i`,`ss`的第二种情形对应的位移量一定小于第一种情形,可以画个图自己看看(留作习题答案略,读者自证不难 + +然后对两种情形的两次循环,其方向是不一致的。第二个`for`循环(第一种情形的循环),对于每个位置`i`,是直接写入它的最短移动距离,因此是从右到左的循环。而第三个`for`循环(第二种情形的循环)由于是使用画家算法,需要不断覆盖之前的结果,所以是从左到右的循环,这样后写入的结果才是移动距离更短的。容易看出,由`ss`表构造`gs`表的算法,其时间复杂度只有`O(m)`,可以注意到其中是有一个二重循环的,但是由于`gs`表中的每个位置至多写入一次,因此该循环还是至多只会被执行`O(m)`次。 + +那么接下里的问题,就是如何构造`ss`表了! + +> ss表的构造 + +首先还是先考虑一下如何通过蛮力来构造`ss`表,对于`ss`表中的每一项`ss[i]`,需要从该位置向前遍历,来找到一个最长匹配后缀,最坏情况下的时间复杂度为`O(m)`,因此蛮力算法的总体时间复杂度为`O(m^2)`。 + +下面介绍一种在`O(m)`时间内构造`ss`表的策略,这个策略连我邓公没有讲清楚,我就瞎写点东西...... + +这种策略的基本思路是,对于`ss[j]`,应该利用此前的构造`ss`的匹配信息,从而快速的更新当前的`ss[j]`。简单说来有两种情形: + +第一种情形如下图所示: + +![buildss_case1](buildss_case1.png) + +在构造`ss`表的过程中,动态地保存和更新之前的极大匹配后缀,分别用`lo`和`hi`来表示它的范围,即`P(lo, hi]`。此时`j`位于`lo`和`hi`之间,因此就可以找到这样一个位置`m - hi + j - 1`,以这两个位置为后缀的子串,至少拥有`j - lo`个完全匹配的字符。第一种情形是 + +```c +ss[m - hi + j - 1] <= j - lo +``` + +此时,得益于`ss`的最值性,`P`的长度为`ss[m - hi + j - 1]`的后缀,必然是与`P[0, j]`匹配的最长匹配后缀,因此`ss[m - hi + j - 1`必然是`ss[j]`的最大取值,因此可以直接更新 + +``` +ss[j] = s[m - hi + j - 1]; +``` + +倘若不满足第一种情形的条件,即 + +```c +ss[m - hi + j - 1] > j - lo +``` + +则对应了这里的第二种情形,如下图所示: + +![buildss_case2](buildss_case2.png) + +在这种情况下,根据已有的信息,只能知道`P(lo, j]`与`P(m - hi + lo - 1, m - hi + j - 1]`是相互匹配的,因此`P(lo, j]`与`P(m + lo - j - 1, m - 1]`是相互匹配的,故`ss[j]`至少为`j - lo`。此时,`MS[j]`有可能继续向左侧扩展,因此需要依次对接下来的字符进行比对。此时将更新`hi = j`,并在一次比对成功后更新`lo`的值,即`--lo`,直到这样的比对失败,即可确定当前的`ss[j]`。 + +从这里也可以看出,`lo`和`hi`的更新是为了保证对接下来要进行确定字符,进行一个尽可能大的覆盖,而并非只是单纯地维护匹配后缀的最大值,以保证后面要遍历到位置,尽可能地处于`lo`和`hi`的包围中,从而可以应用这里的两种情形。 + +因此,可以形成下面构造`ss`表的代码: + +```c +int* buildSS(char* P){ + int m = strlen(P); + int* ss = new int[m]; + ss[m - 1] = m; + for(int lo = m -1, hi = m - 1, j = lo - 1; j >= 0; --j){ + if((lo < j) && (ss[m - hi + j - 1] <= j - lo)){//case one + ss[j] = ss[m - hi + j - 1]; + } + else{ + hi = j; lo = __min(lo, hi); + while(( 0 <= lo) && (P[lo] == P[m - hi + lo - 1])) + --lo; + ss[j] = hi - lo; + } + } + return ss; +} +``` + +可以注意到,上面的代码中也是含有两重循环,但是由于`lo`和`j`都至多减少到零,而每一次循环都会执行`--j`或者`--lo`,因此循环至多执行`O(m)`次,其时间复杂度仍然是`O(m)`。 \ No newline at end of file diff --git a/thu_dsa/chp11/buildss_case1.png b/thu_dsa/chp11/buildss_case1.png new file mode 100644 index 0000000000000000000000000000000000000000..85cd103db5a654741d72c3869dc1094511113b27 GIT binary patch literal 12180 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

3wbo3%CnHICI!Ag0R7Bl>L5P(t#aUu( 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 DhNd6u literal 0 HcmV?d00001 diff --git a/thu_dsa/chp11/buildss_case2.png b/thu_dsa/chp11/buildss_case2.png new file mode 100644 index 0000000000000000000000000000000000000000..2ba32d9ec0f1c481809335261e5af6656b0c36dc GIT binary patch literal 28196 zcmaHT1z6PGyDeQ3GN^#0w2FX~bPEa!Ly0tqgmm{1f`kf)j?yup(j_o73?)h<-Q68S z$K9iT|MQ)5?!EIo2Jnj=Z>)E{YZDGtRU#v~PJ)GnMfUK4f(8~A9y|E|F%bdy`xEb( z5BLY$MMFsrE5DO|8GM0fDf?I!3#%yV(y1vv_?p=9fvyV{7Q_|v2YbST$rB69uHvDB ztd^(I`Z!_imHX#Xjy1b4y>D6E7jfxShRR;KD%&3RGJpg^ibu&tl=*;M`5hYx=g$D< zm(Sm^i7qDY^3W=f9-J7T9o#vK?5`1eVd?$Vav^E)NTRT}zqhzpQoG+lM<>N~FXrMF z%b!o0f*F^r!k^E>dg#lrKcDw65qOk;KJ57N#D6bVCJBN3y%v6jl>P6uTsLWyFJrDf z>W)tF@3n1f2sa-$nG<@9bXHL4G5PcOIe{AK<&0ZT^3xXX=w+KUvPFzJ6yHDIE zjuvw?)g-mitCPlgMs>0bVRzwJcy!{$`&sO_pAg7}dtJJg$spR*ECvY*!W~-!=C7J+JJM5?GA&{)SKX;}df0!Sf*N(Fs_#`6@EoJOODvn#^6gxwI|8 z@Gb$-l#QnACp4_e8FA>-VRBu~M{acfa#4z%Z&8c;Dz$P}v@%c}Gk{J{w%&fNZ9N&y zBp*WHL%{$R+V^2;r`JW5%S7FY+c?s4JxToeZTFXf7NXz%VW~vi$!}}#$qZ_ z85v6}_utJ=b8U>cm%VsPOY0R0^%MW2HsifO?+;%ca!xjQvs9&yo}aliFQ({>y07=t z2d@jsMMGz5KHcfZr#48v;N_{=(_qkwEzn13m@Cm99)3{U+n0ZZ1>uL6Z%UO~uZxu~ zq7d(HD6=6H2BytcvMgK0C*F8YH&ge!2Ma0rx#r3%#J%}r3F=oIyZz3{?q$1liYghp zbO>1wBv!1Xz2P08lD)=#=pbY^!0qPNxqImK^V_^P-ph42%uwK(s_L&UQ9qfCq|fq; zl~nr3vm54DYd`L7-7;b8wv=J)dK5A0k>&N~Q|3?2ui2a_-pVn{BY6pWbuUzYg!7bb zj%T!89kWh zLe#zgy2KTHVs^)X@f;6_QtxqZH_PdU<3(}?@$C7WCpm?f}2<8pOc1vu?rKfW(3 z7mkBZl6iEAdWG_m$E4NMc z7GJ~OEPIi$sK-aK!45wxG4^NRo^mFvCRq4@+ASORtEwGqaJP)mE9f6Euk_zj&xbx+ ztPRSZ4K>sX?PSV!PZG=V&_n(*=dC++Mn6ec%+~Josoy;#Bu92$T;_oM z`x~0y^miui@Wd@W)< z3Gib?G`;S(adl)~4bv;A$!{By3%|O0j{r$WB1bq@W42k}7&%Bztz3Qd#H^;;uFBo| zsI~vrYPWjJu{o2E0WZ_e5w-W85}OCXjkLY*e_|^ai3L|6uEX1B@1SxE?+RZ*Xy*CW zMx({7mImwmQ30|+eiRhkh~Se?sSxF{Aw(=(WbSrJf}(A zy(kE!(3za8ZYi4mz8X!V8yYEMByPa9{p3R#dI!YVC6#+)RC?EV)#Z4Zgiq-}oYQz2 z_Rj|2C_vyTikr+~DQc8YPfgMbO=)vs6XERBOXM!PKCSY~;nB~1>IBRBIgnI^-hBr< zwCam-*jqcvGBT=AzFKNKf2-vI@moC6gR$Md<%{E(cu^bVNHvTTM80Q#;{BC~>JZ4r z;N^u~79^DAFcD(E5za&T4$nu8d7d4PVoSE*Dza~LhqYX8FSzSBqagY7i-GsAukxHV z_D7Z}+Pe$9js~CP{+oj{+Hg^-mLL?0fkiq9y~w^UXq{_cx2tOS)phyTO6j1@>Z0Qy zc`%hl02Z>!p?q>R_-3zmdRanNNJK*B2zsJ>p0|2SPP;~tOuOJbA=|J;)ms5i(c5JF zn2Zj;RnWHYf!k)kzP8^s`x(7`((A&RgCmZ_n2^ir7XQo%IBb4lFyu`PPj8IW11{4E zSmVB4J)T^+Y)~#D_>t>PkIBQ6$&36Him$zdOxbo-`yw2@cz9RGz4tX>ApP-{$)wKs z6>K7{&0vq6md#_9AKu;eVT}#&(5o%jNrJhjk}9gfy~|6kOS& zKH|9C*qM7~Jv(4Gu<6G=;4qSgT%X9AfJRQgp5mRZ*zKTrDOhEO zMQ36b?rT0DyL>k}Db=}ukH?EN>GbH*H9ZQP>JqD; z8g8-0V^m+*9+6b|&fi+~7*#2@>{368q%W@JWMSd`{i>azv}TpuqzeUCsB-DZdrrD#8g^?`G$FuXHQ+1x@BQ!=)p+4`r{7$T!5jtCjJc6YWw|{$jEcc z6xi2fzvCC^!`UdGG~c70l{VfwS6dfaC6&ux;BE=R;NWf-qu0-EzW-NIoOD_ zd&YQa)Q6Sj^}XMKh4FZraB*0*fPy>Kq9Y#slnc3DLm4f7$EdP>o56mhBnw@|sHP@~ zhF_QVt2V2mDKho(S5Vk)`aLt&a*olpDYayYVQ;?64qXzvZ_TQt+Y?{F{K14a!kuz- z3hdAFTSf~_8|g&%?rI!ZGPTT8W(DVz{S1MZ_r$EyIkN*cYVNF11K)BUqqf zzrooEa2Y%9Z&(%;e2JaWXRQcp_vit>ehdOn-5LXcF@ zNgfmG7iXLP{a+s^^fgl(=h|1T3u_~7hf&VpO<9IIB{qYqZfis8 zr4Exu7j<@{NN=gvzrLu5w*p60wgW(q>%$)leZYoj`Vr0QMq?^CQVj(6s+{;#4u``-?qfq@%z9( zi_JpJ?staPLGN}+=Ty3_W~=blXfZ((MV#aqqMLi8=(+N&fq#8(Be>c_BFp|Uk{DKrFhy_2_~QR{C5$}QB z*p?z)S8LA4JITx<{kuE^V~{7_{gmo#5^NmMosdkCwWH#LI`$FNwJY z7C)daw#VctB%iYjth=cG4@aYy+J2KBB<;2Hd^J#}`nP@WQuDa_hW?E%n95C=;E!`1 zPlqzmC!Mx_ysb|`Fthwo$H>XnWuy9N;6PE~yu@>vzr~~cMeo;vO>c?mZ@leJX7&fD zqLkdts4%YNKhfX^%yE0zG9@b`#c#wLdYJ-%XdPp}qc3I&Z94hiYVWb^WS|quK$HT3 zbzh=;ZK9^iETMR@y$Jj$%@gc9JaC`sOntq5qyVHQ6$M89V!xpDbPBVUNNr3UN&)fO z0KGn{Q-}2NsXAaN9Kin*{B;B@M3i(N$MVU-c7Ae#^p>j_aeaR18n=E$t6m1By6^f> zLf$^3L~i8iX+o*g4?M7y{6CO}K7G~roj;4ixN4l>ATH`vnSMZvKUP?Nv5>24-EkbT zGPRwO=O!nH85%aI)3upmhi=KRC>zuGMTiFst>Cll+)ETnszZrRvr~Sl6Lne4UTaj! zL(5eH00qZ>lB;Kzw-?5BmN!~HtjBvfy3TI6sO>n3BW*AA0|}v@glQh#FG|cNm-$@O z8(bYfnDj3opkT}`kmgL=+Xk^PGfOjL;keV1Ny;LRDeOlIU&D)m+~LU0?UEP0eccH8 zyh#{~vSF-Qt1wevYrjn%T3!tE=7q5sJ4_JP&eCWW+ZCq#QX6CJr`y%%;J2xhXK4BR zQNnhU(}(0B|LFGT8;%|)ai;Yh%zaSH&Nr+Qt342~XonI;S$?-72FCHC6ZZ8BNO1$L z@4|kyBskPAA5NIP)Ym_g0fymvL;?&$JLk#3rWoZH>O={_x|7j^=enz5t|0VrMVKCD z=oURr6zS2!29@AVY(y;BJ#?7H~J%t>1UYY>Zcl*PbMlZI%pBE(6j- z{klsiWD<6eREoovwztzR&?QoPA`LuQ`R49|xWlAjo}SREM^e}?l`{Kr`bn5Ut9cIV zFEY%Mf_%dz@J~eNrviq)qXmGk);zVb^N`10c`Zdnp05OWRO=&*ivv$cYsX|}3GMO+ z>K`xOtCVP}ir!Ch{q@kgt#jP^0+{;zEQsU3!7+RUSiCt0SerT8w;@9{o2h!W&ZT-glMbD2&N;iK*4YyF*R-cj#QD;O^hE;kp4b%{Ou; zO*LsvqZp^0?baM`Q5^CEZ+nd4gSGgbj(;ytT5uQ}+!J9fRC5~rEh;yqUr`{uSmD?|NH&F%iP=vI)}_xZ(=eTe2UR_@)T!#Z<4upL+BiS zwPmO#vhEnWa^4;;cL(Ac-=?z36%{eQmkkE?7(a>wL;j5_;xM?2U7;MB zrj%0at@}m!WB*q>ae72kZF)<8#bR=fs`QzwkWZ&UsojAQCJlj%@$WSzqE^nGD7l~H z+-gg_z;|_a*is*nPnKd?>n9 z&2I9;7t{C3?@~NArD2RmJK$ix)cIJ z&GyV2UNJEtOmZ5a1WD%2CvG?2(AB{LhqHVtb?>9SUNweE*xOIY{y%XlUcb;WI^B77 zq%`OE{aZ~`YMD{e=R?~y#@}o!O8uBw{Pk+=gJ#7gT$i9|aJzopt^%A9R5V|{K8l+; z+-UQ4S>~BW;Dsdf>KCg{Mws-K6D!OWZGYepzjbeEvaZg1HLpwyV2*IE2tn(<2V}JT zY=a(tV@(eSjswF^U$h5@TaT2y0J#BF3|auX|IQ6|>!W2lA2`KN)?)QJ;@gm#x(#x~ z1{9MgAJnv$f0_3I@C|A$4S-LCo;49Eu`4OWnN6Vrv!MvN-;d2viQyU86r?l{F&sY0 zYw2I+x`Al=%21`E{HCP>hwPdpXiwY5hJbieWBDoBlG04ry8NneZ| zkAsZ&N?n5vXe&S$_8tq%8mQU8eqYB?=fUd;LUBAuG$M#{2k5;9=xw?TG@s zl224<0qzN^MYQ>#h>_n`eW=y|B7I*HpS}UXTMOZ+q=f46cJH^puifh`aDDqW}D?n?~95cbSLjRj6B$vP=AiznB?t35Gxz zfj|7Y?Mgf~qUjx?v9J86X8+gqDlH7-WH;gg6+d8rf+&;oDQ`6Ulif(RozJ&EOvnRm zkK$UzKb!$(Aj&Mfa^ZCL)#{Quh_qW;<%P#>#^-6OV#{p(bL$phJ5{njs7dKw7;GOc z_5RjR8p(@@7EW|5x)&t8n24dtMLn}EQXq%xr9bC^zVGk=?|j#sF9K6 z9v@%lh!}}0<$V$32(td4IHfSPYyVl>M|0X-PDfXDGQZq@k_}Vx*TS&IN&fZt);;gPSRVkM_tCJD8`oWr zbKn2$PF!mn6eq@dO?=0as|WyU$xyt1o(EXO>8t;_@c+AwMz0_`Pvyed+dkz;5|ZP~ z5l_H^{um`!P_sB_(@=m!r~`aW6VM`q^-YzJ_4_I#614ZH(^pVYoP7)H;{B~cHt0L@ zpqj^62CzS7uzdh$3{1=KgT_O*THWdP?%j`o;X1zn5M-s0Wwo1<0Xk&FN(s5Htkrg8 zV&{+b*8m^Qle1@Q7nn+ZkG!TR9m~o*Cf(+;&=tP$g6po&^s^R1eWb1KDpSDUA!@p< z4sU1HT^z{HOq+QWV*7ja#vHU2YLu{4ByXts_qOgnTGS^0r$7*kHx9?o1^Jy%hH zhlfxw<*)Q*rIS$e*yi2)ncwVl=Wn#asihUtyXtQEUDlml<&#zrAqCPeD?H4q@)+a< z?V@MRxo%wQ{8P{6Vt5R5Pi|9Eo=JtXs%a?^c#Qv$+DS*3iy5-B!2_0y7qc`dq;1cp zmOYmGe2?a126*|w#l$g4rzX6k`x&Z9xhFTlH##N5S?5FiI(+iR;brfaX$9yJK9@T4d~ZvR;<0{PEVnSuEga;Jn60geB`Er7n1Q2V*W# z@%J2(cUGMCmefHpa;HT&B?sE07y1EI3tQo9jV<&^@!PX40`Hhv_@~~s_GM`@xXmL{ z{E7y$6vFv!25eiTbc-z>|JlAlKHlj7Jv7(C@N0Xk`2sr zav#O?9!evj~PBAAeJT+XN%|B^GPx9Y4c6#|jMG;_HmLLhUT0Mmpu0Q5KwW(`WW zxcS*A=_hsP$2qtbTz*T4Pz<|gZK&kBIbqllC!o}yr+?3O80r|oB-RZ(-s@>xu{D30 z^&~GIK%$UjPrgqFms{WP)@IgSGKQf)-U6=Nw|VzTTMTa(`kr-9+AD8BSV^8F-TeD* z{!1g{lYS>1Jv`6N&9eXpW&DxHaHKMlx|=5wfUp?51CRx>IDMMGJX*43t6V<^D2v{o zNv10BTsv*@(iuS6uNt8ZoM35iZ}AH5W5|PSgNkqI*z&Wt+W1VPD%O@WQU(sPnC{sp zl9OV{X}Wm|>C^5JqM0WTJyQ|3leIM~-H4!UkT@&nKk3W4+ZHBWoYYFJ`Qi zUY3qC`ECW4)@11vB->xQ#$!NZRRz4n5WVStp+62g7$+vqrTpbEihP^|SU|}w6mG3e zRRSQ{Tdu*+>3iIjb{T`hOV+>Nx#5Fe`ErpDXpr7bT-Zv2edR+Yn$dw9n|I-0MQ-0 zb%%d<9|!L(oAlF9xg(eU^1$%h^M^JSPgBi;1n8H14SlzpS3>CQ!?NT9-w`K0uKp_V z`pV5T;JD^@qB_~n-N8O2G2RFy6myC(a1NK6eWo8;-2#1i8jJ{*PQBCF**SnN5x4S3 z_XDQXbBejtb9<)JPieFU1bgXEbM{qEShM-7>~Ip!Q=RF(3 z-`vqhX3n-m<)qzzqj)t~&~8Mq+uhh_y)?OG+=}yHeKf=Gc$xFeqa5T9GZN`EyQ-cT zS(#uY9p~jO)KVYdWCfRgZ|oIvdEyiku4#%=o56vPG-8~ww1@kn4ixmc1-iwG(orqo z($94FT?sxvYo^5x#yi@X*92_^vn!QOIQ5^u0#5*%A?)I!O;rzfd1}S zk*v}c%a2=6zdaA%fKLY&vT7+oQi#ua%AXTNQ5$&%A{5?(+F#lf4A$xmB^$k{vqBVy z!WQ$5eLxa{MND1)7~lh9_i=^&c;zzglj8O7&WU^|D}`bhpL{q*LqIra#R`>*cVxac zGy!;Skc7$|r!$dnkaRZ!2kq`P5cz%`>a;5x|5Sq1R~0n9LWaW@0{ICTo(Awzz(b#6 zr&DabQz3+gr&0RMf7IFQN`dXiol{FsI<+u}C8EqgpcZ43VU1EJEa&AH6UfAJ;%FRa zR^bXnq!ZD+#K&=4=~D;nYk#^h9?xx5p}JOy)#2_4rE@5Rj83?(?jQggw+~QHFYMMv zOKlcCDK_gaYW*mtamXt0a8h&%58e#AUL+HFPxx#~p3#1HmRtfqj1o_! zqx_xHu6<>TcoOk}+-mmjdz39xJ9K8urK^9GZ;~+8P^l`SjjUTo zhU-_Qo6WfD3^VN}WejX;vASe(13EJwV>|$(Dw!NoWwZ0hd6KucdCmUBp?W)HA|v6R z17iudB4lL5zM6V3<^8a`$|PCLCLjC(PYC2cR>=RT4!F>|UCEBx@ul#EfXlR8PlY z5cN6*5vaGop_cblHMYC$?A_$BuU%O*tJ2Chnt^cD#5~p;mNH`$iDz;xZPjoNy;#pn zDZ8(zjWT)fMGNqfvTIPt6Yo%kK+XfyLp`Sgd_d2_8Z>;4u@n~W$%uyw6Rb0+GX5Zb zCF!%DiJ>N9KK77XoUGd$vl6p^w!43UoqpS#F%zJ%Y+OR}%!`AI^OSSiGorUkVeVG~ zgCU-G+AU3u1_D~HOf(#C&<$>>FYA3;bZ-QU z(A2gxr`Md{{o_t{QnPdJx4i@jah-s3G3u4r!>WvB=#yYEX7bf;{w7)59bjO%L8 zr9&iV0_R0in{nr#b66(6YI!uaBO?-M`etKL`2Ka})cR(h`uR&Vcd$I|BrdZU_#Mq3 zOAZf^DT%2r4NckNbzVaV1Y+Saa7uJXM-R66)YprIl+D0QBFQAWX&Zc8>uMj$5xa74 z9U~+0kgv!|LpoYFUqfe>deT>nfvm!aw}62TC5$g0-q-v$A^ga^AG}|Fijz*sr-R3# zzcyA;oL@%4D3N)M`{`v7k>+}m5gRY&M3iiK2^Df(fl4`by}`W)ITPqkXeT_vU=R{O z#Z=CAV?;EG4UWQPm2XGVeSppewlU5J!%Cj>*P{{v0rHz#V`*h7LW1*ev@OxWsyCAhJM@q7Mwu50yH zy=R6LPw}D2k4y>2K_Y{wo0hj9MTbBdY~ejU4Y;iAwg|j@^Jd!EKwLtxsq>WuA7E$; zaMWf9IldotHFcckET*;Azue%1T1_=YH4YTj>s}pG)#Ns=HHc~UQQ{;?5lC*y)9ygG zPf|I4C5~}O1P#IpG2wFI!F`{Z;`^ex4zvNJw5X zPV+FJg2mC}El8&;xXxLPJ*ugBEtM9d5&MiEj7CT1t>lQ?*_}Y*S`mgs5mRww0`?@u z`-G-6aMYU>jyh>ZI!-y*^g6OM*j9lgJoWOYNC%S6MSePvij&6Fq?WhDWqQPZOt;;( z$|*-n!Z8h8SH$2V`J%WPep7SLn<#9|?w;z)AwM;gWhlC1Q1~wVfniZF1oRa(Ig?!9 zhY(LV>B3LGeK7%UofU)#Rs&d;Fs>1sm1+tkfF9{tTWm21e+C|hal`u8%gU+h3Y^$C z2=cX?->K8S2xwz*oLb))Q=n6hom0JBFBjgQqq91{LD-3f2x1=PmnTj%zuT4lfGcp- zwdaL^v2m;IP@!y0k(;d}0oY}+pd}If)u*7*_WYdU0CzQ&>iXKT4se%B8o)(j1|mw+ z!q!3KwFO$TODRqj1Uwh=C)H*xdEuS6a2dyEKrmF1G#4m5f>}wF%@n@|{o1rwbrB>pcD1RpZT^KYlIa=US2&P#*nzxm(SpEJZ%z3_bc|Ml=(x92LC6*%r4q5UTQx#zF zD!Drar%)5N5;dgkj+DqMZi=1|2oZzhOI(WT zWP^OuOYD60$h>t$ui|xKd18ZGH`2Mbe85hM8_j=N{~k_My#A?>@J8scyO~rD)XpOl zinECgyKUQYDv9l%r#scxro*Kjlw-t6vKj(@z`U|3Eh5`t2 zhy*<|6?(Rw;o)8PjGLzWU};Je=L&gb#n$uUT_o`>wM1H3&WEj@w8~SZTN6ET4K|lf z-!7W#1M2_Ku!lDKAfS_$k;t}t`Q1TqCke-o_o^TDe~)JLKI`nc;r2;t5LIqt!@n{? z>=cB8el6{>%;?)5N-NfFfe|)?%D|pCnFl>m<;J+{SR*tQ0)!*>cr*)fC)FT7GI;`B z2lIR6XdAQvM0ezzXKEeg<5314I4T@3SZT+bWy0>BJn=;sFf8+@hoiIKtlqwtL4}<$ zb%pu>WWn$^^goIhe5mt`20u{W4N)&oh(%T=nC&@rEbQuD*nW0hjt9Sf60)4HI{=ug zZgrW(hK@BEFl{U&HRSD>`YD0?mV^->)+H-mfzI@1<5=WPEz4K`iapO=aTV#NWDG~} zOCDP}KwH|9zVY3Co~eSzCkCNtcXHexwiF*B;*}@PrF%HKZq9{mk#Ni7q`{ZEr(_%< zM~pgopzx2CZ-Fg4J-a(dcOK#TP36BLLuj0U<%;s!FBM+0k$@o8y&U!j(56}~(4cCpR z2Z~Cu|BiLbB_=GnCI~z+92&VNg(k8veN}pqDkd%g-$TdoVbqqIV7o;+Er8CQml?x} z*xSQ-?gl1`2BYs1BEv?Ueg0-xv;6DUf?LG>DQEzxTs?)dXd(bl`#ARS;+Mj`1~)w%~| zx~U$IMxd~wp2~;+oj?JUW#nJU5jWplp%K46U$pt1Z16P^lwv3z13g@+@r@`|cm0nT z-W10D@Wmck=X?7g z*y~rx-8+PD05wgw5li>G50FFJ80jfXJYwg7kd$=0(a-DOxybPtjmpNC8WnoogT|g+ zJxc&{H{`bli~1tD{KSBa^yI z11*c@tK1`k4ig3!$>n9@VvIzpJ0nH)n;~`h=N!lbvP1fpuuuPrxiX^x`^0uGh2He$ z-S+9E4ZiTkdhU^HC8On4c#60tT3E+ePdB8xBLv~^_OBL14c2#A1#Jn8=%2oI$CIuK zigIipbWeeA$&VTWsh8wy+?WCuyl@b3h40?9$UI=oUbo$zK@H{MBl?{&-bJH6wPXR&OLMRYl*QeEYi z2-gx!x*>A}wOtMF%{LU6e15IW+qye7F!>%X!*v7c*IiUe(ypkT)*#UKd&oJ;sE#j8Csi7 zOU?%LJP$1FV*oDafw zMRmuRXUe3!K`1y&o~#u|I%1`p)cBqT(%0piAFehE25P6n&sCPe}Dm^^J_frz2kHx09 z6usO&2hNumuf87rG+lhRF<#+!6K(0L!Ly(`3S`vJ$2~=+T+#F*yA}h{7;R&oS~%oI zeZ&38vu`$o`2%M$8cgK5d=EKB@Jev4sJqG2?NIZ9;r1Et$?Wd&kk!{M^)kPczZ?x9 zJ1h*NU{UkFWp{7kQvJ`wN2HObQ=oa-ldjY5h;=rS;(vY=bqMscIJaC9%DFGK=p(%o z-$x;Wqqy~pe)Sa9L(g~&E0=Cq0W#sU;LBFp8@Sh9D$c1snpZf_?=4~74DIX!s=R_; z7(CjG`?B@a+lZt1EOIIj7OZz&c!TXTpFR^2yx(R(3HMmdz4gkq0H?ktn9BPK`ey`&c=3A>8cRe2sstdNsH@ay{q#&rk85>EpW!CkiFr7g$z zIat!9*M}NA@sE@S5UkcfM>PQZ7#8Ly-Lq@(ie#W0rBd$Gwm0mO=XUQ1BqOGgk1&~z zc*)V@SK!WN>+N4(R(^EV>8?W4o)7u&DV3T;yZC`tXMDcW2UCp;OxO5phyK$>TwaOu zrVrK=@689q5>8)%8iC<_nYz?&kP&l?Msg63GCGCZu$Dz916SVcZmt*T8autZQD6S{ zXHCr=aS#1fwY2B5&=9IiHUkdOwkP@D{5-0vmE*YQ5i((R>ztM{48+N&8TVlUhLcy}Yx zt}~$ybv*IA)#`?6H>PD)C@GiN4*$B&(L`mTz(AW7r2|7rDAR_wJ}%w zb`m!kCuU6tlN7k5z-WNJaR*1deXi6q7y{I&$oEQbuHESas@=?1_)W7rw?WCpR2a!# zzz0u#3+~RQOCbzOwNSB^qAMzEjs#v;$&7T-gGbcVW3@Ko{pN` zNUeOGrM~WKG7wt9QW=?q##LX7f~JA`$NJ*@Yz3$kHGuFEs$=N(k@2qS?f>z*A+?on zZ9G7l^@*V>O>D}z!aiLLw3+&|GLk`~Z{>C=knEL*Lgf}w9 z+>h!m{P<-Eplp7C67k(*f7$@Bvp^4tlGq8WT+OfQa~m|w*r-@!)E2g!EXia2uZc3( zxpWmwor_+t3x&iilCV35D`XBf@f+wBnFHHqSrji4TAX}vjQf=LeH-tbhum-tVN|9N zop3e~R%T0{PiKA~tcl&p>ji4!u zr&1@8r&h26R>df7CiKSc$?CbR1E(cj&OO_K&3hx0(JTNt`~<5(J!HyJ0FKQ(1-(}$ zfd_Mb%7n{Bp8(KiWrUKBm~))1B2N;C=N(bS}+%fuU90x3Gdr)qM` zez4wD-q4kA4#HNMK!9q)unpa*Cv>Sn(ul3mF?4u_Q(Pz8fs^V!JGkZ++IM`bwsR)Z{Xh;v6AT0sjg$}5)m(CnP0gy z^G5sp^hg_YSo+`U7WWB>cFis}tHflDpOEVrbJ7sApC1p_t>F6av2VrCa;iRwG4!kO zvv2Z9XNYl|Ql-=MkImvxJvWj(Z=$Mvlv10L2@uJ=H|#?&1Q6=lbY=EsoyJA(ZNfr6 z=W;?vCt1hn>GSvOXm4Bs@?Z6rcqg|A{^cH@KxrRi0p~H)n>^kPBxLO7cpU#36iT<9 zdLQ2dji&#YjDj37J^Wy;Uq4T`PBtnQ)x{v@t_4KCPbj3clrhKntj`->9g|=0F_>UR z;2CYsuk@o8-V;%S!!z2OrPknl;C5$~cS&$=5R`efyN6y$tKXV;m7mEU;>D$2rOLpd zJk)?6%($epChGZgvIBS2^EhtDyCyJ*AP0nRr_aGkzxN@$eXqIDq0gUyOx@UDytPu| z$r_(#35Qxr*1^LcBm#JlXK_ov1kGEoFes0KUK_xu=7o_RkJ<)uFZF%6J?QZ5Q#cT{ zy$%^X`5X+vC%HltOpcLpU=IIb&J9MKyL_PAda9hmoTKqLUBdW?a*E zLLd*nLs>9-+dAN!S40PjFp|lm$1H%S$quY~@&HI;hn-7(>LlS$Yu$sc-(3+Ga{O^w z$fSEJKz%Y|AVzga4x{%6X9c^Nc@a$uNj`mZFM81@hYO?8*-jt6R&p_?i(cBSG4$t2nNdT z+?#gMt8sdxYRY;vj=h>Hu~E?uWpO^NvK_5byHK5$vJtef5w_D_E!zmo>_JUF>x~=_ z9Bi&Tq{CNfd+aGaMA-1L*=A$R1A51}tiCAkK`QtD8IVrA8b8=RVR?j-qF-+Beo9zS zw>X6nfT?fkGtfPj46np<>&YfdV6|SQQdh${CiGOx+)RrbpIG&V6x2!D)SdfQ9c)l# za?&aXhjfvh@r8Zf{FDiUtUgOosIt_zZ(Wrl9y%zpFI2(7n-D*4h(6zV_X7qQZB^ki z^|_PqRE~J<-a;ZIHkQ8+$qKwH1flQ@ljx*_A(=xHt;3!3ItE#Ft~2j(@cRN1N$L&# z=E{jz@_jal#}a6EjGe=+&+S!|=Jo5Q^^d2jY@&>^cP{ZRJC|Qev z_B1c{Ak8dWHkl7R!8r)`%q<_^F`aSs%y(wejZMl9f>yCPr|-3G`ZVX0dm_@{lCy6G zv_4YjtOUrlBB+Aujy~!b=6&sm&*>CBFfc^^F!Wf4ZS}PH*Ogwm-qJ2GI}i zp)SQph7=nH*W4|`50m&?0W40)AxW#~@8`SUDun?dnb z`Lvaval6#n8Ob-9mU04gE&1Vvjgxr(KE;xXlN5H5Rk?#FY>Jd7HJAg{gro)4M&jN6 z^8S>j)hC-NF)+xPob6(?5>qd%C6tke;prx(le0lsIVf9qWpnfO?E(^b^Je7W({f+) z{GE4iVUW#UH3VL=!^jLnf2ulFf1wkV+p1mJD!(}sOv}H8ZcZW;)^d$r!C3`L7Xk^d z2aw=BgL10#ee(d`1hVU}V&9l3Z@sqg_Y_iB4!=FgGm@9Kbf*FIe$}_lL(@T&@aJze zo9FK<8O?a#^sh- z@w6bFfoGPUTZ=H?d%Woo-R}_y1$zyb{cKRr%ONL<5>XkU_#er zTGwFd@JXK4=KO74so>M4)TxTq{5sjXWL;I0PcL?1ajX=DU6qaDzoO>O=^mJ9XFi}@ zt&P&RkGpY6O!w8BYh>IlwGR0ny&Yw9Vsu(n6Lf*|^=$m`STVO-Km{cFGv6#dkJE`` z9~=@W`-I=ekp5k*&zwqEEndEB8fYIpPJMftsTZ%KW5c{5oN8ldMBrp%#q_4lNiJ4> zu&yxW3EM_>z+yMS##C&}|#ew8Ewyy8ci?M1jTGt-OOP$r zNLeONFeU?qfPUVf5rwb)VeTZXu5^NP`@pNzouP*5fv%vDMP>*y7OR&d-Aw_~#@e?# zzlyL010M8tOc51CDH{5H&qEd_yCRz#%^7<}z3S{vP_)X4_wRO^H~GA)p!LqC(&WpTAwU?=e?sfiZbtJdu#@^}|juZ-3!z)SYeFwc?k z^5vZK^0mARv7X&GJkBLm{)e~oVP=mvUh`P9ikoM^A|L4_se$7=uK9Y9CDtpweqqBH z46cP$j@b^* zZy}h_G1`Af%nsD=l6gw5CX>;NTRsoH_HN93z4b+T;G7NAo=IPl@b~{oh%^78Ms4O> z7&-x&`FPZ0sm=H@+mtFT(5@JFUoHdO?sa@JwfTcjPvhx z(Y0L=|5I2U?RFly0FXvwU;{8qKDx{FLx>ONw>jHYp*ijh^li}aHvYtDlnX?exkuqu z%zC`@+023Q1nzcXR}9O7Z0F z$xDW--238tR(4(Vlb4|y%iO!c`XBr*47=Q7^2D6G{Mv7`OFvSEk8pNCXTG%+bi>q# z$w4pDoG5ed$V6`ag9X?2T<<(i%*|!(B29?&fd4{2jF_=Rz<&GZzrrx)Mhj`dT zEL*UKNy566V5&ogZTe5smcgXRK_Y_HXAHTkj1>Wc0|iGd?sHzYm#8#Zo)*g1p}03g z>_(Ey>V1VQ=lX6erMJfmC=s$mM;4|o0a)_wc?g8JTI&up8sUumco)(0X(!g8#UO;Y zJn^h$i(l(0V5Yrw;Ii5Or@ZfshO>M7jS@r15JU(=5MA^rqt`G*izv~BkmxNkL>DD` zh!SPgMDIqgA*7cdNH>Dte#^?nM6>JlYvR;<3WT8jQ`0t_!0s~y6vW!g` zXq0a8#MiQHt$SqgEW5fqccLoDjd@9lnD^;8XUHch7y|OUpWlZ@(6hw^zg%mEV8#R% zl=gzx)~r!tm3Luqn}Yl@uZc0F$f5tsC0kT7&TjnYn`y-vtF0urEx;eKqaTdf{h`o5 zrZa?EJ$LE7iD>=18a+j&Xi#ZkZdo#pb~b%jX(79RezIMRT6gfv|2^2-7+>nSp8dtf1Lo~6rrukS+-{67 z_0aF;uHND!!pvW9R^?rdk2p;V=3qNN+7&v@X z55WA|uJiDkw3gvEop-@8L#2to{6!vE$tBolm*yP5{Azi>UrO%d(#6zVAgVSG?^Lt0 z%JFRUTse3wYV|+&iqL1{+npdcFPPJ4*o9WHF@Ss!SPEd%ur5(;Xch3 zLKdEjkFA%RQZn-WgkmOt&EO4G%+=uHKMaQr^ z&MP-L3$*@VGpDmRb>?YAI?IO}BCjE=j5AxqiFvT~$RaJg*Ol}$^-SU7_x#a-8N$F5 zA5NwG)2TqQGaYOhX}%uaZs@cs<~x=-&mmOBbPywF*X{JXhUp~gM%E@}vp=mdCxo=o zjB9Du9+KVngLHm{1mvBc`}aWiEbR}%0WL^22l0n%%?pM|NH zr`+SYA9GtvJpD=;JbKwjx$2*JrnruVQ+~bgttZ=I^;Tv zl-IZ545F1J6^$@hZF&(wO{(Oksf)at{-8UPc0e|arNQux9T=TMLV-;9$k)NNF$V;a zi9Q1(B%Cz+~<5?Y=|=jPSLFZegobHA9Yjmt()juRseg^tF%y5eDYhhis!w z5${*a67Wmc$v}&QokGE$8uDaYzjo^#hKlW7(xMt@5KtHY1Y&EY5WuA`1ybP>?JT$n z;Kyp;b(+z&9MmgBT!(1`a{axwy%FgWaLG)0_e@&`ZqCr%qOWd~V5{V)jf+KRGl}nl zV!yjJMVwG6K97d13qklBKKCU znS~EIC|tlbqx_1xP3}mnN(-CZkCS7#&mFv7`iEd4_15JiFwsd?e>k?dYaY9zvx8`S zXl8*xmzlLoq1%*#;|)K^kf6(jY|8BM8nEF(cl(i4s)nv)l>7b6?2w$XC`GSY1^yx>`E^E2mE3@@a*0zev;b9}3kTs;g8#_tTq^Q5T@j2xP z1KFqOk7@J|2EQF-HrmzTm%3k5_9^q)iU7s#%W38|!cl-TaP8f`q{f^^^D^HxD%6*3 zjJjTjgdDUVu~}1YTv9TqX@8M-03DA=*_D;sa=h~xaUhrew5o$J&h^%thavSXJli>X(udjRN6eXr(arS@NA2o9CMa4QzyGuXFAg! zojKOK8e1;01K=$gSMg^|GYzWzxx`le)va{!7jG?I=q&|M&VBr~N3RxLTcW?%T1z3P zsr7~{RdN8$I-yH=b-(61UwN)#E8dI18%QZ|!0hAr$)wLSpxGp#enZWnRD+vw*w7H- zx~w)ACspVsRiM=falq(`gM+1_TmlChS_so1sBGLV>GY%m))wGkNi)+OBsx~{;1b+B z6G?XKzVmdwmf)9ZS{U`oJF|1gsn1a}Ah#mqs=X=USYi3O^{#~4cbGTC?v=iC6;{YbP@EcABfry*MyVpgdA}@ zozz5PWodeOXYoh0E%3yP%bCBL>bZJX4?mI1Q?JpxlDCq4Wv2iK1!N$JxrF|x03wph z0Z+IS8Sy-1`v4bC(PZ@=xu@aO;`CRo7vpGmYjo5Y5tjs56j@ZKJpI}S$>Vkh=D8m4 z=+{4+Iy3%@41C{X1Fk(Fvn!o))sJ0rp-b~&rS+m#i$xU)wsfXHP*{(~{Y|*pf_bdY zJR-9kBQ{}nd#}dwHu`HafN)R&pt!n3&E>DhL?38?D8Vr*-DP46rLa?5Uw?ShsvoZC8W+2?&S@CBTM@gDy%hmbSJdk+eCVV5{;Z%C0`?C zIP8Ki-jKVO`BV{^nVzUwzviD#U{T=4bGf3c$5xk7+%>lH&fMhZ^+A(EI{=7K50t{` zHm4v9&80in=C6_G6?2VG<+u5P&dWl8we97v_tRG_Z`Wk^_}vs*BR8jmJeN#oO--?O zfLmCqHAksTCcUt1bmsW#^U_e#FBY>s7N4->x3yXr=e^n+jknk%D$yMIe*I^_b@D%y zV-1PtjOV>e6kO%=xyhi<&wxngIVtj8E&i}SPz5XiB(?L>K}f91_M?RZlbZNxV-!9e z-Z)`9(D;?{mwzn6d)pEp9bnvSz2IP5g&~%$TAtQoOWanvea{Sj6+to{gs|P%hI+z( z8C45O&mpC(KFqwr6^SP2sJ!-p@j+sHx7&;=3F+d z**2;sy*tjq0X&jk(}FD;Z3G-RKhu4wLy`j{ifetx6dWQCTH!-K>nwXivNr#rxKLNZ zr~Jpb=@GUS067I>Sp5aR14Dpix|IPopha9OkY)TcTAQmJAuus;cc$}9fdOtARa@Ch z1L0W$s^?K32{}8la@5duz$0r>`Sa_u(Ocj`iE9SQ?|Q#9fJ*f7cO|gR+ag;i>uph_ zy!n8E^Sn#NFs-u>ooREU>|^H0$wU4Txf7>0oo=8Ed2&a20Fbt+c`9>Nszhgg2JPG0 z%s^Lx?Mj~S{+Y@`V4wyLo?c?r6%y>fTT)t4lajjzy7VES3Rh)BENjyYFZstqVrgl7 zBGON;7Xk<~SskQ!+!uP=a*Cr?G^&F#kr=p_!TwPJir3_gHE|&Tx`8*_ZIim(o;PnD z|12;$*+sFfZwYyJz&StLXr&z8WSM9=kYyPHz>TQn zX^aGVYrt?*+COKjiOWk;ugq8&cNjEb+1NbtoT`D{vEw+$v7u^(_>d1#=f>{F@b6Dl zYkNfrdWNdShBB+v%k3pi)`=ZWDO2-fQY0SgP zxf(6?^4#+@{|%12$yAu>G9%Z!E^lzR-oW;UXdNR=+&b7g@CZE!i|2ETPG5FD3N%64 zkiXNKKqe6e^$~LPvs<{#~R?l=bloy zA(X98C;ORsHiB9&!g(&KTrDmm=eaFQm4J>aFlr)}LxHDx{bc8`3DoHG7oq!4Yz~#` zb_>2AP5)5QeEiOgIdGT95!rwjswZi~HE>_^Q|q9t=CO=Mz zRKI@07!h!+TJN%?m)Zh)*;68Uy?)yei)n-JKsUX+v(^9=RntgADYAv6>;7&KU5cj% zU4i=6V#RNq!MhiK`{cWyyX>)jb*4C7<$Eabf!z=9=nLpGk1&xPr|W{j)8f{s>bL*C zL^>7XZ(BB#)brMF{`Zfp(e;_?Z+$0Rb5+=mtrK6{p<iI*xlz+riHqttF9>NaPjsz&bl%b`=E9*WH=+*2D| zG-<4=k1<9+F<6=cE01m718%q~;pS2&<-Vi{iXwZ5QuepY5mz+AY{hR@v zS>^Zxg`+D#e2VGe{pxIGnY_emX7AVYqdIsAW^Z8&6qqWBm@wULunfmH{y|YX8NRhe z!~ulBpqT574skn=g|686V8G!pwKeiN<33~i^}n#+(zAn+|Mzlmni=uFbtuRs<~K$w z-LYu;+RSgkwxA}K8%8#LW6(Dp2tty{;Isi5-wUjh-UoNw2h3CB4)2KePvY}#7-N;% zSO@sr`#hf|m~lKXaaj{#O%^(;&+b_wu+L|g>eTvYQi<`SDF{kyo)D0?R*xY7j43ekHDgV31c<>`eE=o9w|f3HB0mT zW~#`TtG`G%uJVh|yz-&BWdAG9cjn!RH(qv<=Bj{x{Mxo?A(%y{XeD2*w86Bs)B@Rt zhF*dP%sj-m9`yv?IpuBUM+1w;Tv<50DL(_$0X^f9oYRR|TV6n-*s*px!V>%t=n z%H1gu!q{ZzKnXJFUr+6zI^rmV;_2U{CSjQ!#Ym( zBw&^P%Bg$D#gBdL9h3KmdtH|P<@iSZqM%>kR~<{ZjZ5F1H*r^?FNO~Vs#k` zy&3=b6uO*A><7#?nt0y*fys??RLo!a6g1jFk=)hJ-9dDq=Xs`^udn3o1iYImTh#y# z55o{Ib|iOgKjxzW`m}zX)}qG}E=z@Q@1O5W3@dYSmEtgX@!bqGe6Vbx_0I1s+>W~? zaK>@(+s!(GlB67NUYO);>ZJNo|Mr_hhaN2PgYA|Sgx0WtpgR1dDCl=pbF>;2dMI;M zERNOv`|WDR!w5eLE0nU(@Qxh`J=U@FKa(V_xD7<3sNL+OIRgj_uLDh zyK8~G`=dS|{1h@PngFu*0t*E#u*l&b1r(T>J-4A9(Uro@Q3M6#be>6u8#Bl%FaWLWolC5YJKPu1`rp>`TNoh z_q?e@`fI$(xLDsg;@T>>2vR@vdoX1-r?Q8ot~bp4npUj41dwvaX0=5b=72@x_XsjQx(nk^ots}?HV5FEf%*#d zKXMGm{QqpQ>i?0!J~P*)bYt?~hvU5MjojdI{bOx{VRe>urU8=Lgs6oyy9W;6z zLJq>dx1HvfiV;wAik*?}tL2tu_5qe4$j@9^13faewiHar%+4IS<(8IqrIUaWIIV9M^9u(w; z@w^E|dbL)xW4|gi-6(DU)tExbu44Nl=l<uAn z?Y9D_$kW@|-eoT-uPLRm-xLnBXh&_$IefeID8>Bw(e>jNU-$FVV|ymraG~aI{FnoUmC0f}dX|P|ii5_6=2NRjtz~On zU;7&hX!aI{V%5#&A1%&jM?Ob|sUM`OY$aI?^IY5huMCafA~#IR_Va?&_WrH+cEKNZ{RKVbPIlA< zuzc7eH5|Go*!XGOY?S1m`zL^s!_aj;50w;0R#D$GD)IqxaMwf!J|`*4jwAC-tCdcm zvG7K_zgHeyDN8EX5(*&WP}q7$__tzUk3NcH^xGpFPnaMc^NKQpMGGmm-}~}xa;V;H zq+s<|wI4&bqscVW!{Dad^LC#>tT{k0wUu!VOB*atK#;(;kf$f&y9-4_ zz%`1$2-vthn)YnT*UeSn2qh9vLYfeTJ2g%B66@5YGVD3?WocGE=n|r$lDqDrcV$M2)2XOdrISaUuy53DapE`7oN1lSpVMg-pRT-4t9E&hHgLP4#qqzh)E~8H>i^vHtY6SL_}tKB~$<) zJ4uaxSq6zQfZ@2???~eKyX}Wl{!XgMhfI&x%)3wdZp5IJ$XahO(8Z13taODQeJa~P z?*mtr+C}oq`QM#zEnLI3_n$$20-~rGB*Jngdj((AUtWt7^A8~nr zl*8?i)C8M7^zg+s#BE>HACcrBuLUk1Sx`LDq+Jlar5LH3QR4~I-yS9jMrbbY&o_{g zgKL3^Es7s5j}@uaTHa@u91Bs0VuwSY4|!Vi(YyvD>nu>=j&O6pbHq9}o4#k=I6ylG zq{QfUXUfo?RQgH17@s9cry|dTWz&Q60XKq{5{0{PL`uo8eYZmKU3(Q_joUTvUQ0oX zbmg?a@xEL!EK$jFg>b;pL=55nN|a+zzYPln%@2XE80^sMBrAYqe`BITjo|9ZU_+afl!K4M9=lRr}XVO;updCFwJLa{$AwchYxw7{l{ zn&)zlxXQ!00TpsdZ`aZH1-q2XK-rYa!(OyG*iij)Ut;ia*Sp` ze$d(ZHNJrU8F9HU#tf(K(~P8tWb<41&f`x| znn;5!Y|I?ij0U>^chgk!68qiCfFSjxzVD`^{s%CHm@uJ<&X*QHl*jyR#<{vVK^kI2 zwiUOq?UQVRb5wx2Hm3*m;Y~DUw=sOob7RzbW=nL_$KlrS5-YtIzpfnkqRBE`ch7#l za;dd|=j-8R6bRGyzlWmP)}heeyXV&Z7%oV)x-f{TT5k zb6@K(bSpemXtRzqQ>C>@E`4=*YIJGIoX0hr_0yfk^_;5^;UdNznW?*!nfN)fhhbG^ zqoRrz&e$k&eNy*Y9F7HdNI5#snpTF|kqy@s=#JWFm2^aA);6uvncx?wj{sI=4U1$0^S^Vu=uZp%`p+^qOdhGYp~93w%x z7=#he<~`J^xWb&TIB%`NA55SovTW$Ig<#H7*z=t?MhpAw=--nvRsQBPaD{_dK)BO) z3n@wcWtQY6m;A3q_GyZvAZhIKHWN;q*yY0Rgdgs+$;?fo*+-HpknSCQbVQ}+B=juT z;HOC3Ev4mUEojJ4?jMIaHwA}wsJ2kQ$GoUG1Ii2)2>2{61~YSl@JFx zU0AFARGzuIbEs)F(bbd5O@9z0t!(w9c@+&O8cCoqL{)i$z6T!J`_#*Q_j;DZ*|i_tQ>eg=e< z3h_DT-hUwdbd} zl_`%u(m$QP-PD}(cnu5p&ai)EQEuM%C@%6eYQNynjVfxqL|=#P((XoqIvk&Cq+9VR zSFeEQg@NbA+GQU- z_tx4b-`7=qY?}7#pq@+P8Q+111s6kLsuLk>6OZV_XA-6Qy)xx@$iC0 ZeKz;%bz!0~@MX748mihV6-rhi{|o0|CsP0b literal 0 HcmV?d00001 diff --git a/thu_dsa/chp11/gs_case1.png b/thu_dsa/chp11/gs_case1.png new file mode 100644 index 0000000000000000000000000000000000000000..91ba81f50086e993035eba0c6aff1db9494d8c54 GIT binary patch literal 31662 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 literal 0 HcmV?d00001 diff --git a/thu_dsa/chp11/ss2gs_case1.png b/thu_dsa/chp11/ss2gs_case1.png new file mode 100644 index 0000000000000000000000000000000000000000..728e529355a1bec5cc6f7e9f0bdb5f8287d11792 GIT binary patch literal 15082 zcmdUWXFQzS_iqx3I!b~tYMcns8PQw9Nl`+AL@%TF5wP!!qEcXO` z*BiEE8%aF(Qp>G-*3!}r)>EbI>#Js`?nHAcM|0+BBO!l&@I#=42g;gyjIalUN2pK2 z7LjLyzN5)V^2Wk zU_s-d(z2Lbvx7I?2A4>9VxmSD(t*TlGLf3Z!|!w zxBA6mc3(MZ`3Wr;NWUe0amQ@LHaG3*(m2JaWihw1oqqAUpDKhg+EpvZQc$PJsZeb%J*Jy@4f#jWuls|_1FMO7UX%GkzIrTO2{Pcy)r^DMwLwPhIVdkcCB;6tzO zCPnC^=-??y$JRHF>s-D>-m#MfU!bC)um^pxBYmuk-+cb!=*&x(ZC4CN3o_4dcm?^6 zjR7l(Pj#7>a%_H)*#a9b;ZnLE{-(sz@?>bPxN9e$5+fZ7Yzci_Zl7LSc7_-@p`T2wz7wC6tdsFIo)^!*8<8F{TaQ#saj3DK ze?Iu@brynst$I1#d-U%rJbR%pB@&`}0OX5Su>#$8q9WmG9z$ePV~CK_iK+%x=aSmB z8eB}qk%i>ShRLvp%laZB0Cd~hX#8Ai<+#QFY16XlX^LihWG9%d;eTe!WAPIfVVJX; z(>Sg_oLT=Xx^w#PH@4GX`AX{L-IxcRwgf6)&~OKT_d5SER-+~9 zikYc2w)HXZn1|DjOw;IP@qwnQkdWH7)%3+U3A}Z&7S$XTluJD$?tp3ImsXEOu@<=! zah~gcPX$*f?l`kLcIs+fSHC-IKP;fMkcwBKgchT5IW^d4nf+Kbvat6Ys_v zeC@9HH8+1{O7nlOvU&R>f61bt<09&pN<)XyOl?3YZ5Y7=a;_>OOB^co#!nwMZUlE> z3f^%9YU}-L2u;Vtau;P?uL%$HT)z~@#wc_cYLu|bXT~F@a7;{1>BbQ!{Y< zJ7C{AAYm^NH4ooL@xa?-U_MHS1u#CMyibcuiQ(D z$OYfVXmmO%XLW8EADrejDOEZ3l-q%T7-t$xW>-Yg-JCs~!qID>V7H=WJ3^~rD$&b-Z9P$h}|dR#Y?cPKyrY&qGnd zvwS(<)z3QKpQm2bd1n4=o}9{`%_HRYAj4DcZi$lqL*%Q9K+~EXOBB#>$=@G)i!ek0 z{PLga7TR(jlzb=F9oUqFU2VJbP`6&U;p!*U`3o~qBC6)dFar67to{}Jic|35$b7X(OKFkvQnn_9Wn0Ft9o z^On;UNl5^@M^pD;!v$Pm{)A|e_kW8qW%rbbxr!LYoD{u%zskVdOL5WKZb&Nj%lE>V zXt^GyT%H%yPu9~>(R7ml;Q{`8I|-Ne-Q2uB@rem|cE8bkc4QO2w1Q6Zu+%EMr--z5 zn-4}15eG4t_&tuU81EEnywawY7^~+Dz7|7#8`$_(P+~b08m(P0`D<9HPR3r{s$OrE zmkk!FxwkeUvvpe~+8ClV$;K8i*qN_%BTov>sq<9srt))UF9gH|8hIAFG7CdQHByLb6*NC}hDEaF>h*tB* zYhH~Mr$-A4TT2hP+Pd>KZsg^qNP0Xs_P^icvQmbz8j6V4w#P~>q|(1aLbv9vhjIr$ znsKxY=(%lC^|eqdr25>xk@s|S*~m#w%BH=y>rgv7xdwjy{@kFK#JG!+RsBun&r8L% zYu^gEx$9&E%H@mh(NjRlX_p(1SDlkcw4&_>q1LHUIvP~o_K&Rmd6ged^uiBvdn@gS z1{==t?3)OG;30r=P-N;oq=2`hXY)pChC7(`~y$6p`I1yQ?-dl0=M{>ZY z{P(&GZtJekC76V#1@IQ>m0PvGeba$LY-h0-J#x*Cd`WHx%rLZPtH{}(&jGAl+4MIf zafY54auZ&VnOKe^)?m5m&+Q~PztSodJS}P#s2abLkZpF{m(W1BC*!5Z18`KE4+4GK zLqsi0Ge$?})Q{jXyjS44)h!Vcb^Sil;b_#{-^>ZmzTagC zcC7r7lOND7JsYXiT$U@RE~4H?%O zPfteD8`c}}(;}efMwUS2K;`LR34%T$TNVhpxjErARbP0gFWI#H(M2U<`U1BFY-hn6 zn)~D{pkt4YmG^f7;}x!$Eu4@j?B6Lgt?^oCTgU$lq;4)KX<%aWnT^u5-Mpb_xwTUg zAV+)^-4mmTd?!A7)8X^r)3Q&aZas45q^0>L#8h(Iz5CF4pO3vDkPChN4nfmHPjf$T zKWUgxwx8araGH>Is9DSr$?Kj-|F;Q+bow=HwlU+_PxtSSn1u>VN3cAszy8FwV(Mm? zVD^Mg_)LN#a(8tsq{MHIkDekxv)yIVXCb&-e5^2EDVMLL4z{)|+9OLVkN?qw6hdr< z!fRJ6Lva^4l$?CoX}Q%Q?1+81gGTw$e2Oz$190Jxb-x9f$M7-yr0@DW1;r~H4y9j+ z;loB=j=uw#k&wH>7LUpZK%`6dj$J{XE5Us>PdHp=t=ju^q|AJ#F$gksda^e&P9Ccq z!xij|*h+x|e-F?6BGItI*dEO9hqGJyG<1-!rjlaGP#vV+!hR&3V zVx4R8Yqc#O?uJeaOOW%-?~XZ}Nc?_@2k6+MYx}rE^Zd&fuf~Go9y_()e)a7WI)Xdk z6hGAh%zz;sak#iKprtVf|D`h|Wr3FT3Nveee|QELgDkK|45CcYT5QntZrfzYM2?dC zLYh~biRyvVg6C4CFna5u#01^2`2nsaBxJJQH)Oe_QC>cM%r(>eLCULLRa^v}b%wv^ zQFelfrEMc>=hyqWN+rhZjtK7HRqEYxgDR&o|Gom95=s6vElFr_hbQ`B$gR&lh~s4w zj5t+ENTuc)qR-VTjj(=Y<`{9^-Pst8aJTa=c6|6&#IwVjxgX_sN6cNB3+xz*Aeb7h zTy-3Ez`jzd+Xsyd`AsRQ^6V>-Cq;3EpDbFdtH)mZPiceyuNGQWsLUwk@sI?(*dl!`I7K z!amN4Hrdvtev7Pi5LEwS>3jWN*y}OtAo3C^d#6kC5nc67)?r$2$y6u(wz~K0j*erQ zV1}MQEOEgM#;@_+C#8;vm6^m@HaGPjxUKuX;(N|78kyzU>n00l_V;HZF#dBME{7ZW zqb;dsYKy}qCb|K~JLcD72h|tKk4gfL`5LMg{b!$5Z!?o8EUd>IXEiptEy!aRUatzn zk}=OtcZWEYkbg14KI;0x{kOm0FZ+Pnuxzt=={4mqfq-t@y@%T-j#l9{B##r#y-P=x zp`T=?M9hooh~dUW(Wj~sW2v(?E@_P1v5fsJ2!U$zgG}`Ehh!z>0Cs=bP$}S%(_p?C^T$jX(Z3qm}A1>9nm*L{4$00 z*d5c5o_%d$P+IOwsQUY+cQPqkm!aYgx-8N?%hMRtz@nwp+Cp`2ah97JPJT3EvAW;K z;?>{bLU?tY_r~Ni_FotK*}7N{zFGeSaa_YN-DHr=RuWNXd@lwiZcPp)C6jDp@tPDx z@MmotV=aQvcZhJL!M%Z4SLyT>+KhtnaKXlv+}k)1GebFu@G<0Rvzm&;;WEKJH@=Vt z!~{`}pDgJ#CQF>&kw&6(1>6D-YdK_RMrdxafaThxV;^mDpXNEr*x5JSJk1K1=5-3} zVF;k+@7esYQT5fgd3n0RJbq!FlQrSi=8cRfsHoLfk6($RAClg4?1{D?9{K;?Yn>8= z(`0ys3yl3lTo6-NGCTeBDqThN4|?2{RsqnV?Pt5;lL>pjk*%tzlKFdXod3%A$65DU z@gHgOZ1Qe>x-w(fii9|X2o0C`uiBSgAbBGmEM&`@H7^->0~--^*o{nBuP}l!Pv*i z6ic`e_V7K|HR+ZXEpD<3CB`4h%$y$cix22e+V9|lZU?RYZlOpsMlfbxS2YMR+2(Qo zU=tw>d!e{c@8WA4t(=~*HP^qK6WA@(?hv84(JbE&&34lWNk7NAH@t4vYil)j^!}?W zr?BampS)y_KYsV!mvg5Yjy%n*lSK0v6--(bGhH+NB$4#W3Wb91cdMDtn!27b55@EB z$6T=r3M|=sZwlxhky3iELdL8cN7?{xvt&f{3wW<Nl! zcPf=!k19U$nB#q>%Zk(uNmiwBvf!v&{GFA05&fb!vx6Y+g*+Ff{MKw3%1i2qn=ecb zj~`qih3=~zPn{l{_+|7T^H`YPqQu`nr*uuz1m`2Q!|kPB`Go#tZT~3eMMMw(I&*+I z-6X{!4Sx(X>>8`kiF}`*Lzr}Cuf&|#X2Y}5ySN(rR~$;02`-DYd+g)7M5L6w-#o1v z6C3q*XF60UJnp=*6_fnk!=x*kR;%{+&(6}J zWX1N|A>rzlvGH*T^VHOf)J(O0tLu2QZ@OwKAe${i;C-i3)cEtd{f%DS7I82NIzErOTF z;u_@ryUG?SnXh9N=wGv!Ri$d|n@aL2Mj>l~fm5!vP4;(aVMw%QlcyyCN!x+ZR}W{Avi(U z3=MW`y9x1~RtuwKEx zZboxy0OI_DI0sSVtmxanj{6MxrN6uLF4n z?9}k*(u2X6KK$MNNJSoXiJ!V&ugDkeDuIH!NWryCY3&+!^bo03V?OX*` z6XuMC3fXl7c&*&K3-Gl|;aX4IBT@aXk~^0iVrX9Xmogus9o7C>qzB=-8X3kqQ8}D4 zH^%a=aLAheGR=p4tjIIe3wawH6s>pz3%ht89S6?L^1&ZU|2v%`F_xa2(RAwO(OVVk zpk0#S$d}>NtUS_h7YAM!Dso49*cPA`G6R$5|9)TUKPpv0`*cWZ`ov6;xS3or$Twai zr`xSxTqTQJg$!Cv&dBOM`jk#O!o68fA{cViH{Oe7O0$K!`t2mWW@wC(C z&YXnhr7K4tdi>ZH?@N=PXUy=J#EhE{L`J^ck#yp3sk=t!B+3*RMLM2Q>Y$(ApT)C6 zgn8#Fol#QZFytFGZ^OrBA$h#rKl6#MSt&iRM*&~)$z$l^KiLXuMBCJ_ejDn~yGU1`m9;AFk&Aa*{>FMA>7bR3u;6_z>#$*ZI(^A%Z%EH4$_}ll>@NSm{d*!B^>$`|dU_z1)iJFQd%3zX zl|zY~DpB>Cm#>;jN46x-AQKFw&gW*;n>TxlRytm`&Gu@l;1~R3$!LzxIL7A2e3RP# zY(Xi{cK>y9F-{9pnMLv&EE4zTp7~LfIs0Ah^J6tUes#dyXLzyh{^DCYKLoJSCfA>G zb8an&oZ+uWHbESVf0)ksR)`4%?`hL}XL?K}YRmgAgYpBS;@2F^2Jh2O6|tnvz9 z2kC($IHDeWJ5LAeMoi7S*6&qX(v z4Ci$>3+;4K-p*xKV|tLus^t3ypSYjwSfbt@sV*=#aPGnd>D`LfzQrpm_r<^=LVn5uvF{wQw>H?pP(W|||S|EQMN_0@UlS-(6` zpy~SF1Vcq>&uV-6=5|Fwg@}T#ivsJ@3zy<^vl66}xYNDOR)lv}$0RC^M#NWX;>~yc*RtfA57T74 z!mE;AN2za!4I9!9n-BTLXKH=3H*f5tmReD8q`w!{=QD?4p6C6!^V?pk)0JhvHRae; zy%3lITb5RmB5{0fe~q+G!cQMEeo}fHzVG2#v?-&3hR-91)4=Y95)N6X%rad(>PMiI zzTLcpY_c{odbQ*2=>B$54FHOHkBI5SxHxM`l<=EtuPSf!eA%3GgYGriE; z3=+Op`FSK{g*rnBA-8bMp@wr4wHx?2@?BvO6*Jv{S}o_tPtBqVzn}OIugNSr71RQH zwQ|hNCI<1|V6Xx9SMbJ*f~)}s*aqA0q; z?=^cSh~q9>dMF~@)Boz}siOhtO!Cj3nOIsh?2)OYSQ?E}ztrsZMd>B?{a@p*GL#)T zlwTfP8fEnx?k9%(E0Ri^@TW+lDhwp$URjc{X)e4`r*ynHs^D(=gDs-WaW|ykYA^OY zt8045>6W4UAsO^n_4gb&vn=)UGp38I+@tE~l6PaWLcpdipp_U;pVS5GeQ#;1IwxbL z=V6Yn3MB%;0`6Gv)CIMY0^JpbRo>k|Px>k;&vEsVVE+ZrL)>diZzt(pG$w5?bf)R` z+ihvLGJ$*6rR#-6(rL0LP74VOKk2TdCwOvoqAdGGETN?u{4Ksw%%v_YBkXLQX*SUT zK1M9&@)QmUdvSX&hFgy78YNxs+g#@3f zo~4YZG}f~7&7Hwohxdq%!2`&Lai>SeE?uENbmX1=u-;TBlhsDmYNK3^uDc8@E$%E| z%>C34Qn&V68(bkir~THktF!WLTVmT=V~l^!&dnabc_i|9)9T61pVS!`y>QFw?$d*3 zGZZx1yW<#hbey3kh~6&ZR+-)P5x8i`XS17Z$~H9)T5B-$f1P#^k3!sU9WN(8wj~%jX z?6dFicSQGe9y^2{TQkdIm%EH4R%Q0wQt;^R8oeqv69fMdl3kh4r+xOyRs9XQ$MCfA zg)ZqebmvvG6o-uWFNV{G=6u`|RC}Uo`A@G3cEZLpCPT+}q>N>s?jshQQdaxm^Bx<| z_Z>F9ai8jPDj;Js^64>-bZfq4x)H-I^02-ap0|3wc>X}FAvjqS*sP^?(}ojwZ`4}{ zFQa-iMDWSJ<9!PP_EMD{uob0v_i;T1flm3-5;Rzb5g~b!Y?jVv;J{H4-rjVPLytu3 z0{xe7yfK{iN$w^?=E0inO^a7kRWZVX#c?SHJg~o`aP|;Yb1G7#e)iVBWL0P+hnLkv z5Qih=$BY}c_YQdrFD3M>5^Z-E-riemRNM93_2D-=^TH+18X=y##tl!LKl*9qyC-?h z6Hg|v^^KX!LteEUx)NT;&0~uV#F-mG@8<~SCs4ShoI&E>Ces_;UfZR)A1dKpi%-UdVZt$I3T9;9w*?o*U$ zE2mbqz78@>EogsK8SC`y*akagrpZB03vtcA`11V1M-lg^*osn^87!mOv0OljxQKk= z^ZZauU`RunUWSUMmW1Ezue!svcmt=7LIzN!5^;V2s#Kd3i%C1SV)?r51Rja&tK@N_ zRusP;iFW=);F##~ilkw?;vQCpnQ__%oUYNmxc*J9{GY8n4RzNuf!qS6NS#F-oZiBYkt$Omz4Y8|N=cR#*xKVdGX%C$_y z#m_NLG)d{3vd-JL8x_+GQwxrZ<682E9y@-ZveM?rCIR`S(LbX1~^puL`Q{*$Bj z4og|zy+vB9E`!J)jm1ytDWMx(TS8yqvw9?&ps4#9=XIY28ZNh1-G$*)mT6UW^bGi! z*@f^BE3j!7es+YCR5l(uAA80XI{iH6R2z&446)iRDR^>M38{MO-AYdKP8m_-xyr=$ z{1*ohMog<}^0~duVE!PvX0o`L{Kw^h$fJ)hWtJ z`E^xyAv_5dveDM`#fRh#CmvKf4Nv0CL1RK6dBHHVudnOGIh^V?+q#gIoP)f@E(r!2 z@+VzxNyjU8+GUZrBx9j@Ruo7Q1W)t-X;wC%qE~8q$2f&1IKe&!rH`5Ga$D}eC-+{A zwCA_5nQA!xUBdK7#H*@Bv4xQ@J5#L1J^{-G)xo{-VY%`QqjwPKnFydudOnawYb%^> z(12X3r0o9Nk7Y4ygyKc@=?Okz${u|6SqmhTd5E(dy%fyd^4;?1A$`8XRv|>$kuhO1 zX=Z?HvGeEr5$K1Xk5$^8lu$PDUd&F2pCU~9f9vE-k05{2JU&Bp(=uH<^!8#uH=!og z6G$yzef0Q09rJm$yG#YjwQSX!kj>;`Ng0fu=~XY)FgF(hON-TWYq1Qdff>3Eiop-- zE+s9C$8rP$DYW0y-1J+uHwhJ=aPODo4%~SUByByD6m+EEb9Bsz_-*x`Y%G}n)V~>y!AgU(r_eKjfGYm{VS%9Fj#x_!@_z(B~jfr(f z_WME(4XszH*uU9GP6pA_}yO$3iJy_#mh!vq0e8z+qLSh)N%vbq8~@{PaBTAp_&WQE@cL~dZ~}+>pAKt_wFGr_ z9590(dup=`|6MXrZ)$h20WuJZ_fJ1^-w)4-{n1lQASbxYi47OKlrdc;AkGx;U?JdILZx zk4B2PWApd>?5yF^OCLYkPSkivf_-WWDD9{38Fp15_Ub1@_Z~(k|0USCJIz-ToV3M2 zpoA169+8HqnKoOr=f zcOe2?N6dTVwxo{@Y0)B`vmG%l2>fcoUaHaBVmvw^I=0K8;?_3c*_53311N+Hq>}#l zou*p;WPiq|N6KzIsOvZemE*ME{@rKCs3%>nr3A54&~;eGLM6Zd(`9eMYe8f9pehhDmmEnlwlhG*{J(4=At=Iz#Ev8 zTYt}?B)X>oxGX0`Q{M{KM=Kpu^n~L3MKCNed#NRLhj#M~%F!xX{{THW@Py_4z1W|t zF}aoQd#9Elokd>-)Q9rBpizy5xNhfam?*a0ck;Y5<-I8&@OgG3)M$99+3mG~W zOIxTqeX*15RhP?m2_lPKg;h9DA$%ac)c|@ll^&)_%aw2(Mg$yPFaM(Nbas9+H9XZ` zu+C^1`9vr_2GGHt5SV%NfMSPgvjm9VtrJ5IB~-G52nFTMDKkK;L?L-~+FjPr3&;k4 zJkq`x&9$`&3P#a(1ir4A$-}=a5^vdRRs)xq?rI8Qdu~%#F%||DZ6;y&EA@L5M}Q{E zC&iHj>PH!y{wE9N`I%tCc?IBED%&;W%UgJZGHUaJ{2sb=NZ&sAoy4T1-;!3w+fy*Q zKy%Yeq83mTPY_Bn0*%D9(Tc=^3HN*e^+J?g2vAt_o)VB}>&YOv%*Wh#Xr36*R@$&Hv2Z~#dAa~>MZy(T^r2`dF&Pa4y^$S|3TpR906?%@6*R2&dq;n!82z+J-0SP%qy*Ly*HUev z2RY!45@i1m9g|@psM8L_<;}8FLW0r) zQX}B79}fH|A|@Bi@Fp=eK&g)@S?5XEyiF5jeV!Sed#p>)+`v*0B!uPJ1Ifc*SzDC7?+-&wm2@JkC5=zPN=hNR=R$#Yap7 zHyTgzjqnMNVM+!=mpk6eMODoMd0H(m&J#_~a1NWdg%N6Egfqo~YH)yw05%^Yw>xs3 zK&aWQ7-jVuFZ*~lsk3gc-7?*0zH`Ck+TOUEM(V8f+BkZ%44C>&`Joz*WntIpzk!^V z1gb4T&hrX@2t(j$(dM~{a33;YYq4{M$S^%+y|&@FE3Mq`55mLm`0P{Gw*~0 zPL4J}^|cK{erA@0<@?8-pM*d{8HA`5_P_DZ4wyJf7}XCE9kf$CexKDG-9Qfzm}dSP_Q73NNRRAA;*q9 zdOku*$pm(Rqm;(W^st?Vm3A8`( zXpa1hhNnxtvoy%}KS1RPJM0l-Ua9+HU#SbOnUP=g$+!CL^BWcu!{m9f=; zb0OG&qrm4jMdUVxi4u9PhVYl`r&kTm3?F4H`kU!PYY-uap!Aybv91OT#}=Q3GzPGE zSMTe){+O6LnwLmgrUQ!8=9}~`H!=42I@-io4~5Qccbc5Q)}?H(Tdk&W=G_9J-q@!+ zz}Wf}

    dM7NxLHolN-rB@k+gu(#!M|)X!ci6wyjIa>Xb&~_suTJ~4(|9skuAqK( z83Di}Tpj(~={s44gmj-lIx!Vfs?L-V;$SXm$4n~CfA@z^&w>8b@V|qQ=%fKn30>3} zF5qx6H$kG6IoHMRF5tZVPT$&A^lr#dZ5t4!FfOh1 zIzfN|DmSE{*J%l7bOteRE8T52(KQLr4LFm($Y{5gY8TRd1;gjR<+FF*Mv-xnY9~gshEWA~}ca{m%NUaM|`5Pmo8Yl6LaQg^0 zxo=A^N!Un*>NXT7w`e$f5+xM=3=KAWHX|~bmYwlFtfwkV?mM58@Hdo$!M2gccnL)L z$NI|75sXP_ljs4%u#6)ot79Fq>lkTGwP+^QyGq2{ek+@juQ>QF+NcFc9>faUfBDem zAB_T3d$n$dRPjnc|Mo$gh@LShuzEgyV zf)d9XgkBYBp-gk8DxWe*MGHk&@M>9gk^7qj$dza6J3*#ccd<8#h?T`G0b7_)?cxtm z{NR3=k%Xp>M*Y^i&O!8RTjBVK0{51$gdA+S3m?0$A_5pCEcNHNR5i=y1x~K1fnZ%H zH=QPIF|u(_!4e9@2~=)#u6pL2?lg7+-x?jpDQ0;lu-&s!uR2L2r1~^7q&XH^UQpAo z{?WxJx1gDr*@1BnZNGOjb5fdrZPK=c?M?O=f_#jZ&>F?m!b0qh=r<$|t}39%ClJy} zmii6suQGVoS7mrx-K8h!)3jo=Ad;Nf`IGXm-ZJwM$Eu0xRr}(4@im!T4T~b+G;xH< zYEs&GJ;s#o$>Wg>#t5;K{1b)KEd?A9fyH=P;+mgFr@+iAh2RQJPEQ)U%!b~Wt`;eE z1E7)O_);7zUpYHf86}Ea8xyWo%-7hDek6-&K`)rlJm2$?+Fn+;2DrMD9vm&NADa{4 zOXf^fVn4seXi$RIJ}a^8&qsvJOG~>e$B-aS@f^)sD^O4E&r7s`kjXsBA}p+yCRdez z?-I>(7FX?Mm-fsMB-k6Fu(|R(d6JtmpDv%@5*;?`AKCM=#*$^VJtU>gRi{=Mbv|W; z8QKHT-ys^i_vsTVJC?OEY(tEwigQW*JDpN}qX?$+;lPy>Q>asGEm znC8!c*O@K%g8-}*m3MHZ1oimMi)NlSRW;X^&uh;uUiqnuO>Goz2tVFcXacEeIpO+9 zv^Ei7l6DFNgtzQ!C~Osa*Y?NhAcv>?L=6FY)lJM{Wy}{6)Ln->hb}e~&4(pQ`x>)Y zo>!0BZ)RvHZIDaXU1H>HEJmDG`XC5&s68DBXgWNg7o11XA#2bGCfF%%F$0~TL zm0J^uTlKn!Oe%0440Id&ObybEU2-b0ul%bOmHhwfb){^eKO0QpWw2r{|D{OTMTQ#FT zy;}i!_`o>f>JjJQ3n1zNzu2Xlasavc*+tz-D)dHZedfWC?(SBs0Rr-og*!j|(Z zpWcyzn@3GIDVh_`2NEx=<1tm}M#C&&g6(+yv7Pr8@Njx5l?1OARhP zF~UV=W~da#c*ecfgoa5WV1nIgf6V)%cKah9@Cj3A1$wK+{+MLw;7(}#reu}vn7Hij zSFKF1DT!tjv|MyJ4wXa5MuF}bVTDlt!v<)?a{jpM@C5vD{9yA+g5FppD(CB;FUC(d zvTzlmScuT>8Y?)zWnuIGz39@WXB}bL`wjkbnwt)# zI3(^A><&PBjtuZ~=&|)RmRy|GY9`}8!I^U-&BNuyk52X)sWEK6hIJELQTNR^w6F!v z5Bib`i6gKw!u34@yh50zc-7M7`8;h75^lf5AJC_TOIKkYBC3{T>Sl7(LbJ|Q{_q?F z!}Phb?rysJ+qd@$yKF?hCcANvfKR;XHjd&USi+@0mhk0Qkluc^sA@=R0J{5Fud2MV zj0?gf0t*Z9dOqQJA!Z1}!VJp&7kVFO$U7q@r3ZtK=eA>P-6lJ~=3N=|?7Cs=akkQV z`4ig<1})Odg|rP-EmZI+_H_pFF~2QFVL!ag6j{&Sa}ML|moA+4M#`F&|FqayRS;(R zQR6XUyO1`scv(PyjSVYv`bx6#YsxW6(3^g%uir1|EvrQHg4=W;Fg$St=msCCCOh-w zcZlN;2=Ey=7zp0f%6WRs85gas3d{xQYA{jOb##2M8MP>C{;}z6Y)no!sg`w*m}w-6 zmyq5@qw+DR*NL?@wzHgXqP5e`TK%6<0*q<7vA%J-Vy+c){_?yExSx7X`L6ok#fqk{ F{ugJzr&Ry| literal 0 HcmV?d00001 diff --git a/thu_dsa/chp11/ss2gs_case2.png b/thu_dsa/chp11/ss2gs_case2.png new file mode 100644 index 0000000000000000000000000000000000000000..864d55eb6831ee3271dd836ebd265c419433465a GIT binary patch literal 15429 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 ({$HB)oA!0ktAD%K|w4CzNt++12wPCT7N+D${K8 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 literal 0 HcmV?d00001