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(,PK|qN4E[Ƞ&py_dbmigration/data_load.pyko6N܇I&w8ā]5zE)oHAJ:(%93$UYst"yvvɺVu mӌuYPja(ކd &<- &I0\$ jQ/`F0iHi݋ӂ_b'Сy4,tz`G[ 'O@tLzGC~(88s>:yWx%u=i;bW`W|u */ eZ YpRbM +0)+yZUx=:: }'"FO$&h*3KTfM^Yt,Ӝ̸An 61Yf#@`"Vj>FS1Zso!6Y" emZ;0;?~ee{XX ",N"ͪ)9gmg]2aS/-7¸w?<݄oKkZd˥p~!-D MYWM8MY Yν2ۺ҂9k*-.BK#w5pkAIc,ch@!*v&q&ӶH..J*+R)dPSEmb fi؍ Yºz- s7k3dzes6ؘ|w ܦnuCg܌7tM$ggƉhLk\i9kq5{N[&%k (?~ϗ+FvBj"H8ݥ 'ChF^C8ɇSH'2%[Y3,3xh.+?};o ADc(@Z{Y!ZъBReE -ˊ0]lvvŶev0 Ѵ Ɩe26z 2JglZ{Y!fy ""6XkeizhK oX^MӡeE[lX|y9O=C?_Z+0zy5 }}5uSCXsl`ZKDW5uïwo78ZXy淟y1FEO -^_ ٱnG?On:Wm[/(5iCG+(Hʦک8B͍54;A?8[{ -1>ҕRy}{s > Zᡬ?K(h*,/B}>C!&[LGzQé'qlaER6{+'am8c;T:ǒa(0l&zPK\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+ǻ[+/8PKNNgHh$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ߏ/.>3q7;&NMpt(ʞuD˪i)V}tP.: z#FX#E @8tCPmT5(`g:]bxS:FX,bJy ,[;yTIIM3ʻyjj52F\ HSɗ"<96ZH4g'-9 b@!B.̪_e!(aHU#a@yit0_!#PJ'Z;T?ZLy 'I7 2y`W+g&/2{@@> \U:ЮrCo[ݓp>K1'з7fnh(rY]6.cwhhqPK\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{PKXNP u!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/ցhZYmft|NIƪ[RW#1NG)! gvߧ 3ǵDy|8~A,jb+lւ҅5kR_&2o[T⚷.ҙ-"| ϡ[(p vS9Vp5݈*FmlYuPʿ 9)\&=']FL(Գb)n*65lH gj|*ۤf(f|'nqrzv:WN[Cѱ+z 0`KLT3{\bh=aqY[2 aBjbhv@Gq<4xsjAcNX\꠮nTbP![HK퓣Ay[1ϩD 0A!Rou A1u]2/]0)ZH8%HMKvw˳q9yu2S6`Locq ZxZӝzBK2nZ UO7Lqyrz\Ӈ͵ [ۄő.N[A`'ATe7%_r&~)o ~2 ~nUfR!,pF6m2w~S4j?"b}҅Bݨܘ-Ok0v݇yS-~; PKaN<6py_dbmigration/requirements.txt11 {j< JK|)}O\x=jH,a.u`h`kŚ^U3L2E!qXkmkqRPZ727n^x3XPY5٠CPQ|e0G/%Y|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/,{xLPKr]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(~PK\N o  6py_dbmigration/custom_logic/extract_compressed_file.pyVmo6_qp>Xl2,/]Ѯ+l-d6)Tߑkbc"y7eB幐*ӎ̾Voj+ WLIHfV(sfY2o۶I,؜GTUvd6M~WtHV rH0Iޚ9VZ_ eH5ً҇g/X(x~OV%ڐ+xhR-*Kk~~p%AExg5K)^h rw9p&9Riw(a*r"/x{puL8fƪ2D|LlMB֘TZpkbśVig/4rM dJ:$Y\"ŨZ8rREwIeZ: 9lcΊ-i*`*!#:ah e:1:MvJ"\v׿ٛLNI_ mЏ\_<>y1Dlm.Gk~¯A'.Muu%dLkLo+7J>WffޙjGmrIbu^"{nA@(dLu vӆʣ(ӥTRXaxǴo4=>)RWT>[Tܡ|bx_ y%E0Fث!"*iIK>x5hAidئ>+=o%ţxP[𔟯_$yaMfTHeEޠ@]DiI mvuF֒AxQkZ+RӘ*qWuMtld4Њ$TmP +DniX8DFot/5qpi&HZJ0)FSkz~JӮ8Ǻ?PKN[ q3py_dbmigration/custom_logic/extract_msaccess_csv.pyWo6_qp,wfC8[+-l6T/,)H~ j rb3 K7ۿֻ4_7:Ba40 :u{o3\8g/1681S%鿼6Xb2f)*\kTqs4Jf1d /'/^ڝLd Î JK9s Ֆk-/K;XFLVB1:`".n(Rlm떋H-E5pF:5{O$FYΚ(_/|y1ֺTf [Ǘ tH3'޺?B(28p`Z+#jѺ?ܸ4LmФ_@Q E\!DFe8t&︦H 8qcƅ[kZ3%Ji3l㯒T8kJ[w-{؊JǕfuͧ1,@̜HcY&ྋ.`䂕B.,"E##fR ֨Bґ;sz- 7r[t$-P:yU佗[seq | (dj2F5$xSO3 N ˰6C[EDmBM>Q)J@.X\HQ3.%Pk(lB3 ]&zc.Ys[YrQȤ?`A41ڨLiE>" m|l,I0`"U\܊pdearԋlV>m]|wyzv+˻;mKll>6ɆG.Ryؒ;dM+|#{퐅TF {'DcTڇhX4 L|a-ڝG2hސ".N qj'+Q֨^{hҲ?a|wcWk4J q7H 11m*|07j 2zQNl{LB2l鵴[J;7Us(\{xgf0!|_{PKvN0py_dbmigration/custom_logic/generate_checksum.pyUMo8W ܃dPthKMdn(RKRqqt}-r͛7*0A/q}+6#@lxVt fe^ S0N*l^?Y̐LaNFwޣjʫweQe ^ߓᦟH?./|~sSQ`#d''T _:y /䉎[9z:V:&cB;0!Qpܨi !xQm92%j]` )iS騜&=ee㈶H>mi`X~z1 M3E@S~Qh)SAQ)y3#y%6+JH@t˹Cg?UjI*߆57FI r(\72rw5 }l^#,xmM,Iz8DtE[uH`NFdlNH]cpjSYކxx?r4=O7+qtܓ$Œ4zQӤ WIsN$̵"R33I^:Q8"j_ !3BV#8dsjɌaԃ+euuҡq@fڤM'Q,s(jJvc1$LMxmUya.MooRD,sQH拝Zlh{| ea# u1N4YIl1Xc~}FK^ziIaHHk"8]X?y7dgBtmd$ [_ohJRJkͱJ'Ո/@ j}n(\ӧ\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-44T,i^+ZF2E2Eh|#3ELgi+֛F.Y^1lw/f"-@#7h%Q='DgKє|TUZ=Jw5H-eV@Ȱ2m;-o'~ y 6W>=;⇇A23ie&9܈DBYlIJQ 31ibk&W hWiC}F4୓ )T8P2R^u^4>H,);ِ;^U$gDuS NV!F#T!yWB୴R t@Hb)p-*XyA %x ht,u @B LJ!Z'Plfr$(k*,f!2Ɛ}V4eth އpڼg̮S;TM)G{A<%T h+ɂY-E|[%+^s@ | 'w>r1\" ̚$^3acı cK iZ<>ŏOt0ЖF@IjڈStͤohkn6qGlppDJvϵJhKU0nQF)s/.'[KW51$IHclX$/,rHfvq }YI ^נAbN/n#{ !+b\ nX-" VA4xfU&O9EHq5׊ɐ.ya{ { 䛷ECÌY2-w  /'pTYӌBX>6Qƶ \ʎM(ݠ0[Sl.&3s?U]5 R[? A@Ȝy*2aòqCxߏ0&PT= d3¹@1 5:X\QÁ/]UM"!)L `cH WЦ,6bՃby 'l<o >9y7V>z6V62z&$⅛Rgm*Vv޼0;+ʱzz36X#]V0g44eeC W`K䎑 1SwۼN0&7o\[hwytMFX\;atTgD>Z#ojI&Ewf!Naz'ؠ[mڇmHWO[O`^dox|MdyvzziE~9p$/َfQ[%G\CQSllv],˳_GDGџBr|~v W''Ip|v~ztI7clmo*k$iE5xq}ED Ec̬CsÙHJ/(-th>lxHFt7 l&&dݮ" Q4HgC $fy̻jrOv<#LYAcA6[Y!$$8S~a4H M$ M19I_1ZT:[P??dk6'Ж{4܀YeP̦3z0qF}kc_{d0TSPK\N! m.py_dbmigration/custom_logic/purge_temp_file.pyU͏6W a'qH=4pblbݠ{ǖU}7$LJ&˧qM.iajqT,j9:V2/.nºoW'˺~zc+Iэl3o;kj\  *6`6n:f7x/RLRgi`ZlqҒn؂M;^'c>RiPs|fo")ȅZVF=+.Q^YJql[feQ,1'Ž|֟=5ԩ~.nzyڕ1d+?/4l= f9+d&ފ+h[ p^x{FE?Z$75Z!T%j=LT8˘8f#Shc IBc-̩|^R~`@G[q `zZBacEӺwa2čYJK311m矟+߇/3PZ޿[Y 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"4gIaDo+py_dbmigration/data_file_mgnt/data_files.py=o8spuIKw76K޵ K,y%In ?/9i}8 Ep832zS-^.~U޾|oۼhԷJox޲m{Ll2Km2 %E\RW:_IW*ɼN׍]W2Uuqoz: bXdIj^DHZ՚M,@r|X~)N} ԗIe3/XtO}?@&lQ'kUްۼ("/3vaҪU]޴,/5@QT@q/q0[Yx1fiUle\Ͷha$lrj4Uu;f4Lm]J_b˦m\}4 S/4/`S,( +Fў,^T5ˑlTY'_;$ /ax} ?yڲbiRivEEoi}`zGAH]Qݣ=4HR֛TRWM [*u]YU,q%ELD+oӪlrc@4UR4Nv 6 /cHFݟa ??A5j\A: P }KN2nd DOJBVuɳ$ű^l0=(`G1 WBQuU&Y]mTH@2MQ"l$Rݭf`wze!b"Mp3Eہ $'/Ћ@2%Yϳ)\&æwd|AneZ5o43 e 3vh O.VEMKzUj#a}8 B<."<; AfdTF>'],."ݤHF5Ft?m݅ԂK;}23x~lO/^N޾~朝fgŸ`讓h灣YO`@n1IޢmQ az(f%KsB"at\iyRZlމd٫) b4I} I_J6Ǐ$[&'@ /FӏiD^N:qyL&iWB*g)Z0h ąc 9ۄ'YR.,ik-%zƈX.- 27?wjmVk`f-ڀM@4Xs0$1m-WL~}w~88>?=BQߟDj&&pwd&ō ZBXb#q& kw Fr2>Fv HXMS2C9i ?1|ZL4f׉[8x|PhC1FSI9fn+\[vEU@P&vt_LUbFJ>F3 ߅Aw2j+k22/E_%ԥ°ND"Ǝ%1XXj |Γ˭nJ~Mhe^}4iHѧCu r2Y-%,Tc<5}lu;] FQ-+}SHE} k2H c%>ZC$°HroYd#&,\ {tma3L}c+٥KvECL J8{n ߽2Xylâm0bјEѨ+XʒfS0G:LvCV^/EM]`WT^J܂J݋]ɒePz+:ֻ$Ե 50 BŠ(Uɩj;a@N-#h "/Cџ?MQG_Bq$? ==hVhkYδ:|w\bR@-YU0 ЙmMx >@XOg).tgek34|hbe~}QTPD"ep|Z*6j ezv (NNcaZK?#ZDw<ݶt,:+ 2H 豯+ #aP=ݫ QSJe(X:S*U.玲=,\sz:5foN G6Iմ :,*%6N0 LLk a@"I 9[%kvOTcf>trvr|5sDBuw߽z{&Z+M25>ÈgExM1Le-`g&+t voB66#!?p2ʅeBӞVg\mkT",%iH @?46|sߝ95@k (QB0|`A'2\ BmIXVޓʍ(raU-Wϴ9?d=r,@v8UX P85#lV{U]ll*Y z兴Xm˛ƪxRYg̞T5$=TU"r 2"B'o\\ήf׳3t1|qv?HG]\N#,'W+W_+HٕbV|SV z+,?*d~1Ō`0xG%䡈KE6Bk~1MB] Xr|dE46al6zsCM&_ơE9i)MAԩH[՟)ym_rDJB92Qg"Pg*eZ *A6aRG`EvxMXW$\pj9F2ayK4`LPa{8 N$ua,T9͓B2n}4E:6n1= gjjiO+0A-<)EPȠ#ԴS |tl hoѲVMn8INDrRm%IqUQh` ^>}ڡ54֎0S|,~^JWaࣥY[)BC1>H d C钼)vDzf+^ Lzc0m wO:|ԒI>j1Oۇg=x%M ZwG}k3>.f!q ()(}\Կ7ݍ5V  )Ϲ6z){KY(OxrII|k?i׍-++55\zT| 0ήW9 [破$k0 c 8-Ў#kTjIJz;\h=aZڛQo*/2{t#JbS vU`z|"^*٣{iP[Q愠M8E(%ڈD2}AhǍאÔISH]Թʛq{1NfkM ] fxv:mLFZ ^,.=7Xt?' U8ہ*"4"e& ? (g6C`AacFgָH[SaH* L"lbt;OXO]8lI.J;F<E%~: /CP-%:U?ka8|Em{. Vn b{yCUO4|+v[("$Fr%kBhd]DX0+l;\sA_ezcQ8o8bSVWU2U2DS1)v 0?@݀` _qeo+N< d ~7i%Խ<[s+@]dgC`3Y;l LNݎu;oͧTgx..ڢT9o}Ӫ/@pc^-Y|6ŦzJa^5_w=/;7NmqA@Uʵ#tS:*$yK &DɿY3j{4&N_)#IѪrָAQ C͇%&90eSblbdvm͍@C6  0~|T}a͞wtzu«jz!;bWkHiyA¾13%'`dV43,s4b\W&0}b,x}ۈG%! :Fb!18"7dS}VBQ}&;uffq!gIێir1q9g%xߟ/xr0j=|N wGRa]|]}n^;%ܺ2:EG}gu#/Ժs eX:U쭓uIc=R|ETG#T= ʚ/: ^/wAY|Jt<ַA HDFCV?Rw{{%Pwf2_ܫRV`&9 #ǡXd䝷5Č}Nv-K`^7qY_ *ZaZxZ\!v"ߞwyupn& PH~',t+h ﰾ]!\b.mlF.I g8AbBBbl~'Z!x> QK]e} x- 9]$9X;\}d'|O0TP[,؝!8 y&.K`ɿfޅ)\cyX}jg7E܊?''H]=c# NTlEqס; 5On 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+7PKN.DZg&py_dbmigration/data_file_mgnt/utils.pyXMoFW,)D!CQ@piOAȡ̘2Kۂ7KR\J4aI̛C,/kwq)6WU~ya4btWJq% Ֆ񱿪iiUHcUC0ODE[*8 b w鄗/`\n++X||i6>٥hKHD+T&ni'dѐV庐 k!s{#tSqB' 2H}ƙ%J,Bs)2/E-V3/fY <}/:L$aT^5 2`a0.MX2\YxN*'h*A;XW!x>; Mѕx2F4&d!L7KΆS2bPՔ}}b:+˷. bZ0-!XvJYN)`Osۻ07O:G\ӵx%Q"DAHb!ފ_~TG8ʫL+ R-V * ]_(-'6}8!MUi26!gpA`8Â|+^ 8=o*t8VC>7E! 7&:QUoM)7KdYG1MF稄iPK 0Cw(7-H4c.*KSY ~xTqvԄ1M႑KN5"U-*I:F$dmL\?UE'U8Nr'ONӖ4aAH o<JncOi !ZF'n81!&'qT ©H[d 8BjHjx^D[:|OdDlO `XOq֘tq 9?wnn'>X8̖suY):vƳ~gO=,@q󡤇jf+\.\6jj(hCY{ HM]*܆A,._38h>?W*eȢk BGǼ&3G"4i+!Bɨ KЦ._`l6biaap5p̼=Ӓ6rǭ3q ]2/Z\IG&` kj:w+dQ6^RۗDs;͖$ܥWRPDN]Kc3wߠCHm;OH/9GZ8Z5&O^UH`1IeCGc<T$ZbޭFG_^Gi{ mP~Q`%"Kl[&}v#I]^n}ٌVGF{8T`NOA%V((NZe/7mV'gʰ~:]G9d)0'j)h1'it8ƙG9_*Iܦe.ݫT9>uL99=sd?Y}ӾÇs[o͊܅>r䂸}8*~>8| Ap`z牰 [eC 1;DX/@(tN}#}vC<)oKԚ؎Ī8k J־jPK\Ni('#py_dbmigration/db_logging/README.md ,V(QHJU(H-JUHO.M+I, gPK\NC%py_dbmigration/db_logging/__init__.pyK+US-/*QOOO-PKtNHhҹ#py_dbmigration/db_logging/logger.pyWM6 Wڋ@.]趇ފBPl&1Ʋy4D 2*᠙ 欀ף)>a`F.H->szgY6kc)`."2=Fi`21M^Gx|X'^1b(-BAwa&Bo~"P()9T{&|Il˵ߣ0g+ej?x0 m:ܶU7UdVkh^Y@M*Ggne{43LTc$|oNϱl $y뎼n<8U/c14eqEJm|Ŋ59*Y [)A'UL!O|>Clg@gC1cVl[8b0zS+i${ҤDR1@[.#|^ޛ4.omhQ@ !a-צWЕe0xDuqhN{@rj5bG:I]iݜOo9ENX`t,+-x*'zK[f%g$'xOz}x39+yXtȐzf*Mgs;\2{ dk!I\gA 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@*=+py_dbmigration/migrate_utils/static_func.py}{FߧOC@%ɬlzWvmg)("&%*_=E*vf&kNF&Q]]]]U]]Y^ivq[ c-+Է(,2[[[D<,\LTl꤭(SZ|0*sH&/ _|+&K(ü @_Ӆ%(..[)ݿY> i8}5tvF"@$u#%:~Uq䋗 |t yWrb)򗜢 :Zƅ89|Ti8E|@{d9bĚLc,Y9!F,(Cn_`/ ~(3pd%,y⢠, ([ OD^ v"c;:Ż$F*a < @I4XfVqw+!=2UFj{21&t:8 4~VڰJ8uO'a)T al7 (ěE \=G`qt}Xzq@e/EL0E|1 74Rii#$bYrTh(RI< $2 F9,LmT]Ya<d ,a[-6angL,h 5?I4A}HZUF+Uޟ9Y3d+j!bŞyQIxi}d T t#Yџ/a| DWsX 1TYQm9x{r縑0DxawQF I:v:9? utr_#;׃K>u"f3ב0:^o%4Քe=_It5 ʒk٣\ePo7^dUr=ՉťaM!6}`7uoː^xú  :eHQѩdwy%89I^<L8- \04]:,pHHtw_~g G(,'蚽ݚ KO ݈<(B,cS# ӸjtDy6'Pet݇/Q7P@̜$āSHVȟXt=(W$)ZgMyW6gHuƋ ?JOq|H?h^ȹyon1w2YUM->.\hf*iBk$&IH?Z5M͉q' $i<.,D&S$vdb"q9aQo¥oRy(Яk3eq}T{uҴ"MYbi|j¿KZ+"أ4#ͪm\΂nshR :t]y=0n`['Pmx-.8 u5۸;CzZf VT *A!0 rS"m5ZnI[%98dJ<<̒!>$;]EB{]4UP* h4)yPM6٧P+C'0-]f^^FГ$/ͭ[NA nnIVgc@=[.3 5tM-x@!G=yy >oǬ n:_qZ†O N+58ibdIFVS2a]i98%s6&Bt3IpCS#Ncxst V؇ A/0@ݛ~/K5Q 3a!IpA6?xqϰ0ϮiUU_ dP4&J#"ehD$̯Bkh@ZS%C =@v HP\\5(c;8 /qr1);{U|'ޮ&̯1s3=?L_hL!_D2ϐ;wpb PV{ "&Áܔdl}|1ҨoLU m#~Q,ekZ/6#E \UUul+FgLCIv, `]}gQGSU30L~M4Z"(H6JH)grʂ}S\I4$h6 G?k9?l8@ rXOq5O-T@(d[kUP݅"9Ɗb\R8@9eRzk,ƍ^S?-R7.z R5.9Gb)B:.Z.dMNC`w:ziq@?B1(ѣj&g!{NsɹXIRoIᇾg?jxX@ kE9hu4XES#ċ(:8 -A<+(J'M(mhȎ;_J:l4nR[lkwZ_@݄MUQT <ޕ/n*^!/Fآ2zU#5\I:$!Au 4H7:.1ހ24HI *0 ?7]IBxd^I펭W_-5YuPU-9hc~6hvG 5a?m0\._$BZB%ȟm(d*r+hr:kaj.C`~M([c@FT?-t4"۳QVrdpڭOL7JմY\̚` ZN")ƃZvEuau)ݲG\zG ɮBmW9x.M'G!0꣇V{+ Bv8SKc >Rgkq#.J;25^ Eem*#[#ɳL<(%cO($+3zn2^q @DzBHbm1&> <OJu"pѲe]ſ"N2QB9ڡ7+J7w8uZKqJg;}Wh0t5!fNw 6iVSFX[(ғ XNa+yFϧٵ48mG9l#۰j>tkpZ[ Kƕ68VY lQ•}}. X䟐J G%{_,FDu5TշzkY4l l1nFr ~3noϧaMQ74}LCQC+F531'6㦕O1D∖j׬u;Qf0e|xӣ蕠'|iӮ2NΊ!jMGD{nMKy ;YyhkjB1SR/ l}iƻqW|࿃E ∍;䂼eԾ{cc9A5c:w/JHe2G |v,f+5FjTlTd|džVdgǢ+P K$#M::?w4}3hxC%+*߷}B4x'Wζ.3 44YmC>tZ+~N͛x,g 5s J7j -Vu|d}EvAiL;5B";Sm{+ұU"Ŭ'umeGU@<Jť}}26v*<<$o\ѓu77?)uKVO:/C oW%ݾ;bO/#b!UCu?E_9vz uڳ0Swc@д`82 ȕеf ?ϱxɆ!f\՞/fPx;fAXZN'/͡x}x_t5߾yt|:x0Omv͂r{x 3TEΣC(b}{j͠jh@5Lhұ{ڸnh(8ڐ`le<û.q1P,K%fTm>vɐyw~kU&D?Fff#X1֢ \ч"ӑz΋o>5'鳒{c$e;qz^;ox7Xq$ܯ>1!}7ظ "v/x?݈9ܵt7Vq^ m؏6gU|KODTp4lL5L+*e V:o~Ua R6ev-=u/\P{dc=U]S6L;Ux5mdQ)M+^UukRfQJUjZ4ԍbmi*5o'/_Y[`! ʪe镧`Tq?.N 5W0+P"DPӤ.9X?QM6Hwh)*6~T$C?HIp^p7,]-g0}nX~i!f!]P4-w(g}zV-Tre*e'v7n:~d {vmuV-ST&߳!YmV2T'6Js?lX&/JG9c4k }(WwY= ]shw]~Vމ{*FpbHJ{.ZZPqvIw\qY^G4)+O'c+3Eq=izGM}=-t`\q)ֵvۑ.:˕UGP= VmZS'b'wk(;-#֭QPW~#f)3~yFN-s7~AAu"/:Ix1#Ջ6zx\l^  %8wK̙c^0hs錑1?+AWeKj*Ne_nz-p*DpC9ZF58/b\dʍqZiP֞O 4  N?~s3q"MmXn$ %ؘN +ؐiԸi[!t %QYi`@~>ee $/!> 5nt8&[cћV}Z,&*ATY&,r@'߸)J\u5SĆ2 2sYq9z!a!ތ3fNTbgvWqyn:oJkNʤx6{>Wۼ.ijH)@X(f۷? ZSrGx?/o}g_/.nA8vt҆?,/i(< }%Mَ I;t-_*'a)( BA5q/=9f1XF#0Pg+]3Jr\H]4O#lč!;-F|~G:=1>#C_9"P߃ei.\$ha<00?$WO& βhXRe<%4ѫ]mXy1_+ OK¤|tYD/ EoK#3.}ǀSk0ů|u$|ᐾr鉕Jug'vbj6XKt1-*OԓVbШf0ʯ+Ԭ($1S-[)(9 uçD&XlqJv={e3͉FE2>(.yn}SڏDVm>zGXP EOmW[7s=? AW=4yGǧG_^'o^4 EF\D:Fw_Н$ыzeS]*nojw Kx8 NWA{ tZr&Md^Ocz3#l}ybN1Mf jtʢ(w v]e#%jׂQON-zξe=!W}4׫Uk\އWo㡗S<u<{_sz`TF+a+N{+2+2SiΨZ#9{?鷅qC}OlT  zo0l1[vIN&I!#YeX"F`F:k-iOvP4B:v?EƿҸ+bѺ`lXTpXN=JOC5\+@`g*1`68T]O+|_/..z{uoWCl!biel*feB'*]gXVXͫ"Tpv7 GEv 5fWĠ ^UԭЎcBy̡Ld+ju@/"{N?\ YYw. Ԝue'ĺ KYw=8W1U%^D`a+?ƂMܷ]Zb Vl,Qq=@˺YfL D_&oy&zw)bb_.fs`_6qFglvrj]}&(hyERi  .07}J,.yTjUxF+? Ðju -ٷhy%< ZWNx!T(sȅN]Qs[ ӛ]XMD[kܟ|(:r@8uUf&V [9J@.JA^%UӔ3OP 2HR1.\ޭE^^1e~2s)_E>b/61uxS3SresSCҬO5Zg `X72ܭ<.Ztr5W$gѓt]0(H޳9K˛}4ȫ?4ƏyqyD}Oaԉg$xGP@5օvt'0^UVU ]c(E&aU}H3{49rla.@U%.^!xbþBG'OaaNF!~D! / x{`1^/ߊ޽'&24$D+?bxY? D=q@n//7?Y̕T뚽ԡJx,ր\MҔ T9V) P0Hxi%Et4AGǜvd: &RO*CyѼcOne|֥*coiƂzzCl4 X_"I!{ԦJ7y ?p+ ly8 VuZK6O 0t$))ar1)ﻫ7R%?F_42~/SȖvc Pڑu {UeW־eg(V^J$+gvgCwlQٔ] &۲`|kv`svۭlϵӐ]寱E7WZgn:z5j[٬%کU[5nٮECco߰۫Un6zgWn:!3Ki$h/԰D \(%4q3PT\E,/-SĂQqYd}lD7M <=.|3ٯ<&:VL0 r_,{ʓE!*qE+65Gm ULN\/NƨP؎%o$m|.yO|FhgO௹#]g)vk| vAJȉF3۳꧆UPis"Wew[רի1ʠ1da~gk9޹;Il7}ZTEȽ"0Ɔb0ĦbW°J́cA(9 2wn}o-GFk-FS 6ig5e4PqQ`J*%UDkz:dmz[ZC6BU{)6ՙN4pc@Vu޹@$i_t>ҩ2uP:+=P3ْ5KעX́*a8DxVE>\׉ SD> K>{hUl@:-3ϊ `|G$],=x0ܯ E#Sm 9;[v} C]iʹpEtݖàvXM5]^GBI*fLg^2̯t cSmZ>/d:^ꩮbUG.?=;"Y_tvrɖ~Z5]B-sSbZGk"Udk]xO&)9*avgz|#iMJCb$_ F5.ea/jͭINI t:ُEܚNm .lJ΢[iJ ?)hY7 ƒjeJy:&#LFc=famr0x 읍h+=뷐Ǣj JDr(ACXpE0@ξgэFE;*5XX mr<2hS*OsXS7ݻUVQ\~*NL\k&÷&a*;(Ѻ-7DYt>aڬ?T}2{ȗA3͞qƟ Gpy(Bx?%kḐF`WR<ܽ9IjXz駚gd0:_Hi,^PK4bx%ݎ-{V+ %6Zn0覚.Y^NEa>9A]YaU?[ϟ {' $8~+/lx RgD=>)Q k[f_4Jli(AF&遒65X1rY` I,-n,C#,g~ˆanߊYc4% ^oF$9Iɔu@NM&}wa֗*Ȳ ~=zzh# *\bu1ϑ~YΝ'={vnwNG)PX^-#1nI7mv(vjrC-zƿP\E 'Y]J;A*I/ՒD0_ۿc׹)6K,>v}.PKaN`0py_dbmigration/sample_code/create_table_files.pyS0+2@aͽUygu|pLH]H0 o)kyn#"XO[ƤfZ0qϊ)^BqAODF/yFsV9"j0VCG eB"iƜ3sYL,AُytlDjKb>SKi~nO/nN.`eg8p}'K;bzqn5 à-8a+Fk^ML6*ŀC -8kHd&E+fdÝ1QF&(nLÕmV߾17U%}zΔcTg/ŝ/^+!X/$ &(Sǔ5h1ўJt)aރZh@C}Np%&]1 iPxi>kR!W5LY2Ls0@y㼅2貥U~䶫%ekwA};M8Rnqr˘ϋ6vݮ'nb.ַ={3oO(ܑqnIi*Hx^g.5Iv|{f wpށJeC]@l x"A5x7Yz^n!7 Ӥyй2pDPKaN@y1py_dbmigration/sample_code/create_table_upsert.pyn0| B9(]qir("W[lK)NNp0 [>KIP Ī BI e-$뀉ǬVcS H]/Zp.4Gh8L+] ~.a H/KBg z+|yNΉ@ʇ盯A^n֛ض`I.qLeL"L@0GnNgqZ,觤2'u=NP.&( F2pE7FANk[嚷{M}by@0L@QH&uh򭨸IVGk{x_9t"2Ь 2@PK\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\Ns $py_dbmigration/sample_code/scrape.pyVmk8M7±`[B 8.9]BkkQr%~3K6i -h43 mo]^tRN?S5=z2YޯVv6ζA ~;<R\M>ʇ#yЩtC3ͤ*VV:zpse~;݅qT˙ Y w)X!g)Ӂ+S`Of*+)`Y~rK%UשzQʶѢz(W]1wTQH{`/&UZō;/䄞1Ei҄z];%Uڭ/ҊnU58nEIQ䃻2Ƃ˳?^]_lVe[koW) 5#WnLG3t翼x mARkZGҟ6*g=\:6_r+r@TY&h佳 >7^EVIp*s?=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ߖPKN?'py_dbmigration-0.1.5.dist-info/METADATAuRn0 +S/,ECuK4h]Ŧm TP&X3 {$ԆM#Y?hP8rQmaA_rV^MrĬẮu>2HUaCߩ[zs =LiץT]'d ihaզ)V3LAfϝ1PVީ;[@RYVp`6p`ذD5\B_guVȸ3CDH^g2']çż|/-ihmO;4=VON+*n9 Z#G,pqb^M-*xg ݾBըap]l\Q睫"UQg؃`}~٨^+G' SUH4ZF9|P`>!KgTP2=5mᛏbRX,Yjƌ٨`w/1.ϠK2C!qȔZK2Nͯ+>]`m1m.#<}q!=-r /%3ǒq&i|=ʴ 1>unw '[O&_pp?1_za`Yx1bsƏ Z΢pۓ$ o6CچEX[?$fĜCb>76?iZy_iCcmD;mZݷ6^fj9U3Y(!>)8 bpb o~RT.pe[*'p"Eft;輊I/Yi6֥S9((:gڤdM:v}y~1毌'1R)fQLi֪fʢM*Wr荤$fOV'̴L240oz&]j{'`_U]b bUZ).Mi|jn;\֮m#S]叼:hW>'btRR!'tK!n;٪_XyO*/V^ 8AYwAa\wr_(W/v0 6TMn@'3C[5fb| i9LP9t#\Y'\66&9Ai^/zW6G _!*в6ZDmJѫ4pnkJ<3 *RkGotEJ++8wP/ q>b\.C+E4ˇCeؾUlG7/Dw$gkפK:]2.9MP1"]Gtyc-im?L#7D<)Zc8kK@ɿ-sլbDUf!Z\|˂|N^7XAPkfv#N;ސ?>wV`bGY Z=q-k)m9ChqꡍCsi dBt'u*!% ɪnPkRfFk)~2grcx8Gw֡cfrT㮆/4BF=pPP3.JȊKӹ]o63LhHїUUq= k-x;| Xo*i4N F~Q|ypX}}Ia ņȍ@3]*w35djG-*w 7 3[W`j~0A-_ k# 5[hH\ksuZղm-/N{dIܺ#_u`'f:K'Ugɯ'?_s1=X/3  z M}04|Ru~:Kl0Wb wds}l O=D=ܓV.Sܳe) Obc.":5#k>aKЧ; s#R}.`g$ s wZC.Txh !$ud[=w>s~:ƘhLgƕr*6gS/?4s'pGiai{ڭ*)lHF7t,8: n!SR:]E/t8MM}5/IEo6?"zp0zAWMMF'ns=\V"#Z$^m.`\.OܶP)!S8[Y3%d܉DxYS|/¯sGsҟzS*k\V!]/=#)b=۲9>~qg?wD @26d\G?OƼ\ke( އ] ۚ_E@ˍQ+Nit&qIe^L*eR>': '9'5~dvX;*7"QGJ~蟩GNyk"LCXWv@kQ \HcoFQMIe?ffEuPqwЧ# CPYBsqe;,Ui^Iʵxtp @Q[M2:K,[: *&j'aa?s3 AY (H *wC0U9v_PK\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.shPK|qN4E[Ƞ&py_dbmigration/data_load.pyPK\NMmpy_dbmigration/data_load.yamlPK\NM dpy_dbmigration/docker-compose.shPK\NQ!J py_dbmigration/docker-compose.ymlPKNϓ -I!py_dbmigration/extract_db_tables_to_sqitch.pyPK\N[ !큔$py_dbmigration/increase_ec2_hd.shPK\N3# %%py_dbmigration/move_schema_table.yamlPKNNgHh$*py_dbmigration/move_schema_tables.pyPK\N|4큠Cpy_dbmigration/nginx.confPK\NQݝ큐Ipy_dbmigration/publish.yamlPKXNP u!Opy_dbmigration/publish_project.pyPKaN<6kpy_dbmigration/requirements.txtPK\N'!lpy_dbmigration/aws-scripts/rds.shPK\NBB"큼npy_dbmigration/bash/chmod_files.shPK\N[fx>opy_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\N6wpy_dbmigration/custom_logic/append_file_id_w_header.pyPKlNP 7*zpy_dbmigration/custom_logic/client_copy.pyPKr]N׸o#J2py_dbmigration/custom_logic/count_file_linux_wc.pyPK\N o  6py_dbmigration/custom_logic/extract_compressed_file.pyPKN[ q3{py_dbmigration/custom_logic/extract_msaccess_csv.pyPKvN0ёpy_dbmigration/custom_logic/generate_checksum.pyPKr]Na >,py_dbmigration/custom_logic/log_file_size.pyPKr]N&,py_dbmigration/custom_logic/pandas_import.pyPKN+ py_dbmigration/custom_logic/pg_bulk_copy.pyPK\N! m.Opy_dbmigration/custom_logic/purge_temp_file.pyPK\NM˄ .I+py_dbmigration/custom_logic/read_from_s3.pyPK\N*N.py_dbmigration/custom_logic/row_count_excel.pyPK\N#:(py_dbmigration/custom_logic/sasreader.pyPKgN}.kpy_dbmigration/custom_logic/sed_modify_file.pyPK\NO!( 44py_dbmigration/custom_logic/upsert_table_from_stg.pyPKNY[O ($py_dbmigration/custom_logic/wyman.pyPK\Ni(''py_dbmigration/data_file_mgnt/README.mdPK\NJyw)dpy_dbmigration/data_file_mgnt/__init__.pyPK\N>IaDo+py_dbmigration/data_file_mgnt/data_files.pyPK\N`1 +py_dbmigration/data_file_mgnt/logic_sql.ymlPKN.DZg&py_dbmigration/data_file_mgnt/utils.pyPK\Ni('#py_dbmigration/db_logging/README.mdPK\NC%py_dbmigration/db_logging/__init__.pyPKtNHhҹ#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(npy_dbmigration/migrate_utils/__init__.pyPK\N@*=+py_dbmigration/migrate_utils/static_func.pyPK\Ni('#;py_dbmigration/misc_utils/README.mdPK\Ny%C<py_dbmigration/misc_utils/__init__.pyPKcNR'<py_dbmigration/misc_utils/misc_utils.pyPKaN`0t?py_dbmigration/sample_code/create_table_files.pyPKaN@y1HBpy_dbmigration/sample_code/create_table_upsert.pyPK\NuX?[&([Dpy_dbmigration/sample_code/import_csv.pyPK&NE+Kpy_dbmigration/sample_code/publish_delta.pyPK\N*, Tpy_dbmigration/sample_code/sample_tables.sqlPK\Ns $KVpy_dbmigration/sample_code/scrape.pyPK\NÔ'1([[py_dbmigration/sample_code/test_data.csvPK\N'[py_dbmigration/scrape_utils/__init__.pyPK\NC *)\py_dbmigration/scrape_utils/scrape_util.pyPK\N P 5zbpy_dbmigration/sql_files/logging.finished_imports.sqlPK\N1|n6cpy_dbmigration/sql_files/logging.meta_source_files.sqlPK\NK%3?"Bfpy_dbmigration/sql_files/roles.sqlPK\NQCf )큵fpy_dbmigration/template/jquery_table.htmlPK\NmN`70bkpy_dbmigration/template/table_upsert_file_id.sqlPK\Ni('"qpy_dbmigration/zip_utils/README.mdPK\N$xqpy_dbmigration/zip_utils/__init__.pyPKr]N%"MN$qpy_dbmigration/zip_utils/unzipper.pyPKN\F:L*ctpy_dbmigration-0.1.5.dist-info/AUTHORS.rstPKNҼaz6*tpy_dbmigration-0.1.5.dist-info/LICENSE.txtPKN?'wpy_dbmigration-0.1.5.dist-info/METADATAPKNxMB_n$ypy_dbmigration-0.1.5.dist-info/WHEELPKN|([/[zpy_dbmigration-0.1.5.dist-info/entry_points.txtPKNHT<,{py_dbmigration-0.1.5.dist-info/top_level.txtPKN?Q%^{py_dbmigration-0.1.5.dist-info/RECORDPKSS