PK;tJu@Jsudokulib/backtracking.pyU]k0}{ }-e0 ۋ1Fod$ym'bN=~q?M "\ dqtqL*̔DiP~{ bmGinq6h>GUK|QϜ+T*^I 0j jb٭, #, FV BnbbOpip̮L׈aWsl=quRMENf987>v}PM3^|OMUc& {`n =0aa,NXeX',uL)nogpgqSt`S+LL3}Ze# jAmY O^O>{_OҾ<~;xq:َ5k,||uȽ`7h%׌Lw<bLo&_ΉCfHf8,̔xmO_&-R8+Da̵fBtAy&( >#IR}_(.$+D\J"8|\ Ϳ2C-9s$l64EEOJYyCj]+%Rƀ!AڀynVqƣE FSbUCFV+0}lXe>$ U8p)#n8>3*~C7:U1CpaMX'']\ z>k-Ǽ:( /O V5ľdRXȻ%͓9;(%chgU\7C 1Q~:iT dNRvJJŀZRkwv˳4 ^N1^.+Eh 0P謎oO`_=v8/n[2 H+R#Z4[x~?J8rKQ~Q*e*uV4@+1 |h'zcԈ|Je+̺*#'>݄P"Pa6F|lDynCSwl7bpPrL#V q 1v5٧&}h2l=^L Uds,-J` ‚-H {t u[ݻ"1\-c#ܫWu}KmwFցbqʁu1T] r- ͩ2JVV{u@.ZgVNNՕpBG&dg(lOOc:="g/ `JX%{}ۛݓtqL9P&QSqD֗>=}tR*4(u{:M"j*;y`y9L%Kn) rCJ,u >iz(P X_J:{PeQ nkYoP~+xT{;-iߕ1cuқiD\ )ѡ{ L#(x>6<7C2O)(#;ߙ'Zu-P̠Y-'QF]ԘF=M &>m\*^ǁ6sM{ 1ϒ8fjq075ikB'8^Їh"tSsv݇2Osrޝ)qVNc~ `W7s8˰^5E_{y4ʆ )ޞGa?'YfL ,S ߓ, ߏՇ<9yZJ`9N/טsZ4 cɬ w\7>wVi}ݐCm7*r[3!(Rա)"_7no Aj]Z="]u /7?Sy2w?PKGtJ_ssudokulib/__init__.pySRR*.M.LRRR⊏/K-*ϋWUP73Rd&BĜ]| \@Ғ"[b^I~nb X[jnbfD" .K.-())O,(MI# ӇQ8?xVAt|EQNx r|uG-(* FN (eD13ĜeMʴ 8v_}AR ,rqӤX@mOˮhc7#U. x 4 |hW>eDCAE,B3v`}*[+:% DrpaKcަ"@6b~zGy x{zpݠHޠAKfNm N].u8"ӥgc%cOaR)ECٖ^S9%Q _9 %$Ѡ}~E4+0-pOlp(I2T/?6U,?vAfo19+~OrUwWZLtPK;tJ9@J) sudokulib/tests/preprocessors.pyZmo6_!xl^/]?ami`(jqT l~Gْ%jLINN ;p1ԩq"۬3e{u0ϋ$̛@*;LY$|Hyu|ktBgx~7ˮ#_qNgAΑ~ߍ1uXUF5Zwb7:,L}e>dC>{F'`0380x_2f-¥g?k;j1:@:x2(nC6:*^iR4q ҡ_Uxp6IdZAoF: X%d8izRV貹AcH)&$D ;U#s!{07Pb%`(5BIL0dxEom`l)K#4]̅n&n(@! ՗z+W.Yٿ&JRUQ (Ee(xK]?ݒꉉ;p$BQg\%At^J*-mќۡ' "-4Q@'$Hy=s;P_X+  eV2S2%Ժ.#6ZVe3K ED2 fKĄ3w,;}lۻ] #+d{eԼ]_\nN*#}5|Hd΋Cp&=&a pԭcϖ;bǎ=k3*D6faTT]֗VhϚxQ34bڛXgXq8kHev=5)DD5$ Ph </mǣ @큑{011߲q˫f&2mssu_<qv E6V9A=/PK;tJZER} sudokulib/tests/grid.pyVmo0ί$kHJhS;UaK݄X0-*oäUHf$]9?w& Q^/eN&%NH.ڧE'\<%,*D9\_U?} 5] &{8gv[q* ּl;(2 خ5mfB@B'y"_K><4*4^V߃Xp1W7ig2//,H:ۮuւn/\UwLtN)uEcSPQw-u j.LSu6R3g YQ!쐐]2PuG~dv4 @.ll6gḇg 831uLDeBp; 9rp^FՓloyYAt#LD<Ise c>[ؙF?8gϝM<|PU?@ 41[YtAˠ48 F,{pcՇb[\\J0'*3yvEbؒ[{PK;tJZAZsudokulib/tests/layer.pyXN0}WX!ԡ%i0 4ʄԡ*4. ]>~qB$L"P97&^oJgd'{IӖI|GVQ9|G8}lǷ0qbhڗxJnZp4v.'v'-Q_ZvZF6W:Pڑkg'ӯg8]6%.S◦9t隶Gȏ0X{<#ra#0" cp %P&` 7@JM_ؔ@ ؔ@ ؔ@ ;rrrNH:9%WF1'y>_!A[cbG G@Kc%a_KhAÐ :rxxЄ1dh/Ԁ jJV2kY ހIZWi3a> JL7naa늎DbcuGXL~CλdmWЖDTl2"P2y]5mI$N&#"B(cJ_aSP|$XWب;l̺&̓]*42amtp@E+T{Ujobkj$wA)6%>j;{%^7D>}Td^(3ѧ$٪T( ǘF1`1I9\ 0j1aA DZZ2l''ZWeSQ=N:7Xhcv"QXk^&Y' g[q|꿉spQn>ggyS6 /o zET2PK;tJEX)d&sudokulib/preprocessors/block_block.pyWkk0_!2hj  Klaݠ,QRS[ v?I~IG b8J uB4KI7 y-WwNJR0^ӄ7_;mo>MnϫZɣrXM*@2Q+p;;w>ܡC{qz4Z\>2~4׽A4ސ ސ`tsOVH54:: JX_24?zQ9@(hЈ㯢,$\&*;H״ +u DmK`GEeos U(mhSNvG\Ѽ޻%jn'^vYXsb^i>Zm Sj'}NCE:A>PKjtJZ֚'sudokulib/preprocessors/naked_subset.pySQk0~80ː:HJ./h +`ܪQ leWĶ;K}}w'q[,XZ TM8] lUmAp{2_,g)|(7b/BrkWp( p |KZKT9TF`I^WpnNfK묟Xp W>$Q'ho$ :ڲ`uGPK;tJ]K+%sudokulib/preprocessors/line_block.pyW]o0}W\Qڲ*1i-]VI EnrSMY];|āaڰZ 9ؾV~^FE- ]uϿyFt <$If^TI d'E3AZ^0a"_]JMMϲj 0oi.1 !b8w=sESBdS&,DXKk!k(1V(<` 6fF ѧR%Y,#L0h{!HA%0&! N,/}'4FRb&HOH(ˀ(tc})ކ(F"aE8%#0Ϗ̆Zq81sxQ 89(ഈ3gq@֠L;,glXK9~.o+9JƦSꍼЕ#|^:e rQۯe-X6ws:=9* .̛㲌r cd1T-ps. ځ}-a3yC1p {b+s)X/. UZEVnrqMuZaMl+&Oн]5+18M]*2^GUd5qﶀh X/|%;~Te 6c;\uT[<)'&IvH:]Svm?3Qo7d^Cp{MCihvѿ7ыF#ߍF_FPKjtJUi)sudokulib/preprocessors/disjoint_chain.py]A @ E9EȦnԵx N'%iNt4M=%O^{DOmc+1;Wɮ/ĆE<: 4љBAlSњ8Y\x eo6~ѽyaRFMxPKjtJ>#sudokulib/preprocessors/__init__.pyAj0 E:0 In ]070Nd:J{IۤVJP)F# eN)v, O@yÏN^Vڛnw&F|45wԧ0Wp+(v92UrɍwwjBzղS!Z}_֎;;nꖩN&"dgI+m{B(-i~016˙ O",PKtJf;6sudoku_solver-0.2.data/scripts/sudoku_solver_benchmark}TM0W,]([X;"Jrw$_fC͛'ݼkJ46س^kUetChGuZf:w2b;ym S'& f<B1V5@)) P0(Mv+ ِb!7,HcG֭5뀰OΔd3qN{@ldC2"<0wn݆MweZQ+삪#deb$J?%/D鋸 4]'MvC{9H yAXCJcQm3e4BqȞ^Jv7A"\88L(wF;k-1>@f|eKg,4kpB,L8 T1bn8LdC?jlh1[H_:Zh?DDlUq48Rj C,*&k ;TMȚ~ cl[EoLgv*v$;c(9(%Ew>aX3 ﹟P̽VK T ̼yp}4݋6Ůގʲ^Jhw݆2GN!78 ~{[N8f\ 4hXn:5 ^mE3khӋD?A4dbse0ӎAˬO۰W@h_Jj҉=# PI٩#xš3 %N>sn&E_?PKtJ!|/sudoku_solver-0.2.data/scripts/sudoku_backtrack}S0+,AΒJ/ZcG- IN7{Gb~4ᓽхq3#5"d0~Ϩ ȓ rL4Ӡ~VSJbP+A4o3+9 +Bu#ru Q(9;@O㠾RN^X::CcɵȶτXtEDc58<]J#чg؉i'l;&D.$8蔖L*59T??= GHX$CI/'xl 5 3*t`CVeQesҔ,EҘc2qZ T(wGG& sV%)rNŚnjO\=.z0+_UW F6lOgJJJZCTܟ"ss;x|\2[z-M;xPG6rUVUnM_Mjk[yد-PKtJwZ -sudoku_solver-0.2.data/scripts/sudoku_indexesj1EphڀEcHTs|&7$(0‰!~˲^NPKtJI,sudoku_solver-0.2.data/scripts/sudoku_solverUMo0 Wp 9Ebl;Chw* AiG,5GqҮ拝G"oڽȦ5փۻSN*kA GM[adi4{lһ4NǬN(Y^tڡo#~$Idk 8oԜuD1#!iD95po{g:[ [2QwH٪bK`UeDs~b#,!~ŖAnDI.J}JtdZi('m I XP/`{g;| xP ec삠Wj}4NtOݞyJ u-CCVa^6Ԩ鋜0nA34H/tp! +i]Oh{2|>ef,j%1`cw.]_q ]s aS\p6\6_Ty  {yk'T]w>'tI4w UȓrsUDGsm%x_F*7pҞœqQ3;`L!e& yA1rٽTGG.{ <줛}-Fo힛UDDn~IABrՙ`{~]N.$w6Ae*^;><҃zr Fy8_G'\sÎV!糸eNV޻{bE.0X'Wg1l_퀛E #WQ? N*1Ff(YUdMySUYSYeU k:+*tֲWb+bX3VaXX)30<`]g)X:n/((^=<~s?S 㔏2xB޽7r~p`BZqnk~nqlB>%oPKѦtJ)Ւ)sudoku_solver-0.2.dist-info/metadata.jsonRM1 +QN *HDV܉; /%Ζ٪{r%~vκsP=XE/wIlU;BKi:LG Bm}wУ0cۢyWBvjNQ]L bIMuX.C1HgFFc b hszG[WCD#`*1>@.wڣn<F`{,ĞN\P!a%|5aC  <8P4~#K n1aG%?L׌#܉է:%|@me$#%ahe-?bJj\\DS *a)a,?BAQ}hAj wO%LkijuoD=Snf% 5RK4O[$v`zP؆cV]V`GV]ǨԐ(A+6V?8wtN>f'=~Mqr|MZ*Jyk5UŇ٘$^H1O2B FJ%ͼ,w{ qD9lc)C+tQPspBa;>qM?2;0 gGd%̳=\d0s\ 2D( ;nƛ=eq9X뽥d"8duxPJEoC(8"QyƊrQRfqY<)qRDigiʼHIϳ4..<(|8ܒ?i,]F8,cOU/cj./#~wn!CXLmQps~$O%6ޢvgWńaǶHnvYkZ+&z8ewYH1ӗA$ |N0 M`Dž+[`zt#`{DTa|r(ڞB^ httPUh }-ӭ_ tH h$TJH%ΞfŞlobAOeSص M\ E9㏂F!|;3`m BhBsILGlɚi,T\N\Z8 Ż}RcɄ,=BSgS~',_.MZ\XЂye.er,("3Jj-^#rR*t1}BGُ | @`dҵsF|Ni]pGFk{SrA 0~C`b4 lviה˃xp$UG | Ij=^X}$>'&)aO`UGK 3C(+/3ҁ?S:HY.됔k*%'\4 WX?d%8vb^#F";6\RHͯ5;n}[a}0uʹ0&/`RmPm2Xw̒&_󟹯틄!gNQieȸÃw;M?#۵\=q%o~:.ڹ+ C|`z GMf3Z^8c0k|Ys;ɦW<;7=Ω|R CmяtBpU\(,Ǔa4l(x?%f0 H3@ ցQ]ƤNR2sRC9Q:} }Z}> PK;tJu@Jsudokulib/backtracking.pyPKjtJ۾Esudokulib/constants.pyPK;tJ:.Isudokulib/grid.pyPK;tJXY  sudokulib/solver.pyPKGtJ_ssudokulib/__init__.pyPK;tJ pl@ Asudokulib/layer.pyPKjtJ?n$sudokulib/solvers/naked_singleton.pyPKjtJ|2K6sudokulib/solvers/singleton.pyPK;tJdPTP%sudokulib/solvers/hidden_singleton.pyPKjtJW&Dsudokulib/solvers/__init__.pyPK;tJĉXsudokulib/tests/backtracking.pyPK;tJ9@J) sudokulib/tests/preprocessors.pyPK;tJZER}  sudokulib/tests/grid.pyPK;tJ 0T$sudokulib/tests/solver.pyPK;tJ{۞5w &sudokulib/tests/solvers.pyPK;tJ Wp(sudokulib/tests/__init__.pyPK;tJZAZ*sudokulib/tests/layer.pyPK;tJEX)d&0.sudokulib/preprocessors/block_block.pyPKjtJZ֚'2sudokulib/preprocessors/naked_subset.pyPK;tJ]K+%)4sudokulib/preprocessors/line_block.pyPKjtJUi)7sudokulib/preprocessors/disjoint_chain.pyPKjtJ>#8sudokulib/preprocessors/__init__.pyPKtJf;69sudoku_solver-0.2.data/scripts/sudoku_solver_benchmarkPKtJ!|/$=sudoku_solver-0.2.data/scripts/sudoku_backtrackPKtJwZ -l?sudoku_solver-0.2.data/scripts/sudoku_indexesPKtJI,@sudoku_solver-0.2.data/scripts/sudoku_solverPKѦtJ^ +Csudoku_solver-0.2.dist-info/DESCRIPTION.rstPKѦtJ)Ւ)JHsudoku_solver-0.2.dist-info/metadata.jsonPKѦtJ3v )#Jsudoku_solver-0.2.dist-info/top_level.txtPKѦtJۂ_n!vJsudoku_solver-0.2.dist-info/WHEELPKѦtJ!"5? $Ksudoku_solver-0.2.dist-info/METADATAPKѦtJw9 "Psudoku_solver-0.2.dist-info/RECORDPK V