From 7ca65cd5e008bb5b4e60a89c115f4415f6d41683 Mon Sep 17 00:00:00 2001 From: mas2hc Date: Thu, 30 Nov 2023 17:27:35 +0700 Subject: [PATCH 1/6] Enhancement 104 - Improve index handling together with nested params --- JsonPreprocessor/CJsonPreprocessor.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/JsonPreprocessor/CJsonPreprocessor.py b/JsonPreprocessor/CJsonPreprocessor.py index d5cae2e6..38079a5b 100644 --- a/JsonPreprocessor/CJsonPreprocessor.py +++ b/JsonPreprocessor/CJsonPreprocessor.py @@ -67,6 +67,7 @@ class CNameMangling(Enum): DUPLICATEDKEY_01 = "__handleDuplicatedKey__" DUPLICATEDKEY_02 = "__RecursiveInitialValue__" STRINGCONVERT = "__ConvertParameterToString__" + LISTINDEX = "__IndexOfList__" class CPythonJSONDecoder(json.JSONDecoder): """ @@ -588,7 +589,8 @@ def __jsonUpdated(k, v, oJson, bNested, keyNested = ''): def __loadNestedValue(initValue: str, sInputStr: str, bKey=False, key=''): varPattern = "\${\s*[0-9A-Za-z_]+[0-9A-Za-z\.\-_]*\s*}" - dictPattern = "(\[+\s*'[^\$\[\]\(\)]+'\s*\]+|\[+\s*\d+\s*\]+|\[+\s*" + varPattern + ".*\]+)*" + indexPattern = "\[\s*-*\d*\s*:\s*-*\d*\s*\]" + dictPattern = "(\[+\s*'[^\$\[\]\(\)]+'\s*\]+|\[+\s*\d+\s*\]+|\[+\s*" + varPattern + ".*\]+)*|" + indexPattern pattern = varPattern + dictPattern bStringValue = False bValueConvertString = False @@ -755,15 +757,14 @@ def __recursiveNestedHandling(sInputStr: str, lNestedParam: list) -> str: return sInputStr variablePattern = "[0-9A-Za-z_]+[0-9A-Za-z\.\-_]*" - dictPattern = "\[+\s*'.+'\s*\]+|\[+\s*\d+\s*\]+|\[+\s*\${\s*" + variablePattern + "\s*}.*\]+" + indexPattern = "\[\s*-*\d*\s*:\s*-*\d*\s*\]" + dictPattern = "\[+\s*'.+'\s*\]+|\[+\s*\d+\s*\]+|\[+\s*\${\s*" + variablePattern + "\s*}.*\]+|" + indexPattern nestedPattern = "\${\s*" + variablePattern + "(\${\s*" + variablePattern + "\s*})*" + "\s*}(" + dictPattern +")*" valueStrPattern = "[\"|\']\s*[0-9A-Za-z_\-\s*]+[\"|\']" valueNumberPattern = "[0-9\.]+" if "${" in sInputStr: if re.match("^\s*" + nestedPattern + "\s*,*\]*}*\s*$", sInputStr.lower()): - dictPattern = "\[+\s*'.+'\s*\]+|\[+\s*\d+\s*\]+|\[+\s*\${\s*" + variablePattern + "\s*}.*\]+" - nestedPattern = "\${\s*" + variablePattern + "(\${\s*" + variablePattern + "\s*})*" + "\s*}(" + dictPattern +")*" sInputStr = re.sub("(" + nestedPattern + ")", "\"\\1\"", sInputStr) nestedParam = re.sub("^\s*\"(.+)\"\s*.*$", "\\1", sInputStr) self.lNestedParams.append(nestedParam) @@ -1008,6 +1009,10 @@ def __removeDuplicatedKey(dInput : dict) -> dict: raise Exception(f"Invalid parameter format in line: {line.strip()}") tmpList = re.findall("(\"[^\"]+\")", line) line = re.sub("(\"[^\"]+\")", CNameMangling.COLONS.value, line) + indexPattern = "\[\s*-*\d*\s*:\s*-*\d*\s*\]" + if re.search(indexPattern, line): + indexList = re.findall(indexPattern, line) + line = re.sub("(" + indexPattern + ")", CNameMangling.LISTINDEX.value, line) items = re.split("\s*:\s*", line) newLine = "" i=0 @@ -1020,6 +1025,10 @@ def __removeDuplicatedKey(dInput : dict) -> dict: while CNameMangling.COLONS.value in item: item = re.sub(CNameMangling.COLONS.value, tmpList[0], item, count=1) tmpList.pop(0) + elif CNameMangling.LISTINDEX.value in item: + while CNameMangling.LISTINDEX.value in item: + item = re.sub(CNameMangling.LISTINDEX.value, indexList[0], item, count=1) + indexList.pop(0) i+=1 newSubItem = "" if re.search("^\s*\[.+\]\s*,*\s*$", item) and item.count('[')==item.count(']'): From 7c2eb63c79175aa940b7003e9fbc206e98bfa0ad Mon Sep 17 00:00:00 2001 From: mas2hc Date: Thu, 7 Dec 2023 10:10:50 +0700 Subject: [PATCH 2/6] Fix bug: the scope gets lost for new added parameters --- JsonPreprocessor/CJsonPreprocessor.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/JsonPreprocessor/CJsonPreprocessor.py b/JsonPreprocessor/CJsonPreprocessor.py index 38079a5b..bbaf9c4d 100644 --- a/JsonPreprocessor/CJsonPreprocessor.py +++ b/JsonPreprocessor/CJsonPreprocessor.py @@ -651,6 +651,7 @@ def __loadNestedValue(initValue: str, sInputStr: str, bKey=False, key=''): pattern = "\${\s*[0-9A-Za-z_]+[0-9A-Za-z\.\$\{\}\-_]*\s*}(\[+\s*'.+'\s*\]+|\[+\s*\d+\s*\]+)*" for k, v in tmpJson.items(): keyNested = '' + bStrConvert = False if CNameMangling.DUPLICATEDKEY_00.value in k: del oJson[k] k = k.replace(CNameMangling.DUPLICATEDKEY_00.value, '') @@ -661,6 +662,7 @@ def __loadNestedValue(initValue: str, sInputStr: str, bKey=False, key=''): while "${" in k: k = __loadNestedValue(keyNested, k, bKey=True, key=keyNested) elif CNameMangling.STRINGCONVERT.value in k: + bStrConvert = True del oJson[k] k = k.replace(CNameMangling.STRINGCONVERT.value, '') oJson[k] = v @@ -716,7 +718,7 @@ def __loadNestedValue(initValue: str, sInputStr: str, bKey=False, key=''): v = __loadNestedValue(initValue, v) __jsonUpdated(k, v, oJson, bNested, keyNested) - if keyNested != '': + if keyNested != '' and not bStrConvert: self.dUpdatedParams.update({k:v}) del tmpJson return oJson, bNested From c12257b2ae0054a11ecb9b02b90407e724ebe274 Mon Sep 17 00:00:00 2001 From: mas2hc Date: Thu, 7 Dec 2023 15:01:10 +0700 Subject: [PATCH 3/6] Fix Bug - Fixed an issue of enhancement 163 --- JsonPreprocessor/CJsonPreprocessor.py | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/JsonPreprocessor/CJsonPreprocessor.py b/JsonPreprocessor/CJsonPreprocessor.py index bbaf9c4d..66cdd427 100644 --- a/JsonPreprocessor/CJsonPreprocessor.py +++ b/JsonPreprocessor/CJsonPreprocessor.py @@ -368,19 +368,9 @@ def __referVarHandle(referVar : str, sInputStr : str) -> str: sInputStr = re.sub('\$\${\s*([^\}]*)\s*}', sParam, sInputStr) referVar = re.findall('(\$\${\s*.*?\s*})', sInputStr)[0] tmpReferVar = re.sub("\$", "\\$", referVar) - pattern = '(' + tmpReferVar + '\s*\[+\s*.*?\s*\]+)' - variable = re.findall(pattern, sInputStr) - if variable == []: - return referVar - else: - fullVariable = variable[0] - while variable != []: - pattern = pattern[:-1] + '\[\s*.*?\s*\])' - variable = re.findall(pattern, sInputStr) - if variable != []: - fullVariable = variable[0] - referVar = fullVariable - return referVar + pattern = '(' + tmpReferVar + '\s*(\[+\s*.*?\s*\]+)*)' + variable = re.search(pattern, sInputStr) + return variable[0] pattern = "\$\${\s*[0-9A-Za-z_]+[0-9A-Za-z\.\-_]*\s*}" referVars = re.findall("(" + pattern + ")", sInputStr) @@ -657,6 +647,7 @@ def __loadNestedValue(initValue: str, sInputStr: str, bKey=False, key=''): k = k.replace(CNameMangling.DUPLICATEDKEY_00.value, '') oJson[k] = v if re.search("(str\(" + pattern + "\))", k.lower()): + bStrConvert = True keyNested = k bNested = True while "${" in k: From 3241e619babbf2af861f1b8d30c91f28c67bfe1a Mon Sep 17 00:00:00 2001 From: mas2hc Date: Thu, 14 Dec 2023 10:55:59 +0700 Subject: [PATCH 4/6] Updated version and change history --- JsonPreprocessor/version.py | 2 +- packagedoc/additional_docs/History.tex | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/JsonPreprocessor/version.py b/JsonPreprocessor/version.py index f8d552e5..a48030de 100644 --- a/JsonPreprocessor/version.py +++ b/JsonPreprocessor/version.py @@ -19,5 +19,5 @@ # Version and date of JsonPreprocessor # VERSION = "0.3.1" -VERSION_DATE = "28.11.2023" +VERSION_DATE = "14.12.2023" diff --git a/packagedoc/additional_docs/History.tex b/packagedoc/additional_docs/History.tex index e79df44d..74384f59 100644 --- a/packagedoc/additional_docs/History.tex +++ b/packagedoc/additional_docs/History.tex @@ -34,10 +34,11 @@ - Nested parameters substitution and overwriting improvement\newline - Jsonp file path computation improvement} -\historyversiondate{0.3.1}{11/2023} +\historyversiondate{0.3.1}{12/2023} \historychange{- Add jsonDump method to write a file in JSON format\newline - Improve nested parameter format\newline - Improve error message log\newline -- Fix bugs of data structures implicitly} +- Fix bugs of data structures implicitly\newline +- Improve index handling together with nested parameters} \end{packagehistory} From ca72b689d300ab591188c5ab865fface33df997a Mon Sep 17 00:00:00 2001 From: mas2hc Date: Thu, 14 Dec 2023 12:34:28 +0700 Subject: [PATCH 5/6] Update documentation --- JsonPreprocessor/JsonPreprocessor.pdf | Bin 418664 -> 418437 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/JsonPreprocessor/JsonPreprocessor.pdf b/JsonPreprocessor/JsonPreprocessor.pdf index 7b2544f28ac8e0629331ec8c6f6f71e18a2758ad..e273db913a2da22ce235b7736f10e55fd9a77c0f 100644 GIT binary patch delta 34927 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 delta 35180 zcmV(|K+(U2#Tn?v8L*fV5lQS|6cUq=pAVNldjpMcJT-%<5{Ic00k^3V0(F=Jurp(~ zA*%x30R+!zANZGXBLx$;7OeuH0|GQQm!Vz(D3{={0w#ZL{(Y|`8*nfL)nNmE>FDTQ zopU7{M|Tm9J`R2x58ix`Dl*7ODx>jj#2FGM(u^X3;lecf8vlO&?rQx0%W%XPizOP4 zl+y9}#r62}m!W3yKf`b1%fb8c;Qs*uP#lp4glZ%di6-;G*KatQ!mY~)BWYCh-90#u z1l9-}0mpx{=z8$i0B`eRIHK^lq+&x%5rHr#HL?3-QKcmiQzDj@hHu1?($Ft7!qG@@ zL@@IW&a-7zlux^a2~h|$9!boQ*7`YRE!K>gB#2_QX8igXTt-4GWGFcR0S^l#I9$58OC+!9KWmH=-cyPEr$U_=mh5ov#d-;Rvbh)@3&XJDWu6SglRWf7J?huE8%@HY{C^mf|}z;;v%U#ldB{mrdG&Bo>f^g z1BD13Kc?j}EAkGxHt`H)(Gd%PAei@yXHN_pPazOt>SO{E1}S4U0^&yqD3nr|fLe^q zu>wpA<zl8V1unA`xDK1_`Ku~Eo^yNZ%RtyD+C#!jyS4m~nz$N0gC`n2xAV z!IXl;)Mg})6jLy#-DFt^!db6`_rn7$a0aHgRUk;7A030NuVmsQ9G!lK@> zj=YR6=8IW2$ttg-N$DjCKU*tDuT5>&j){M6Sy_#ipwZQ&TKPsxn-%-^f)?CF4C zg(kgY>H&n{J^d;eqY-8Ezrmyw8p59!1+gC0KH$HlY_C?fD`#V~S)kx~cF15t?!2B2 zl)feGEfH?QXuwl#+?#qW@G;G=lF0+iv-*{qM}I`a5tkSomp7jwTJxd_o}}PvG$3}n zdGH^Qm_bt-gOl59obZ9alI5;ykmk^Bu6azUpIhUYb0V#itw*^oeS`#*m6e#XqAhfs!cZVWH zgBFSe2oNMd2<~1e?!~>u-J#Ip6iSie?i46afg&Hh_rCYu_x=Bw@0-jd=h=OB&)GfC zo|!PxYie`KSUQ?Ro;$)2oIG4WQGlEph=&&d1oCkKfxK9Zj5<(+J>)Ml7NZ^n?gDj$ ziT;0!AP0wl5f3(bFyeuy<_H6*xY`4F_y9bDqC7&PKp=n@2o(7b(Ge~RkO#X#Edgp= z02N0V#085{&e6#e4z;#HJZ$ryC4j|(6~H4RBE<1WI6%e$0*6|FVE{ES!Up2-u%iXo z9-!@L0fitu|0@NHxD5i~B+AY0?(WV7c5r{;a)et;vT^|2p$HoQ2;u^PyFn}gzY7Ma zgB>7$R>p^gdYHL20%P4Y`A}ar`Pdxg8bp+`E7ovz}MT!(FtJnPz1ymY6W@t z!SZ$iyFma5xGTih``?cLMp!&N086L^0$>iYhQhG^$^Kx5SpA6~E*}o{02l!uw8sMg z{{H;EGJcSkr6bJV^B?*j_sgwks3)hU#{Or;fBR%*9X$ZvoP7KMPF?{XfQWyvFhEEE z2=M*yESg~GU#9^66RHfeas-I{dDw?8{pY}Lf89UJU$emq`0rfmjt`=R09gLf_$#0Q z(Bk2X=l@yhe}w%13H*1K|C`4D_dw5G?d|_?v;5)z|G2>pPqnLQK+ z(R6fy{(e;eoIF6_|M(sz%fjyA<#2gWjrw$IegOe|6Bp6%K!R zL;leCLwo;&|9G$<5D$Nd1=j48qlH+AZEZ;VWwi{oJLl#Xi3!F{{WMli?^$?<>op!m zGHX?4&@%i&CVB7^!NR%%%enL%-L3atOFc$-Yob=$FP|IJc+l8p8`jKMvcA#6J(;>* z8q6o0I?`J{x6VF#fp(}Z$ek*Txz4V_c$)ddm+n1^9(BE?^TU5(Q=3{_Re~?DZ%W5G zqjjTR1-_eP%rnpWM)4FK!AbL&jp)b&fAaidf+%P7o=zp69m{t=ny<*)aD_MK>YLYM zxel*O7bOFwAq5TUInnSKleg?niVFF(_xqw{_;BhsvW}5eha?{R9Tu-mb)T^W$|+ zo!1Tq3u&zZTR6yuG`Wrr)-4cDgPc>xg!j5&)4KmAntbV1zs2IvB1uED2%eb&O-o0> znssKad*JS(4*lSQ$AI$Wv5MFDYq#BXHhYqzGm8wzzRrKG5f@7bN)zN{#)gISu?73+IrowE?@V4UneQm zExnhis>l`2BrL>K!ibHzYC;KL9dRX7{JJVCzeE(is`5JKjwLMrRKMcW>BxuEL*oKY zpg32lwYGmOK90J560u>nMx5&5L|%*lwTVc5H_4soyBDo&Xg)ulV+DoWdv`|w=E4I? zrxZArDYJh$x1*3tcGv<(=ZNM<>-i{T zlJ_+;3r^d#Jb~JJ)yTfF{i4NPOQqmbOQ229w6}l1zqkYXH(vLH;hdD~Fw#(Kfj&Rf zpp=0_B&@68C)6T}K{f$VexnDcldR%=+G7;Bp_ZLxC@S4ZQ{<|&&TMbaI~l1%*TvnL zd2(F>PfgV2-3l6`vI#P|6npBmVeKA#7~CPC-)f7Fo689 zpmu^5552(o_!fURRcPUplvWxOSq48!k70k$Bx~wjAv;xsgH{hSv54U6jIt1VK3I5@ zSw0hG>?xfAu;6&8IsJ5rjvFvUN$vCc5e}eTpuxI0;OmXd)$wpJD8G7uw2wA!S z*Df@fJvi!v3Yte1j_AjNt%cFUm%gCwQS1Iq5x=UhyNF$T-D^@W`ch-&aJbYjDK>vA zy5&osxNjF@Ecps&iXZzrrP11O2w`>^eqK9}gSp7w0*wpF?xl5=?5H}K9MaeCc9~0>lWTyj8rb?@8Au-x1aQ1O%xorNf$&j!sMM@ZupuLM@wh8;--IlmcC}+ zuIa2^sAF{LROu1$E0<{9HZOXcGY3d)Zb z?5WQlN|jBG6|zq z6X~uN2~V^j5n0wGW!cCUw-au|s1i#q73x>wPAq8RPX)~>QM3tssF;5UK%d&wZ6KZI zc>cs^gl!=>Dg>3dJQ7T|=@fxS5v;C_^VNu+sRE5S?#X5^gTK$WpAL*Dk~$rucGato zcj2y~)i0&hV3AF(U-ZowrKs?=glW#)75S`b0`A1xu`P?xn-}bd95F|zT6k}95_MNk z&t1C&*V5#s-Y`=2zSMs?X9k@`^;6l7Bjq?w@zAK1!hBWlV%d?75=Axc8n}neeo6;# zPvlI*Y?3084)Qn0)R(DX;f2WJycr%~D0>P1R;@&eDHHE+4J1?6N}@a!UlK!4{pIE( zejtc3sW`hKjfi$O2#b^SVr_o0ig^GO{ z6?#4wQ8WmfO#b(Uf?*sq!@JS}1($mDu_%Xni?5}}TwL>4k~ra?UQe84N@{h6Gqq5s z^m|lp?hUti!P0;5I$wv`$-S?(a@OaZO}-5lbdGSuU`umi=en@AwKvR#)7l`YW4}o8 ziSia9W{+n*nW&$?rFR#YI8iQHc0nt2BDQc@YQ`AW469f_e)K^2qI`552LZ?*L&VCuR7*PH$j4&P5OG+z{EyCD*R(mA53eo9U)X zFlVT~);sPGD>Xr+@cY^bK;oB_)L+AUlq!^qI5e6t1esTgC|5@b?epvC!ZNTz?!(kI zzEjLS^8h1Z4r%CQKi1piY-4GnS7~T6{NQP@jM;zjp5D01YkEO?nyWFOn-;$PE{I^qdZbE|G4YKDpxp9%XG)hx?xf7E#a?gP zQ0r)3{>@9vMV1gY(dAgwNaLOC%M_9<2wSLQ817^hZ)CN=v3zWZ1pA193Wj|M zj)7YeVoKI>=mjdoAD}^3S22+z03$4>h6>9H+_7!-g`|3{z&fPqJ}Ue|k=MMJY|Vu* zkSL$e@0&EkX1l=HFH0p!FZ1&4o~=~6OMP_eUah|$N$kE|MKolQ(ad+zoALnKCwhM@ z;kDjHHl}&W(kI63GmY^bk#h6+UM=S^LhnbrK+wK!W#^0Is3#mu-vZ}$sp+a; zQT0{CEo^+v=TVidE*m9!rm|6s+;G%&de?p2OyfjO4kR4`kRW|A2vs2>jDI0ys4D*y zT#$TbwWZAS{)yD2Eux!wP*{|kB}#ueTQM(Z4g(!&s6jBY{}E+)8m@RSdtPk``~q;9 z>5)BS8~9n`b-jO8n@H!TSGV#9`bWimjc`JUqI#!+x|2*q3O~B8i?O+wbv!a{G^eWQ zcGOR9((<{=VJBknOv+>zQ_6*%yKl`DAAp8BP0;U z5@INcZ!dY3P2EBQM^%_+ncrCd%uYC;hk|@lj~QJ=EfqJ58`U&MJ%;Eai2+ z8%_~i;f#0N_B5>oB|?2PxVC>4MBL4_QCeMkWihggNOd99C73a4&J1m6>^ z%#WC3SisZhT2AKU^{II9{AHdl!wm9=k9iu9+xSCa@qsUBK5EEulBvs-tV)QGTMI}W z=$m+q46~ql1lIT5&t)t4(^h|+LkN=-_^RieO)1C74}~Npq(yX=r5AtEbL(Dti0D_8R7Jq{CfysdVd%g6uR%;3UJ7{f@+L=uHq~3be zQ%IHQ^QQN>rFbhn?;5yM-|Aan1>$b$kglt2H9uEz*y?WwCXs>WDqVkt>YZ`-+b(S#?6JZk z)A@4f7mg@J;0YmnRMAk(T>>-L9%1@g0S2l%i%0LTbamg}Xbg$@`Od$`ZzjC7lnjX+ zpn5!nH=J^XOK08s0Rs)$UiZe)t>`u~hn=wQsTQM`L=VGzT_j{z@g`CgL6BnV#Zdji zaJZYp(ncLQ+hq~P8&wyo1GwQYb1Re6Vq1&tBm&i}sJv$qem&=-!Ay(})^=BdIr+-h z01q&(_s%@eH^5ef!2$0xW%#5NE@HSq1Ua&J$jfM(fvIQ~qq;sCC-2!?bZHps;bRiB z;Sq6_)UdeQ`fUNT;p762l~wM^BNMoofE1O;(9C}kzNA*B`m~}U6eGBN`DbRlb!wQC zgm>74DgMA);H1)sB+KV|SN)EOA}^l|o#Fa*J!Q4^Dl4|-f)K$^q!_~%+m&-B;;ES+ zfe|-O_e!=+HT;>_*H@=0JVAQ-#W>J#sg3*~6hcOkh@A*ZG?-p1r0E!DC*q1r;HF5D(EOX+P^knzWR8>u-XhfpV}XZs!nsX&fL z?psohUUerKO$(2e*Id~15-2T2Um!2b8=?8x- z^S&ZH5eFT>t__#jwAVf8KV8uxw$8}6t6lmF6mdOYzbYh`J5fQ(WesFn?s8CzV5EMu zo;%!$k^btDOy|e1!zV&ca^<-Ns_%%3RAgI#=NE+M86dx_0*8A+vEY~rOgGInR$|4f zoApgi3P$`|D`Uo34Md=SY|G|4g}r}OyNn&iS{{+);8afNY6G2bqx5Uj(Wct5Bw=F4r!?v|*fsIiUEHChOek*LT@)wh6*je*I9VX@*?vC%WD=oKcPM$AV-d zs80boQDIchbGdKxvA|{;!#>XI5teCac}uHb_;#sKC%Ri1R=;zf`i!fAuA4Z`qNrD@ za7x4kx74nEdULw1{Z0aYz65``mKxRApRhQ#&)%a?23k|SwO7F3cTa3;{x}uF9uVd4 zbY?kMXJAhfD{tURN0Ohdh}}YK&Z~w3sleTgV1rCgUoJyI^9CNmEiyZ)3NUS=d%j)L$rMaI&ziBT=Qe+JzP?lIro8xbYY?Rg z8#PahXo=`F3t7Hq^84v8yGxgpd>hHebhFU-9B_1rW;KhSEu&^-So6T3BtBMyqP~5y zYT%d@%G<2)jfSJE;){Pri}58)A0usC&ykoqXl0PY7zm<*q9+-zV?-=oY2rLpWO=%T z)4NuBb$i|rwz`it*!7Vld7J>rEA-KmsGL;xr->T@)XgMw&B3L5Yf6!C6VB%-8=`p> z=W>23c|@+g#Bbl#sT~nw^Dgerd`;sLQhHwI03d&$+H zhPO(2YP4!kac!}$=sYvKF?%`#2*m8Oi_f&8QoFcA3Gy0~up*4uO<}#X zwv|~-WcCO*m({csuUaoM8IR$ZpvUjdbNjaGFoUf^A78^JURlGfU5hgC2}MF}Sj5+W z#%LbIw|XtZ%dUSOY`OPz%?;_fAg023g3%!te%_Y}Lv{5ad1{*VPup}h6r@oFK6FG! zFSaEG#@}!Wu)J8kCY_LE#|R5%=Wp};CjFjt2`ww;tL(QQMlb1_+mp^Q%V{{xZV022 zBa-5eN8;&=-f{YroP+e#;DVTz41~7PKg--JAyhf7714hOER0-cTo)&}h^|B|Gm7H@ z|JT_&7xl3)o=qD7KFn)u9sCI|KzUW%BJ3biD!r8VG)`2 z_Fk`G@}o$((kEx(YTm)ZQ9{1s{4Xab)BfKw&hmq~0=3i8*$2p_neaOz<6rfR8Fyuw z>o4cg=c|7&6*G@oTA__Fy0YLlyug;Uev=Xx7t z>Vnj};==WoiKuj&H9^5V(`Jqpbl|yr!raNE#M|9Hi-Zt|+-mB*MDW^sp>7$p8|`h7S zT1O61mfepSy(|bAmJS(JZ2h!Kn`jIE&Qo5jQRvW#I$Y+e;&x~HqdVW5VpFlnt9lV2 zR_JH7-kivMWcR_~k%L}Dd{tMsmz?T;q1b=@JC}?S=C7UI3-zb?>6G1QxUZv8X#ehx8%xwFQa4qDJ+soYR#F)|G!> zMD|v$>-V1BbJU2qu@{a%nz)K)5S*}Je;?O+ML&u+t!d~a5WbL~@ukovA(r}s@V;?_ zvj?80PDMz*3=d`ZsU)SN4Q!Cis;@c@u-6%c7Z-D+=lS*+ho61HS`$N&h`d7MZF5DD z)DFFsFL($jOLspV!w((AwYu4&K-qr{I-l>4z87;9XicXZFy1~FK1mb(66YlHu<);{ z0DXHa%8rBt5N;sq^EDRb7Nd#RrZ-QG9&4V_Auqw#|1!L|#c+H1?fcTP(wepMs(wYb z;!|N15qj_<_9y%Ic0fG8`$0;^X^vdp-P;kd{aRWDGKkqc$*8&(?t#kD7Hxk;lOg7Y zZfE}hznjSqYN&qFiwU!$^AhTk;Sx$Sbfr(68i1{~l#*?~raXTZC1*Bm3(-D1nzdulas`IszFD%lq3&-?B_rDVhj|2atVojq1DYC+>;Hh0<3Bx4E80!-oq4lw2Z@ncLmj5~izt1P$D5zQ}D zHU2f$i!Vdx1n^WqP8QVZ&nwZu%QQDnl799(TpA?if%#sziQMI;y`FN54#%bh9OCS& z65+cum=a?HMc$;u-5cE+ORDPyo51FUm3W^&9WXFfR;ZE=8#CO>QK%E@3>A3^eV)q1 zBBjrBSrRn`nE>OtT;YFT3JVHbPGuPZe7IeXhq^ENPpAe>)TgzbG-BdWoIY$$U2{MB zejWsnF24Lo53ARG4^RB`9Jfy)k&N@o%^>DLKs$ds-CVG4hKy+-lTi&L$19htLRa?7 z&d^{RqP2}%>Fa$t@@j2x9BPP(cq<0w&W38Ib_(s)l-AabJjH)xF=p<<%CIX~O4zn^ z|B%+LGt}LZ`SV7IE9d+hA+`D}7plYh^bn)lK`;}J4WQnokmdprtpu+(M-y2|q?JJd zRZ?k~&_o>OhCPcSy5FPtR1J(xW@N@$pelLsQfe3douYY3Kl=XBkD;7BmngAUif8E* z%O8TN!CP`;2jYKev3tY9c2ogsw<1Le7Q2dO-qlc!cyzkn$4e%11B@Hl#PVAaOo@9D zoHknlvaw2bl(U3hUFv7pWO1!=sfDcgDOW;A)yaBQdBRyzW8C>mRiu$p=HHWz=vim( z3RA(!3-NxROtzj5%B~WYS$pb>HuXPu+ZJJvBD?tEC?0>`n0=dwS9U=-J0e?M>1i|N z=W{w5L!<4<+pF1+rWGAaX{BJ{-7fA_!G)%?I-`vD&V;o*e)VKxx4@{v15ph+9j&Ak zeuh)iwm7j+ShMJBzXpngf6tw|#h4?co;ldJrF&s#$DRH%@)y-k66VV=U0iOX&|=O( zv4ia!9OQpTA@$paLu>NbMbfZr&nh?7>L1&`dEBT0#db)OP>4y?S> zYy+tlRr!*jU(#AU#bqUuBWV>X`8-n1!~Oh2NXg8ZVytR9l-9d5F_UZ7%C9Dbq+;Vt zKb{gA%N|yvQ8I$UuaRTBCHJn2uP-YZ_>;B~be4Zs*|Q@w^XtU+jRzmsh(U$e$!AoI zvo^6xD@TfTtk$F@b$lVzn%vSvL>G2`-4Lsl(9L6n`|N9E9uR6oE_?$0Gvcxwkll!s zNfhfR7qsh@hXp;^YsGi@T)DCX3>e8>OvB8G25d>R`_Jb$<90Swy1rVKl^Dm!?0O~9 z{WO1Ux6mNm$F%1@q>WQOTJ_5n*NFQbGn+N{SK4!0)ObIErj-3T(PFz8&0P_q^abt5 zL_-4_t>Nlj)f6ZVvvhezU7h+-1jwHV^LgwFFnaERv6f;qdKrjQsM*F`OXnUZX(>i_?EU1luZR9r zYYFzFx}lT&uoLEv>G{NRyw~7Ni*FwU_i6VtkS7M|Jfj3wO^ij~HWlSY`$~{aoS*Nb zdLBZhr)gVqaa@y^*a?s#{cb}QAr(S!()6Lrlpd|ak@=YvqO!?mZD97(3>akkn_qt_ z@p$=T7dh&%HFDkRFryyFj>UEB?JFy78bMu?T=*alvxY(V%PC~U3R>SeiPFb$S;_? zFpjRh#)FDgdn@ClPSACXHptOS7;4lQECF&RW8ZMleTuuS$x!?l`Q-3@mR3APVNJ&( zK`(#KbP`34o%9{ARYHebWwhkY4=RT29#Q*{b%mrhIU39jNWa%gYvQ_8msC4v!1=Fz1#wnS~IF-EKO)$cS_-McrfXN0=r4

cl{-Yd|LcW_$xG*>)oi6!9avP>z1H)O7>Wn~zJgc@o4er|! zvP2B`6qVMr&eXQW7nv`+Em2HMy0C6T&m}YuO^vyK<(6@}P~go=D;|H$5MGgsISQ+@ z){jo^?J8B3DzgJt>e{S}v)(K8Ag&AWB8@0lyf4SA7v?98Zw1*ow~Z8|{9|B|M?@eS zQnmExDj~66S?rv6Wvs;H5pm$a@W|vf_Ln8k%8bHU-8kfn|S&eBbMzmg|U6f_sIZ{--%Fz79L?zzu>^)_VDR(%v zK(F2M3W+G&)Ip0$slcQ5sfp=V8f6^1Uvme=b}%Rw$^dl$#v?63amo4Aa3J(=vaNuP_4DO})Yb&}1)v zGfP?EDpG5eK5Xc8uu{6FgMtilo8oT%D8>4#G$2r2ID-nZFKi>$J z`h5Z8gIbe6&36d48>Re?)R>6IfSmp1gd6cWN(*%BLxJPwJroL3|3lJLrqO9LrqdK zGMDkF0~VJAF9dZ3Woc(1o#Dtt>>WIvEX^%kKH~i66F_M~1z_Uh;-LMPJ3z=5=wxYP zWCxHlakaJscT8)xy&GZ-t7znTxxT6AHh8g7m=miznqOsOzdqPjO;uu?aTpY zmNr0ug19Wbi-!v>z{t+@FGC|6XZsI-BY!s|OB*BO4}*WDZUhh)QUVx#RQT`uoK2i8 z9bBC0oh@zts*&L@nvXV%*_n#i+u8!{T%6(l%1_kN325@scTa|YAFj2Xy}ODKt}-3!^DE&uK=o^4u8OZ zDVhEff7IaX?O^W!F#9M2=xb>P{P+Xs?QG-*1h_c40)4&zsrX+6$HW9MwKQ=77z52M z?cn~fe~5u*f8&qyce3;V=rDea9}|G_ub=;Z>3vL?slAa`cKMk z|DFNLe=i6X;D5Q~?LQ_L2%!8k=(>z-j3ytynEpSH`@dZN|4sQ{EdQ^A{(mzPceSzk zm!9%(ga04Bk*%eT=f5pJCfC*FV+-W$KX$?H|C(w5|6W}=psA&+?f=zExqldaY=e-U z`Nu@lF|pD!vi>c%bQZVt0GcXVx|mq}JvD#J)&ANy8%sN&qP?@_UpLH$7bD~U(S0nL ziS@@V;`}k1|55=zcIbcOirJaioBp+I%xvrcBPS;#Pq>e>{y=O1Z>Eo}GzEJ6YnTBH z^mg_xA1;888hrs~_D*nr9e*r48-PLRFVWwK9l#*`2XO!xME)R70E6g%5eFlHLHrM5 z0x(GYK`a0UsXvGnz##nxeQ?VCK_8s*e-IadLE*oM^CN=dAN0Yg@&|ozs{TPAHK_eT z9}zVEi?}|J(I4~?&-f4eh-dO&#P*>xvA6j+i2q1fS^tvQ+WztX>wkn8O#cBt>IVK{ z_~_o>Gx8q^%SYB9&9^bK{f7@TfWhn!{0mwBpfut1Ab&_^$+;bAnSj?k1p8!1AesVAGv>AFAV=+{?El36 zu>E-Q{-OTJ-Qkb=BY&>L$KKoj=^y(?DId45^S{RbkK0E@|EQPgBYo$8zz>=~4gR=S z7+frzfd6RNM~W`)_WyABDA4sE@S{Mtf54BV-T!eKAKo7SfFJape=7KJ^#VHm&HX=H zXyWSR^zkJ9>$?0{(f{Coy?;QU2hap=dBNU;z?@&-m@ zR}9DPKq*j!_wkygFltGtXKp|0aTD!?x$M2gS`&-WTK|_%dK5R-a$^Uineh&-&rdYI zrxRycSLS`0?rv>E7CTdOtn*goVfP!sS*lO8j+cA$Sw|AQx5?Kx}->*uLLJg6Y<559@7WLnAx@mS1M>hEw|F~j*k%? zWNxyK`O^-2*>PnIe*$L7c6-IJpW`S4Z#sg%P#Qars|b+rWJ~S-ypp`yjh0e2ZzSx8n%Jnd&*w*Kv?iMZk9=V*XTI|KbMt@P!TUjZA&L<8F-@gPaKK(nm zo<0{<#z(epWI91#)j2tPHocg3EEBz1QRUiuk!jilb}TB$DaMjkxD$WJUpWXQCmPyn z(Z*msaLT1lt*E09SrVR%2s!fdnc##ZP`&805Bt>FxCEDFK4$9pGeZXjL)$P~0>cSN z-5JhMpMU97p8W#T^e-iZ$wU=5rUg6v4at~%2NtmSt)jb`9X7-ugg{Y zmY_Edd2;zrt=Zdb!w4z3AfMF&XVhs+v)R|SozG)odhfvvykOzjUN3dOE#EU!Y_cyj zQr|=H)#}F0;v?ZJeW&srqxDT_Lj=DidxtlSv48jao&OSulve4kujp@ZyCqF(xUp;? zCcUgz_zG8$L71z)tQ0SB0maudu!YWSgLBr!a-< zwtKIyj$}fPuMFCZ-Wcs_cDQl}*S{T6f?yV*<)r-g?w9;IVj03hJhYXk+=_I7kyN^_ ze18LV*Wray-s&keI0jF@1S>8S3I-Yuqc$b!Y3Lmc@~#6~A;sngWaZn7-}0WkfPVlkxvia_2ZthND3MAY#3sC76IXuu$y-!K zk};keu7rtJ?QPP8#WG#Cd5PXB*WJui%m^u2_fQ! z9kK)D_`!)(;%SSscHZ}<7Psu!^=)eftMSe47n2WfLq!?6``hSvisG=ha zZQIjRHy=>Or2tYShT`o>9G9&m=^Vgt_Gw z1T+K|HHPL|@3d=R)D7!fX#Lk;CrkZ5-qiW@5Y&)9ar%uU~q7EubsXPJt-EKCf4JCX@?Q)T}-^SAv8( ziw0x6RI?JWeTJ6#{O~aM;%HJ_P^w;>)^g&zG1RZPIwnQ&rYvT$_J4f{{F&f$djO~% zk;7S`uVs7pR~tu3ilPMmNHFH7Tcnh3nEDkVg(;iFVCG6dO%X}r6BL3@JKk7^a}S|? z0Rk+@_h(U;tLG!5T^amS+@sL9-`qWYIT z&QuzyV7MM9e8IO|<%4Fi8^xQ(OAU+0evqY!PA@%i6ilh5{C{q*)rP};*-0N_5wTi# zU*Y|%fzINiYQ}07a))cT5LP8_*CClS_s$y{JCQj*x9+8W2DRs#HS$07}sY0rMc|+gk)68WTVFGoXb|_c|q*Z352%i zn3+wEFk@m$bRvX^6V53zEpzXpU#hN}biW1iDYJYU!F)31C(>G-j5*_hnh@g zP@gw#*s2DFS?{HJ6Fyi2!>oDKz#$Kkx;zhD`z&?qkbf<7TZ(Q$-Bu3hqt$?{?K?!p zySg(#E~-UUvo6zMUXUQ)i*~Utp|McsB`r5lH7}JtS!#BDg}5>C;u1L5Z=CgfsiWli zmd{+bc6xj>PPg>n$5HiZKo8~i%fzu$RVler@*<;7SLU>koL-LEyym_@vxgo*lx5pP z`u>HT8h`)O`ImwM3%=5b4-(2xzus>-*cdlHdo zIzw|l+)vQeX6saNs)_Yt5~2RjVV{7RQm$ecLG}XTc;@i4Z0SFoxhmpg8d|1oip-87>R@CE#-Lku%t($v*v(fDrd07hBUJ8T;*sWQ%a{(|lxA)^p7GS9XL^L$0iggEe5GJKH~`TtJ4Tc1bm9IS`^CKH z*WloxIE`)Ku~QPu0#Z9^?YbN#Iyn@qq9gE9f3X%($X0N_M|R z1kh&pty`zcm}|6k<56C@+$p#nhKx}LcYpJIh<>Ld=C?6tziL6ch<7BdBBtvp7d!+R zFEKid%QA_Kzh7CkJ6DzdvvD@$I2vM#EmG z7rSN7#fM!-qg+>x{92vhd{AT4X)~BbI)?u-O?7kwgyORu-Fg}gV1v z6fNO;{p33)ZWso>&|SrNZ*tJGYkyauycX0Wbr3_@fKVc|1 z`+R9^OyDm=gPEDh?6^^BW`?R17!!>0!w?dJ7|!kxLl$|_o*^=n!ae!`9_E`qwFY`Y zl2LtGaaMSQee>mW4f<^Gl&avCg;mX`$Nm1FaExMpc7$v-Zb_=3Q^VYkvK4VE} z)P#%++PU|9H?p~K!!z;xuhRQ-QL_i4&0l;zQ3>Tri*VpO+%K1jlz-i@I+1;TWfG{- z&Ta%&{^_HM)|HCz=AU;MF0dQ;pcas?@8S&f)IbRGntvpF9TO%ZsGif3s+Ui5p;}Fx zt!n>jx`};9!GHHhXWQ=j)l%vbJU^!7I9`3aoIWFAZ8CYcb>>}^4eL{?{QVK^RTdNl z{_xYF9)_EUki{YCAb&C?TfQe3Kj(=MC#U@}GSk>Y5mIf%a70AD%BaFHf{>elKvZf{ z-mms~u${Jeb!%rn8#m*PsX|aN&Jmyb;Xd6?12XT6nX(3ca&oWFQqY)Lx3x$bPwJg2 zPnK#z(dX)gH0vO<38cfKz6l5&w-UE6huJ_rGg%+xK>*Du)qkcvN>sMKnBiSZMa$8e zlv@JYF5Vf(d4L(JOh*Hab9=t1S01zT#$0*XhxhgGtxVY}CdB;LzAy zFY? z<#+{ErUQect2?a~In8h?+xP`453j32#sPb(Aj|hw!Fp3Gb6#~ag59AF+K^H!scM{dk_>f`*bFI1Ro=3G9t`U3+lAUsvA zaefq>xH-F^_P(j6OS0(_Qu&(lg8RyUkjZj`%OzKt293;z3p3y84^Gg56|pgoeJgtl zncvp6wMdg#hO-b_T&xjXX=pTIuFM~Wu$cbRLo_sMm4y5|9rLx1=rvvx?X8Wm^JTw< z@0G+0buPQ&$-z5Uj|_rStHm|_6GU*u?R#{TO+%-_P|}cfCP%}A{`In}&okIAqV_rH zKhd&L*|MHRj4?d{b2e1DoVx*O11<|-WFlA%eshVnRNiXZ$!wK0>J~m}nzfjs^l`)N zp9soYCp(+#C=r6I!v( zY1VC13KudV`Invo$_q+-Sl>@0J9D!ac3qQ5$nuMas`Sj6N}rcGhtq8$+P~$ptB>l) zK2_{vt>V%f|GA4^%!A+{j|B5IXyH;nlBLLR2^0UV9$v!tY5zNEiXTh9?=$MZ%8p_s znl%eXRP(>zmQL+WcEw9}M|ERjTPlg=CIlrD`G0QE(P8c(&5By=1OrB6f@+vvxi8~t zB^IaCDpRawy!9Yln*H=L1`!l$sJ4aS(L<7Nx$$(;YSPJSvaga5U^mJbdusrm4+zG! zCEm~2JHdpT=T6U8pD-_sOl=FgPXq;yVcYsbTKZS@|7!b5S~lo6_2Z}M6ub@GZdpH` z9J(v%rn6LLdI|Y9bgpy#sF%Uk){YuS-1)S`$*GiJmpw;wwv?=l2%)kcT@LQ|-SyF~ zobO!tL3Aj2=miH79$lE{pUFXZUZH9JZkBxl*RT$cXrij~sG2`Zlg2H6513i^mF>Xq z@jm?8^-9*Kk?DoYj!6N*ji%>YOC1-@<%-;`MfIx`HO8NtbW$pICQsDf4rUSJ;SyI#SthG_D^A%2y?KfSa3igxVBXMRh_8%YAfY|6c5M?7&;NaK zzC`M%2z#6vZL55>@G}f3b||fwyla%8vl(@VLHHy`A^y?8B^(jrn1mlA6swV(n7iWj zPWFH=j+TSZghqjKM>@QJy8P+L+r~mI!uHQRw5W&b!*Uv}p*=jSyKcupDvzvl75J@D z3aehfe7}o<_j_#)!=R>U$_4gh^rW9y@PI@-tMw{G|8v&IY^Dt-05zqAH9N&Zpm821MUTu*xAa*r)XE3X}fEI8+~lW;LXM@_u>i|yL$k%lqpb2@=CH7}pWXV|8rr3MyY z*3E8c3 z*4c5&JlB;*tb#xO<^Xvxtqpol zwbd^sPXuk$CYQ7VB*djLxGz_eH>uD6)CZLq2`D*|gqmH~qBg#r>vYX!?>Fs*s~+6N z38eB)Uyai@!0!rgWTPv4R`j0Vavo(TGEz|E>BsxaAclg+DFoXF`=(Eq_0_?%W~t)4 za&mmL4&-j^H3sLzgvoG6cUM7oOrgEHhSH0Sr@HvP4ac#?^7<`7;I7OoD~$ni1F)B)OdG|IB%0eG(tO?;Yxs^3(Yr`bC?bbrKG6PTW9pn9| z=2W`kTOpF@2B!TTV}2vmUEDM?Y%H5vl;ysuD5LgHiTGqO@o1!VTqV+zhJRKi=iSBg z;klL>PpR3VFN)Fgo}!FA0Rm|&`zKTsFZ%Yd1`cz_FB?KUl*$WMRO;X37^lV`f!27X z_*fD0qI0BQ@J;M&pR?^-ZAMkQ>0k)bu%16!xm7bKrD1hrpboAvdS9oaL3lufV@4!S zEY_(@E6#k`p-q0%uUy!k-14I7F+e*Mqur^A$Astf@xG(nvk}Sfvfg|$4TjG~`@+Ba zB=*V2{p@}l+{G3%#`2Ly$3CK^#a9Jo`uqwP(doN*0sATP$Jyu0md%@fI`BL$R|BzUgoOY)$NxPnQBunl$zd2EhR8H~O)STK?GNO9OIPp>PX71`zh)OQM|1s^SG~tP znGEBVt($aKplR^pK*wG#dNe|SJA3~T7paYQ%0?U$NfAYkX3fdn^=P($6t}QHe*HA< z*~9_(8(+!mrEw*at3!)2hdG|uK#BP9M)Y*09QD?>S)+N`kD(D#7g7X)tF{wt>K_n$ z?qNOwHqRa@!QMJ$Pmj4O_!?|`cxb!6r-X#x%&xK5-Hw^2gzJ(u*$iCNi2m}|s%Nz= zCN5X<_gZF(&bQz;?F~zH^@9q=Q)s@U-kKY#oz`8tb#&)=s|Rs0g8cEEE4W?d4I(U0 ztanSklCxvmq!c*^jIYW6V9XEwU2=Xn-(k7-lJyjkAF z`HhEO>I*7{Cqee&G03kCno^jIe`xo@uF~@*`(DwzmfKKy@R#iN*m#!d8~USugn{)y zP5!!t@#&W-O8Qsjg+sB7Wn^|al=YjArMWLScJbn(w30+LW)HnT%X*`M*7|a!4%UXE zv#LLUZp{QWMN`JDXX>;%oGqyU;c2o>4V4LzdlpIK%W|L8iT@py%of^%t`9d-`l-e3v zb@{=IvIdlW6pQ5t%Q)e-6k9z`atR&grwN8Fsgk~b-yS(J^AuQ8%0VWghbTrhpe$ZD zP)*P47%KacX;bNtUZUFBL#n%~BlCU0SK?igoL2j0m2<%)cOa##Wl^X%l@Og6-9_?z zrF7o6QjeC}WKV@3Aid+*%H|08Wk*~ot8S9c(z|(?5(3yu=3!!9<*cTHS)O$r)5jH| zKJvSx>{?7ShtC!^ngmPHBoJXEGLF1Vf|}}B<7Y0&w_{&f3a2o5o5%8Pg`QXw>B5}8 znX4yntGMQ8iML#~hx$#7axnTVFX&Xs{ULsqt@Zobur%ZyuV92^M#NV3)G2NDAywDa zCi0`NHV29`CW((uN!?NJhI-!o&IHW5Zvpt)j@*hupx;%{)q**=+G!A&=TEkIm?*6& zE}JIuL7y$FzYuq0Z1H?}Mc{yqF@`TB0${gqq=r~(0v4+NE`Q;p&Y)yn4`ioY)cdy6 z{(1hx!$eoON&mbbdZ=6Pwk&y)27UG4GI{=i2TOs(Xeire?9h za!)TzeLCsH+Cqi2P_C}q^R>PkD)F25#k#Eu+V)2(bA?42Teo&Th=6WoQ>Aj-t}Jxj z!Vn#}?Tr%AJ2@#KC&8mBHh|tA3DbyjDbFHzsQ!eY1cvGCw(ojY#v?2H@z0f}q`aiv z`%g11dVaPa_E1JfdIgIPULs1!T@)DeS~O~|pWh~%CvbD0CaBer9%H}F2Y%f-|DB$k zf7Urd>R;X~jXtR&iP+rGOC!*;gjpYcMU0;sUof}^PP}uESW15u?a*}lsHX(h*FT$t z+yC{$O0*>lv1qA=GkBDgB=D-vw`M<3{%#}({Vqi`BK{1qNNm-0h@f{Wo@QTGboJBn8jnok zA+!_>APD_~4qBS90j>@>RWu3GGQ%GiwK|{?G5`=45NU z?nNpv4plhv3NXX(^2>05OxcSxjez3*!BYIPuM*#FeYm3FCTP;7TIw?$4T9eVz8k$s zTub6vyxhsG0XV|+)>gro{x1YJSKVT6wRUxv!e$fC=AWsWA zv8_rLV7!iB&?bC4nMkfL5v-+2;`YQ?uAlKFLYQ_IW62S(Qb>{=i#IEP(UXL=+?(Qtn8JI!&a?s5mXqYke-EAi|Ss2FOpK+Y0ykmz;BVu?Q^Y1cKJwEdYc zMtG&qAfjO{qfWEx60Db)=Gva_Izdz`v2UR^kW0-lPV=|V11FBmHY)_d+Fn^76go8 zp3JWtDJySF8s+SXlw!&WO5|)FrYyl#)9A)CL*!&DbFrHnN3I4_vAKOp*5&McES0G? zkT2Tyid7G0%J`aXa9&U~X`koJUp$UZdMH^DejjxZstnxY!*P3<1;?4;T@lyJCU|YINEZ z58|TRH~eRU2zglivVwK`k{rkS%T==RkklZZP3@we@Gu{WmDaax<}MWH6Z(x$H-2{> zanb{>H*X+wA~Ou*_Ur8^bVhahFR7Y{D@cr%iGH2#yjXnAtVl@j7r!BfKo%I|UA|K58`fR%T}?#Q z$KxHC1Dn#=9EMvRo zyhNkuy3nrg>2@HXcN&#jV==v~=X{KSySxb*esNl#Uv? zbsPU4={}-K8&J+|Hm%1E+r`kzOP7D2NY%NNO23EI0>`A>YtIziEXlVVBfb%nZgBnDNcq^{H-h38r`*ClF$7&iJ5>T=lxUIoqNei zsDZ<&PP>hOwpCZ3SW9_!b8*s>fit4vg&q+;fB^5CGxS*QD`!5hL*IQem6#j|BIUL7 z(k?YT&X@S+4DxyxGkv_^*oEqZ+0uaWFwf?~C9;MmEN%ZIi9vqy*V}D`S`>v@s5Ye} z8lH9+Ko@c%I9FN(GcFel*=E9OS?nUHlyuZ{wJy&06XI#sX~R97n-ai3-c<* z^>e-XQ9N?ri-om=FZ6`g8p3>^QlLKOBo$36_=`y}i(BX~%0F>1XXkZu(nU;aXU(hI zK65h?K+n&{Y6jvS3;>mO>cf>!VfX+H2L00_1vt5Ll zu(%P5O{cX}5To`=j?yYc@g2D&`_GU&qd;ZD1You?SE^=7n_fhelH0)<)Vf=AKKae; z@W``O@jypKzMBLr`-;`Z$}hG%gyUQNkG$@z`s)3H#o04wm^9|L5remIu>32fI?)dd z6P_I!$u2*Sv7Atk=Oo3>;KWO@gX^wwgtGoKqOY?gp> z%-w872s;3)cK^pSfL|4{uv(d z-cgWN=Shy4D~f?7BFy61FrDZsxZfJsZnhb;@IIILOU9oWWwV%@i|>4A)73?DsJIvM zjWWB8)yC1%elf3@pL|jz6R3>3jj$u{A-MX03T%AwK4b4%5tWkgyXU@fKpl>uHFN0N z%L6qnWxmK!^_<#o@V+{ zpCeWJe%K_qre<7qHlt{{fN65TrYEP$}?@haEe{YUHM&iQeb$ z!CGvN7sNT@9tC!_UyRz+my)Sjhb!?h4LP(Eq)`PjBvBDx_6Wn9^Sz($tpoCw2Ex{^ z@pxpC1fNWbK7B*zne-pggXEJM1slG05cs?VI4O96S1_eL_J=8R8=qI9L$E7 z5{* z$&UCrc~*>QY~D`mQ>Tc(qWCiq+y%7RuI$ve3ufUQ$oJ*u0=`bE9_?$dfBmPYX=ak0 zH9pVotxnxg7?y6xLZXCjO7>nRI`;&@r-))tldtYiD9V+bhKFI7E!m=@o6#v`e!+tl z0}6o7j4=NBFZ6=ySWL4feLYLkQ5O4uo|udd75U8|BD=mq8u$zIWMWen`nKXNW`%ln zBKJ2U9Ad>Tr4si;`*I8TC?ml-pb>#5=B_sMjKDtS_Ewe?k1Hz zHhwP-R`r)-$KhaV=IKB`%T&qDQ&Uac3x(CmZ;8CvXv5aJ({FLVzj?ikfaU=L;8F}5 zGW|NH2tp5{@e?&Qy=sN0V}?C}X9m)@?Rw9$Kc)Lgr}*-+JHO2xZtXq^*5mKKd_E&f z$$3xH{o+P8e+u|O6#o@ zz(ve=IvA5-{t`9IHRW|+$f9}87yq87Fje5aZe)6WltG8w%34g05q%)(RFZYGY~V28 z(f3&)kiW*ecct$8Uc4(z3(wKN3uiXsSMF&nzL{taF7ihlXSJQ-zB$(PbKc3qqgK~8 z&hI}euL=6lDtcpcS2=SSG`36R*^ZcbPP~lpQK9py&+fLz8)sBi29UUqcoFSkKYj(! zkH;Z`v}~u0m;0Ag<3WCIY#xU1dhJbl5hbCmX)ZRFXAHEZY_x>-*wJL8k3Bk!k&Ou; z2L)k=9-V#?1FHIZMxutqo89VV6qKl~#TlKf`RMjOF4Nfg$+Au$gZrLQ)A4Xn(Vq+P zt|!Szb^yTjoqXiROdK!0K(jKzjGv0CMEKpIJr+In>k$`KZBWo?UXk5(@$U2CfaXcX zzC5V`dhAom7@3!SDIP-^&qA7+NHt`}EeEB&dJe23Y*{vR0-Xy-X=5&ot&U` z;TQJGqB^dX!AMm*E+8oA&Kp*NjRZs;u&~TKUPyO}?y9^t3s05XImnD^{*IsT&jvoHa!l*z-?-irQd=x}}o9fJd zP~ez~-C8Kg!?#XB*`WT5kV!svJTuChk`4X7kN+lJ}W^ut%*1yGe&*$#b*Wk_aXb8_2g zHJ_5X+Ll@eQ|E{K~BiXJ8YS;_Ry=5x?5gy6R#u%ABOCD^XNGf)vfg z{@gm*m8igb@znixfWokS`DxvCEVIzNMQX8ywp405k$Rnm)-c?QGzOE2uLwq(G&%pu zqlm`^q?`cD-A~*FIk?sbwPgxIxU#=4313bm3{=HQzqC8-MJUH<6Ee{QN8850rI^u&(pKD(Q@abcot9R!xD*Nk!G2gcqOoZs4^7Lg{ zmHD$ap!QugfeAF7eN37_6*`1Am60;DNvAG-@AtR>vTtN%jzNJxH(1CD|RhQ%`^}@?y9v&QJ8G8@Pz|4AW(~p(Y5u z-w!pmmiTqYv~)Sf*IlG02(@B2Dbg2Ol@a5`+|Qn`7=32`!yHwe>A#u|9)r5MxPnFE zXgF8)Qr3!!sKLQ=%PORlFRuRJWY;S@<8O&sgjDR@T4&k9UXi}F)yZy0co*r{Ye5yH z`fjOa3-!VB{e{O6*)4>yZAk#i9$1;yii@eftz|0&c{@&!@$9D3H_z?@8eEbtR4Q_* zZAH!11~+*Pbe5m(V4j`1@f^Hx-lLU(vWnT<;{&yqvG|OOOLe9l-N$bQhTpRCI@yK} zSCfhqrPc867FU<+kM%9i$n55M!v56$j*4JN2eJn2di%@{`uHFg-8DB4@E>FU(uNdj zH*$QoFDy7_m^L+-9T$+){Ot6CXz%@Akw1#2Efu$gJEY(jdW`_iV%Z7J1b6gerZH5l zS({WaWz=w)22`O$g=%q@5x=NHD{!0;M`?yz-yurjef}~_F-~>0{%aK-?xDEZ3Pl#j zOKgj+DBCWS#YqMPL2C#X)@O4w0@Vu$qNf2W*Q z7f$Q_T*kM!cJ=t8}1X{@&;%#sT}{wMRYL#X{qU9 zh^c_tH)IF?+CCc}1q_(X&i9S!Fd#XLqi&Bm9z9p!na&AvGp`Wre9w(HQ-TuOv~@v5 zCS%Nk*OhMZR(I2dPN{$M%T_$sx|NtnPuCBgr=Fo7a%d22U8@SGzvKRxrBS^GQ{Jg! zeg>O4Fz`(Y=RND`sA7CWL_ZK`70JzFLNu!m%++_o1{JI+3`o@Pst+>VEjAns$iLh% zWsZ9JVH}G5^h4SiNB_D^Uxk6pct?}hS|h!0sk{<3oxX+wm(F*Yiel(T=C9rX5Y|<# zJJ_<+xf%h&Ki*1aL3?KD8Vx8?0fucDu)ekcme`nE$f*x1?SWg%9VzRYSS^*70R zJ97V%cYk$^U-JYrMH4<{r=}lvpHxc2X|a9v>Sxn@#NrS7=K)ORHv%{4(RJq#EuQI! z@4HyQ5xFnfowshYNlzowJcM?h8wR4fx#j-$8{eB#wHz9Z^3Ym9Kf3!NfZ;ufb@jG$ zlSDU2*W=^w#w-f9ndB>+X6@a`R@w4rM2{Cms6UFV@i6(gRJiKQ8itB**i&Mz_fP^JDrk3F%4OK(Ns0w zE3c9;{WZw{WnW^uMxDctH?|7B8#A^dM)BQSlC8Wy+?5@^*k?$u@*9K2(Iw%Ag|hZJu7 zY>6WigwOf+%m|8ys8$^HafWG-+wg1J9{FyN6nR)c* zJxG=qy#$|}ziCWS;w>Ian~{w=$whhOz#YIV6|{)q^6gS#mn&GegVz#*p-@OcJwrP* z+@*Y(u`6TmAKVg(!Q7=e?asa@bg3Hg>LZO5;x@Pb3rrhGxm*2qtNc5^HxKT216m7L zqG$2eOoBh)nDLwGIZoJw`f4SBUiz)Yg|)92-=)qd(sr`WY&*>AK4mK;IsWOe|LtK3 zv>PT`H$b<`fMkTcIJ~}K=aK$>TlZ2AWIa2qo)#r(ketReEz^w^I1FD;m{w`wn%}t8 zL*QcHzWRW1hY@&M$CA($>A;|pRzD-mdgb;~{1c7d;ErK>WjkPq&yv13s6aW%>TM6^ zA&>8)F8$Yn@bm>au4zYzl!Z3WlI2b-BBbMxFZx?IbHYb#FOEBw!+Dp{^@^e0LD|Q6 z;nMQvr9|W`2bRZs-+AI}61^I;!gplswh%Q*+Ji~YWlJ6e`HaeRp2 zMC>%y-}saa?Ze!)EP0lsb2ZT*|)04fXC|Ml;kI zeXRJ@2-qha>u+hnknqCXm$in#cGyFXwQykhGjKtdk%Poos5RC$l;Dm-{?l1%s!j@T zsd`-z-s{qzthb>&4Y>^EjxvfOE|QaodI6AC8fWlA_I}tT7ZZiHiqf1pvz_U|GhTZ> zX(7rt7LCTMkOg`)#i2o$6)fi35&a+H#bD26^ULg&ch-Mt#BN@-vFu?k*(7he zWq|E>5=V`u8YuWPT2B6Adq%mZ&M;+LIx$J&~kPjIw z)|welcO@1H)-|@HNs`}=*yzU{%cK!26B)SqVUqgPAJ4%@F7eItUaAR>0@?GEkek7^ zODV&A9|*IVuIhIyjLY;E^*A5$#NI%%M@2BG&BgY^$znV&vq-lrgnvhI1}RCNOEG4Qp36J3gXv z{^VKY-VtnTnAyaI@ZpTe$`vbQvmctFygYVTC*G0 zLV#!3rttD7XWuw?@};kbM*;s@24cL&_mUjO3)RmA$_=ul9}I!}F}@9!;N|HFM}s*B zTw3T`CHPM(Bq5v#beo!>(U5Dd#DLG*?ZUTdoFm7C8Oxwk$gN_@J`EZE9%O)6Zdh3$ zU*qM)dcF*fT@!gY#Q)kIF_T*0vtakm_!G?^_rvfQMH3T5^y!o2uMXirFB#XwsFJdi zqU4$AuBOuVuctgm9zUWFE^K9KVQ~UD)f^{{Hd7@iOY5lxOZ1rimP5@#d=d!ND*?y6 z2Cb*0o9?r9eZ0BljdO$ignQLhwh7XO!9%@MFBA2~)<)PqMF2+i5$|EvjeD$94(LnN zI%$i{E+!`*4)RAF$_I+}N|rg-6o?O;66X$Bx+0e0a=Uu?Oy7_4F`92_=(gGVW`-w=hU?VY>v`cgIUo*6gU3+^bVTZr?*24NMJNf{==50sTleQk>b zDGA7A)Rn)v6gO${5rz5(l8B$56YWy$tcl9VQul!1c+|Nsj~03-+`YGJ}=uz zwHfvnboDOJEN$zhxr+Z%R)At8;h=;>M~sj}{P^(Y(+$H#?YBqOe9&8zF1 z!D(tl5v?m`ga5L9?3iK4zn+Ynb-Z@4{gRnn((jW&_Gx}2f{5jFYy0r-k8dRwrdf4Z zTQ|GZjbdYWJxv?FVeq)4#2E1igRfF`K5Yyl^-lGBChSY{vUZ*^cGvNwlN5Mzo81Q{ z=f@w-x&{oquAFJ@KcrwK+v>@BT11ga3a=D*EC#$5?~6VhC{NYy!B0CA7?pv>6Pz5H zC-Z%$*1+jmKoq_9wAMSpdGy{{d`K;D%g|RX_ ziP}CRQ-||a`r1)MVvb&*ny6&jx#EbY<7>}=#f8MNwKszh&V<0xhU;O`%k=;oqX>g` zLkG9_7!1#^DK%nh7EPy16q%LzP9#&BS^ymycXUr#TM+5g6H6owEkx{pJcG8n3 zUY4p8?Qd~M0Aq8v8VjMYQLjZ&!{uBsQ^PMe21MSLnac-@Ms?+Piv$+?o%mn*&7y)I z3$4v_)}n6qr%#@`ekm-SYN`ACcIcc73lq)v-3o=s%YJytCP})CQ8!Ps%^g}R)8OBV z;b1pe=S0LXyKq-JK^mN?xToPQC0%kQMdhzDH(#lyDWaTVRK-v41k=rc4z%YRgJLgY z_+fh#h3Yp+9&7MGy^wkOCrezV;h$}U>9QC`Ggsb-9Ieni3drj9RW;?xK`bJsMy+144-cCY$dkA^qhuF-*T2Pv(#N=R^k`{|~%J_1XzTohPP z9%C>Ks6(J=e#%Vj)US#UF&#T;`Nc4~ltJYqrJ@ewt1qnxgln-kc7OvTOaT4Y(-VKV zcT72hE@Sznce|fzRizrFYWwW0Ye!`|C~DQskG=@r=4ra~W@26|{~pB4|F>U%MS5Rr z-l-SCCC(AOc-`~&$&(t2FSFJzM%)_0vo9oR!#JjBkJ|UX0K1@Otfud1e^|bgKWcCj?cT$ z(A_1lzFJ%fN^hZvQ)l60%}h={8q{T$=8OZ1*CZ{rKZD+Lha?28K)zmZ z3)rTzALLmyN7|1F6d_tM6Psg%Usv^iT$1_X;NdXoQa(lG80P-m(%&luqTl9ssaQ~Q zBc94VUvov4ftR747KS zgycVrtf~5Lz!#8C!V;CFy9L#4ja1B1(S&ya6tS1616Sg{cIG}Bb_J>vLP>P+@Ixj{zkyB8UXvR2V*L5!_{IuAFIH1n!q z__b!Dzw@&ZVjmf6A_e=#@V1YWng`L>_EYcOTTUxZq4ds83(s~ji`LvK^yJywNGR;d zzZsPn6BckS&ps8Sy^)sdv5hEuOkD{_M3;bn{o+J^H&^UWV{d7P=jv8W);xR?e*3Yd zdIB61n5HxDjZXc1B{+_YJ4i0P+>J+kz6&(**wID-e{hX>hRMmIjcV7hssfis0|Mlz zpIYz>ZU8u)gncQpjL{n*G1RTudRe0NS!HY;;|mU=NuKSw8=yishhpni;ylr5 zZOIH>OuXNC>D1FEL5*w*EHDun-9T=Fc2uk&B<(kJbV#(&uL0;^&_g}b!aVK0v1fqM zC}?qvs!M#Dvn@aGY!WG~)aF_X%KbqiJOKs!jKv=)EO(7hEa{O<#Oqqb$JbDBT2)=E z-ARN>&ji(Li()bkNCvtak%i?U8n74}z;cE?{qK->Qk5A7rJFU@9zp;~*)-@lvO65S z`$YWOEOY7@1JB@l8O~;ZDjrdR$zvd848Zk=gaL4?SG zHLmd%h0?sai(Hdq4a#(INWo^wqoSHL8_*io#9Pt={+_l^;4zFcYJX;qAdh*2A9(Q; z|A(?)tOxp|B7ka?Vb5GS*$2;QrU9$20x{b}0=kV?Ll$vg&ohm}er49L@e66p!ev>- z)ueFLI{<~w5-aFi)#|f;zUxvRM7!Dxor0ok-CxSWIet*^{YrMPyD|jp2Rr=z_A4e* zVdgw*3p%ELu{Iz|yL8k08&RNB{R0*5F<;FfAUTiG^7(wZ^-Hcufhi7gvP}rh zJ}zO<2N|hRrNLL3@?Q(+h1@8Gglb z0Z$36SgrPn$*^L=wHSLO49zPt)2VYL>KBeovN&+%uPoj9=0uK~y@!alo_21ndPY2= zrn*OL(@MudANL1mAu8@5WU!o+8V#^F76_1=b}+_jJ99slXR}D8E}coW26jYP;2jH< zD|Gu6IPMpu*z1y)a&flHxl{FGyI^br;;L+`8^E;TA;&&q(>$~7LLX(X4 z=rMr9DLh6q*RZWajuF#3LdxpShM(cgG~J~2vw02;?HfeG`V7Y~QZjIakGF z9V(wSCW$Iz$vdV=0n3Pwecw)As^i>*4Xq6WXfhVY-77GyL9$Y}oWn2nP!t26*3RyF zWk-L_M(1(Z6fI|V(9h%b-Y`)jH=Lgi3pCMZpvQNXe_H2YS#Gt?BT@|xcDQb_;*;?q z^RGZH_L;W`1uyYdHOtt0L&x7&|cs{mqE?oJBB^ZTo4$%(z zpqy)xgna)Sq2ak~l@61$+)%vWGt7P^Bd|<#$osq8i?+~Q;0(3siA7d5CjXN%L)71? zMW1v(VV9?74zLv{e{TASQS+TS@mVq8x;KpU^Wc13r|zv^_1rZr-h1=7q>i2dnZ9M_ zM{&fI);>({l9VlVmSbk%%5p5p>HLv*XB@WS@ib6G=nZ$MiXHTq$d|c|oEO=TCYh`b z^6uU!JTDnpu$UNA{U|dcbTVew-i=o4gOCrb-h39~4QAj(`<>QNRN|4SccaTgV9z3A zr`mXaHHSgI%s=u|w)HEN_hn_PY=E~@=F&VCo8*NOYkcTlfx0Bxa^R;m%@#!e;v7ZI zngTxp)%*2-65AUhc4?0+M|(g zPi3j!FKlqdnCdn-Rjdm*)O1d~c=n<@`WXG4+Tx6n-?=R%L{8SG zvDMoq8D$3DQ)U zew;uUj2`gM54{aN?mvHlP#7QJ{~_apC7e)U!qNBv{0RVROhq*0RtX=dF%{6ENd1J7 ze~p01tI6nT{*eKIfCM`lq#7IqNof6N0ON-zJfTGnpb)+UedHivnI4lQp_LX>7!3@A z#nT}lfdRk-m462OK>mcxe+D3aK*Av%azzLq5R&lX**_y7KVQPKTNb0(ooRe_M=v2nWL-%HV+imVv-<5cr-9 zc^w}zl>S=}DFgC7umO&Y#((sf|8Ic7VbJ>v!T=zCc)TX&a|Gyq?7;y1(0gtL!T>Pn zePdxje)v7F0+FE%e6SuLALPMYJ_z5x^$`C_1TYZaeLf+VdIz&~5ucOD-S-TOr0 z1Hyp!V}Oqj421oc6A%CZQpgXyX9*vOkN-ZpNEzflXZb*IDD<9Z`1p})-eVFUGL#|r zyoH1X073lMX^<14`~cW}MJWFRO7J162DrZo3nc0xY{x{)4 zU@(CH9@Iz~81_I0M;_(%{Ku{=z|Gpv6hvA9TLs~+Qj6dYh|B?`?cRxvj zph#BVhaZ_t?-2=rG~*#>pm1a*xqoOl^gjef{JRT5PDU1=dx|gsvV(abdylKbq30fCVFh9F=-&;#}(a~a=#AH$GY@BUkDp z1OA2o|H6;VDgTp~|KpN>((?TfgCVQO1M86Vy6<-w=t0c`!T5pyrwu~1Xb{j={s`2PofWDa;>9rXVJD-{0FIvDVwOJMw<2gbpW>E}NNWBqed5Db>^ z=M5$a0*)l(f1dsO5geHz9>|cn^MULkkZ=Itegy`>0U)Hs|1A9Be?3nJTw`v-(0yMc##@c)|-{}l`%WDoVi-&=mS{6um@a3_8bopg#34V{SW>iIOJhX zfkPe^LO2AOckf$_Y$YDJ3HtwVC$h`>KSA(s*FnJu-~&sb$hg112^9Ju6C+F6L%+iS zfcwz|N2dD+@Wc52r{?{q8AjFwWUjlvF%0~W{m8`h00kKG#pr{%$ma0A434~3`Txq0 z_=Dic9Pj`dINw92!$JHH7v%rHx#i!mA}hcH0waC*a1SVy{ei_uyzUn`II>%WC9J*2 z6w{Z4O7HqdwmmRuF#wbw0v7{`&=KEyhUz From ff4b3c1069d2fa1e96550e4721d6dd7d0079f527 Mon Sep 17 00:00:00 2001 From: mas2hc Date: Thu, 14 Dec 2023 14:27:33 +0700 Subject: [PATCH 6/6] Update release information for ROBFW-AIO 0.10 --- .../release_items_JsonPreprocessor.json | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/config/robotframework_aio/release_items_JsonPreprocessor.json b/config/robotframework_aio/release_items_JsonPreprocessor.json index cdd218ae..9f848fa2 100644 --- a/config/robotframework_aio/release_items_JsonPreprocessor.json +++ b/config/robotframework_aio/release_items_JsonPreprocessor.json @@ -46,14 +46,19 @@ "RELEASES" : { "0.9." : [ - "JsonPreprocessor change 0.9 A", - "JsonPreprocessor change 0.9 B", - "JsonPreprocessor change 0.9 X" + "JsonPreprocessor change 0.9 Implicit creation of data structures", + "JsonPreprocessor change 0.9 Dotdict feature bug fixing", + "JsonPreprocessor change 0.9 Update nested parameters handling in key name and value", + "JsonPreprocessor change 0.9 Nested parameter feature bug fixing", + "JsonPreprocessor change 0.9 Nested parameters substitution and overwriting improvement", + "JsonPreprocessor change 0.9 Jsonp file path computation improvement" ], "0.10." : [ - "JsonPreprocessor change 0.10 A", - "JsonPreprocessor change 0.10 B", - "JsonPreprocessor change 0.10 X" + "JsonPreprocessor change 0.10 Add jsonDump method to write a file in JSON format", + "JsonPreprocessor change 0.10 Improve nested parameter format", + "JsonPreprocessor change 0.10 Improve error message log", + "JsonPreprocessor change 0.10 Fix bugs of data structures implicitly", + "JsonPreprocessor change 0.10 Improve index handling together with nested parameters" ] } } \ No newline at end of file