PK\NP8J  py_dbmigration/.DS_StoreYMo19lR ڞPqi%!T)T$.p6MS/9!~ ??Nˮ[@ԯr^3c[K( r"RBM>hL uCGn[&V>5zNTn)26ڮ\W-Yƺi| 4[ߚǍrgӴp_F~H'x({)۪eI|T|wdF#==EM)jvv-;]'ãV}tk)Bs(^QLRb B?_gWN|tkN<ȑ y v7:2! T=vyȷ]6O*y ?(T"q-O5{vYHr;v,G#W$.3/ylx^BGա*fȲ"ͣTfOqM# h/U-~gѓTh Z89 eBWĂLV p-aQ[u t"$gטЮ-X7}\k[ǫyЧ$g>![qPK\N:`6P!py_dbmigration/__init__.py_org.pyK+UKI/-)V-/*QJ'$Ƨe`&䧧g#dPK\N.[XB| %py_dbmigration/build_travis_docker.shVmo6\l 6Y'm H &En_ HIl$R )7އɊۗ ̗wLJ7/C.|&:챐뛋هKYL̸f聩Qdzۻ_%b2ArQr_P>̂">Z./gW([|O`<SSOIpE8JwV\+&/V )]) 9O[T js2"YAvPhӶyMq?^B` U'd'ޛ!kp1DP%9}@&]`2i!Sj),+J|OpA"TgVjT*՞*lr]B*k9>&DK W'GG;캼&5"O|`aiR/aʂږ[ޝݜ_r Sa{:5bYe36u" ۂ;u3(H^ xMR6=u+M Ӯu06Le>f6`as{o/kim0"+Z )n0l2a{} lN+;"LQa3^::}xͥH DD[PI;dxm-_c'dIQ2gf<ό3ϥsᛢUh~ NBAI_*̇ UH(iAjR8a:2<*N X0Fy`P}'BPP9 .*T`#*]m%!l$5>,=^HX QRR#*BRL!5HTãm?]3#` ]-X5f#.jj pBYJe> -ڙm»ӷQpezd:O߿|؄gSC^!Z›7ؠ C/B*AI0zIDO`ߞ̬{ CPq<(+tV,ձmW,) $f!w3&EF&Gڗy)M9݊ XdmP4 {a/ K\Dʞ_L.}6sKuyx'WrQ_13ڴѣe+j@쟧`|Ŗ˟y=}_דE_yԽMbsv<,N~dl^Q|:MMX7o;1ã*:ty9|wZn~"n|-jϞhΕy=C-~ɴp)ueZ8avpJ@JJimIteհJ/)+/1u_\ҿzH63QPK\N #py_dbmigration/create_virtualenv.sh,,*)MI+S+T-P(,PKr]N΁x%py_dbmigration/data_load.pyZ[o6~ &JB5r}ج-0hE3Fg&ER7R",9<7RIѬ,*8K/hS.XW*Q9MYP%یe" am$IsFȃshJlsaYxiCk<ݔE߿h/zZ4 v(^_Ō?]c=H5Pm䉤`{B7Neړ(1gGg /R]Ud@*68/%.HKc嗚0vW|Cq\b-AZ(:(ak})YS €&|?O <^k ()?gr!S ƌg3+E Mv&K @&d[) xk*|k = T@vE]~$2\6:WAP+uh(T xk$ADEӅJrMI2NKp|P:+]Ⅾmt>Ma 1r el `ү~rL @xJqʈ7AF:!)h3b#1:jK\uG)e|*C!:Ӯ,> [ kF6`@3# yҬ0:nF]2Rq552$aMӧ2;?~e* A2YMR$xkdk2!Y8w߷~swieR>fTؗt*D[#$_5L61Ьsr{5˜i]iI̬k9 |[:14Ʀ*^tɩ אtd]罫IO@вh@Ar)e 2ƊT*є}t\Sg>W6 y!Ww^=f|-]M KoKAl,VE1_ ԡm,P6fAXuC.M4 ]'@7xmFƉfh45u)iW fvřsi#|Zƨ:V1Un;ٱ1jԠv2*5 eNWoKxX;6d ZnQ˲ƙeZ#ly}Śll$99:8cϿ!->}vcYj~ӗg^x;Ln>k0%g'rh*BOLi!aH 'A&q~+ҹF)&Ojt c~O[_TkOgF1J@YBϽ r0iY[R(%h0Mvpɂݭ8!}%V L8Uџ };(oM8~겪5T*QP)/dHeá! *d7ԫ ̐evpiBږU%ʡV[V:Zm1$ԡR^V^zuYU†CqYZj6R^c*LQO V߰j{e7&*6-zŗraۓ[3>!D/3^Ͽyy9QsC]W" >|=@VL>8zFj432LrxV95e!S+޻>.T)&%G7G )tHU?ݛ&y_1G ; GDF)WRz8~Lj_⊑tk6վH%'I[B3FeJs!yfwZ}0[>G8e2Y,ƗD^ӃbǩAy2r<ͼtC굞+ڬsU|ɟ\??z{~+$4\o6ͻO:vHIfz_G-> rGV^:X|z#FȁZhXQW1i+8$ .s8b^搠$[Wkln(y}{s(>'\!eCiARDǢ,{)y] 3dytGNcbBN$9q'upWOI`Ӭi+];Pu=gy͉r,$a%sCxPK\NMmpy_dbmigration/data_load.yamlXmo6_qh+-03m4kTIʎHJe[IS:^{!O\VWr&F(YU 95~5cMAFcxͮ_2%# 51P5q0r 9ӌ[(` 3t4[Nl:ϫd9Zh fD, X8ǛːDg 3׉JQrgpº^|2Rڦ%\eDg/޼Jߝ=K/xvMb2# 1L>髳ϯ܃8*Kb.D(]dV,-[$/<":Q`҂8]gfJV<HRg L]YSB5jUxB2<6}|Gc4B$5#tDcU0 PEo]up(+gE'~1QR]~!qjVejt|W^ 2Q* U! ȘliqUM :U'uRO5ԿyJ$?LKOJW%G/YA%1&(9Ԛf.`5"!?P>`rE> !p%w\j0"C'⵱ "9J$ŘR]kSm7c'M]Y=' ]#&1Fcm4$4yٖ|OA)&诳M#\sYhd7uԥA -P\JdAd]*uGQUQ2-8W'j=lXmZ_LGuKeiVK}IMaH2D'Y֑]9~ߎFzDdwɆcABK.]7pF'.oCB4H>*,#u] . b_`A]2 RKaMG3 gTEvv %^oΞAюeԞmCRoaJNQxģvu8Lh}L u7[k<;!8^`'}9X"3>/8p}e4xM#ٺ̦ V-UV}t>@8@ Щ&:w+;]h>Eyo܉IKyټ-MWvxN[<:s ǭ\=K6"/w;vkax]ʊ'.Mͅݜt|տ_Ƀ0׽Q?]עk&s?,jIS6gB{5.T̘l\wƫt$,n<@V]Liod<|Gr=ƣ Y:.h cL9J<^!q`  zY9ʲ"K&j] |qϋ0jx0;OlCsm3c]eN~X˗y*~ї:[ @=y=E+4M>} ӘQXABWl'ЏcYi)ele8m(]m8G} ePK\NM py_dbmigration/docker-compose.she̱0Oq"`dp D؜I m_H ta5l{% VA\<-$KϞyd'U~Mn#=ѓX>*iemDۗ(>xqL0p(J \vK~ PK\NQ!py_dbmigration/docker-compose.yml}A 0 azĩŋ2]'i 2tl[C/!|yWh9B0*ψQ /gl*Fad/TSd*|;*u ƣp !LYI߮Xo p0zxUjJ(JQPKNϓ -py_dbmigration/extract_db_tables_to_sqitch.pyTN0Sx"H($0,qSOml;v0L#|glJ$!m=bn#CUE]=H*ي7iao6*[/ö*v!PU%-B+ܭxg)#VK]BA-DָN3ɠ.@k`N /nIzكvZˏ7w?,@tHM7,ԋtVѺK9%L l|1Bu}0븋j}kU7T ,2DSjkxtebxP´tTLJQ: 1m%/u HZjx~c@U Zi/.(D钁 ;rz`á'f]QOĄH?7>)GT  IM[J& ҀNڛ8:z e·.,`߃l.9$p'j^l U5')9я .TF^[ኍFW!RˊiN~R@Q?w癹̂$)0{eO%b J* F!i PK\N[ !py_dbmigration/increase_ec2_hd.sheAK1+[hw![ADij"6,iՂ0dx}/jc˷J7,&Z|#L9ze OER#AV7H(zﺚMX6ucxj`JFWrV'|HI LA ę pvHyNW`B Y,0 YE&yt, 0>UQ{A~ 3}f#\p;PiuzQPPK\N3# %py_dbmigration/move_schema_table.yamlVmo6_q[$)t݆pnutDPmqDxY(V4MN@b[ǻ{7r0LGZ穖༭tUBIo($-L,U%=xӇ`:R[{ >?nGü@2G9Yf3q}lG]Z)z9̔L/vA*Lk.,tDO # LUY̭YFR.[d-R>ƣ@fSEћuQ>| }8^`2eoxǝ4 ` yPnMa=b)@b #Ӳ!wA`ގVyjO0-[ Cq>ETdi<*i6tnxJ ?q+|.?FC*G~`Ee1k~5k*{XzFL_&89q @`ȺUM0WkߵчbbI-WMtbb?}ӗg38WV2.2ev 1Qhv2Na R4^0TaQhc03(o7߰Z@VZa{ a% jLxscߜ 6|sOh:D80E0KcҺ(Ќ 6OH>@@c @0ʚp&syj&t%jo5hBjI e42q'q$!2ҍ  Bζs*Y'27D߽Ie~/sŬJ12f>ɾ}`#u"u}H% {*MzVq)zM1Lڻ{`x;ó{Btz%5gc*n _'Fg;c,#\kB>תiHjvYXט%qRV! d>)+ލG!0b=pD;-&b."[E[z{ uw'uۯ5[) V!7ަ.Q~#h$ET1X+bDl uh].й;N`ϖk ]0\O|/p|:\lP+ǻ[+/8PKSN^ >h$py_dbmigration/move_schema_tables.py=r8 \u(ѪٓUdۑͦak䐔/ƅdݍ@E5{N"/ie>Ud,آP/ʊyUw:Iwn|0jyVWL*-yPYHm4|~k.9E{Y,2t4;LG5Wߪ8>p;Yo&?}n5aRN=e9擘/&Kp|2 /~jij̳`z_g=7}xyiu@fN_«駳à 4~?>9!O5!w|oWUHv?<:7 /^a#x $v;FE/<|wE  N?~NWO=f^p:AޟLN'Y$J.o|]b\=D3 (nyTG -^o"Pݫreg:^V?ͣX.зG?sQ8 Oqіg-`>I<t !]Tݱ2?8 2yAXI`beV̗w,bq2k\&i̢,f%/R0Јt >=Q^_Yc 5` 4)~ 'aG"D!+BmO$= 7yG4GU_#d'9-!fVq, ?FZ>@HTckhHF^&a gH`J=iڐh@Ku;wux8AWIj  ?lt{C!CM:4|XK-᭠4OFk׾~,J= !x \K .7{iH~Wkh,/yÛq𢿿dLfygG$J[dS,'>_ּ"ރ<_,]j2m< ;|aVQY?Ql P0 ^_߷/'ݎnS[c[D}PԍT/RFLd[iuf<O027 )n|NAT<+Ǽ7H0^C 83dVпEQX\ۢG"g]rtbJE+4I9 ΀;.@H.9껑3NJ X}`)γm((nk`^i΋_N5>qo# k@l'֠@~eh2Uۡ߈e0ժX*y'&m>z81K;`._q$GICr,8ny͢eL3&]*~DTy Hl20F=@Hm $:h Z' cŎxjXIq0=FenwQ$u! Mb7Pw% vLIv{FE!vW:{71ShLrNU#ԒMӀ}`.= 1z% > uX1D s`[5 L|,ksh9,]@0+Oj%w;ER$ES$CvpCHWUi\G57$:hL8MOmFˆ~ i?v jejf0"*~_@ȯU={ +$iȃ~IuGŝ5RBxF/!N[|k)@io?gWIm`MFv0W3a`֋A6r,AaʀuT2gY'^Y =Le^+=բ,04U?m (Gdq2`-a(* ZM{J=hC3DD$ȍC,yܷI#DqF$0l"}&JOEICD|܊|.!߷z(o23 BFO6>VpdS@oY+`npC9j2-;q'ذQ]+u-u_bi=8,IjǷXCk}h= Lm{4)GD^k0`yĚoH͗w&x !2oF>ҹ4PNv4x6QH4 k!PƝ+|x~,oύ٥ $<x&GjMzzxĻW9D-K_Mqum|Mɫ5>D)׵xGǺ1@ $^F C]vY,bQ+z9+! +!0qWHsG&sFuu{L`d&4 0%ŠZw^?4/TSc 2dRn`(;=4ٵ ?|,ZFݜ/`{lXJZ`T5R0O7{Qq-''n?&j)yÍ$X}coW?lӳqLaז<ԭl9l:|'L^ìtoM/yTͣ7HmDESmd+JpRϢZ>le$.ػZYK]4&x&>\(ͣ,\[uW2 4.D6X<)iA9*Q$\LvW\lPW!}`ț{ubW%γfCavAo&^!|P즔COrdՌXM-›hFV:B?ۜAz4JDJc))YT-1߶{-6-f%vc k^c蛗2Q,rgɠ T MѦMZq dFpe.~ wRaف.h>nYcj0J苵]<8>^9)9;;;Ufmt~̛P>3xFlMjی@Kh3҃QN'(X!o%# cMr⃫D}sXZyآLLؚ/^ءd]QUt]\^~>}wf8c{7.up,z-Pv@c}m*U5: R1zU5UO P?fͰߡfzJC, 5J֩wqG-?ff\co#E羊o;]G|FJ-=' k!!a&CXof8(^1_bצW#WCBÉ:#>ϡ :jl9^9"{}ȡN]:]lr,) jnBCmKl-yk~/-6Z1lr\&JɞyXrơY. ixrrw2ԅxX<{ 4+ɾvǿ#'I^MpƴSN8vt67%Z "kI l.ڎ Sq7wܪlȮݘېR1Y'X 7,:̐~xtη`E.~Z=.$V]wU0 wߴNeA)62%̭ JAoI(8 [G[+#t25-uW?b)Xw|ѻ>n9xoCvo[ԧw}&fĉEٳ.1wXXxuWDUkHbƮfp&#_)y5Ex.tDž!l Z^|K(;q-/'bFW#_3&3 k;9ϗ% %D_3:ۄmO;,t:c:X( x(9&@BOȸΞfBx.,X @RX!d^R*c?:@)Dqݙ2I'uSK̓)b@&/lVjedUf5ԧ! @U=` c{sr }}c҆+_%Xb+?!u=EWl-v{6|PK\N|4py_dbmigration/nginx.confWmOHL~@"!bzF@A-JzR{~ubygፐ )\d@f|^H;q 1h>f<,Q6OZPDE,,2t%BcXBW ԗCS$,"|}/PXo:P(82YjT8؄JD NѬ9T&L`LXdg3RYٯO u Y [>",wDAgn aCA8_p|ERYgHth*u ,}i]%ԭhi9dhABL+=%Jȥ6gq3*{\H,y_am?'ZlbGÚL\X=WUFUZ^=+^>yAlwgOja\AEچx*ƳiNNz{BGnKW/_䇵Uk$CUVNכh7C4["|Ô _( &:VcFDs^]WjHt)Y 0L.?o.F.ޏDV-p6ng  Db1#FGA:T ~p({9R>+$ilMQkxY|f&رkmSnڕ=*Kn6ya k\@*Jg@8WI~˝u$N,sHVy 6\j m`yD%.)=CjQS 1XFVtSKDA1^l#@'S^Nf;95l77VU(b_hMtz;4WIoSHI߫||A8F`}*r}8G`2gN/Ȇc7a4wi׃"7y}15\?ܴLܮg7g?}j^4<5'}lr0PK\NQݝpy_dbmigration/publish.yamlX[o6~8[-`wmҡP7`v=H\$Q%nËb B;GigBCw4G@ Sڨ21 r(RFSqS%n4U뛋\X!j8P5&9TR[I\DkY}JQ~?y/he%~YKOb5LDʉ Yh+@.Muj* @"s#,`݊0II%POWHAO7(F'2?Ku˕~ }d{EAFFX`p-Bl3 (dPBԎ0LF{ֽY-lCMeµ/xBbxT;EcLS`1ΑvpF -b Vbqޕ@l U9mʁ6OϑS-H#K,M'@,y8Im"0\ȵyXg+W'9Ǧx#픺ۯ:(C36, :9>!NV8Ɍg#ˣpqTPWiAbwB;"pxyé}dٺGjI$hVOZkHeBSӛ>-kíJovywDAo6ܬ, MA(@l2CE)?1Mnu')\5u~]S7 AZ[B4j9q6-wP?a3p~jw؏1n%rπs:xOfrp3!.BGɬo{@51͂6 ӥ Ұ-K$Q Y!pVĭ ?ߝ۪^7DF^_6j _qWЃ;o\藄}yY{tYGg7(-\ѪWjV[ۜKaT$wę!dA5Aj yR`\p~vHp!&N+ p0sGlI {u.-_w/ndm3`h>d>n{۵C&pvP6!K9qq啒0m/peϣob?8'gXJ++/ӡm{PK8N!zu!py_dbmigration/publish_project.py=o8Ws6L} tlo;mbN춞&vv~${v6$(H5]yYh1Ir^EϒJ[UbQ¨-J{^_ݲN;7eSO%Y]!xRiڼ=([vGqT'u0 Jw淣iT}w~p8FIJy q5:6H  hbU Rd~[7"4M4lf_YM^U Ԕ#2+,oX|W^M^&" %( }SJ= &"%}*} 9tc/p DVyZHi R(-ϑ«{~ ?K@xH 3z)Z&L[s+#p#so/_z#ETq;pq#5ɒ?Q?[M:Y [4nAL8nxӖ| єvhѿ눰F'!)owts&1\Bsq+V%꘶Q$,7ǧ>xRIy1275UP[A=43g7CP ?l:N _,ݬi# =vn)ޕo*)%x$\䫤< s"F:T6\rvԭQhV! R I隷oju* eʗeY"s3>jmxK@g1ȍg% NHT$eGdZayVuG`:;v[փ,_,mYbjrhSxYɋ4"`i6X&$haGHD/ ;ݎgܜ [}[;AnrjG5b\ffEd>PYO0Q29WPof7ILwct8KU}+Տg%vFKaA'H_6 /HDTEAW`e\d.b0P\$k8[@%h=K$H$[.y51JѯqZ9Iy%<[ȠU8KZ]No>2*PRͱY). SEI Шh1t,}@a072JH/BęY܂^@-oMpԎmr{1۞DE!P%OFy F AfPWBDP=sӘfS[̟16mN|-7̹5XŖCl+)FC-y@!ۍ`g%8>lQ8G 'Бa5Bb}zeJstɗY r;t"8. d#4O s1G@7ocə=(O8v3I]R|6O (l-nR,Ys|o Ȳ-jiv86i\06\]Ms,I"2 >l-e`M>k&.H ZL1}~A`BrD%G,g3p!IR ӕ։NaQ6/|!%=(+8Ox鲅GlO;{4/ B]4/8r8|4`e۲W{3]X"DJplĞ|v7S)~3cV-A)H1mfd _>eiU7xת[k0@Ayۦt!9m[ FFGR}P\IaiSyęzii݀;*Z)!M4F|䘑Qa7s_tHmmO:i(fʳpX&e i>ZXHB1'0C".&tqom\q`2cV.{^M>ǥθ9hķ9<{iT*~4hg•.8.oSS+|KXbQDT0q"K#qUu`fxH~N{SqZI l5\4|،\N3{5h.%|Bemkk- *Yr$n%g7n}UspYʋ,\Q(ZS)ytV&(QQOZ1ŨteɒQJO̅9)÷k䳑$[,D2h4:9d]fqo6]䴡,1-[鰦q9Ua=Z@6hXȥ.NK"NɦK*O7MWDz/؉H۷i&hpSgsxr]gjvAN UYU-"l8s=tB]{3Qknizs  ͓M1R{AjͶƇbgt60MdP%s œN3'וc-m4Mm? s#›4j4.kP=p@<݁RxgGl~\ p^زΪf7-mS媀AtAE6WBlm]KeZSV~ZHęߵ?7dCZwM31:6uz0eVSub-lc`4/Jn!u;Pb|W`!| K3lGd]V#7-y)%@>ꡓ[N Q)j`Wl *ZAR'lswBk6v9nȡMlgґڅaGg,mU(N6FA{(h2?pq9(Z䁦:1 }r:6GTʙˬ3FGp˞6=t6Nʣ0&t"CNs F{๒Sϣ+}9H~0E>Q. oh28.]P02Ц/xV%X\f*_9~.kJwEy\vPS],Q~w:zJu;!^y1POӦ%e |!GG T;m~#[f\ƪyb jڲ!|Ծ"Ӌ0eNhC>t8'kd.>i˛6nZ1OKybelm=Q%>O'LJWN68:gW{3SXc:1yp ȩg3Ri(LLa!cش`nua{MmߌGݸ[ISfIB\ϥOvvKXg'Y#շ|XsKA5K6wv7\cѱ$0 {JO 'EK ߴB9k*e<]gR8Z<*fd^3 5LMn[h;Z!(!XAǞNYだS1Hi ^B1oɝ0b)hI34YގaQ{U!.M/'Wove_&1eZ5ہX,!GR1dD{$0!sxv/0GּT9imkد$bc JyԄ+v.RD;(9W8Qg_(W<|q; A`Nӣ[qy; isu$w_&لSx}3>6i8*tHj=; 4b1eNcQD8Gگܲo@^ JgTrX'J0[.olC)&ԎT;jYg饀Ic4ehA6wCtHzɛ602x*jeJƔ**FG?q cS:wPLK y{|M{a ʯ0GDo;9 U F^1ɣT*O DfYkU8VLZ i2_YWrk՜`|%g1_Y ,NY 7srVOfC]\_eRJ*86h 9T Ĥܰɭ ,_ƜQu٥J,PD\=yۧ+4x17t S< CaSng_INDuGsCgC*ٝ:g}$Ց xya뒪uMŒ jα.@,]hF]og*wm9 [s nAcl^pZHMݞ*F:˳̎gDMwy Zl/5#j&& s~50uݧ=+C sjoe (=LZ!$,Xr-=;jD@_\5"LOf)s9j8A@vCRd(]faQP #2܌EJ;H]uJJ"M|0d<Z/l:f3.5ƚc9~_l&1p OdfIQ'kҘ)dj/ցhZYmftdH2V\mmpTїv&ɧ_t(ȼ>th4՝i=K$Y< bQ K$ʗ.ܓ* 6A)SҤ"WuN"nqksw[݊E[0DyR{zSnF3=ܓlaťLǪ1%)\"0v\em:I*RTY@ʱ{?_0l&JUZ[F>9TW&8$ :}zkH;!L8y ZLzl;:=LܘM:"[7MuCSv+CJLvEE$|Z~e%mvdvw6+5,jryKۆE%X`,JJwf|ۆ=(ҤU" Juipە}-ʥXGqT|Fɉߺ=DBPx~ѲOuhp Py*V;F]NNƏ*3 IY:[o{qu"6e^i|ێ?QQsƉX񾋪P^g+{t8*!Z`E1Ct(牖$u:vD2cޗ#[PM*iKvfrüƛi0h{!Mƭ pcd pG/g \-Ǘ5(t$ܵ׈w}!\8F;NB9Q$[_yx>",ѣ97?YY+`%px0W>0.juPH@["8=;9R,Xۘ1:%OWOU72[s( _.}t⧌s0g/k1kU2ٲfzl0s?L/zhÙP6|͡3)gRbR<l:jؐ#ԸSKeIPN$G= g8?uC !*PcEWԁxYa'f Ĩ"{ⲔdDG} a'NFny,iG]3ݨHcs>BL 'G_K鱡ߣvbSAVanBa ˻d^Ha+IqT50/hK@g%C0srJI.elXߌ,*̈́ dpf~;&"$sEӟFnk #Y]䷂TOȃ"%oJM R.$% ), xd-4>6$͢C\Y%͍lpydi5NvErkG&ZYٕTל\XsZvPK\Npy_dbmigration/requirements.txt=10 Ew_sF&.XJND1 LzF8 KD<`Oa#9~BT*u)(m {㵧z.kK?&Qpq7hP^Q17Eq0Wd&PK\N'!py_dbmigration/aws-scripts/rds.shSr0+Dr腵3)ʭ3 WNA6z֎m: i3Koi…м-6).m4魼Cfbrr H d97[ Min>4b~Nݾxͼc% @{$,pKT}L"K+) EHnTDtUE҅occ: X2:Rbuu"ɷĀ}k# ,zL.)&4KU4"XUCWP?n#Y(J٨\X9%߹.ht͛9ukQ9ڷioi꒴Phs bY$Z2Qjjmo.W/b(˅:B= kҪ]8fNzzwj)e!ZVuf$Mך2I,ǥjb3&vɶ@̑vw }4ĝNY-&i>PK\N|{[lpy_dbmigration/bash/tar_venv.shM1 @ѝS8C(($rz[;*9|x) ȅ*+ S%-|G§yM'3j|77@$7PK\N1F'py_dbmigration/custom_logic/__init__.pyK+US-/*QPKN[1py_dbmigration/custom_logic/abort_if_duplicate.pyUK6WLـ{€IEA@ȑ̄"U>A{r)΃S&Xʴm6wڹ폕=@U:dkFyV5Raյ'+f]uYp +1fN_ndTGUuʲBcYc?GexptYJkꬒ;R+M t|4N;Xq(2ߔ&h/uj̐ـILQBb\e+I-bP!DM7C 3rLPjJY+`*e[>kʴ,>;+)_YAa|tS u/E,JjKOo'7`t y1P8HKxpT@k#Iԣ\4$qHLb,|BATMм'ODB}Bs=yUm*J=@}Ѣ?!Bn%0+)o*n=}]w&FFWWV%FWPK\N|K-py_dbmigration/custom_logic/append_file_id.py}TMs0W;Cp(2 3-i  EZ;Y2L&ʖӤ`kVo~ȉc=(SURWI4Vn{XezlYQJE]i?ֲ㩫k5Kb|ɜ.e)\뫯8I4M+cgUu-Gbz~1}#)FRiKu/踕>JQ{`҄T XӠq!ccoʪ"n3p;XzJi`z e5.R-1hCfVa9~ PZo+2v~Ô,2(9'uӟ~~g#DZZgr4|^;RA^(S=PΙR[R/q,o7uA%rCy(^HI]:|h5Ҡ;ZC :'t0"W3:w|$A@[k gy1L_'p/F0ޣ.9!}OBWІ[rq д4vQfaN2ZXC 0Vk%:>Z2 ZY"*x4Akw]~ Dn4SH9cLszb~0]~Ώa ʆmVNPK\N6py_dbmigration/custom_logic/append_file_id_w_header.pyuTo0 ~_aGoeh!@ *׸@tN4I6H,sM&O,ɚfLL,&R<*8g*\(D Ha$<l*]L0xLԚ-K *pI>p&ipT649 B:bB΋TG|.Z3NPAN?CDD ǹYJч:!7 11flA2’'TPM%xED+3f5D8Z)S%I_l,yu#MaMʥ5 .7 44>v(cqPbXJ-@) ))TrR{ i``B춍@Y8}X y`iu1Bhk}Y:DvE83SaіMP2qyEp7| 93b2:]mٺ݄yrAv/Ӥ?1z Q4t:P*;prY T;/md cɃ(QMa5Ʈ s2"Ц@\L<6X.=b_Gg&ނ-G'F6Rt9w?ү]M2m<)Zb"@1wΙU,u NC(,0_bW.1\8fR?&[w'6}(DRB3hSls~6H#}KIe&!U&41ptxE@сTڽ|q}usuX=I!%ݠ|ۘ>GفR#OʓSʾAK<t G'#RjHk:mPݟSF_ͩ ijP[Zxwr5[$% v dq;[ίn?O/`d66G9%c4Զ-v9Lk2i<uxc7ykݜLNJ\+%wVRv6mj4TS͞`iq&j LճRɨg9=QR!7\Ӡ,ܱl_iGϘ9xpl&O?NLp 0S 97mgxh/Ec@+B"-7J_.DwOe+'p,=)<ăKJ'+qܱӋ?x_p0V7H>l@9^(SYH{\1hk!>"w҉T hw݌J{G FYR8Í' b-(L`(F˥PP/,{xLPK\Nf&+py_dbmigration/custom_logic/client_copy2.pyn6_A80UH˃Km75ąl@%*I 7?eU,o+ӸXcHLȠU`@22,r~NhޛL?_z`pF"D$0J$R$QI'&I$ZH JNkDDl-E}TbiږiXAl[Tq@9X'{H@+dDHsFKp-(8z=D*.ZP$"Vd,)۔JD𝌍I4 3*S*x9jgː8 Fk܀dC$?:i;jRXGͧ>{1*8s*|yk5='gwLSo<9̉ҭxWQ,1rM$-@C6Yt{XS0 "(@*Sa g$ݣIP@'x c6Ui:GDŒ4$&IɕĬ# JK:jh d &f $jJvA%J\62f3WcOse 76S#:G֒b2]6(QTHWHIw_fft];c+Cv3"0ZqQ$ʇH#ho}r g#G  hX BjmyB[{ɇ04Ζ>&4 5\{ $mh;TyЃ4 Z @@Ԣ!cܲ94lHaτ_#_oC֑BDJt|jO ,M3^z|-60.PHI` ) ziYi Jpw "* _0uq&avk!=*[F0kN?NRݧbJOdՏھ64.t0F]^t{sBLzӾD!J%wl:}ZfPl6oM̅ kؼ۰okvoXnFi+pbD/~P͚BFD9˝kbv5x5Q7Nґ6 FN,L;c0 }L\߹A]6Z=ޝ?\'A<."gQ5WV7R"YLn$By=pWQocm \.a@)r'ʪ OW521⌥XvC9J{@ #49&hc=YQooPKr]N׸o#J2py_dbmigration/custom_logic/count_file_linux_wc.pyuTn8}W ـ4-,!ݤh6>58*/v!%I ,pnH.׶/WƝh0cthmDU_ E ):ɀs\j_7hrYeYy krg!>q6t_{'ǯ^s\Z?W|qV yM ^US$z[~=k.%Fx [AOQ{m6yG^D6w8W͢ i9:'ܒ[']1ň/ח9d=E0 H-wkt w8GQ-v4NբmVБ^A-<ȫ5rA6]1 &VC,%2g˓ϺkĈ]"M{h 2谴M"xțM]~)Ym.] gfb.ȋdQ5/%_vqC8TtNxDjfxN۰xl4<`;2h%hUT`V%zUSB$1 )Tx*\UuV{vsw{gHK-#w_'Ma,M~gb͆__]_V5gM5: SGgouw~}|Eɒf'x(~PKr]N 6py_dbmigration/custom_logic/extract_compressed_file.pyVmo6_qH>Xl)0d0Y^]V:-ZffҚjMmbUbŖLnviy.#P43si ]CJt8i++;l*ifZ7::=)RW>Z°K>1|*<#Z#lT"J.M=A :M-X,rC=L)SeJ0o7R}0neEA25܌ZYg'6Q\ 5 šڲb/sZS7.*sCZ׾݋}е[Jq\y47۳ xyM6OoVrUWN} ol[9y+'MK sFQ7Ydx< Ll6XhC~T@\HGg)Џ"`0$[tCo,gdяz} .WSo&L"p==#p lĽwl٦0 VW\1F$8,Db4%~2dE! Λ%+m(!ѯ=(mrKZMnXh$-Wnm-gTn4.`;Yѹ>2E?OŬ'4-)]?]yXdb~G&Σ+|l/bmjmm oC6&u%Q'F"r\g:D&Wg5Y}EA$AfsEnH لUR|ȥM p''4*#_ <ya$PAW;Oj{ Qu3BQٻ6PDW: RbY>r5hr$-Lت0#"wq$y%rҀ4_l̶Кk(H{e Ĕy!0c\D Xc"6ØEJ'qOKdLK!Ϝ2{~gv4}$D zGWkڡ򅭯ޯ\j6,~PKr]Na >,py_dbmigration/custom_logic/log_file_size.pyuTMo0 WM1Cֵ8l+"ю6[DYVfk:À-|zxt[硵MMKK?RV;A*x^84@ULkY\uU cH\ 5n]7iy?p L(rmk14a&_3HQ 8;m fՖQ ܢ#mN˳!I:{K#&b@70 Ak:dD)g P;^%Rcu:!P;.ƺqeCLa0Ln.^_>a \S"#fA+xxd, yUeV3_t"M'fŊψ}mLj/N:ԗ|9GTi&`;+s`Z.`2Qy@bt{|VaCr+ֽkvTƿզ฿C!by2(?FcTNan!=+'p g6-&w' }w>ä/>f:;jTUP~gNG~ V/o QFW]_fIH:T>Dyi^XTE%[ܰqZ!M+c]e +5Ռ'2MfQ/#B(&L)F-0؉/N)Fb1s͖OK*ckAvwxyq>kWi>PKr]N&,py_dbmigration/custom_logic/pandas_import.pyYo6_AE[tTlkӡX >@%a+*I5#-:p6y_<w:BC\ f~|g}%*.XJ۹.NՂt(l/bxHŻ"YEZ\kMLEcr%K^2c{7_h:/~G[,VgD9ۉX0* *NI"VSLXř 0L5Hb\"0@*IeuT,VPྨA\)͈d'g> h 5 InS$_4ܬax2W'Tʞ1`HxXYӨ!AM.z'_H=)YT'Ma6j yi4exqL.uE|eP6YY y-n1Hj!")莋O3 -aDAxhŞޒ[Z yҴ,W"NLVo!hhאXr&ljQӹkkzsZU_exbೂ8z s&\.LRM͚#*ZQƓT.B2Lҳ&r{.sLY^v>ߛE[XAAD4nxquupyE~,񯾬uJ# ⡧u|}q L62ץVcuqm=,=yE6MW X% LT ]XsSޑj0[XY{ BΈkS> XGM[YI8:D~)a{\sEX18DCZAW!}C?>l4XO32E|NaC= DŽ!S eԒFM7ETr yf{C}u?Sr-j7fכ-٬få>Xc2>\$1yὯ ع@9ظ:vi᱘l<⎛Wlς~v7SeJ3V?.DY6"l3s6^kYh@\`[ꎢrK>b*CIԻޒg- Z-w}H$Ivi-|lЀ[8ngbCol5~=:i^w%:n[<߀S$C9Y {3X}v_JP@{N.<\Y.KPɤZK7(6_ShH]|Ww1+(} 8`j:LSb4 ultߙ?u/L-3|;VIG.B7B]q"Vc*5σ`7X?v쩡嫦iW[l*/nLC46ܛ]>u~8xxx Zkl{Xm)^,P8oxF WqhRh%PUap™ 1h1BFkHkfN[t:ڪ c&ӧy6f\4{fP\#B1\2COIry9fտ\|4?kO̜_@ gynNΗfu/PK\NM˄ .I+py_dbmigration/custom_logic/read_from_s3.py}TQo0~ϯ8ևSvL xiR;ܹInV:ɓiݴfڮCmMTή VH@Z\ur ݌i/=-\xP4::,Q"|2ߊ?iv6_p7ؠ\QV$PK\N*N.py_dbmigration/custom_logic/row_count_excel.pyuTKo0 WM/6YKW m"ӎ6YE(i4XOɏdAɆqۿ, ^{jV6{\rŝFײ)nP&gYs&QHjӋ鷣MqGJݞP5urb-+j&* fJ:?5NҕL(N|hODY#9JhۀɜVȐ5WUH]PhI"X˜,nMf\Lpyvφb=FǥKE< qB>If 61S[#qz!ʬJܡ:>OYKt1riEqס~$kJ#}@՟u5ZB~w e⋊uUUn4+Kor{&)Xxoz֕WS|/P"ç\\ :TPK\N#:(py_dbmigration/custom_logic/sasreader.pyT]o0}:ePi``34~&$!dP`{=ѻ*~"^J r%K>{̨2mRwouo\W9/j *g\{͔WX7r- I3Ӆ>$O?U? R-:弚~$t?DH5P,dYAj|rR rB@ U3aUyr-LВsai~FEXcȂ䖥 l,cʱjf Bkymjy+ŅqB΍VQ~,Al݂klǩtJc]jbɌiE |:atdܵm-{߮a #J^ _ bU!A 6ԤvH"Bf\,Sk9>?~'~$0ET靪ٰ=/Ga,ˇlsi0E] MiQ-8 lv6񵬅(EFntCF;(8ۇ$!Xyݬf~M.C͂'\?a_Zګvl?1!C{UA`ޠkgƌ~Sk LӴitt<6菍KַFݒ#O|V2kdU7qX{׬s mBj1q5 C>ě=vk+u9@l!<_;yhPK\NO!( 4py_dbmigration/custom_logic/upsert_table_from_stg.pyVn6+*h7{Ia@f-ZA)@S#D$0REm-mq83 gSBZ:_~g-z+YVTV[Qkfq:f[fIJqOϟ(Z;7s/k=J~Mp5WwW>q5йxnOBm] h5~ VR>;*0m^*E@?}@TӞlcF;n7;7%=!0h#ݢuh*"ri*[`r?K>]0H^6Q=z*ر;&=DYJ?³f]Z?~|BiezїC)<_kjQHQXUmᣍmJ*JZ!{,:8x񁫦oec X%}U Y ' yijCҜ}k cKa(g22`nFV)2A),Ƀ?31yX"ipW*/TKԅ&mf5``cpfzI)_jF#["awBŖy<{u Q&yu(CbSOw߸0I^׈c_pkEO9|W @oI_Gen"<e W4SyD+q`}Y7_8tۮtL u 1BF)__kjV<7h}qE/_GoORQ VшIBOV< +hV1*KԚ4YqUy813SʻFYY 1kB`2C7l"Jϕ^Mv>~4(.\v)Y2֤PKNY[O ($py_dbmigration/custom_logic/wyman.pyX[oܶ~ׯ`hM[47΃#pWԮjITH^# )<TE"3Ù73ZHMYY}/vW[){Skͪ)?uƪqPNٺA&EIDͫq_N0K!BZVxTy#,߆Œ^~+V?_.BlEE4w菝Q4eT2ŵ!aRqw4(;tZu#+H+J3P E8SĪ$mv$e RZ W*"i< 530RG:d m)ͷB>0 *NT-)򌎍vy 5PNk5ћDeY[eV |̪p_9us7fhOTÄ́Y:&gp^ fB%c%L!|>,&bg홈hvq7Y 1 AB^(~>n?+.Eaɍ 1!7K 8׼Tas킘@nU7>Uh#9'9͸jG՞'09 u{QĨ7{!OoN .0?Kaxf& ?4hEvpbQ8D Vu됾[|Fbj sǨK4xA{Bg Z]n+g7wN[zwX׀*+P'[ e٧]SISZ-%(0\bOنe # y;\lz +Ȩ;!VKZ074Y Be&SkFV\}!H")6=0oKef; ͣd6N(2?T7KM#XpYC% uZˎ*t?[jk<8w<%قC;0Mmȁ{ !hHڲl-EKr%~3i4H7I*Уߎ2>{GW6:{E5D͔&4#d AR;K^lG蠊=1ݬTswTOO;Ṏ7w=NZ5 uxҒ~ 1W<!;8B֓9yGsxi9pYsW! cDOvsUN3XHT"ӱў.fl[_"w4${wx0p|~= T9şBϙ;>.Mr+4G]rks9ƷCY('02ЮiRhARA7$W{1ĹȞtDP]/ޢI3xZQ^]f{G.<@߫}S.M_B%eTb`au>^]zR<"Ղ[ 9oW_-Iؗ=Sg~&|rKеQltl5=7nvzR^,ڙ yOkm!rI⃝u`[ Ij'\dIڋ#N<ݏh0-PFx+c qJe2(=hBm#-Qhl:ae 2&K#4^uG"4g"33||/fo_Wm^4[S7UoY6_=J6I% 6Z.r|/ͫrd^pl~+ŋm*@ɺи7{=_\{ FT2$5/F"$j-j&LVTS9>?_'K޾^Gˤ2Cp:O}?@&lQ'kUްۼ("/3vaҪU]޴,/5e|Agb|ecVv]%|1xjlF&k^/Q*F1[U!Fc"Ӥu# ֥9m &l*ZUYG$aK8¨{!QxC8@SQUX0^T,\T5ˑLTQ'_@1Q~z}M͆0F]?h?yڲbiRivEE=oiQ`"@H]Q]! L,2oxb1mnjuUf9`,qu$EPlԍNdS XW 4lx ؟u_I8@E!iE殫r7Z@)$*)V9nbU}gJ\"TX^$L\,IK 3Nnx\nB;iAG2j3LkvzeS$)n4\,m|7u^Pcm6azz(z))F>"p "@\"(xv]DxwXc%1 &Ȩ|NZJ~3Ū1]PAI[I 9kb:(#wں /5w5&l(IMROB3F'ĉ6qyaIڕJvz^&h ąc 9Ft͓,w) l5YvH cD,vk _Ǜ_WmMj+̬%_ ȑ`3dИ6ڢz,ɛ/g 1"w'_&&d"L @{8!\+-gIq#lüHl)FÚ/6Qu} $VSmDeN~OjlAL)?®#_r=4% ub4,!^IV-iT Zc۶µeZT eob#5TEYj,i$D|SIPd>^]luh)#6Ƚ/*5^kKa*1jA DKbm'S[ݔ֛2s"h`Ӷ {vUel[&Y&yƸy,;j~+TM+)v@ZiW29ݧ|>DA5dp%/G|Ɓ+Ia->FM2YAzXfrg4 ;2Xwsi`5ծhA gݭa7SK!o֜`XF >y;Q80Ӄ .%.+wB *v/vNnAŮd2gUuUwWaI>tUXʆ@rbP߁*T0Buj RY4{Ri|w(edЫڮ&ɼFO!ZV3i7/T-Ē?^I }`<ք'zc ĉtee:P2õ \t>4Y12¾vԇA(N@2N8AWIDvKB5UVh[L h`Nba~0ic"HȂa@};n[f:PjYqPWև[ɰUՆ_t2, ]\{*wFEh%^zٛ͡‘MR56NAU<2&Jlra@;* /@PN 8 Djs>vN#Kh6]. |NO/#Az{q_;m\W߯~% Hו>V֫|S :),C?*d~EBe0rLĂi"P )1`3|T 4&vyv93m`Pwg1gvN iUk"2~YA|1 U;H*'`QvU +0ڇԳ[R(&"2ec0BXpe87?|&vo~vƪ 2Ú6Z7oCSMF_¡93ip) m@ԩHԟ)y5_"DjA.Q/!}Pg*eA6aRG `EvxMXR#-[pj+FH1akYK4`LPZ{8 N$8a,ET9@2n}4qMMKG3ؓp都y{id͓͂_ 8A  ]12cKf ,MImŌ3+O$/7ʱ/MՆYWXE'ux.P. Cc=zPA 12t8~wŚ>Z5L.4dPl?0.bjG@^=Hg_lBd Q?c͝pgGM-a;ҳ7]}twm7>޾?jE@Ma 0bk{]ұdrf'077v8ɺ"]SyIGe8Ǿ3mOzJK2A0#svA5aVM,@Jް#~aUX>-\_| /~ͥ٠A;˩?yV>>l"@7zb+Aa =>M`wQF'0D}TqxQ&ga4-3YdxdYe@  s4: ?ZnpA DrUmaZwJ9f3ϕM5ۙ zFFx VnM(N,0"0.+qW]}Xl?@(;L((>bVO⒯Jqhi 4XE?vK;S'䀨z†[؛gجBA0z#.^@#"ĂYa }Ff.V.C晪C $ф+X ƣи-[ٻ!bnZÛϡEpF3yy ʴMTpJ5 hw'"7MJb9*ygjhwZin{75Ȳ8jZXAl!PP CFo"4?BTpDBǤQ'6I}~pMOg-#7L^Q ?LP#ÇSfRf>mo >d/i=B|C?Bj_~113PqOOV_x[ Aw6&AwByc0??8n6tmgKv2m'z:y2@Aɓ`R"A/뗁 X=4dF2׫ \qPJw`> 0WF0ޝ]Ng^].i'W}zFER `A>/8ċohTW8@Fx~-ݱtƀ"h>=RUp]i?Џt^ iȢ@ef,#fmh:\,w01]qx[S&!O:=8:|lJW4(~tjb|ɏ{h4 PYH mC`".j{ TЎ6PL\Mnku tZa8P%bt?%հuDȉf[ P=3|"0.jz_vo0⎃:0>驖WGwfgt%V TI"L7@hMfCiL&R,G$4U'Nb qoc&9Is`żHۚ!h @aBKV{h Fu=rc#\Wt G!CvĮ`rfcfJO:4 49p 7_gaYhĸ*u΁=ZPy=46Yu[mD"Bs3vrʗ@CZ)R|}`X,R7N1O+CFBt8'BbLK-Q 'q2YEZɦīП,܍[Hoۤ`Hfa/M2Q]^n! UVZ*ft 8g):Z$EP|f©A'\Tu晱xGdg/@evDqs(0oM8(tjW"`6mH̓.,8YS&tZt‡1K#ʌ%юf6XŰX4qB:ws7)|hZ=r9jp7N$KszHEz˫ثEbP~uy]JV4eWݺIb==ݗ;&.n?0rnwgçdjrskޘ'h1|1=^NX36\? ;2WJW#頽~K]愤CbΑ)G;9_,b>on6y6fah'ЉIx'7 :]C?de ;GRHQh|yW.Syڊj>P~^w1{,hR}MܑXtI~_- ,$ޭ;+%~uYݯ%竕:Ct= siE9"]\JG?_#۞ @ޯ7-e3duc';!ug ?Aۜ _:Yr1#d.םq p|Y{uU 9`7T+ֻsOIݮwqv7&"!S TA@)`P _2n@$rsͤT O1XtMַ+K̥ ܨc%1:c=h@LZHmOD+O'$r黚.e! $GJtkO줝){Fs:ܔ/Ĺ}<,̋/EKu0zc"s"P]-Fȗ[D3iq]9˵g{zDA\9͸26.6~'^޿PK\N`1 +py_dbmigration/data_file_mgnt/logic_sql.ymlՖo0WC !*eTډ YCَw@~l`|׹ď$HS ix O`E% +xD)I),"D j\RȓD:)AG\^4@ITްR⌀5'X3`.!ZC5tLwS R2JFvzsK&dnF[_g1`fkr"*D($2*1%N9g<\Ep}?7;ܧD<ɨo-9)h$.[W'8idn:$+VSh7tf^AG)[,lqY*+ G!9.1Ȑ}ٺ>%EWfOn1sz pF$1.u[8ԗnjόL*2(ݨLβfZyRi5Ἰp23*R+7PKr]NFw&py_dbmigration/data_file_mgnt/utils.pyX]kH}ۇŅ.M]%A+{IΌ$K~P[s=g UT8Q5q-Ht(A(# ?zSNHoűɤN1U"zQ쨨LĆbްhGȄM욊p$ʼn`NLS#d^N#* U 5텩KΆӒ(A %.Ό,(~>fkii\~OQ%\>s:J_ka ,*$wAik=2.0=qr cjr(cu}Ѫ Hh#naզO]艒*vJzy VTT񨅽F_X.DeT&n-' H LQ <<{LplowXFQ\ ʉJ[rލwL[?_G/YFT!]52!M! qxnKP׉t>*Dԃ) qƯx-l.\-%\&_p{:92SPC,rI.S2-r=u%$=[='i6lk b]Ph9j o])Eg`VN43#fC@xQ!pjƢ(H.cbkNLgT'SQIet֍m))NZt ߌ7Q%qƲefjg?1a͈A9w, ޅq^|2=Mq3PMtM~u`H3,@qˡUhW܅}2ý4ˡmdOp7MX%U\DA!ZlGkK7rlj) M1΅(d};#h2s$S%I똶2HE{]b 4V43m Ow/Oi]<-i6qnqx\`#Sf ʄ140JsNf7u}h jH@'#-sM0ܵŨln^L X`7avŁ^ O",amOVT6~o1e%ƙr|sYgfy7OW%W}%;Mk3`Z Z+ _-4;le&ci2In'%&3V\OWi_@[6sVDXdQ\mQ9ĵب{ɖ_Sk^I j.k x(=vAjԜ)E~WO-jMgsf|"y4DdT?"@3# |Yp){'9̂&'O1$c;[T_uߤL܅&35%?(#5ƺ$h&[lB /m?**e;G@ENDW p`Zz:>' L(zR|swY/v(cL,Qnױ<>h`b(-B?KW V7QzfWp(`hVQ,ז+"0ä"#)r)Cbf)8`1lKTqTTY9NTx?< &RPUxr {t?^< @8 V=d#תs,.c\FݽԽ7sq]҂J†[M* `|0Qe$?i}_|SFH'j+e7g'[u@N:잎rKwiwˬdݝ&I׷:of3g%3X)~Ow"U\ƊH\ll-DCܖǕ@auQ&Pmp f8v>4tM+ QvU(`oU7ϲ3_quqLIP}y-oMLUɽ3Nۙk29 o^ٙێYxη3ػ B -u<,BrŹ+QnPK\N)#)#py_dbmigration/db_table/__init__.pyK+US-/*QHI/ILIOIMӁsJPK\NO'py_dbmigration/db_table/db_table_def.pyWo6~_A4 HRt6-0& :\)RᏤް}GR%[EG}Gǻ b%| ʆFDQj[-}.JA 4Ega^ΗMRq4sE|DoZA*P>k jeůgK`oDއ ,16fTQF.c-N6&9m@l:1])AH^^L^bcޱn ,N;Bj~-ݞ\mNh5b*GZK`ecŠi%Z^h$ib63hK뺞H+uAzqj} Nd|!tdx_]Mx%) txlMmp)I,IedZ=:U=lA:0Gu|6EaPh#S7-0÷HKm2, 6-0_qa(x VYPn 76Ib¡_W<;4iz|Kzռ[weE}= N79C?gdl9DŽe ͰY*p̲|+#]?]7zbVtߚW-}O:N~8ZuKȼw,7޾LEGh>v(Ͳx4}T{ᛔa',@Fװp55XڤъmŋEiIhoqr2 5dw۶E9 #M4cvPK\NW l (py_dbmigration/db_table/db_table_func.pyWYo6~ H]W@_ n-mQ8vEE{DJ!#t!GWܿϊwfuPD}ӕ=54R)KF_P^LŠTQß!JI> *Ԇ6j/HW-qz"+5 ZogPE]`#G 5ƇO @ 3U*'4Xj fEq5︩B8lk6dp#cbgؒ5BW F3wh^WVy4>[Ճ>ָ5!;rr;@@dx "EN飋tHcӆv-b\u<*lX0rt( CP a4Ʋ=zě|.gx_ٶاy˸,L՛1PK\NQU(py_dbmigration/migrate_utils/__init__.pyK+US-/*Q(.I,LO+KPK N_Xkc=+py_dbmigration/migrate_utils/static_func.py}m{7ӯзOqdV6r][Ids&)vLvMW/7ɚI @PU(a{$:it^-F1x 0G%=nr8=|T? Ex7@{h)bMC,I>!FCn^b+ ~u(ӳd%y,, Y $G^ v$Cd;\:]^0Qam $j8AVݽxIH PzJ# Ba8/cLtp.4~VڰJ8uO'~.T al7 (Y\=Goat]Xz@=e+YMB?E\13;4Pii#(bYrT`(ReI8$2:F9,MmT^If 4Nd ~[-6anfL ēh 5?yz8BN%:e He *+e!gb^!@ߛk1#?M#2,Fu)VW*е8&Y~ͺ'l|H]I=cc73?P~ѷ(aFa>n/4 aQFID$ PO$4`~\S?kC#9[<"8Prv21NLFD{]Zac1\!tqz-PWSV |BPsd#iL9ZX(+.%Qgr&kx$AiXWz-U,W'fWӮe5i S([Vx] ҼBX`>~A(N rTt*']@G @eNo`ȣ)4 f0(M3.R?`bb."( IȺcoM CNiAyS9P\6Y GafԆdNIsh^ȹyo0w2Y~n-ZbZ|zM4UʅH &"`l6ƌ5'W'ƞ68 (MQ9y&,Fa3IhL"Bo,DH_QUI4#C{7Tv^5հ,_] iVo*r pvFC,bX4 t!߅qӪſ8j{#=7lq]^Ʈ0G3ւ67O ,[T5 7) iԜtK_`-(H3Kt% gjR,bi>e$ (a8b3JnIB]ih5LtN2˱9Nxl@9 kF' ;ä Lt~ue\SƀM1k14ЉO]Cix:7s|$$s{G)Sw$+1-Tv{rRÏu6-zC ~Qfl@c5'[et5:5e8.Ig2IT~Ĉ?Zx "m?Ϝj*>M-p@!zU棞z1OI4 w[0~2q:$WYNfpzř 2 -^)J$8\ECWI 91#-OO,!:yE6,%$7#;P- ~lս (9w'r1>h!pʠcN޾]٭88KIEBsA~2 prqT4قp@P *ff˨hq>oC+@ C)v F0mh@v H+~,eH@oA 3lE+@Z:,媑@9n+x@Z4AWJ]6 yꂜXܐǷfUUV 2qEGkC;DӦ-P>D]ZV8JCw#FCUFHq:(uAE+&G=ĖL^N0ƃqA.9NU$le\kI7x8>.Х):8Owo.IdP2o:*oÆ/ S/OH1bÓCMjXc%g[tKqI{Y``]w8,RG9ߟׯcq7(ufObK/h'}{Q(yO4Mwryuff `dHX}DQOՊ1mztI{3-"HRκd5' ٥ɵHO2K7R3(cd.-Oo1ok)~.1pswbL55D"H'?ev-mN1Зl!\hǒxw;Lcq9dwq1n vWՃeTc-t؊eN}E%Ն=@lV#K^tO??;A*ED3})@J0łas~cPG՞M|Aw!"َ~ѓ ]3l -8B}g~Ԧ2-f|Rꨱ8hwJ X+F"QHupxcAZ&yQOʛPАw~#谑.`Km1j~}xfݢk6UnDQ-4xW꿸CEcup%XJ279 訹 DhxAJU]p^mJJ5ƣUȚ\x2xh)%m) el.緹:篃2lɩE]S`G6;uoP nn!puA"K &x ~3F4 S xחkAGP肎&pI{X4J?K<ʿ5xXjGnFD{9JK)[P@Zua'ē"%j,}fMһwqz0E7]-'ƒZvEuau)ݲG\zG ɬBmW9x.52NtBi`G ,S[ <q u/J>A|,x$J yvJ(*cmU i I!ȤR2&Hr2)3J Qė0,)si4ÀνԓYT{l ϼt -^&еJ+/4 "*V](G3f)RE$NqzRљiO_U~' aE1]3 m1cz6j n1dzܴ (WZPꕠnGL S*˓ī_=GD< OvņqvZ@M6F96-yM Dg1cUbLYHx7DI:^y"r 6̢KQnZ^pjlqW﷎zƗ L+C<#H;mް#HGx c5d*6~M~cCP\2 cQi{%N0|6IIٳ0|6"eh)Ow8j*!QjPeH@KY gT܍^%ӞŨ\c=%{Xg Yv}>JYu}4&f+p'{ʪȇ26/0gy֜(]r'Lg+y,C-,, 4@^Aã*iG^Q98S)K?du6p7Mݼוj{84WT7YX)j@*ҕn@4[[QY>LNE%IX1TPLih75R(c+zS5ċE6Z%; OZ^;x+elX8$ 9 oQxm K׼䪣'k777rE_:z3u0Swe@д_c82 ȕеfk ?ϲxɆ>flka]{(bAX.~;g?;tK;>xsx7فG^pN_ۓGwoOP sDq.Ϭ^p.^Bp $AB(,(J/6CZ3- !-zP~ t잧6.90gJX: 6$@>[J9x)MK R }U*]2dlq42We/yesQC ~^Dvƃrc:#z b?0Űy{S6f+خ"opVlj n= Ig|,gcKW/?=D3 Y>mx85VʈfAߨUBqOp|;Du9%5芡M.9 ]¦k.Dc^DBV\N77#($@ݧA*eS0+H_aa ]wxBX(EYOiės{5sH:uJ*'PCE0 P'$;vyG0OtT˧0em}e o zvw5nRkg"3L3ja>;P޳Ss:R-y͛IE#FId%N'o_>]q|SsAˑHMs|,R6nqE^d~Up&[MZ!za?LӣwUe.qpRg/Q01׸2a wC{)X_ibW3[ۦ̮Y8 W^;٘yOncה=S)]Cӝ7 ,*iЫyu*15,jYjUnEC]-Җl]Q~ \vB CA^L1 9v*&JfIQx|U ?uUgSQht -E0mG!_O0ylLtꇽa)l:vy 4NCwJKU 1s aDhЌ?XU[Sȕ}6$l!h* 5]hg[ Z=멌ug CҪmV2T'6Js?LX:/RX!iy DuUڃA-vjgUx[V ©)˯T][. s=&Ű?#̲<85'RI "n HM(tc/{W'?O_2o9۳ua50<Ӂq%K񴮱ݎϻ#ܚGV,WV~C986_ZkeNN Wk(3-#֍QPd?rP>j4Vja *_'5CQI S\1Z1Xh_ûrc>;($>{ʳG[q gip¨ǣy3F^H*}Z[)ݢ *_PSqE/}V6 6 VWsͩ`JrB58/N1.2oƸBN4(xkϧUUφNmrR/$6=]T5 ucCC1:8U 1C†>e~O݋eW⳷ܽ\H k~E1ЕyoޏTF~6FL},\k]4-ӧu{a73,ʩ,nW~:Hk/(Bxvl'a"o={& T<]ΈwyNoGHlxf-$wv`XŚB{XBGrs_a)|!~1z XFP-^2[Pc'@;cbڥ8iѧR Y5 D[@SwQN,/21Љ|7,wW3C]NT=1L,z]r{+_ȇGe/ٙ$p'ȱ3;+H8L3uA77UV1'y[G<=?6Kl;0s @ߓ<lBGַ1Wk~*U+Ϯx⊿[W=z[hy4 K.3r_ISy#m`n@]KW򉟋k cPMˁCCM7G>|%kxhH`)4T3d4JW Rn="qci23rȾcOiYш+voHѷE~ a9"FIp  ?G} m? CH'L eqWgIq A]8׎4+]lXi1ߨ-' aRzG_͗ά7퉥[M lbic5W>}ew؃nkx~4G15 e8\zbgÙ;1S5$ꀘ_}4绫WVU~eUDW!ce+4Eb8!|N~I{dّ/K`U mىH_P DhAc$~F ۏGK57_Pߍec/9ҟ @qA2"Ist|v :L~w=o?x=}s5 `> 3U͆ShywrnDq #7'G/e~o]=>ћӳ7W`q7C| tZ^"<$H۟'iK|:f{tʤ7( vK^3ґN Bu"@g=w{t e^W<EO;@sq8jUH`yǦ? W^i46aJp$Ck2sk<Դ[E1Yx׬[ Jsơ[y }x$@{`E P/,HDG~rjcQ(!~GO@D#_7Aq0 ޟ1϶9=|#`o1c͍W&s9'MI\R2W |vxЎH=&#:7M[} tMl2h,xBRzÀzI 0˻_mi{m/vgZ PO̰_jwZ~Z7(^)oӍFm| bXG1[G6h&z ˋ0e~Fi{ѱ(Jg:R3&f4ee^<>![Ukv+Ǎ^%'H<72=#3%z٧vqMu9ue~1"rSf\4x1j&&WIu&siZ(ISsΓ6 D̟ͥ/鴎gnL&8IC|NuHx`hC,?ރjZvb Lv.Qq=Dۏiۉs_LLX@tuѫk+>.f\ԊTpܹL}6m^.fs.a^˱J25/v3X2ìySGNVjSo(]E'F6l[{++qu[Dԟ!Dc04-ռ)G 9nt \_*9`ENS0h0O*ClbZk4EŢ,TU, HD_Cʜ$l1=4CeFL> e8%D!̇^o-kOLmLr^ۈ,1nZ/Wc5$[7\Zg uX+9-==<9vqKWeۻy,} < /]x{`1^/ߊ߽Ļg@12&S?ap? D56SsG4-t\9tbtZ̥ U3grd%HfzjqO?sz~H>)bYk(S?>s_b,;C> I-+uH!cWfFb՚k(-9[,PJ;O=ĒY[vKj0$E:c滉m[?) ֎R?ƮR_i}bM{K;V>ea _da {:~=kF߼'4i@46*.%VxLp"6JB&_<'%c2ӹ( $򀦓 20\`+e#7ʮ*N=oj`וf+7dt&D瀇)xk2SL/ҁ\xU+`X~FE1(JBB*ȥ5ᇺKJuJA<0: }ˣQo0|@ Z\J1:~Yrަ!Hh)6ٱjH .!DK-MI*U `YQL[ʩG^ k]OV vp=[>O 1"!yjiXaj4?t(.8qM} 8KW;"5$τ;I{¯Nu5țG2_k ~`GpA(I*!L4lFkGKkhta=Ue?zlH-8;ppv9Lt<&7]VpACk֍kKSEX?1 : P?=$&80-L\}_b .X+$lĤqM]gk;6QMH"H. tO -Y]t nOϊ6>bgR:f9ԟ2}*FFC$^%7LFeD8K55 I  RU`MRv7߈'RakЬI."ȩ ]ޮ$}JacDu,@[F*naP4 ŵ&db~<$}Z1"Rg!#%Zb5`4*KJ2SftK,;/4$;U/3e1DI *Xrw)s5RL[QX3dT bJhԳ=~jXZw( xV\nzF!F 1̯Zs!Ll}*MU* 2qH1WYbӑ adcرٻ0o*Ri)W&if5e4PV?aQ`J*%EkYZPMwz[ZC6@Os) L'?1&vM:{ C+:  H:j( JSwO#[z0Y[ߴW?6Uܻ+ 5%$fmn֖_Z) x%JFD{=9\ҽynv"i Q֍ALQ~e|f%kOoDUqT 2H*1[}ȧ~'tKQ#'np@l1s Ad=_Gb؞De$4sP\dSZ1vR 0PіӠ 25j= E!biFT a~zոX?/:ɿ0{;hoy ۇ+Y[%x"I}@.2׏/AJY%_>+*e:Zc"[R*z=iy ޗ  -<3ԃIkXOHUWT"bL_;=3LGGX#im=p^,w=]bfv{p Ďa#y+ep3q{$WKu,-UDzQܣqǖ`~VK7-&jb8L. F̤TySQ&2pGlO* |q~o|o{ Y"T_>Em<"jGPԸ)QT2Srtgt@?8i8/ôcԥDea?w:Ƕ{#`Qn`Fx6Ӈk? /Gf?dM~N*4FُCQEM0&--ufIppWgņMcO#4'?'#.`fɏpk;96)8n4(6xc +Õ *x$6; GVqBy0g#Jo<1ue%?  YPH U:ep(Ww9ec&ȠOSM59uysp\5~OAUس|M{MXw'tRv-u[ZKMEmV_h*?BpY=c 7UV>ƞqֺb *CQt 差k 1:#^ڃ]KÇp.DqQpnֻ/T1w=Cc-Xկ^ I<o GP7T&*nOmJ6EE/Jlq(MZ&递5_[1rY,aVI,--C#gn˚an߉Ym4BUo#T$jJ:]o n|G&=f0UdYCΨm6%v'wqppݻI ~=zzh# *\bu1ϑ~YΝ'={vnwNG)PX^-#1nI7mv(vjrC-zƿP\E 'Y]J;A*I/ՒD0_ۿc׹)6K,>v}.PK\Ni('#py_dbmigration/reflection/README.md ,V(QHJU(H-JUHO.M+I, gPK\N?:I%py_dbmigration/reflection/__init__.pyK+US-/*Q(JMIM./ILIPK\Nb,*py_dbmigration/reflection/reflect_table.pyuTM Wb"JT^vw8A &R{xf@:,fp5c*O^ :3Nl˵C{VuN~,j-xqUig~C D}aRxd1Zɼe=~T{fp xB=YR?ݞS,X7T;N?`7;/0 ɕ|)5Ǒ$["W-#v.Z¯Bc9pgJ!xŽB&490YP#z\=/D-˪#:0zz08HtJ+Rq8xpIT!-Y0 ,;״(+37S_^ޮqfm͙J#SkmZncp?B@"X*S*xjI7w0K*ZP )k5FyRXv{ײr\~30Q+&tP߷Ѵu=nfxu[) KwS.3{/ɿpps_b6{հ$w@7!F''~:wsc2^fe…ёU3pݿ(#2r6Mta}SL TVPK\Nx/0py_dbmigration/sample_code/create_table_files.pyU]S0}Wd:ξVκku|pLH.ݐ$o(XHιܯ$GZ]HɈQgAH٠gX~MR:D,bE=5/ qYhBu\WA0B%e?IN,s% ^@dُEtl5q| 7J>F'Wg7'wS6ܑ|p}gVʺw_埫均u9BYhA[ɹ|S_$> sV6ߖ{Cu8cmA*Y+ւIN)(F{lnqfѶoØ.;'±WA/nϖ_[W;W^;ItM37 $ERHt`:h99 @kbR /z-&A의̸BEyC(I 6ИW-hb\#o-/[kյG3N`2fb %% [vw^=Lۛ:?qijHiTdդs|;bJp`80w6Q7ƴ8CuQz(/`зMOIR PB@ I;0PK\NO1py_dbmigration/sample_code/create_table_upsert.py_O0)*Eʹܭ>|] vEzdN,iY>G]}@D+5̬qXMkBtv(<ˌ:ЫfZ"Z>C7AfyY;J>|Ls侼$b5_<tr?ÎQ~J*GRr+cQ[E%1uXv'V92T-tM&? ,UgX{4!]f1€ToPK\NuX?[&(py_dbmigration/sample_code/import_csv.pyZ_s8P1[eHyٷʃLjwXL6;+a$&@.YCUbɭ[w J6rGlP"fQqd´r.G8QdrIrQʵ*JWV< Ģ&2Zc+}?]M WBLjA[#g gwѶ4hLy?˙\^O)F\ t)xDR@O:\tM &tW!h_鳩]ϡ+Ї , ǾsƔV(YLP3x;@dG( `aF2`e 9FlQF_ )+M̘bS2}{̿=C8דږ GG>矾 פ59%WE̼~Rb/$2[B %(eKLNq(m.3 (_~{4b-\J_Y&@M{Nj풡O^X]yA_`p+ND)|rU cbJ %f P(XXx)V5Q҆pL c5 V`M֚̀7ӏ>>8Ǝ5!\'5uLGojR}o-ߞXn=mέ#HCfOw츞5MQ-~*.T:f YҥW+o$:+ 17@k5F!W .Tm68 M aes>/;x9~vf _ɾ*e+ z8)0m) Hw ={).;ȜCǵSnO/w@# Oo[Wh!:^z=<%o%Ӄ'WnuOp|ڣ\~p_ NN׊ƫu1Ai.S>N ȌD*bi/M4xA#E2v"D<~iP &,oe8{o"Z(^;;. e1g~A΂QJ5TE(r?BRnKzRX{ h?.P:$%B׻:04fPX/U*ԚtYkٶ{WABvc ;P,;;us,2ܻoT8\K{gavenӬ?τZ\=PS,ٿFȨ Gq?n-@pECa[*t;ށp) s_1׭X!u@v&~u.+GYku.?.[sf;y'B8K -N@WV,_)gB~"Pg^ȍr959jWRm^g'&gYR,JW1 ߡb5 C kI㢌E!KU Re P-%dl" ؅jb&Q]lٕ,ym/J.#&2W"V8GIV_Q=6<$I\y JhV)I&:U{08/p٧04ñ,U^%%  ~ #_QMӲTŞ@h̽b{tlKhOp<Ķ:Vѝj5*@&7Npks<;K&F 6]LqG\ޮ7풺ݾYFoyDPEy6-\B PK&NE+py_dbmigration/sample_code/publish_delta.pyXn8Sv]9Y࿨7"ni'@KDUADqc/Z#@$q㧙h^2.Q"EEU?%Y c1UUӥx:ET2!J^)8ьZbŜ9h5x5ӌ8HDҜh Y)9-;(<^ү>|NU bFAFH6~C(8)(gŕyZR+wϩX.V$>Jxʾ'` {#``@PŠ$ \iioo?y^Jf(gw$VF`93"ð9 AC6˼#֏fX F4A(R EJjBg]_g snDLQRXДK71;R*35c t$EC e+X.o.2t - * Nkb(L3D'/,p"pz[y) de4|,\'ݭ 8iu VǓxSVxKA8MW.wU<7tDl?w滝^ݮx}^]fYH8I<%$8]^ijeDZw-er P4bq*'ݫ\͉͎AH;5LzӡtyNAk_ S}isX=c$o*8ʖp x@n-xZwʀC24ӁP4da`QnV?*}wԡj~ڷڏBv]k,7&.\C~%zlfNU}ݕF0$U㥿yY5^sAuL$|LoRVj2O qfy}W+ӹ|F54`mKwluiͮ᯽VzZkyAn[5-f,'3t9:Yc>5=n}*-dʼnP亗So'/FH-g%Ԕ*%9e CI{3VZ$BSz?Ds%^Fw=;EM"Þ{>zB2F:5E@S+t4V' z׷`:<XjL7'6aYKA^95 iiK0< ޽{2rNnD1#d+uߪ0v!%g*$EU8;D~:`neߣn{&`͔VLa*G* 9%>k&t[^*a^:5߭!zOϽ5H!Dz% "{(ïr !GR!3hmPK\N*,py_dbmigration/sample_code/sample_tables.sqlUn }GGVi]ԏA&-  lӯ8(/=s93঑`ȜG:bd_30D)(BxVL}n<@\LQ >ﷇCؾm'sgzaxze+&7Y'"Q-[P\*vA=Y,K?c *HS )!B;+ō;Re*IA<߆dL3D´aHj}nf})BJ2yNP%r\t]XĩG_DADgRݚu/{נ1[!_/:zW0`jLj`{`E8ZWS#]Zm8ťOQG!KpC2b'2nHee߮ _"Oqv]WIe{3_(A&u)KdrabpUHAN.PK\NK $py_dbmigration/sample_code/scrape.pyVk6C65~x`h%k!l([BϖEeKd!/yiRhIx}Nw'QYZt'-t&ƓI~+'CPzۇ=F0 >fSzEAuu 3g@A:ՇY`d Y NKFQ$Yղ^S/ut>E ,pgr~ |Knצez1âdV$!^^>䂁pcߟ`+WY$zF>bbi\+˫XuI@ӗ&moɺVCUn py}zfD\G¶6x0.6!_}8}{vś[u0koWI 5#^lM҈ q>:}fW9P{ja'7/?awP2Px 6ҳH<@ GF|v eᨃ fI$B1edD<ۭ;BE8%rńpQ>TFؗO>r^C>BΛA%E S&SzMUOtiz A__eY:y%+դNU 2(PƩJh娘.Ǧl&Ϯ/Ydg5:- UF 2+ɹgܖиwDO1)qES=2GZT@ަ| <Nk8q|ͳnaf(u(P*;Q4Y$hMCe<ݷy>J~(U%S @pť9,8T wUTy"/KeX eW^A: H6t2D0h\#bHai97,QllMjg,x@JeQJ;8߫/E0 W ܏G ])B"d{7Ѫ`, u=p- up{=C;k`Ny#jUWQ0< Sh)2A$O2 ѫ$w9rkGYt9FnEhG.輈J)'O3s}yq"vϤH LL/]Ƹ\>}~|PK\NÔ'1(py_dbmigration/sample_code/test_data.csvKLI1QHFPژ+Q'I'PHNJ142@ PK\N'py_dbmigration/scrape_utils/__init__.pyK+US-/*Q(N.J,H/-PK\NC *py_dbmigration/scrape_utils/scrape_util.pyWo6p>H4cE3X]E@KFU wLJ$NMbx/~wVHM>)L}jśd)ņԻMMZosǔVmynjv/Rtd2ؒ~/븓ŧ(Mr1!H{J [?)#t_ Z%Fѱ4iKLw!T`9xKgUH{NKJC0#@i/;l%ET ~3)ْ7UA:4EI(VlDTʽR#wF 4т5#kۚЦ"6xP5-kI)$)E_/QT>1%&rh膥sePpzmHFw4՝%fY- ƽnlH)zBh-8(h2{:r.OtpL%ljK~Sqis爉2hzMD˚xtv%*<g1\w5P"Lh4o P;ܶ V` 7v%kÜ!ah9ir$soth2|C.!7t`)2ѸL`90X@|#Sa`[rr~( R9)b^]#CYSe)iF(`\yDtx]:Ik(E&hD$z-nh~6'kZB%/ǚ$y y>Kg>B߽~f+EB~_CKbyvy>K*N&db7a* p]`2%ZPGx$Qʛu*Z_} 7HS^*-8bZ BFkwpeA F2*sc3oU2jUiΆSWn'Cۙ8(p>-*VUg#c'Q/eJ/ &ϸ00~5U'L%({%[]_cW!d/:l>phT /|맖?/n@vh)WԳMA_/ @ꡊZwy6T׋-l\^E!9qg@!3ņǝ&3IK;f%:qr:.PF؎nlf]Ӄ`!,<8E0h=rXiVR q[-DzI>P&)1*)NJKɀ;{ӹ]8v0zqKkv=ǧqc1 &w2ՊFacnE=@lЇ=at0/F)ђ{n^`(mMM*I|~GXu0̨S9G̃ II=:c l'`_uƭY@Z. G #^d֯ ({mk) {sb͕(=d3/Ln4AxaA˗=π?M$'4}lk|[~[nK0[|<.l$!\a2փ^PK\NK%3?"py_dbmigration/sql_files/roles.sqlK.JM,IU(IU/H-J,K̉OIJJ/J+AV(W(/.I/J-PK\NQCf )py_dbmigration/template/jquery_table.htmlV[o6~~T/q ]Þ "U|CRRa/6y.w+,AH4 cJQM\ddf:|?!J02N$' g۲G2 #yz\rz# "LH$ v$+SbYFmk=7*hp+{7s;Pmhd]XF=/$ Mj|V!Զznv+!+CȀ[RكBse+wH+Q~аv9L eI }~_K7mí ba$ۮ،wB~8WLP_<ʎ V~9cjTl IkCK՚>jTQE0|,S-߼m3c;Ggʢt*-DLx*՗smN6_AfBEH*g(  5VSyz R58< yx\^-.o7ߌK,Msے`й{G_Q @k=ftdivUz/mjN @rHUֳ[]/Q =,Ci'ko7PK\NmN`70py_dbmigration/template/table_upsert_file_id.sqlX[o8~ϯ8uZ+J[ԇ -$lfڧ(%"A&N= Iis||&ܦm~_Q/6dtCsM`l[ ]#wjj&K&1"9x-Ҷ¸KtrvK..7.7!D!_h)s2hW/xo7HBK1aS.v]`-%~O>A^w2b88< * Wuk*+ezʾ^O.0\jc26óSơ0 LML 70 >(thن/m Chb-ܴd6حp4d-Vm&\,!0N>*\#(xې{˸ TBL Oʼ.;z Nʜ tœ4lďyܺ"W`0^_:ǝΉlU%fȘà&3^0j$Cha g0Ed4'qw8ji\CY`){Z^zЀ+ nL6AZֻz1*lz?ӰI IeVIhS)^!32rat|s׭m͛2?ј*xrZ+F2N^IVNCoZkM_fFA,JqN(DA4h VJѳ#N}=xod-MsVasˆXZ'Qm@Y~BfH!Y'Aa3/xE쇘vn~i™ScbZ;9Gl뛗9i(U, ߷;b|W8M6aMj wuf:!mrE&,qkP} }1&šnv bZɃwjeUOۭ[iݲ?vsI1 @x iOC\ey$ļ!UlU$}r$Kiz{9YHߠsįM,TtJRC"h bу>ރ7{5FրGbP6IT׊2j95w3z%"2TBZ7/ }a }.'RPvuO?Mߔ/o WfoRmsZJ>T*T<׋3g ^^_rFQ\<dP[4^?o&bF*T;/xPK\Ni('"py_dbmigration/zip_utils/README.md ,V(QHJU(H-JUHO.M+I, gPK\N$py_dbmigration/zip_utils/__init__.pyK+US-/*Q(ͫ,(H-PKr]N%"MN$py_dbmigration/zip_utils/unzipper.pyUKo0 W!6x;a@ל@$M InN-2``Q"HI2» LӚԃ, Y׼~ IM}-Qlo>ӲW{t d;ێ[1IGmyO\re Z5|V4uBӫV WgN#W[瀠.V8Y h\qd1Ko=+aF7\wR=+νcz,Vh' aL}$Hd$*O6PB5F!{[Esv*>nR<XF1W(:a/T 3<9sAdB\4 18쐹bo˝P ].+H!ûgc>~.RKZ`իD ^aH`+M6pC@-;!,sEULօؓeZl2Y3JISIQJ4ǒ?B]–ҔĹT862\zת(!m)˥FyBUxI1AA;-_r*2gs!nR*-\%3J!fvs\P8R#UI1RUe)yne%ZVtV9fĕB^WT2 LߖPKRNN %'py_dbmigration-0.1.1.dist-info/METADATAuRn0 +S/,ECuK$h]fl TPX"ԆM#YkxW8rQmaɨ?L0䜉YM]j}dhÀ#QwaL#|-s =L9|W>6SuX5ܥU2c@gl'j=N {ZgYm:g3D`QHx=Ö ' ,_n:gEƽ$&^=1وT>.sxiǦ%);YHqh`$+|`XՈzZT:\-. U_X1O=3d:8| R.vvvZ+Gt& SUH4ZF9|PrcBVQص J[CGGȐ$Q0sWŊ,V!1D-(`VE?w"7PKRNxMB_n$py_dbmigration-0.1.1.dist-info/WHEEL HM K-*ϳR03rOK-J,/RHJ,./Q0363 /, (-JLR()*M ILR(4KM̫#DPKQN|([/py_dbmigration-0.1.1.dist-info/entry_points.txte 0 @8$"!`mSt{Qg\sb*Bf v / R5q׎^4ł 38Pt9'+sPKQNHT<,py_dbmigration-0.1.1.dist-info/top_level.txt+OIL/J,PKSNhi%py_dbmigration-0.1.1.dist-info/RECORDYɒږo6~PD/7BEN[ԫ'puZVfIY]}>]Sb3>y0 B(;{ɥңůGjqy&PzTZXkOahaR~+ws;tDZ2jBc/0 :5?y^Ve}kwDh3.UO(ԞԂ*$/RŇ:$Iv v09 Ww 0,|ZjƝӉ'ح#G.^0&T]HStĸxI꒻$ ( n";91[\0NN=K?l\T 㟁Z_[P{} AHq8V]S @_ڀҭd13KVGyQ%.Z;1j;H)MHr0t]0dl;dbY?"ҨC6)ff y#*'=S} =lN +Q56KL22:tǡ"zS<[u4dR] -~Z[K#6U]%YUv-.7sS&,OCA'K;qL)㴃IbfY~5΍O01/iWYC䚙H@Sp3pp政0(^8$ M i ̄.*Ž nO&]ԎYQ5߆ 7PAT>{KF9r)p.k{ְA}:%X\1E-ɋK-o3v{u +tUA$Y> yqH3.zl'GCUN#?|}A=}H0&B]=cbf)x< >_cw|$[\+OZÎҒ|B0^G|k']ߔ>3wr*DZp~,1 R&%Quoiޏ uo(uA4f*1=<9az)5L1ϖ:0Fm?'}&Nh|23'p$q!F(@ɿςƯBդtJ!L:8u  (5F;|'$l>g~Q8iJf?S*\@ ՘vuV[? Ҝu[fلz@ֵ͑ H!ɎZv5]#G=y?k;zQBӚ,!.z!E&]bϟSb&zI\\EdX|`"s%#`HKi>Zuۊ*@/)[~Rٶʢȶ4~&h4w4>@ث:16"DVuoƏ,jn{dσMh=#Tjz%L Zl籷)磧V/_r{lPYI1莗'꿡j 3q~ Co2#= jg 4CV`͖VFĦ>úOL|Y* fw+ϭ^ω\m0Y@FCXw +mTB3?/vbQWc3+ux8`gU3IO,\V "q>aW|(f|3s?.ѱbsqJm TѺ $;%叧Q_Ňɋ{+@$ eaN[/z#|? >IX7 HIu slaapDdyCvYb/ W?&GGֿ Uj"(T1Ep}صY0<1Ψ_OIavWxkw[kܑ>RʵT#TH'Ho^+k ,/qBS'e=K,ᮤb#S:E W!M鿭x'(CB_4GA" YqzbY]Ϫj6MT?.ƞ[#撶ru;d+[2Z}W_]/l%ΦKn$ʴ0kw?%8zt_ k;u'p զ\Ri$ȎC6ZȨ8-<Gp~2uv|1_0^W͉x@YbPX#E^4oE: M5#8;1 9/3[;۾ʒ5?:%3?u9& R= t}vy1-CgeO9UuLzǔK4XXJ}6 Z¬i_D7#)@ZKx1 OGTz7'f}fAuf׻7zxK`onj>sv!UGGPzk2sZ=mU`M}2V.n( YwpӽBUẢwI+GTr-"o?ZV^&$&}̈v ŅfPK\NP8J  py_dbmigration/.DS_StorePK\NђUg@py_dbmigration/MakefilePK\NƩ,{py_dbmigration/README.mdPK\Nzm{py_dbmigration/__init__.pyPK\N:`6P!{py_dbmigration/__init__.py_org.pyPK\N.[XB| %py_dbmigration/build_travis_docker.shPK\NB^ u py_dbmigration/cloud9.shPK\N #큦py_dbmigration/create_virtualenv.shPKr]N΁x%py_dbmigration/data_load.pyPK\NMm클py_dbmigration/data_load.yamlPK\NM <py_dbmigration/docker-compose.shPK\NQ!" py_dbmigration/docker-compose.ymlPKNϓ -!!py_dbmigration/extract_db_tables_to_sqitch.pyPK\N[ !l$py_dbmigration/increase_ec2_hd.shPK\N3# %큸%py_dbmigration/move_schema_table.yamlPKSN^ >h$*py_dbmigration/move_schema_tables.pyPK\N|4uCpy_dbmigration/nginx.confPK\NQݝeIpy_dbmigration/publish.yamlPK8N!zu!Opy_dbmigration/publish_project.pyPK\N큏kpy_dbmigration/requirements.txtPK\N'!`lpy_dbmigration/aws-scripts/rds.shPK\NBB"큏npy_dbmigration/bash/chmod_files.shPK\N[fxopy_dbmigration/bash/headfile.shPK\N|{[lopy_dbmigration/bash/tar_venv.shPK\N1F'^ppy_dbmigration/custom_logic/__init__.pyPKN[1ppy_dbmigration/custom_logic/abort_if_duplicate.pyPK\N|K-_tpy_dbmigration/custom_logic/append_file_id.pyPK\N6Vwpy_dbmigration/custom_logic/append_file_id_w_header.pyPK\NP 7*zpy_dbmigration/custom_logic/client_copy.pyPK\Nf&+{py_dbmigration/custom_logic/client_copy2.pyPKr]N׸o#J2*py_dbmigration/custom_logic/count_file_linux_wc.pyPKr]N 6py_dbmigration/custom_logic/extract_compressed_file.pyPKQNܤ_0py_dbmigration/custom_logic/generate_checksum.pyPKr]Na >,וpy_dbmigration/custom_logic/log_file_size.pyPKr]N&,*py_dbmigration/custom_logic/pandas_import.pyPKr]NHd.-py_dbmigration/custom_logic/purge_temp_file.pyPK\NM˄ .I+ݤpy_dbmigration/custom_logic/read_from_s3.pyPK\N*N.Tpy_dbmigration/custom_logic/row_count_excel.pyPK\N#:(wpy_dbmigration/custom_logic/sasreader.pyPKgN}.@py_dbmigration/custom_logic/sed_modify_file.pyPK\NO!( 4 py_dbmigration/custom_logic/upsert_table_from_stg.pyPKNY[O ($|py_dbmigration/custom_logic/wyman.pyPK\Ni(''̿py_dbmigration/data_file_mgnt/README.mdPK\NJyw)9py_dbmigration/data_file_mgnt/__init__.pyPKN'4+[n+py_dbmigration/data_file_mgnt/data_files.pyPK\N`1 +py_dbmigration/data_file_mgnt/logic_sql.ymlPKr]NFw&py_dbmigration/data_file_mgnt/utils.pyPK\Ni('#7py_dbmigration/db_logging/README.mdPK\NC%py_dbmigration/db_logging/__init__.pyPK\NfXp#py_dbmigration/db_logging/logger.pyPK\N)#)#py_dbmigration/db_table/__init__.pyPK\NO'py_dbmigration/db_table/db_table_def.pyPK\NW l (py_dbmigration/db_table/db_table_func.pyPK\NQU(upy_dbmigration/migrate_utils/__init__.pyPK N_Xkc=+py_dbmigration/migrate_utils/static_func.pyPK\Ni('#큰3py_dbmigration/misc_utils/README.mdPK\Ny%4py_dbmigration/misc_utils/__init__.pyPKcNR'w4py_dbmigration/misc_utils/misc_utils.pyPK\Ni('#J7py_dbmigration/reflection/README.mdPK\N?:I%7py_dbmigration/reflection/__init__.pyPK\Nb,*8py_dbmigration/reflection/reflect_table.pyPK\Nx/0:py_dbmigration/sample_code/create_table_files.pyPK\NO1큹=py_dbmigration/sample_code/create_table_upsert.pyPK\NuX?[&(?py_dbmigration/sample_code/import_csv.pyPK&NE+uGpy_dbmigration/sample_code/publish_delta.pyPK\N*,큄Opy_dbmigration/sample_code/sample_tables.sqlPK\NK $Qpy_dbmigration/sample_code/scrape.pyPK\NÔ'1(Vpy_dbmigration/sample_code/test_data.csvPK\N'.Wpy_dbmigration/scrape_utils/__init__.pyPK\NC *Wpy_dbmigration/scrape_utils/scrape_util.pyPK\N P 5]py_dbmigration/sql_files/logging.finished_imports.sqlPK\N1|n6>_py_dbmigration/sql_files/logging.meta_source_files.sqlPK\NK%3?"apy_dbmigration/sql_files/roles.sqlPK\NQCf )bpy_dbmigration/template/jquery_table.htmlPK\NmN`70fpy_dbmigration/template/table_upsert_file_id.sqlPK\Ni('"vlpy_dbmigration/zip_utils/README.mdPK\N$lpy_dbmigration/zip_utils/__init__.pyPKr]N%"MN$9mpy_dbmigration/zip_utils/unzipper.pyPKRN\F:L*opy_dbmigration-0.1.1.dist-info/AUTHORS.rstPKRNҼaz6*Kppy_dbmigration-0.1.1.dist-info/LICENSE.txtPKRNN %' spy_dbmigration-0.1.1.dist-info/METADATAPKRNxMB_n$upy_dbmigration-0.1.1.dist-info/WHEELPKQN|([/upy_dbmigration-0.1.1.dist-info/entry_points.txtPKQNHT<,`vpy_dbmigration-0.1.1.dist-info/top_level.txtPKSNhi%vpy_dbmigration-0.1.1.dist-info/RECORDPKUU+