PKOWnI),zznbopen/__init__.py"""Open a notebook from the command line in the best available server""" __version__ = '0.4.1' from .nbopen import main PK"RnI} 2 nbopen/__main__.pyfrom .nbopen import main main() PKQnIqw  #nbopen/application-x-ipynb+json.xml IPython notebook PKRnIi97nbopen/install_win.py"""Install GUI integration on Windows""" import sys try: import winreg except ImportError: import _winreg as winreg SZ = winreg.REG_SZ with winreg.CreateKey(winreg.HKEY_CURRENT_USER, "Software\Classes\.ipynb") as k: winreg.SetValue(k, "", SZ, "Jupyter.nbopen") winreg.SetValueEx(k, "Content Type", 0, SZ, "application/x-ipynb+json") winreg.SetValueEx(k, "PerceivedType", 0, SZ, "document") with winreg.CreateKey(k, "OpenWithProgIds") as openwith: winreg.SetValueEx(openwith, "Jupyter.nbopen", 0, winreg.REG_NONE, b'') executable = sys.executable if executable.endswith("python.exe"): executable = executable[:-10] + 'pythonw.exe' launch_cmd = '"{}" -m nbopen "%1"'.format(executable) with winreg.CreateKey(winreg.HKEY_CURRENT_USER, "Software\Classes\Jupyter.nbopen") as k: winreg.SetValue(k, "", SZ, "IPython notebook") with winreg.CreateKey(k, "shell\open\command") as launchk: winreg.SetValue(launchk, "", SZ, launch_cmd) try: from win32com.shell import shell, shellcon shell.SHChangeNotify(shellcon.SHCNE_ASSOCCHANGED, shellcon.SHCNF_IDLIST, None, None) except ImportError: print("You may need to restart for association with .ipynb files to work") print(" (pywin32 is needed to notify Windows of the change)") PKUnI[WWnbopen/install_xdg.py"""Install GUI integration on XDG platforms (primarily Linux)""" import os from pathlib import Path import shutil from subprocess import run _PKGDIR = Path(__file__).resolve().parent if not os.environ.get('XDG_DATA_HOME'): os.environ['XDG_DATA_HOME'] = os.path.expanduser('~/.local/share') print("Installing data files to:", os.environ['XDG_DATA_HOME']) #export XDG_UTILS_DEBUG_LEVEL=1 #DEBUG print('Installing mimetype data...') run(['xdg-mime', 'install', str(_PKGDIR / 'application-x-ipynb+json.xml')], check=True) print('Installing icons...') for s in [16, 24, 32, 48, 64, 128, 256, 512]: src = _PKGDIR / "icons/ipynb_icon_{s}x{s}.png".format(s=s) run(['xdg-icon-resource', 'install', '--noupdate', '--size', str(s), '--context', 'mimetypes', str(src), 'application-x-ipynb+json'], check=True) run(['xdg-icon-resource', 'forceupdate'], check=True) print('Installing desktop file...') apps_dir = os.path.join(os.environ['XDG_DATA_HOME'], "applications/") shutil.copy2(str(_PKGDIR / 'nbopen.desktop'), apps_dir) run(['update-desktop-database', apps_dir], check=True) PKQnILnbopen/nbopen.desktop[Desktop Entry] Type=Application Version=1.0 Name=IPython Notebook # This is for opening files, not launching the notebook from a menu NoDisplay=true Exec=nbopen %f Terminal=false MimeType=application/x-ipynb+json; PKVnIք3nbopen/nbopen.py#!/usr/bin/python3 import argparse import os.path import webbrowser from notebook import notebookapp from notebook.utils import url_path_join, url_escape __version__ = '0.4' def find_best_server(filename): servers = [si for si in notebookapp.list_running_servers() \ if filename.startswith(si['notebook_dir'])] try: return max(servers, key=lambda si: len(si['notebook_dir'])) except ValueError: return None def nbopen(filename): filename = os.path.abspath(filename) home_dir = os.path.expanduser('~') server_inf = find_best_server(filename) if server_inf is not None: print("Using existing server at", server_inf['notebook_dir']) path = os.path.relpath(filename, start=server_inf['notebook_dir']) url = url_path_join(server_inf['url'], 'notebooks', url_escape(path)) na = notebookapp.NotebookApp.instance() na.load_config_file() browser = webbrowser.get(na.browser or None) browser.open(url, new=2) else: if filename.startswith(home_dir): nbdir = home_dir else: nbdir = os.path.dirname(filename) print("Starting new server") notebookapp.launch_new_instance(file_to_run=os.path.abspath(filename), notebook_dir=nbdir, open_browser=True, argv=[], # Avoid it seeing our own argv ) def main(argv=None): ap = argparse.ArgumentParser() ap.add_argument('filename', help='The notebook file to open') args = ap.parse_args(argv) nbopen(args.filename) if __name__ == '__main__': main() PKQnIXz#nbopen/icons/ipynb_icon_128x128.pngPNG  IHDR>aIDATx]|?n:IH t*z@Il(?TTTxz/TʻW]x*^#tA"] ` % )Mμs&͖I6́Nw72eA{b]HD´dYrr5T^L=eѢE,\>և{LgM2ɿɯZ 65FAAP677bV0ٳ'}v !1 / ^OW2 KV#$u&Fӱgߧf@ϥl:5 ŋ٦ 2WP^m  +?_j?d6w?kq'u$]OA\ GDDQa0" FSO9{ݺuG*:R}JPe F3q4dnS`б( մQwBZ<Gт!hLWt% P[l3g\hk̂2d2 jjjt,}V*l`` *hLB$¶u5~WpiHp***th'0hKRRRXB1@?>%#6s(^Mhm>h@VVr̄h GFR=PpxJ)J\ Ihs*F@ARJCa dضm̞=[ BuphN0-ܹ.\2v ݻw$;;1(i('(kT+H p NhDHExD`7z8!>Ђ̃N:ABB ѣpM6lz+Q8bcZEK&3(wZEx"| ~.ؙcbbԨt:DtDD zвeK7n رc/p9!i߾= D-(ѿ{Bix< Q}J(Cՠ}!ў0+srrիꢢ TWM#qs(ASI!<<<F, !la믿`ԨQ.(m۶@vs BOEڏ5+ZȠAЋ$Z2d޷o;B|'04"Do"] @>m)5IH|pq1b 󭷷k׎b,wph+\DAf/nݺ @ Il.Q衇Aff&7[NۆA=#<6mÞ': BB% @!ȑ#ٳ  ѣGwE{a!v~xBF=#w4M'N%kIh"F +h8^f M)Jxe X]ʠ3E*s0,1 Udd$Jąڵkп oݺŅi;2iΧ}W\ĐdP(PI + @%|nʩb2Z~?7YGУGر#Kag# 1HGOFN\F dfddpN'Ew$$H/^㱔%ǑH?&HLLSN( 1Ժ;2*IZhQJjCFh" x'N41됾' D4*RyMȅYp!J7_~?YiHa fij5Ϲu.G{D1]QNG6Yݨ/aܹзo_ ! A&BE\?k$dq(a\ o$|}yo 3]L߉arJ}6NSSN`EIE\mTC(@8FM;V~[;gŴ~yqU?I"¬mB`-L0m hJD^$69"muE:+[lE5N3?%ltPV]蛵@F" Cdhnٲ3d)ߏl!”.n*&Lq]׋!lCBe$p0Fe>sA.&<3.ȵl 7N]/zϪ FOc IQMA=FB5cX0)Q+Xa{K~T)=&4yٿ?E^}U3cDohNmY㇈*{XZeץR`3DUpA*FWR_M\!*֤7xvJZ| [Qc4d+H4A6v ^õzJFǎ+ 4bӦM&@g<쳂 nqk)"dh"|~RX|DUD$qb:$tjI}SE4DW_}}]݄ [; 9oODcFchPʑG߀* 24`Nq긁2()F " !"X ϟݏ1$G:F!N!G*9>pAPI'4"2R-ƜskaڴiNy]RS L dP]3^xnӿpk*Cn9Ixuz!Bj*>}3 tD[w+VT@-0z\RGl`0"LSiks,%hw*Tu@Ci JuctΛe)xk.'KF*`!읔lJDUll.̯b"B`Pɓ'qxZ(zYƦ ͢3br#jSv0T0٘6@-$3FF[d\8v%N;wrCp0Vg707aD;*e˖qAFSaQl`q:\3ţmF9s^=g`/)M$ s}kkq8#= 6>+Tr*9J^t)\t]nݥO_}\WsrƏq̵$7'I$^& C$Ca L3y#0~nWK#t]P ȱ:xҹA˸}ZN.Jjg"স[$O"|ĚF p6 l? ϘgXw:e̳`,GÜwgeӌBszv(1g?SU*W1\^rX@xbS=3^6ˢzL4yvzQ@ lQu>@XP׫Yg 5K !H 4}f0:M{>)A}0YRitQPYŐW I @5p-,б8*5GRaD HN up;pm(VivB@6пkkF\?87iAđ,z58{6->tnxK>.eWåoZx]a ӿT5X3i~Bg5qfqkc~xϡ5agoeX5s[Dat0 r+X{4ٍ p?|iLjZNQl>l 8]7|MLZq RC/Rm1wJp֥Nq %xH̑1G!Ef&v!ђ@*sh|wd6Ml`|b|d!z(: ʴ.0Teae`mΗ{!#;h{f=A m5kK ŗ>|u̯=7Ul|iUNf}%]Ju$X,sD`p"{4gGJNB}'(p@v`UPXGcBFqWDkYmru^Dj0eYHuLO͠w:?SB{WvC-Q'zx]^dG}[OȞ U}:sod?Ek z?ܟumcc#E3" <> P%>|q`iN>Hnv<|<,ϷcmcEo`ɥ]ya>QLi//dV4v`SVS\T’rFN4>->m /$+{[qi1]e$o'zupF Cw?5NFyb"R֭#M *ްr@}A ԔQ|ݢVDnj:-XXp {";I~qY Ug$\%x磌*odi: pPAMInՑ f7ŏϨǗQ9{/ %Ŏ-[z5Aֽ,77'e"Wi.΁#K-f`!nh7).ހj.E3{Y,) F  gNLWߧBcu 2 žz~mBxpopJÜ}Z`4*g'vPǰfܺrbbbgږfy0{wJìUtKi,.c{< Sv;!..|i41wn`gK@Z(t!rWǽFFwú 1ӒlH^FVZ퐱]=楿D;mG+5//Ն-pmPFox OϘSw`.`A1 dtڼS~߭mXܦr esvc7 `Q0kN԰ ̷,YHm`0ѧ~UM 5=c˙k\bG.x(gߪlm=]3&m]w D#i#9F" IENDB`PKQnIHԜ!nbopen/icons/ipynb_icon_24x24.pngPNG  IHDRw=IDATHǵKSao_7 A):3tԫi2$嘤"6qa[ 7jj˙VQjE#knf:|9܍D"#V N4tR0t~JɈl%6ͧhj zm+w-R`)$@& ڟʌ}/Q; W>Y: )H:[뀏:˂$c"BgCw {BT@E힜$BX{Sx2c* Hh"VE4iPyݳy@@lo0Iamci9z_c-$*9koPBOO >qŅΑ94|<GN`S9°?_]#N CJ3ƃ3-) dP{ӏklnBNEE[`pLq7 _% 8w ;D7}5]~'Pc'bpي. x_lilVP#'jSQe:Bl+-~f@QC Vn<48Dqg&3\S M&Qј/sT$gh9B2oȒIENDB`PKQnIyQN@N@#nbopen/icons/ipynb_icon_256x256.pngPNG  IHDR\rf@IDATx}U鞞H0 QĜ]sׇoĸϰ⮮Y`}DQH 309uw+Uթ~zꮪ{{ιc$Z'^, }Bcst$N=[=3Eq%\|܆ ,El9̙c=o'zG%D"C@ ,gY ,m !9xt~;u$\=?;IM( IIrhEWF|mڴB> qdz[<@HII_5#8p@}ffNI!&IA( ! #?FrFyˇXњ,!?JlR]]{SghnK c$EeePB*@ 9 yk ?~xMl܁l,ܱؓyomIn2)NAV{/3!K-.eY`?[CVVK!SK!A XMģC2w4,2}Lkm% w2V$e(D@G.xDTs"F>[YݎAeP@x?l~ ݽ~VJUpVuEsk{HM7a8}8db?HupqIAgrСLBlbd!@ln8m,{=GB2c G{9k })[m-u,|y[ 2 K[e4ܟ7){f9 L E:>,D %ԩSٓ*b?v`oa֞4vXZMCsfQO#- NUUUTSS#GgoCh5<ߖ9">o/a$X\gk-`&B  rS%# Oaj^~LAoEB4fPjj*11SvZآX=2JJJx4?<ϼ7OsW1E|b!|W4&M k|$n*k;vEɎK6$6M[EA ~}?*N#؂sr%GfDlل :tO[K0 8xh9?m6_iƍJКпe0ɠ/Ch=UL v| ނ RVis4`"q D`S dnZ+@ҥ [>C6ltI~ rssƣ<` a# a'  [4j@L!wk 8[D8A<{wD @4dv(dm`*87q|6%d7;i˖-\,c0"`AğWԸY;h&2P& 0( "ÐudG!N 5;Dz8x/O;.e،0yT*bO68p)6&Sh"F n)Clf 0u^GP}Z}1E]d.L4S޿q|L7xD*#s{~ݖ[.k kKʚd$۰5in0cO˗˚L&p}>t)Bk׮mӓgX_ʣ~ο)&?F !\<Lp<?\@\j !Aݺu#!hq'_o=X#8Y;& LhyHl-?OG nɬȚraZ H3²O?T^HIP㏧k,rxM[x|-HYx$ڵf H!#G/8( N;rWZx=C'5KXwTH4LaM  @@h'f_f 8W^L-@OsϵN4„4;YŸD a$ nxᓇ9`,A V"\ڀc ™?=oXיH;2aCQ#$ @ aqXـZӔiB a# 7pWCmo)/rx hOH(SтX:"$ĩ q8޲0+'go-5tT V0M-@@‘B#o@0M2E&]Wߎ[,~d%)@4A )CH8h>d/@@ še hQhѺ_"P !9D!(@K2#@J2M@c4:DCC8%ADJs҉;VaY19H.V 6''Yz5p !!pՄ4@0EH> 226}*;6`%a-`ʌVx 5  V"FĠ1y)rA"ShA+c5!8O5XS_W`61$!LATn߾]bV?ݡ5AH8_"Д_kP-S$6m$g6oKkSol|" d?A cr:q_B0hact#"_CS^&%[R DҀ߀ӟ1ytg?$*Ú-D +0XB! `I@h"R7V-+ T;pіsr͍5./#iS0"]^oG,/_++iϞ= 3!X mEK84% @8HnK/$zH4$9={6]{r+l%Kda gcW?{é3E,A ${E@ fϔ3:7“guw:1Ŗ9Pe|W_ lـ`WhuE3y$(6+! LVJ-@\ѥSBۥ1EPJ^ ԮJVӋMCDB1M? -=ni$XߡՀ1-ʥ"~M7~`io@tRN+`fUi|AH Sq ĦFmz~I+kNDXX?K ⽲k2^uCSy߃.(jPZnC@TB`aÑytD)WZE}.LkB_}ԮCf|o%Et>Tp i\xR.ktؑ ~mB*4k)ݳld?")okJrĵD۸qϑw6oB ׋뮋j49ÂpR?W]J?Z9͛'􇒒:sL[F 6G@v"+Hh~Gрb?E}Gz' `4`a_Es laaGR8ǎkH߿sWK{3BH]V*]8fԪg {z SP˽tDuw)Nna!&M2D{D %|&@Ph 7tݺum^x!-_=r4m4i?Ue izDCgCS$Xt)w}mF~O?tP 0#&LA& ?".2D03Pp̙g?v<qС%HtD Z | h XtsUW>{utb g >e(́<2H *g}F/b~9:wĦj67J3,@pa:*5khܸqcL[EF75Ez}b>k;2;UӀ (`R`K)? zL!Oy䶓$ѣUi&Gώ;<s="1$FY`S9!P1*APK'q=ȂIEA~~ެeZh>X;a„ @>IRH@hQRQ y9Mvdtr)ꫯ65aNѢE͟8jt lYO~~ U+ự+\NU8p x{{JaFy9`:|ao\:PNXȌH@ϟ"WX`+X $ @G? 弓 ˏ"5HKOMET^]o*e|TÇ!p}S i:^^_ƽ3KTK `P@\^~iU HÝS}}ʵpkWlF8]ZEaĿ3VY50kDUnݺpk8j? g"9<ی .A a'LF TT4{kJ{mݺU@Ts##Cޚ1}v)@Jhp$HoiYsA&\r|8zaOO>dϑ9;xɩw1oKzJ5z]v%ۂ%sDi3g SBQiUc*k FH R)Q\Æ ;bkeXiiDK^D0ܾ^|>.!Lsj.qa#2_~YNn?@ t:%Es@xw5RH!@߉D W\qEDBN~HAf00[Z_@@5駚'tf@ٳ\ZJ}>8ɓ'9J91퍂ӧa=vzZ+{gzCu |ç'm>`瑙HIW_-x^p|+XD 38#*kN4_*n A @@@ a B }T^W >KL7O@co{iծ2_8 jIc+g~w|>\O@h Dߏi @ d_jL  he ",*ȶӃgPbw;jEDG^xq;H>,K Eu ӯьoP]金F?`$/9 7'NA[mGż_)3ώ; ,쁅_#P@١=O6V8$|7{;Z&/ .Qi}M2/\Kst:ߗBp _ؗ wH}*}8T4NJM/ aȡwi\9 ^/}Pg_ 0~ ^_*\+ %A4zsfwixQ W9$as9n8~K~7*FsWlQּfO?/P@>o& xGAc7ޏ;7E~}- Xn\Ҽ #$7$/} g:(HjW =80txCTD@b xʑKXǓ}I H?zi-!:IF45 wuu,]h_aIJCHh~IjD@H#yOqsG_({ ^>IcAfBԉJ* j`ڼe?xHnO^9 }$94 У1iH\ázym3fߎ(ECpZb2BϽ=" 0)|r5_洣g̖4DAs٩6aDkE [b_ Qg' zm f, -F@alB:kSCr ePă*9::TYO+먼r6+gQ;n)-z @l3zӷ{ G~AM>*w}wm)xzjlr~yL]h̠42)brA_ 4fQIT&:\Z1瀖):m#G_Ckw> y8̣[ ^L/~@`BBɂZ{u$ MҎR9O?ۮdQ 7wAJyz zBV"-Ѭy񔟛d9%MQ(g VkAҐPcciLog_ا-PDWf~,ARhnMڽtӟK6uK)1d$S腙i~)~"mhi48CeESI>T(׸+r۷hh@T녴w^z4 ?Gr -n-7鴬BعpX1>JhC7?p0(ҁ'LRSOGQʶSF6HƾȳX<V{ZPO}y yQzhɒ%4nܸXuޝz:~Rc>9u=C=lhӗ_0 Ճ,NrJd8h. Fϡ'V I+W{'++,fCNGgxZ,"_\"TJHFvHkZR~&7$6W!O{Cu9StI#觟~D=]P}s醇)D4IC ;wR !ֳӽ}dۣS}# I/3V\bLKA&}!q!dilKJN79i錬``z%89jfSvvvTOMM{t58+=n0RHج:@" nGѫo}W`kI:v`r '/5cq۾" ?\XO`&Ua $6$7iw}!Կu{2{(C}(Ϥp -{9JI1G޿y 3˫eJo 3ZJw7?5VnD*Ga@<|&E+ИN.4]oyhчCx{_-{T}No#8_'upieit܊h]5.ɋ{~mɧz եЯ* 1iRn9$V8+nᗌ صR_]fq.־}'b v@9:Y+ nsu]vGМ(% /K)))t}Ȗd;z rek  + E1|FsXKwHlF~z0LPw9tr^{ieg 74.&AuQy}ͤud$$@FZn}*P(xUϰ}gt ' ݑ y]hڵbhtKJcxɯȟv_^MH(zufu. Lݕѻcng zx63'C!uӏ?/ V7А!CLߛ. #._) &_gW_!z33rwVBˋiCPs`7 <]_Ƭ:ڲG@ !tb{eS _ !4!rTZpoʆDx W]S.c(ICtsҐ_CQD=THO6ǀ@qڳ͛7 pviR)6+MoUj70. _6IOwILW(=s<{"$;nr~h~y uԷo߸S W+4L\}j/Ce2Dx(^tJ'$H7@BkpvEZ\t@Jnԝ%,:Z9t9?l7)+]2$0vvIDp"~ֱAB!@[7^sGC|@f~gb%Z]ᨋLgz0*;ӭ;/Lx"T`[-@+:¯`4gU NV葿a #]G"#`|Ya@Q+ ٯY*H)TRR4 W`(Q X K,>=[oVA_7@3SieIԸO5xBB:J1Z5fſ[h:2 35WUU_dGgnn `{;:xq4ĩ9[>}W$`RIG[ˀ}_( ތI22i`S{>^&_K[L3Bube{vvgi.mRG4 .3 ~f`L" !RUKZ$CpZ|4UV5:jB1ڲz@Fp<Li`K`){GCYAtT#u|[_yNV4%4L:zD'przVĝXZ<5gk M؋׽nE` 4iwXKLՅv27Phʔ)ZKc뷣 eFҾkc[ڲukJuXz_=-=/NZ >=iтb*4X(xt~aim;}/m$:,pF/|S#FPG馛Rf+$ ή3N25J7rXz_59zwQeBE%FPwh/9+k`"0CiPugsFa)miԱ?=̘Y =* -F/2)tjL2k}a~Ҙt45Xhv'jCLnW#ο?)nE՗3+zx ~?BpuF`MN5mR`Ncƌ`&gWKEzo,7*4 <.}S^`kkoq-7Wc1+du z~V!Yt#{"E>ɘ.ͶEt0 ޕ8L $ ^@ξZi T#}S]U< Τ4կ*Utˌ/9P}M)z^l44Q\w l5aؿSrtsXEN JoХOͥ[B:Wb*^%=sԱcǸ[Bg_,KfhNrكot>˛_g9F ,dG!=霑}hdK )/\h߿G6nƄ"o@FpiͅƒaH^a@y3, ]-\]n)IT6dpKBe<kx[CrOXM>!g>9s~H-E߇Qg(zlޚ1(`hڔI;-(Z*ԧO\e@F0vXʳN pGOL(R :f͚5NPr3WUg! ]:?},Oy睔Hzj>4_K?bG_n& +c~+vM=N;hΜ94m4JdX[4XHZ&0$C>M?CwF:!ci۶m)Κ~o[sI; SMi;fm#oy2txpw0 " #kcJ1?Ώ?7 %]ɇ!wSoN#BL LeǶ[빯j~]}IUG]]S( =$Ĭij,)|RYSߙ7 FVdVt3{ evkT 7/N@'|83=|pڴiZY1-hdi[X3+# >L쐸A?bB&BȣSuuucii@'6/EC70 0Xߟ7n---- >HV~Ol._ n C0'}z}Ѩծ3 wLbeIA2CZYU0c6 y}kd.Ǯǻ6l Aݣ!&-! X@L*K=D[p?n⃷9LsߏtMF K9$PG)>xl>Es75"o$>sL>n@@@ 3>"IENDB`PKQnIjQ@ss!nbopen/icons/ipynb_icon_32x32.pngPNG  IHDR szz:IDATXŖOU+4F߰|.L M`@qbRX\VRRʛlE/2 `c];)-y-mɠ'9y79{ιyRIY>NiJ,@2T* ҁ@taa^PPRzID/3oezD/3?cBb1rVSݎ "??Z\cXa LjOMM}>8<ϵ:atz?`̈́"} i2t:Fpc59990 H$t-C.l6wI@vv6"бB Ab 'N vHTJngː^_`oMt:"FqOSaˤ>1o-dž26,󴾱yvvzswOK n]!vui +K{ NW5IXWQ oz\'sFs'wD+@a*U VOڊVQn;66跸pUo~lƓ|)7Rm L翛3/E9bk.jPeͣH8q עVx8Y=97G9o[%zi#EH5@ʘsiy8w?qH txΨ_h[8̫G Tfe0.oQC?yI(]OW1V䝣8y3KAmwG:58Q'M X{̢Oe";Y Ltjq)@t&pVH v{bo25U]{L RkQ|!l@z^ ַ{cPjQq0 U$婧YВ޹/*G?GKP2^Ez :(Sʦ!L׳_9%Eu#'kcoﰛoc6/8mllxx_Z rss"??_;NjJJJdee=!xk FG~m``%_$m{.$ PSS3,22Q2kkȌvI `&H}}==zAC*Nz~?hM6";윤BĻ`3qիWx?hhh #ڊ/_$=;nlld--- !*rPIɓykk~@AAHEg<`T泵Epp0KJI$j&P__)HCOOƬԠ uuuv5"RJH̯AVy"{ ϩյS' %54KHH`>R9q|,q*L @{Oakؕg3`bbb۷oty TUUc7QdQYeP[[|4qϞ=| Ky=p N\sssD"۳󔕕ݽ )ccbtttqM,WUUU项yyuH! A:-?#V62y5~OGGgVeK +wYd9 ;TX '@c׈c44hPm.iFFFȘu)^SL^gBBBXs1>mE(<==l i,-- d惵|alXI[oߏX^ξly٫7o^p*P~ }̗mhWb_`./ ߊZ9sM{!EK{gb/-"e,iJݽ}^$D,//v, M ~VS˂F9[ u" gLYsaǃLV Xz]`F&| ~`][0$frZ7??\RouMgܲ*5: |Yg=_ )@Y'drxU<q +MHE{y! 料[:Sql.f]VY6;w{GN.O~KŵL7'R)@DYvslXjx @?,dHr %U'SE5LfEDa# B׸d];5'QڅD<4@orAoQc$d3\.@-J\5*C˚ k$=H͛W3ԌN) ɺ5~ kT2B1̦nV%J63[otO@^2}x6Y`]v*&U2 ɺl)qXkD BDz Jq*& u61]qK +49[`*x*0%3;Beq{Nq٥8`:vx0\NY;DŽLm|~ؙYDJ; ;LX/_uݘyWʲ899L^|Aο 6 \)#׏ ='O|/~啲5l'EqsIENDB`PKQnIRz]ΗΗ#nbopen/icons/ipynb_icon_512x512.pngPNG  IHDRxIDATxŵ*2Ȉ$L2` app +bjϟyƍ/14 $$f? ]O?t}`=!q0vv ?p2   I諆k׶]߿DeÓ_~֬Y\W)+yp2 BIp34 {^>zFQW ܾ}cKRWWG'9GNjHtw+VΝ;['d܌I9 4ѷ >^5dΝ; z_g׮]4$gl{ƍ]UUUmo7wipn B2ƀ#o~CU#E_5^Ƃm{5554FsHρPffq0!0`7 hn h  @|ׯ* UCRWчYo\_'$())ؠ߇Luc;vhw1 @NcIP j,'s1) 4&jX Cc),**RE UCV` E&nOHR\\T~'^s~ V`&ucA7^ӊdps1) 4l_ 6W Fv0l* K>.{Brxױ 1 ~c&p]e7 c#0Nu܌}&1F  OS ͘_Ͷ @DjlXV %>t] P l6woߛ&q܏s`ǥ]&\dAx>-p2-jn74cG[{СCu߈?D!%a*}KM1H] ǜv~']a0~{Tn y ?-sJԃ&A 7JЃN@Ac\D\hA4S``LA,Q! 4qOпqqEDǴJ% T@4$e.imaf2Ayz#`7?1O ~_ {݆>|-Jf"4M?2l]^Box\ b0 JHrŌQ3~7m.7v_ [^Xp0|<߈76C#~.K'`~5pM4cp 1N*2QO!pbuVhzꇊ$6W_WL_~LG5*Sşd3׈?R[*6cSDژ`y$(2@9Z0CD@\0f  m㺹 3`᷍!10&&j` 1@EnQ!09. 4.V_1ޏGaPo_zn^U 1SwʍFr2EP={ԿR(!ѯ\=W}WԘ}x-D&hU={8"p=$mp>\0Fl6+ɶ :Vgܤ>F]6{&b`#q1$pc`C>0~,mf%_=B`rCgʃNF+TSg~B4̼~LC@]/|u\g;qu<<nuc"܆o۶Mnݪ` Tu9PC [` ԶIm0[Bт=n=2`7}?̀~u@x $JuL e` D tCKuxP LCt aQK` g#gqF!e|}(VXJԏHOC@t=vrwDPIcۣnm~{\7"7Kl00z;jZTh\ nx͛7˦Mtd!W n m {nR2=w t'S`SbYm۟c@k5)GG ̔C;Hy @SH"WD f uڪӪo`($/0m۬@n ·pdž~,qnrɈ# Ԫm1BEP!)mϱ #6vSDLt> ?A}nf@EX,0A"ZW=RXf冷W:\M.O BC NQ#v3n`!@¡=1t1j(mT 6D"%&kFշأFͥ1 .̀n"Qc̥MIM0 (&`@n[ӘpP-Vlo;GnAc!$ȀIPD.X~lذA8 ahF`:2`0vSaıH UO[isׄ)j`& Lh |߅Lme06d`7DPY*BRhO kj v0ci[zF̊H90`2u_L_0Z]W.:D'c3a7v`.s LSt\G!FU ۽!pAx R^]3nPq"R -!7f $m:Qmz&:::0T` M@='%fr ڦ: 8Eh\m:aa16UȂ}!ր4CCu @߼9R&O,zp\]kDC\`Ь37`01L60v3` (J! `:j+0AA\& dPV'.+U#@iD+ !aD^tȞ7D L-T3믵;i3\3L`P)@@hǶ\Su9` #NrK]_M@]aB2,*3&h#`V^-Vҏƌ#x`[@Qv~Y0T` NP>rV+34vDlBf~" zm  h2`_ȴP'~P !Yjf 5 &L4Io? [ i3`ED!`@vb{n](pVHf}uv3`7nmM"!0\@h}vID h2$~ٿQW#>1~ւ!Gm \dž!e˖ |'0:u>>v>T.ĆY xC!>HlxД!CN4asMߵI5F } Yef؇0,@)=1XC4f =|\ `7F,Y`^u7o{XiՄ$s@_G*`̆ ٱYO'b}0˔Z=`hEڙǕw0&h@h<u`e BQF94hY8<* 0_}_L{衇tnjxt>z0&yCXT}pQa9PAsPMa 4#>|Cvfq7OD(`xe "nF&B2 1B!"S?DFy&8c"3F"!>gUQ_x68Ti:e+1^ lff u>3\`&4<6Āu?bT^Ez_L! DӬFI &bx-&3c&2h@X͆=698Ce„ $&s`9$B/|c ,EbzM~GTF6s+.ɂeZL r0,pLVPFBI:*dC&O5shGoHVDCc0PZ`S|@h!/XDD $&0AbLnBP"2 }z~@P ddA.SG@7`0QBRn Dp#`.Q:DPYO>YE|?޽w_] oa@Pb,o31#M&2grF`V 5DPhOT\ F}OBH&?)<,C裏~GC"{7;/uؔ@RJbUCo~uh3:͐@D`@ R AeVtTTD40IB|5=Q$ U`; /A$SLI[>n@f5,ZH/^Xu<6%[TD`2BɃFhD`Hqhn`BɄh  #** ۇ$H@!Ccp:s}Q!nbj?#5 a0T{CCX`!ߢ@c(: AhU2F&@BQBm`Y`{HJ #Rh !-*`0Fo.1up: k\"/ QNW`zÌ$4 ؆B=50[vPb 4s‸W!p@hfe aL#D'h !dTT 0YHH{NIyX"N{`^`†&m2KTs,e|[D@uYE)>dĿf5s E3 H@!)7fH,Aa'D;!=uYziM'G!sqlJWP(жhT"]*6H@Qh uE(AL L4|6ׯ.`)@ !$EF("A0 v HP#&.NQLQ9`x5_ߪ W>o!elH@h a30e0СS F!$Kc hrL40 .=3WO߆^(/=Dux H, LD&D )0 0@@!)7 >m 6L?fa @ L&}UFcL C[#h`*3PIF,*€44Hf 4;x (驃ɈrDTBDGLb LzvpAsQ>ESe,8夓N={cKӔ8 @m[6c`P{&@ =$e*PJQe⯮J= BHzM.03gꥅ%ԩfOiӦi#> h!$C&FC ^}U]68S#>`=[ T ST4AJرNDPPQa(Pe ԰C[R`>Dh!$L=@`0=(7|3c2>[cc}Ceb2mp(1;@ # ^JͲЗ0&)04a& <)&w2` `%\NtQ8ͺ J̏WQBS O03@]/0* %RPel Ǥ\BH1c詁W^ѳ2-}Ǐk%Ʃsvh@-P PL)C01`@B:33 O*^IBmVP6L 01\B޿ v@@!ķCj^B8">Jwqm&@Lҙ"|D$T  |o7~9 6J0X+!^{-/#o|m({"'@ZB`[.PfPE>C<Yx\BH7a0?Y/Kgx"*H)TgJk@6ؐMRcP kQ  wIT ӧM8eΖBAr%f@EWeã6 @@!Ybʁ&ׯ_nZ`&GR=0960^xc_ND=P_j+ha$ & `f0@!$$" 0dȐi|AVDS dժUԈw\ @Tiz 0rPщD0 Z?+Bն @.r-[&6ml> :UẹDH "ҧOׯp G}< |KJfoV߬>CzP zX'R|p|\ ,$BpuoQO>g{q_CC^оAlfVɓ xg(M)Mv#(VNP"A YL@.A@!Y %W\56m.x'c"phEk֭[݅HE5}m\b`t0LĎ;t)aE ̘ؼy3vU/F_}&\t20 , 1b}r1$7R!PĒ%KD-yAAUC;;ًK~]WxYF߆)'19ZEV#^%b6@!u H0JCcV@B(jx.zhTq V^a=<,fd ꍉbn0.jF%aX^*}^ڍHTA]@]Hl} , @BgAz(>Gh=>Dk׮zg7IfcQ7w28cdD#O9`lшQ _QR!mQa\;h!$ fZ1*ݻwcsi3^Gz> z[@0cFï7=~\7e{c0C!c2e|q^I"jezf"@Z !digf`Sֵ@BCa$fϞCÀ &~#v/jm{ y ʉ畫F)߮P]jWF`m: !`@a0ǎ\xG }U 0@{Ֆo\ xh?&_þ?bBZ(_za (z] XEtM^'BHb|gzHHpB9b o۶M ǏLz;C y#f g}0[>?k3ׇ#Ipر*J :sP)u⯇`_Cr BbSAa>LQHȎ2M!YFMo>53<0>%AAxV%mE :BM}o1{׮8Cx„Ђ]|f<S̀1& TLm%?GShs ,7L/j!0|~2g͚%3g5 Cap.z0O> PSa۷it$Pf,|r a (=}et:lL 8 BH 1o1 qBcagfomo/&:* dAq `I!Wb"bJBI+w5dG2 JbBwJ*k?|O|]B¯of}9r|j6 !dЙD@ĉunaLF7`f9L !nVZ'h!$#NBOo; Fq Bh!B@!B!LK:{ ++VHͿ6eVqɤ+B +R/ΑեHQJOoیSTh~Q˒ ˱\cB #L" >놆amvٳۮCPõ!c#F`B@H.:˖-ӛ uQr1H>}!4&z'6h 9SlN!^Yd0VoY>l;B@Hʕo-gu!O 9瞓3{sssz\g+O=%@!4F~#nMjjjtqL¥mܱc. `֭t%^~}DA7|&'ݻwNBݳgOE'/%\^{5ODm`@uu`JypQ^O^zI;>XCmo=' * (;7b#x裏&Xpz:V(ضl"=vM# "oYj}}EKIyyj&߷vҷ{gBhz̒Q[[^z-ygh۳"F}DnF-^Μs=. B $:u_\'",;&@^ 3f=<B $T:#`kS !4d{\~I o喤jBr $C4ir=$&3;~5Kvoܼ6{q*P4[NΝ{H@I'7tyu%(DiJ3?zQ1Nvr5dȐUbL'Es'Nz_s*% !$}O$ޠa_~9cE@ZA$lI}S;4`!' CdW\ɝI $8#[,H B'&#W+**W_$MG/ (pBHB !شiw"!lcĈI[zRbB@h G3@@B-/aB : !/kӕv{l,EҷTt)=+h}į uoXQo..Wɟ9\:UT"p<1d:w@^W:XN 裏 $w1"ryӟTmy\riXw`݃9y>z|>r 'Yu%# mccDU|5OSN+#FW/z's7ܱzuQM\/,9Z?  &}c=6ꪃ%%%z_|1-qڵz݆H̜9SLsiCmSӹ`y衇 !4nTWg *gժUZطoߜ;>ŅҥLN VǥoaMkZ D\Brs&wH:J#|LP1?gON%m.hԺ_c4_uC7o֍СC#R9 xw>c=/XaΝȝp 9{|^NE@ +o  36=_Jɀhzݩ7ߌF`d3G;Fl`ɛHݖ^r9 CJeQnvܷ~pFꪫּ 4fLlhhcDzLjQT'Q_Ң X:zw۾3QJ7Η ~ZeW;7_(M;|I'\  ߟߛ.d׮]A2ydƌrI's޿Bߑ^~qYPMTZ S^믗s9'4 !;CńQu8∈ʀ0lٲϩ-[!:+Ӊ'H~ѣGˀx"{@  d#sq衇r:H~x饗X{=O[V[ U =9d H ˥&2X8O2Tq6գGϓ1hIKߩOؼ|B@$]qmY߉k֬ѫ]yܩ@UX bΜ9: p|>|oQ2m !C(K.Mu,X//-BqH b /x.m)c @" 9c>|uËܡ $ B_c%bFl o+={Nh=l I0D# Ywi(d. _x"D0,^W_Imm_;;FP_}E0ɀs: B@H}g1 E(7dpC++FV9猓g}[ $.HK &#~ݾ!ocgo?](.#Vmr[>.K:SN"瀥z_{5]_~GG$X`.]SOxBr $a~=vkW^hqٽ{w7lذtاY-J(G-=sp\?ghAh?,GG&{A3-8 !q3}ty駹#<3KG2{ex m#E| Zzj}=r Y%üqeg[%9 `&0̟?J"Al=6-ءB1VzB)#QV 4{72)_P̛\ v \Bdarĉ ~v0m|h@ȹ瞛Yr5@Bp[P}%A~H$`֬Yk}Q#:}qI'aOXe@B@!qayYSk>j4`F7x@/dq#qD2pi!M@!NV&%>O,ό"P׳ 2IX)cJh!HX`eYLd@QS"y睗q BH|6'5Jldy\(ҽv-{Vs$B@CmP8ee pm9>e{-vr{?JBr!2r <|Ag@XWS'|NVnڡbҫZC "h!# ^Nv3zz ຺:Q'8Eh,'T{~.ZenE'ȱS.A8@IR^uSN4  ~z@[ư0aTpӟȍO,M='$nkKT#.~rn3<3QHc*޸CȵqT~ +BHZiSkD̍RULs>~Z ug`Ҡ>*z ur뭷G@Iwi@x4 ۳ȣM gӦM:zh9u4oxfŇ"T,_?@BHDCYΔ)SڦB'`tBNx5k]}Xsٶm[闄~[_תrP~5M;6KTY$4t 5n:#>gc]!ѼSؿG :?@BHqVi\k9&sϕ1-Ņ'_c= _@—ݽI*f0oD}Κ5klw8~9j珎';.+KiiBpK"k'(Y-g͚FCzرcH&SCﮝ'fZeO^xf!ŀ! C?,w)o :6sOGk9L[|>iܾQc !$]Ht-'}|I`T:+ q1oOFɨ>䧗\).X*IAƚuRaGu32 !$"vIZcѦ4vTWWg3]})rvoȌ_]>CYh`8Eƌ9Og9 dHPLZ: U}وxEek_'ۑG7B@x ::\(3c TkiiѢZ6_r$rCh!)tsu)zy'">osR# l[YYg;wF|B8dڴi< !$O_vG~P9s'Yti I3!ajkkN_?~ɇr,\PZܹTUUu$2W#do3(({ G}a_>1ڵl۶M{N9 AN:|V^^΃ z!W^ye%W_}_r%RPPsVnv-}O>=z4|F$|Y;/[J㞘'h~ݫG O"c?. gpޟq/VlA&w 0@7$ -i0v]oS3IrVa'_~6]tUTT܇mڵQiأ>k~{' dD}*[=ry@xr{W >fz8,X@_;dܸq< !$/CJ7&e9 C\ps9<1|л|{wN"׮Ltrɓo'4<6t !~NRHYB@@by^SS`Æ (cƌz5BHE #>go;jl߾]߇~w}{A !-'6l\zr=[o!lUL.0c=|ؼylٲEGqSO=UŸ?!4$&0E?c=6kbȐ!C鄬']å%ݻϩ}W' 4H|l߿qF qj _N?t9娣ʸpiI})N?ohœĊi~a lc~xSr6+ݯ_D( @={P&ѹTN89~kjcPZkFG}-ѣ. Bh!B@!B!B!B!4B B !Bh!B@!B!B!B!4B B !Bh!,*_/nQBvSN !$X}|tKd,:XI1DBhwM:o<f}:K~Ȃ  _#אky૥_]w%+W>'B "ow)!4B@TO>ُO !$?^[@ d0oD!4ºMr;327GZEf|1Lܦ%(6.>fZJB@h eֆl( ,E

mW|eWDBE%?şuHlm5k. ?EOS?X~ş61S喿ww]tg~0S}r*]Kdl߾;#]~Mĭ8{r鉧o{r=fQ  ~1o7N V-qsuB@RKiegymilذ;#k?J;/ 'DXhB@gagʕo/[1!PTZ&m$˗/H^Mğ^(!;"j%/L=n?m'~Bh2o< ߍAl~ߊeܒH9"%?]!4$ \v߹#2F]̮Ivzd6_A'(&̙3/2L;c]_P~"ş'"W/ ?-ş `4y#R3{')+;ş^z :[vŝGoKB@ÿ-7@dwMd:ӟO ʫ{ӳȶm۸3$;[ߒXE/d? =8[zM3Yַ}&Re}-!4$ TTɛ+eݺuNs]8 ~+d?  Cϐ+v#w6d?+_%dHK&Bhɜeҥ)ґty =\~ee}3s!/\ğBhHz)(,{Ȝ9s3<&aǒG'd!'-]{;wG_?V:ſWqzoQ  .Wz)ۂ;Y}]_=rͰ/5_( xɕWGa9boۢB@2C국'#^IgF-}O3) f rͿ`0XJre}~*2i  !.O~*.q #Lh~'B@<ыe{T.=477s'f[Qz~~F+yH XΓI}a:5-p{"qfKI4/s%BhHھY@ [kz6Wyqk%$EB 4-AZ+'A%7|wB:6ُO I];qC?뤦 NMd S!6ZJѢV&Q庛Ė_Oo kx,BhHSEH[)$ohkoo~'%G'xسTJK~CN+;?~~VANIeR?y|f??O")Mp\eуd?WK}_wwS4qrۤ۝ MKT$c6u|ҹ7W {~'N'VSr1yt!r(,d_rovX+,z엤[tG],g\.WJ#w:_~jo12L9o%;\e*YLNG9r{cX470.Cf͚ELt$mtO !O~*CNJW42q&Z E- >54٥ !{?a@gP".r鵷':|td澙h5/3%[p͹+G7P5 S/3炣YI+ofg_DLXظ}wdΊIUXLwd|N5OɆmuliH:D!^#{wQGK@6dM_ ܿ=%WoeL@2S%B" 2[L_Y_,N!coyVJD'I?sQ->u5>VXL>ϋL/&H~ps2o&4$e-^^}pHNnLrN\tVIf0ѿ ^ qU3oؗwh9) nyNVnΦx ˣƿWU:*zG_kt:*millO#^e?]~!zrC] H|RH@7JsAIݷx\{reȗ#eJ["~B[-A$ 4 7jRJۙ*PG}Nk7˺Yٯ~mׯL4IƎ+{9rtEz!ZZZF`Yp̟?_>sY9|rES;tL&'vp#J !wڣކD^;'qiYVZ% Ǚ(Pb8cIVgvY eǺְˁ(ӧO;N{h:zv?3>#y饗|6v#vU!(CRXV){`sa0 0#&+zc'>=/)2^&'!2>p&/;6ˢgn9A6/MG%7tlܸQz-K ZsԩrW'|~siY̾7a=+!7>P9m{}^MIUP ?6ƃFU:|¢WE-Z Wz)>ђt9P-o-d|qu/H:ߏ?xG?trˊ+%}뿔y_;lgBmʿ}: IN%uD=ݤGiw/7'gb-';Ws9n:_wnX!7%w}ߗ^aIII}3=t-òjёߡS;Y @֬[h @3zD6?t^S6\DsSţLHd e'Y1$2.e}-$ܷd} v޽{p@F;'t|ݠj ttb>8*Gli7f'{MX-߭ѱ/ko¡r鵷晐ZRQ?'x+,b%*.:wOY?FYYwO|A={:a s$ߡl O8f#vI#~r*soywi]ţzVɑc,N=O+ Yunxz]CiHe};&ſNj7E0oOd 2R dNO[n=Koe)q_Sزc-ҥK]ǑkxwFgex x˳d TWUʫ{o-۷gK~NmZuɧ#ӦMc $ŅI%Ce^4si3!+IN4P* $(3pIr_|db8V}{Q7ﺜ g)EEEl[H0F*z ` @_^i picגGY|yfzTsAN\I1mmZ_vil[d㠼{Ypl۶; /y)#꒖_qrg<񗸒 Ry>iIVa|4gReeZE.E+O>Z7==Qn YvOc@#dnV6vX)өOPM@O?Gy7Sֹ<΢.Losz{+,иKJKKķ* @GR鞍1uJ(>~$/m@STWWr!M67yݻH9dDk/s7[$Rަcߓd?q*Hoaӆ iOU! R̉ –j{%:?Au~{T@5͏~ϒ:>ֺ0@Sڵki(%{e(.*=HqyaI: ˖-K׉L#ҌӔ=-/P e!¢ھ};w< ߱ח^q}[iWJEy4}Id݀9d;?oinPd0x<_qPK^tĔu0G̝;7?9gs\fGHs #t^Sure0~e8YF _\$rE ??aR% DW{/}LlY[2?hhO}J 'נ2{vV3LL8X[ŢslJR@ @4z[a?Z΢/M3f\tHq\2LL iC{}&{Y9ۆ,T~Wщ3ʕ@*II"B@ __/hW%cb O}@6'{EA 0QC?3!]4 `_;~nTHu;S͌*+@nrȮqrSg\w^zy-O\P I ol!`Yw< @[/d-x))0wy'L'5'kD5?%V/^Tرc@K(++㎧o2QУLOTt#w=ק`G!M us Hq=|}n5ZC$9ݰ3Jh0@${ΪRSUtJ, 8npRkfKvt9jI* CFh 4+~nan r7d{Ӵ$8.cXL@9#) @ފx[y%()6&qщwUmprˇ<+ 7t @j3 94OUWz~}HXy$&C.Z/O?DOqLPc,D@_&{f5=`/Qk-ꫯR18D%t8`RC44#K 2m\?QAtbK$:~?ߵޟ?q+)Ae ;>FZBUi&n!㽙}<0$:mYX(ٳS(q?q1?~H4/qp LLa?\jOn 2)#zNd?7m D;X~;Ra2]ҥhRĶ:L|߾}i(ޖ~qdǙ;~E #wIXd?Pc @ J+6l0УG)))Χ#+AdtNCcduw&%~i௭Mq5X ʍۥ$i4+?W }h;Y{9o3".CEAr…lL<[|{/3 ? 2}:A|֋.U?(`0 `b^L8u=dΜ9lP4k3-Lc^EORbEr+G&<`r+ $.C̛7WCz|RXo5п[6GRa?=X455%}nx^$]:ʞ@ֵ44y @ QU&'LH o.[zn%t:OUҥ1غu^Jsd #b x.:Nf<&}CNofzD>G~~,6ʺR8a쪕nݺɀiS7+*/踉?(T-&%9ˊ"K{|Z_@x107nw< @>n%{e"g8B ZMt"/{q\ԹAI|Ib[N'gdc<L󃲒"qH :Vʋ_l5kdgّd =֩x.UooFh([r?j';T:=8ϱrٟ[Q?'|j.$KZ* <ٓ9+%6,c @j(mȅߘt Ku*q4>]`UN0 $/~o俆-weSW61m|YD^ɱ>_um'73=$;)TX8t=E~i Rп;~ȑ#J ?^_ܢqҾq߳Hl!}YL@;#bǡǟԦϫJ _شiӸi(^׈bʈ2KQIs?\bIxYQCfΜ=cԮY/8|uMb8 _}srdHJrI߷q}o.AQ?̓e%RֹHytǺ /O>D?sb}^{I^xhOSEw'XlneMgyCOaFxtYP ?w*O8>W9O@'^Yʰ>ղ$EGYϜ0RA :&Zy9#C? <#X{,D_s1R]]̓@ğ1h؉L^t\oǸ@ոwOid?Sܾwz}Ÿd/L7m$-::~r 7IǑo69fȟOplkh=kj xRUUŃ@J ^9@Uy|ўNe}K*͛}H}hyťm|ralV' 4ˎ P}J⚀9QRVHZtſt5׻gz[?B_?&abI[H.]Aw_ϹE񏍲"8щEqJ/6ɶۓ<<]>G^[y2,r OEޞmi*eee<4ym\ԯN9~ߡR]LZtbCIGotXοTdZ*.{ ]vOp}_Lkۦ qj=OLqavm4щgQԔe{tnϔH8U}yƆN(+ d%E:j),.; Ѣ/0ZwRVYUa}׿5bo7+=MoGl>YZ_+,rJsϼ/Ο#Uc9«ɫyˎzݯJSKߴm_RXH9 9K\|D2[i;qpu@z8Z1?ٳwylXh4goW1~pw߷2jy_3ݏ vj;\*OYNØ;_96/\vR_袋t_B@}/fB@${QcXj9`xwoD' ~%>%]w{ߖ_Sm}c/'צ3Oӎgܹ3d|g'fXɉe?t&ŌCm|՛wV>*}wY/쳏|{cCB@^^tЯ['9f~Ig~#?qOC~QO.#׫[_Y{,Y5cGϨ%[ tM = ./1ً?>QϙQZ@nx*,#PϸQYrSV`Pn{c/]Mi,ug+gCWnӽ\N2A2+?brI ĝVַMl-Oǻ6hs\n~Ѣ5rƟ<;CX7264$zd/zO8RR!<2#%eoY#k?xO^wIzD~ 4nr Y~[F|Uo? el8hH"IWqVK#IrSZ['Ixoҋrcs3"?`ޖSzLޘ]*#JЩzXQ[ﮝqdʘ*BT{ذMf.X%_%KKȝw)dcA@bm =HNo9qgT_o{^$6'q͹YIMK/ HoE2w٣oW Ӻu\!e%R^ڱ -]Nmq֭FZ[#jvfaoh|O? Lx/gOOTedMG+;KꆿM^K (Vm֛gS z.DalgWeÇ-"` şxINEF%5*`lݕ⏄*'N䎡 q)G9U-#z^>􊿟e}EIxd/ rqq{Fk;]EOQ+=e8i)iE /蕾pں'ϲn]%\"?ch7 !tCԗt-"B1\N9Ntci޶'=md3J:g}^@6%{ p԰~xkiI`s|q䰡rJ h׿ra shHrd|oѧZ+[ȔdXvr7Kݺx&ε_W?S矗2E??$+-?;i?|0rs<-N28[ώC/'kl_1WZWE3KKKshcj(~Я['@Wn}^Gz,Y?kxζl/X`Ih7 '{6.>R$AgO9Ê*)O(pr~$5_Å7W|ꪫ? MŻd/6u[U~H,_aY:~ O;L*cJĵQj,~*ٹf]]]-=Ρ k(dXTsޑ{IIa#sGyqJd},w}e֬YrYgM@2CFSy|OF;!5,%kyU9O,q.rϽ v|~_{ァ!4$c_(Ιb?î]ʃ>(|ԼulYnޜ k[XR=瞓믿4ķ2H;J&K:gzdJ?[ÓO>Y͞%ӆ˗OE}i[\h5=*RvU uI '1 3^$. b{<#u@ݺuĽwH`˲Ke7$ܘ$Ykޛzygɝw){7).,Kdt._\{7Ÿ8)y]w]fRVKV3I¢)":j~c|i !!ԩaL.]P;=_1cF|/gyF3ťRkw'^v럒!`KWQm;-K՘~sG-{ߧ  FzۺuK r˂+UJy׾Wt’r)*-xB Ew mXכwb{M[\<0tӱsFh!kw.>9*a…mˤn2b6l瞺!: B|zc.]oʎ;] У7ױ #FX Lx;.XB B !Bh!B@!B!B!B!4B B !Bh!B@!B!B!B!4BH{B+b ~aaeNw !d{/8uFPTTd@ `L+ l+#hE[NBIII ' !${ -Ӯ4yHYYYx@B?`m@  h;VKKmBC-" E!١į0`VUU ѩS'}o.MMM0Hi!${ANzxCmO޽{Ι=zh%rB'C"\]buB2"KmGԪCΝ;ܟ'8!d-6 ڵkTN;v>]tїVcce0¯ Aݒ$?f;6k3h0,Y@1n8}ϟ/+VJk׮]:@v!؜G!$Uf?:uJahUò`p3L|L@nݺ;0DQC[<'II!$aU߄v9ḛnCۏh0Mtח;wv؁0uʍ7noUmFtW(: h0+/hr Z$* -*'ň;Bᡶ m;xtB}0Be_~*ΩHL e$ Q%!QPN'Lݗ^z|P@(em,ӟTB;*P9B%j` X%TRʰ՟q[@8E0 :R(#XmKIH3B[M 9: `6ծcHtZ@ N:5n:=+ ͅ*`DB C*BE\$׈'z~ e].#bPК,MLs!$9fQ?T;M66eC!jGW[HG,X@ETf'ԸP ( ,"uhAWuKcDQz^:qJC_Ku?Dj7fzDJhVQ_mT"xu_HD#9J㪥>TL@@eb Vk`Hh&WE..#0B@!ɋn5U2 #P߬w~jpA]]]@uڄaKphhjj $R\b! Z1k0$(P,&=O!ImZU0G?.M2Əb9̥? Xx@I`h,:И Ǎ Pa! -g#sS !ĻH}:)Ьh \ƍǴ J"τMg"4vTq P_|Esa2M_EL"#f߄W'y֥H@!IZ )LmV37y޿)"Cfʟ CL')ΉJ'\g (P&@e I!W7}ak:: T}No3Bt1B\baS+VUU1_0=?fL!- `.LZ&X0=}{<8p1B5$+T*G@O4a;U'bAN'1I(nn D1'usJim&@e I=BDj~h:Yl~ $a `nr Jۮv\}lA$&CX+GD@s(OII@;/E 5 (@u(X3LAeA޽e{pOB7>NǏLםA#\4\m _[/BHjۡ> VBm*jC?9+41nLDg ɓEMqzc!xv'L/ .? @Fs=BI?{\ !߄ A#`7N I : ' 8B!~K 8 BH(x4BHS]@!OI IENDB`PKQnI` !nbopen/icons/ipynb_icon_64x64.pngPNG  IHDR@@iq IDATx[ tTfdؓ@DȒ*BG)jr݂Gx`ɩ%jmU$*@Hd!d2{%32!s[}2QɈl"| ~QF:I_k`EBA0rM檪*A MVZHȑ#_5atJ^\9GF m6 @}t m [vm ` FuuuDCCX]]@?Ν;xݡ.BҢ#)l޼Yh*}6!lןRÛd$tRZ?~ )VMے[nxwHZ5$I>oNĸqS&8qb I@G]vKU !G/LN||lQ˖-{r̙ 72Hj",X(11> h9E<&%%$ &@mЫ`DFdα#K4iG¸Az_Fcǎ4kdA(--1>8!!a]GR <A8y0h֙r8KJJ")” om \P\\<ɮøxkxL$.mȐ!=z4H4; f}pNvb 9s3F&7 R$;v |4ƌs%]ddd-ӹ%KuX+:mŠſ@߈n:(tޘgnkΜ9Xt)v܉\.9990Ƀd)Er]M:B}d C@y%+8o߾|5bƲ_OsΘzQ`㸇Iҕ+W0#urJ':(~']a},_bW9;m߾.@!_z&555y&SNz… yk.~L.\)Sxt}3&`jP V-3Trul۶ 8|~V N8|rw꿜Es{/٣Gre0 ewS+Wr ݻw/7v\ݠI /rynXL`FGG#++L-$R 7mHKKȼFXQVV[%_V?7zp&{ՀI=K|}>h9=3D/p9n<=p:.=W ̓pk  N؀Yi&P\O;.z-!8('&"La‘#G8TN| Tg2@)K~ĐKe5q V1q=p>h,FLyYi$j\/-/tK^`ݺuT|xfƍ̠&:}:;;{ICL?=KMSe X=(W d\Bkgu&2^Kf/;u 0*By\WW~*pvNE?C+Z < ,p-bA.JU~~9ݗf{?/x 06ƭLf_lY\w_]lLJ$@%W8"!I9AKegXahͨ YGK}.ۛ k#x}=|5ۯtfL(߀:+Sq#[n .X%V|&zi~|}&5v2 ^ pXqMPZ:,Rุx X)l;`͊p,7'wA̞™C1ߠؑ%2&S }!t !A{s4H4]CdPl{=y* aGkn>ȣ8#ߔ豂f-[d$Fh&twYw>U%7A_b+}ŕcwa@Hlpx7~j c `q.$_|w*ZFk f$C+s\?UF!BV`%g)}di c̷o7A^|bz`9umε ^iFa!Hv6)DuP\T1#e4T 녺(ܩs n!=6~OczaѠVkS)Ǯ+C#!s^m(Lo6"iP4bh \,O @`%MH}C,oQ\vӍZkccx42q2?K!@- l+}w^N/ W|`4-z !X (CQZVx KoJ1&iUFo>$IAuFؼgK:,JZځžpiM1<`6RH mr01vwg} +D̍u~͛s*GR$I\Q%?_\jSh=." - L1 nj S'"EHVdx^GФ7a/dždm7df]XtB#;? 0?}RK_U׈?-H;\GiYAQlQl+5Ii2d}c]$We!LM),)MqƋSVn}=;b] l]Fc%m.Q F6}O/a~@h^}CZ.ӆy|:_ su-ܠ* C|eh.re wk1*&{CD;1u;7Oxc*_z,ƥK(.) '3(d0oZo_m$oqSo,:lW^me0i;;PvdXc3/ViQAeDMf֭:O,~&c_^y'}/~gc"Q<IENDB`PK!Hpu{%('nbopen-0.4.1.dist-info/entry_points.txtN+I/N.,()K/HSU0r3PK!H;@QPnbopen-0.4.1.dist-info/WHEEL1 0 RZq+D-Dv;_[*7Fp ܦpv/fݞoL(*IPK!HuCnbopen-0.4.1.dist-info/METADATAUN0~}8BPΛfXJy{64qw"V1ۓY3y- 4'+.ʕ3KƠlX"εp@lN[mf%xBa'z絎M*%g. ˧M@6XB,RlW8Vg40N1~,iHVWҞBXrwsy+: A5qDUw/{NTWd]mkXWgx:Du> PK!HÕnbopen-0.4.1.dist-info/RECORD}I8+  y op$G2?gv=-c׆0y6=2&NB.-l7 /`4¨+yit\y?~YOOc2ZA@@f!ל/C30 '3_Y?߷yw)[ڨ.ÏNmLM0'\KE>pBuF=f1Mb0n/Uc H҉_';?(,Z+I3vFy4ZUذ j>IKPKOWnI),zznbopen/__init__.pyPK"RnI} 2 nbopen/__main__.pyPKQnIqw  #nbopen/application-x-ipynb+json.xmlPKRnIi97Hnbopen/install_win.pyPKUnI[WWnbopen/install_xdg.pyPKQnIL nbopen/nbopen.desktopPKVnIք3 nbopen/nbopen.pyPKQnIXz#nbopen/icons/ipynb_icon_128x128.pngPKQnI(I!f0nbopen/icons/ipynb_icon_16x16.pngPKQnIHԜ!2nbopen/icons/ipynb_icon_24x24.pngPKQnIyQN@N@#5nbopen/icons/ipynb_icon_256x256.pngPKQnIjQ@ss!vnbopen/icons/ipynb_icon_32x32.pngPKQnIuX& & !znbopen/icons/ipynb_icon_48x48.pngPKQnIRz]ΗΗ#1nbopen/icons/ipynb_icon_512x512.pngPKQnI` !@nbopen/icons/ipynb_icon_64x64.pngPK!Hpu{%('Q)nbopen-0.4.1.dist-info/entry_points.txtPK!H;@QP)nbopen-0.4.1.dist-info/WHEELPK!HuCF*nbopen-0.4.1.dist-info/METADATAPK!HÕ+nbopen-0.4.1.dist-info/RECORDPKV/