From cbe5cc7413b187aeab6526a3fa728e370ee45d2c Mon Sep 17 00:00:00 2001 From: jakobsn Date: Mon, 23 Dec 2019 13:29:25 +0100 Subject: [PATCH] generate docs --- .../docs/build/doctrees/environment.pickle | Bin 15300 -> 16594 bytes src/app/docs/build/doctrees/index.doctree | Bin 96920 -> 146318 bytes .../docs/build/html/_sources/index.rst.txt | 2 +- src/app/docs/build/latex/beelance2.aux | 78 + .../docs/build/latex/beelance2.fdb_latexmk | 188 ++- src/app/docs/build/latex/beelance2.fls | 323 +++- src/app/docs/build/latex/beelance2.idx | 53 + src/app/docs/build/latex/beelance2.ilg | 7 + src/app/docs/build/latex/beelance2.ind | 98 ++ src/app/docs/build/latex/beelance2.log | 1342 +++++++++++++++-- src/app/docs/build/latex/beelance2.out | 3 + src/app/docs/build/latex/beelance2.pdf | Bin 0 -> 106391 bytes src/app/docs/build/latex/beelance2.tex | 989 +++++++++++- src/app/docs/build/latex/beelance2.toc | 4 + src/app/docs/build/latex/sphinx.sty | 118 +- src/app/docs/build/latex/sphinx.xdy | 6 +- src/app/docs/build/latex/sphinxcyrillic.sty | 6 +- src/app/docs/build/latex/sphinxhowto.cls | 13 +- src/app/docs/build/latex/sphinxmanual.cls | 13 +- src/app/docs/build/latex/sphinxmessages.sty | 2 +- src/app/docs/build/latex/sphinxmulticell.sty | 4 +- src/app/docs/source/conf.py | 3 +- src/app/docs/source/index.rst | 2 +- src/app/models/login.py | 70 - src/app/views/admin.py | 6 - 25 files changed, 3051 insertions(+), 279 deletions(-) create mode 100644 src/app/docs/build/latex/beelance2.idx create mode 100644 src/app/docs/build/latex/beelance2.ilg create mode 100644 src/app/docs/build/latex/beelance2.ind create mode 100644 src/app/docs/build/latex/beelance2.out create mode 100644 src/app/docs/build/latex/beelance2.pdf create mode 100644 src/app/docs/build/latex/beelance2.toc delete mode 100644 src/app/models/login.py delete mode 100644 src/app/views/admin.py diff --git a/src/app/docs/build/doctrees/environment.pickle b/src/app/docs/build/doctrees/environment.pickle index 5be76d5bd014c9a1ca3983f848e68e81714da5bc..04d097192b8333244e6787979b04202826b42563 100644 GIT binary patch literal 16594 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 ICvMjNAG@+o3jhEB delta 5712 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%0A&c5qEr+-MrK)|^s*8o; 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 VDJ)MlmXBfjtY(_%@+L>N{y*w@o%H|! literal 96920 zcmdsg37lkQb?*SP_G~>f+>vE~Vriy9W(Gw?MhpR>q97`ZJ87!BZg-%o^(B}8x zH(gcte&;*q{LlHmbH44~n^xYoV#QG_@L#g2)}EU0HJaVst#&Q$_LH@^FdMge{a5$T zy19R2e>_>&sUGOI=Q~qzKUqN~rs|DmtrNHU*Y(HiE0Q%+?b#GTeO2=1$vAFSTT}5v zE4sdFuhDK*W~<#^+^I}An(;Z6sZLz&#kI=hp^@%fz0o?j>xTKp)V^-7+UZrO@Du6Z zmF@kNhdiY6kcaI(@7%o)JFoK4b02cS?vZD-=POgyR;602&h;w2dZWu#R!Ee&X55RL zhbp~xq}>yxT0uZa%=nE&tedvTvlU0+pSovfa#l5ubtF^aXyrO2&N))yD;O(AHEsPCfUXUpRCGwVAqU&BhRh1a*| zTQx^?sa3LBwyWLMT1~a@HOjpQ$`&%NN69M2lZ;M&(P>CiZ)mipn)9_7O_?pccD8!3 z7SHwS{mYLg_n?Lepp$i%QVS!x?q0IROtU@NKb)+tH)=KNKn^DxRW0Vi+SdH+WZa2s z{mWM*BW#gwyVX2IWk;wV($&_l1s<2y#~25=&P7@9lFdrhT?abkA91H&&Eom!G@gWi z{SvLL?*6og6yoEeGETlr-b!AS?07tUurki=q(VK+{ziPDyPJ_btDkIfe(vU?{rc)F zd;Kc(nzC|9w;-`rQujPHV6}0&vk7-5x(#Yaz4=bcfmf-T*~2eMHgm~ptJUstckEP` ztd@dmXVyQhudXJcZVvO+`f2skp~nk|nl?FJYo^kkc5&3e zq2&+|8>D*V>*!Fd0h0|b*jmH%#k8J(SWeGZSv~8oK0H_$6m6P#_==HaL79c-v8XD=XEOx8}%H>ra~&wL|n zd5D8o<)`Uel!Ka}?0`bVgN-Ic5}aC6v%>wZ~6qN=WcOrvkZ|2ilzL!qMX2%kLtadD5b zR_ed!sxxtA9^E@9i*uc}pk$(3x%R3nsC%EI^m2c-)2L21kuHqXfW$1N9+d<2##Fsx zic=~46GadUjpFQ5`d62 zS7lxb*3*r+S)0hWK4n*Y+kw_1uP8HJWwN>xQ#@3n9{eDen8Y^~Fhz}ih%Wxb^d}|8*&3lmhr=CLv}dRX%I1N8Z`A&k$9aE)7OD&^e46RoN;9R5 zFqf(IXK@o%YNDz7l^0MMn?429)%CkrQk4XXKQK}`N)5!*Ba`_#HXO+OoO^?rpZKVe zGFe3OC+qh5RbcXW1={JNl0We^qeiIT!3DlzsFp|hAL@psl7XT*4Ba*;*K=eP--Wnn z8;+ZPfv#CMmA{6$sccM?`Wdiw>L6C3;)(S|Fy^On5XP2HjUN?E(~RQbcWALk7-gh{!i2>thzp-O(g{LF>a z-XFZA?3|MA-)VuGtP;{tD^9M=ao`2fyCnVOeE+a2m|f^yYM<)xf-S z;V|^rOqq#BFP?RWesjbh)3r2C$C}WAc(OvX$IZr+T)?WfYL!krLsJ~ok)Z&sfpm%C z$X+>G-CL^a15F8~uY>F{obM*Jy0c3ytOW96q&?~-FB*Aj`(`qkoCsgyaI zZ1G7yiH?;(A~04u4Bi>QK*h>G3n=G6MRIbb&t7>408Q_2&YsH957m@p{SWkugFb%pLS73DYB|8mi>ki^>F` zbzv&tLc)1~ogvwn!cB*i%vBR9IM;cYk<~Zq(Hdfo#A+zcLj^2{og+CN*JSUe;ZJkD zq%>D#Sb1EnYl|IJsZCzwuT=74=Ze^$@LtSvK9hDwg}CkT9EdGC5EZuW=bZdPxj*546NuOy411 z4-jc$mp%e>+vRXS&TjiGlX$y>-UFG@zF#8o-T)+2M*A*MjET45BPXMcihZJP=XgE^ zYT2_F5Ljbz*+_iGFCu5BN-$)npYW6D>=arBW~UB=cLXp{+3DK@imL2Xx`2&HIrBF< zJ5{pquqc3m%1&QFMZ?k&oek#oI>iEJv%&OK(TbIM*(paNl@S)#tmVmzu*Fnac~aTw zraWlt^5z9s4aVs^3;=Luy!u)c8C|7v93?mv6!^=41y-iPjt{m+FCJG z$-eSI+XW#%cXdmoRLo?tTL)3qfh6yi>2NroJ~hHR`<9ICr8kR-mQgR%XF10xkHZ1SDMHJf~o+cYOR6&uKqVCy&_XOBB_I(fQHQ@*M{2q`JJKK)EYnR8Y()RZCEjsl>EcuP`lH|7q z%wmFx6KWSxyiTo8FOwjS@ae!Qq*2&bb4O*7%uxN7ZrF>?tQmv3r>wZrM zko=prj~j<#kvKEht~zG?3R23Lak?U2#+Y%D6#LQi5g0S}f?`Z4u?J#C!E^&h2|GXW zL{t(uKfz@q@g%>996gj^=-e;&lj!IHtpcNm!{Gb?1}b_yETE{09@-7Uqeq^n7ss68 z(c@+kv@m)|-Io$Q9?l2qy72_EGkXlh8%53@9!1<*(*t@pnjBotXp$C*hpI!O%IR)5 z=8}%rs=ewtbQ+fq=Ag;ATVyu41$9rAzG!+V9(KQuj9YHT0b!?asFL3{f+qaX5ipI5 zf<+(JGiPO-O$&6wk4kHV5W0ew;*yPzF{QyrC~Z;zX}vGTz_2= zhlcBM;oVI-!p>W9oz=Z$<^P$K|EKg37`J}{iZP+&ABfv0V`mlkR_H_soxQ3|ciOYq zp+%=^>HL+1-UjfaR#R;1OoDETSTXo+Bqsb~xNxr`$)DvX(QrfZa&Ut|DBSu`pi)x*v^w4h1S0X= z0D%?M2SHH`^~o2Tr;OkD*F_`ykqJg&irRvwM4;9wm@Bg7`7FdGE$6J%adQSn)dYdkdBL0Z_~2_g|!I zHoup@!t?tRik-w{_+J56nc*7&hGqDNf6pAz$MTGP?hNmSqNdt)9!_Ob{1FtK##5!* z^sQ5gn=zhzMGv1sBFe3scT3e8`x~_w;{*_l*s9G2Dx5HA)58JKEtp3E{1=kQG#)Xs zhG31vT6_fWX2wF(m)Q$=L(?in{M#6XoGRr%g+4q9y-9OHVdN*O^oo;jEWy#>| z(Z+fL7cFBfFp$O?PNlN7?E$i=Y)v=k@N6xwZ!VT|qqz0Xi3HXr4l=J z0w;x;-d6_6(H?PP;@w6%N690$uk75^zOs}s=_X?LmW|~ZJLMla`^)~(Xpzh>yT69* zGTSzwL-~DXzcFft`Y~MTSBC1h3yv8{QJX}&33*Y%`F*LYjf# z#(P(?WxyzAVDk%un&mufU=ux#cAQn|00+EW&rx-CFI8~Y^c3O@Xcvjo@KGw^zYlWC zWrtG~acIJS1k%YzNwF`WkH9?t5ug|oO6-9=|MZLHBj3~$f_aH2A5@#{KOR-eo;Zly zqRy1G9l$R>Cy`2MtUEl;Pok4ZXzWRibjI&6I4^*KN+QnDe~?xu zf3G)kIf@;z}eCeW zrrVY3Bo5?OEAkoQI(5?>ioc*~>tb{r=^2Sl_$ZaceV+m1S=;rBco~zpol@*E`Up(o zP6Nf5P+|`xaa(jFXMFR{2Rs}V$UZZtutk*1MdEzFXq=!afsmk`=O@t#8nkhJGn>>n zQ?d?&Qvw*M1Z_t^QI()+^M@yBd7f|ESyq?qj9U7DK!XGwOwhRF)z(h6;%x1DmM<@` zgv*pl&<^B@bOaK#)2`Cblgd8DL_cVXQZ)522YqF?rde!~w$@g#m@Mt(ghg1#;$~@w z4OKE(K5iP_^V2kQ+iI3c)HcibZVKv-b>O;b^_;4`(MTN{9+9e9UBw$vK_*qZ1=nP^ zV@;9f`;O9l5tj4#T89@eqDpPBlfP2IPNl6HB%Q25UY)GH#0ci7cEpmkGgHZ$mcux_ zP1jD$m{Z$5Ct>@9kvN%t;2ke4XWQh;TRv&~x=|_AE8!hqGgQkA#A5O`E3Eh-`mtOw+0-`Z&>DbJSN((!Y`dP=Sb&}5~i(-UxRHVerdS- z42pJ$751-yLQc5dr-+v^SKBtiVsD|3z+7z;D2&(xx!S2}!tFq#S04teoo+i770OOD zfY>6=bdfmSFS?5}a=BCdBs!Oawt=~vG9(zR4`85jxwQdBRW7I9BRrSOYYR4vWV5Z| zx!koR=wL3#eX{lj%H}KB8Yw~pNDUM+fFz1|83V|lNwMEXAAtenPe3sy zl-L6SWZe_>dwOJMZv(}LKqv!+Q^+F7_apHUzbG6KlmO_j|H4nA0|KNE3|GfnNoxMU*w784DMGXtLe3*wDZ_G zv6oprPPWQ-s_l|d21muZ^v=P|%X#Sif?X=tU%*_>{lt}CKBL~xlF+*#!{2wwT=p=R zf+u{+d)O`AvggnFP-`EpehDF0ZFOM=m2s&yO;Y3mko#6cv3kAid6po^XF2Q)hft?hMd4XIag=B4OwrMxBHdUV@jnX=;@C1MbioLT*rf9 zm!Jt_J+Fhgj-7^T*}*cqpps+ru+ci_-%RVi*J$C3pIUdMMpk!m0XsEJXtI`Mtu_uz zlHRVLzDHa3?S-^tS5U>nLZp&MZ`;2ttT=Dm&lBHvq2g4k%5-7sS1MOhua9I8({n`^ zg1_3;bq0Nx4&}fzFjr(Eb@F67cRPvK=2i9bhdf=SVC3!f*fekV-t%)u_kjQ>&GGi< z6s7inBVVzxk!V6mdQ`2^)#pHZ1b;dxWCAv$h(i;wfRnl#a!Pb$aut$bo6DE+{ES2$NU@R6s@A%c377K_X;qu% zbaFxmxnb#-+DPT4$F+LEv#`|OUf@3fAr3s=VIwc#;R;RTbypdM!Y?5tQ)Xb!4XL9j0 z@9mm*+AXyNMYq#(JaXxBjAomGmSFHkn)hQD!@IbP(_VnnrFmXpDa8unY|~Wv%bTX2 z0C82CdNh4kX{z0erLojb^`3y8fe>o13@&e+Rm{TLk=O?Zm@GaGjmWRwYqjjX z@a1brz!?@W>_q?pI*e9z2n zOcaU#@C)sl4CAYx_(`3__tlE(N{Qt7roh7qB?|4iJjO zg#k(_Gh6_Qa%Q*!B)MkbJCV53&)ziyPT@bnPom8LiOZP*3_{Hy-8|hdDP{9+S?HTU zg(f%y6j9L6fTA4q&jCp;^n520&-1f)p+^RF&`+YFhs5Qe2ZK=Py^q6qJ+!CyQ3VLB zAifP0#Sotsn0`AUot|wrY|x?`tFM^#n>(da@9-<-8g4D&@HRh*HXLv$XE-pBhO=YH zA=7@(35a0oy-hM>A6~0^tEkEs;Y76n2I{>{RVo@bpM;?;o^z2mv@I6UH?R0(0y}qJ zQBBb;_U+#1VxEZ~l9rl}8aAP*9@=jw6bH!{JDYfQfi(0~r&g~q-H1DnKKC46%9yb8 zPR!nkZ9JtoIbWl?j?7%*ZwUJ^+v}+lEYAMQP$lAlnoG<>J~NTHJs(otrxe{beF;w? zZrW59fjd$Nh>fTqGllr5C0Lck&&(liaO>0hr7xzns*q5_63fio;SMgIo;%#g7SO(^ znP#r0x$a&%*KIj2uX*R*OG|L!(j{1D+Lz|*TuF0#!eY1;ca*w`VRq6sG3#KKQv94+ zpq-tRzr3@PqYzikPX59)VOxK8f1!7F^8DP{Nmwv{YSMb~UVf#0qoyYjL8Ipyt=~~8 z)RmgLq$(hPs2NCCkVdO_jx+n{a<_AmgIw)B&Bj(VFk1=oG$ia> zm#BY;7u5w^>g!B{(8r#3~=ZHvJV0a7Hs zAE1yj$ag?dY>+K%5J#4Q+2PS_2`%m54J+q;QqFt*a=Ny{9NjEAkd^pG3nC*~`HX2Ib)Aj>=ir8%-qq&ULHx96*UgD?kMW|2|L@ z!=E>~{(O)~s*jl11O zyH&WGS*oQI26a44T{PVj&%Yl6lUIzYZ?z%(YrOP1BA5_GlhqC+=YTl&ft5WQ*(8n-~J97eG1cecs zsB+#{LI^fysy*rj0A%H|Yo2&TWwzScH$NvEh0PoP0kuh-`AsK7C@t1Z6p8Qpg?16f z9N4%0Bsz70o`I>0G9egzA%KB8-t$)hMb+^h?HJ+5d-B?WZD-kp%9mMe+ftBODDR~X zXlQn^O&wLIkGR?0-E7mI@N#F>OT{?JW)HI&$S+(O_*^y~h(X5{mloP1w^}E^$kjYQ z!8nCLUZNCdApEdC>GZ-Cj`EA`?r#@^y!1ltv>0+soCBQV%I$l+ZqI~oO!3k&F>}>4 zZ4UdF0*KOK{~|+GF6>MB$~sH>*wQ+KyH?P-l2-02Bc?Av=q2Afs9UkhiKnoeq(Xis zna{RvT@luf^D46ag4j!y+xRPgrQ+`f*PJ>4Uqe(n0AFbIb0p0KVBg|#a?w?BuM;=+ z)43Kp(<>jb)QLOvW+iqr`2sW?_0M@7RrYV;1+9hlcU6btA}OTI_^hfH`Z`Vntqv(?^IodfC6IQk&BGu&;7 z^7jEI*O%E37ao>ezC0Wq5~@$Og~!o=aPpWAC|A4P1MN<2aLAsC)2eA@u9_ys(fj^j zr_gZ;+XnA7RLcgFJ#{={QPG{gdnv8o+O45Zuk}L!xB7`Ss35Z`aONb?$B46ouwuTev`l82h56#qs}W3v_c z%b%@`KwdRn@E^wQ9J6Gy6?eMe{7dWc)V@k%niCPcwUxK%(i`Y2)lN*0gz0qRDcUn8 zvk{bw4>r2?X()@PH;{|VNPL3kvG@o|lA$Xm8h#30g#!8`o zR*wm($942E%u^AhR7UVjP#8UkDn0XXI`&e5f2G>%#k2IB1v+=!qt_hFQ>IA!sBsWQ z`m&vVm_?N`UkD<%;xi@fne&V9f{!VJeSQ+1O+e$oY(iNV44%eR{-jOW#x!dMME0`P z`Q=nG)qhKX0?K3ypeQ!k2{0Kqn(kb?RfECO(pXEq0X0cW4WqKcG6B6z#xJaEAZ)(5 z-A|$o1pUex2n<3Ew2@bOvrQ^<)oT1PKop6)0>oG5`4A|I&6Bsc;R_&lhW4VIcOJ^you;?5BprARWQFgWE?%3)s}k{ zciww*MngS{8n|w{8Xi5r43-E=>-9JZqvw|xs$~bsj-ofEG0_TVFQ@gr-AG<$I^60j zUdOJx*y-@Rifq>%A?DV{srTu+?Lo$- zyjuoN@o_MU#77N3AEJ6-_y?en1H%t1;?RMie~{sg@L!W+f0aH0Bm9>^F(#DQM3o)~ zZoPs=+&Daz1<(#AzKa?Zra7f8rd*JYGWdn#=&wY=AnYIfBs%&-pTOwvFt|H_fr|cr z9Z*z7f9(L_(Lc|>Z4=7oB);e$9a|LrrRr$ti#_zsQAWj}iOE9~jhZJ);lbWmuXba1 ziavj$*S})A16^gRCjHpRM$RPcK*&(8J8<3jEr*f^6O`pc$xcI+>|4ZqwT3FYfy$3$ zW+&B_0f=-!$+?qOe6LZ#*8}PpdIvRFtGKuT6=Y^;*D1{!HI^eiSDLv=JFA>4Y2mJ* zx`*|1nVH$k!ivj>Ya6|-2DT-N)9AJhX7X1^FuM>UsQJ<}a#)l-8l22wCAJY`b=N$u zaPm;4(d*JtNPW`Rz%7phtDjteXGNU*eB4&A|6)d|OAm;h>d|VkD#RAcEC=rxCWLmi z;f0K0MHjF{;sziUw#>WCZR>J`q*)d(Y{@rZ#&@%v@im6fpbcENINc&~IvjwLnlO0@ zD8|GK@R73$yb0#Ez9B`hasGCY$vB@aX@%lKk$8h&D30+;6s!xs)=#2iJoE^R@eYF* zGL=8c+LUe*+7j8zR_D8@Vp8D40SYKX`~@hA4Usoh_<4{>^fOb1e1|s6`PsXW!-qfT zC()2Y;&PCKK`7+jy!J=XJ`z6+5LiL{Jx~-wd~9LY=4^nt7j;O?^UGTw;G&VZ&o7{B z1k7Lm%uk|?0G-Mi0Su%OZ0yQrkysQ`x$R8>vZ(zKvi}=itJ)8t+8`W41TawhA!ev( zSjL5Tiv19I@w8Y#U-JC$s33V(8R=pZ=S!Vjtc%QJpfn^gLw8nNb=y`1Lz+{N%M?%1^F{UGIe7C}oXE+Ni#6eE9y zjAE{X#A+1t82T=ogk_N(#kjjZo?yocv>jF9)vX+;)0R{|HUd*s8ng$5mak3ESm8Iz zcIVPnXY4o@lE$#Zg-@X(nLG_4vZ8YN zNPNaGstYobick1SbOr_O0y8LOMKE{=Q~5^@$EF5xnLZ%@rq%yD#DsYLeSk8`RNn+e zv8f)!DK0k@?A)1dG<(#r+O4dieu8SGp$bW?m|Qv%|LzylH52mCfAy1SGeNU*W&(py zGs*M)=?0X#X0_e4osF`AJ_6g%I#3iFC2wfA10=aaJH8W%ll|;nu(3(w1V4!e8xofT z8w^6h-sX;`Gfg7*o(2Cx;1Y?w0jj7LaXu)@f&T=MAZ(uIM)E! z%(353q749j${7F*qycOuHDpZv_JD3rtrzKRA$+|kFZn8#$~WY_ld#C&Eh2;AQr3%p zH#^LbDIAY@)!O1A&zSe2o-uDujRgbV8<%gun=6!Ww0ltqSQ@nlaJc(fa)|Q7-A@{- z~S+K)kN zIjY^Lh>zf?c8eT30gMh_$`1TA?j0vR;QKiSX+tcG) zZJcZlb3SU3IZP3S6_N`_;sU>roX059Fz|f1pG4;|&?_*HaTuJ+R1fgT_G!d~l({xQ z8I@#S1&U%L6%JF`Bz6iSMm5q(g(TKYT$*0o<`>g769%4BeiCgaXjaZlU=V7iQ66mN zG@`*9R__-BC0Zs5P(qpKCQuZcCvS}VYLMg(v-l1@HrdbKg&jlCTm2*&c1T-1|7noqg3ov8amjx6F8CONe$r2(!H2}wynA?W}1lV}4# zpK=BO18D%8I}I7*o*W>H8sqBRA$*LRmu?kHR|@hKLW$o#$xyucUjuc zFnrBJ&{B$XiL)BM-u9yBtl#NHl^ClI2H}RR-rwoRe4~X zS8B_SV*@KOPAU#V_(;6e=-~5HJ&t`SDC9WyMT+hA$9m8`WWWM z&gk_GpcoTM2ck-kUbm%3uc}K%9%56IccTiKn&cL@;&I7Hyw@)t=O#)hj9c&Yljz(8 z8U^Mi4ujV*)dM_k{W38jWxg1oj7l880E%Ms6b?c&+2glRjWkgqi8T|KriEj_n68;H zto(+bM4Jhkl`|6WfU9;N$8rVeQmjR+Hqud9IVx#1ZR!5FE2FPr-m6_+y|b2mT{LBE3HY zKHs4QVLy8pd<-TZ;V04HL*jDagFz_x-qGsQp?xHt8X&NO_-arTL!3AMWO!{zm_`i} z@x0R3{#=lji~Yj62Ebsl<|okxfIj6600zix?@*&vogsveR`ZgoVyS$i z)z=di`75$A7%pYBO3xNI=jJ>E(-SfSQ-`u(3>rUhW6%_H-*EG4r}Vg<&Buyqc9hBQ zys?8$=WQ(ZqFl>8Vw;KIN5(Bb5`CAUN|qI5JLp{RV5-NLscWXg;GyKFjKIDWT@Qrr zp!RIl6rV%|nW5xkkBlu@{H3g*-b1ntO9V1Q&@XfG^bk~UMpiwr{+R~xJ4@%YQSVJo zz1}HvHO=)WOXs>xb9GvjcADIKX$gM4bP2MXuNBVO%W1wNCoICQ#r?eYYz*=9Jlj%= zx0A+pgZO>r_t2^h-mtn{EOohvK8Ce*XPkZ^D8_`+g{acw z^fS`q^z=j9v}{r`o25Mob;>L)jNU51q>*@vUjfeBl-L-_KhaO3^ET)ln726$E?_GE zNIpG>qHsuGwEDKGQWAbPKzNlz3s4jr?8LOeRG(JKonW~URY^MyC9~o(MI>I}7uPip z2H4N_lW6lm!*b>UgHZEqOK*Kog_zuXR{J*rFFGp)R#tm9xTmO#JtTG=bx zqTY#mq@{{!te{++`ftCWu9+}2|8qZyHWPF!XC^QRHPi8FGv&nOAtfvlcLO*&avY$R zGTC2&qS$0S&81t_fK;{*{9mX>TC9-7ipixT@lC&&uE8*z|GJ+<8w{G2GZ+|z8Z7_R zh=L&hrq%y`phbt01C&u_`ahs3HWMG@k)t3_(^_+)G1L$uD=L?d#5yALgjm;982GR9 zlW0>xyK<%igHTh+7p3axZ8xwDT(?^91WJ(@3s6BB=rm9i8z^rw^Wh+oZ6-6H#&;rd zzMs7dI$p1No}Wa64vEWw4hEs1r)G(jmZ@tN>}!ETB(4q+U4i{%P?Q6E3M9E;^PNb< ze)cZdcxz(SPolww#O1&SgHW)yre=pzF+T5>h5m&=g`*XBenng096$H-vmW5 z{1$1OA^ij-xvhZj(8*0ddl&o-gw4PDNi_J7xE%Ok5DLC`^<>iy_V5k#;YlO(dFOSY zD26z5bh#BD&_~v@gNYreNCH2E$TmhUPiH&*qPphTNNAnlC(-7BcIC_g2GSgMPHMjUcPAvBQ<3jeKVl0dGi152Nkl!*iY*%VjdM_)<^cJ!8De-LTtrCW)?!6$1bXl z&AF1+VSz*#*5PKBL0-hg)5{AY9V2BJCY zpJ_htUksn(?ol@lEJ5TskEImX5ofyuA%BG|K^%m{Y6;?c`mUBBtbYz!g4lRzC#J(+ zv<3mYXk;>14M5@^R3C}IHC%jc2Xf)zEEAxR%L`vp#7A&>Vc>C%s^JV=x0?J|YVsrc z7}kQE#f2Y$!e~NN>BWT|nEp&JDd?FsJt<++#rsf~%vy%iS%H~^-jv}N*aaMm3HSO* zbm9UX0}~fzQ84%}Q~4JY)MC$Ik283~>iwXT*ySSn2sG4IP!t;~8kncHu5T?ghDxM` z3J9!-T$Y}`>le{A4d(ez_mgPTK&x`50fSJ}Y?m|CMV)ieZHvKUfLA0g4NyppvVIp7 z#b)9~94Aibna@09U5%=wv4)aaahZY+NBYHeO@=xDr}#;<$)I65lYv2~$TnvN;L9bGA765!{!!mFq~0K`UTqORHo;f%?WvN zsy#~&$Ua1SvFq(tJkgq;os2u@&~sorF&U&IJisw;QTu^Ha?4X67ZO&19d+ z^OAfat>2wSQs3N)*6)s#e&U_%nc)6I-QJU#WwJ9HF*BcO-|wxWg}sp0{1YVju;84T z&HN}APtRrszwrBuOXs!Dv=i;R&Xu%g-&i`gHL59UUgme2(?2bp(+0P#Yj)|2X`Vk{ zI?qk%9z}D_UQY8}dCHRgWhHtp%}xGD^Vqs{9;>)t)J)W`G?&WKxvY1(UCk?XEzNQF z(m9d`a^J4Gncrzn7cPcVaVn%cJHq_1g$^sMW7Nd^a3g zO{l+yzN-m!+p%UQ)Wt1FXLBp@D(BME-%3BOif8Bvt@J49Y6Z*L=#VR!{r>vBQM$91 zuZ_a5Ze_mJxM5zs8y>M)m({OyR^VR_82M8q4&Ug{^&V}9rtIOca4 zbeYP(Jf$q5n{CEG=CalKWk;OzklChe0b%k}hWj;v$i_ z%P){?1T5iw&`+X`03FI10SrQopq6Y+KdG%SaNTPCbpR8IzY9=7nc*H#6q|t`&?4K3 ziIv#~@IOSR@`2ponTiyFpQGGTzp}Sxin^n6=l%s7u;wIGq)kNoc*9 zC_O&r8Vd`17x_uFv7lo)V}U`avD7)DbV{eqm4DOfUnS9q*F=Ca%3#k1MX|w7MjMl| zQi->RVlW6lm%W~!cgHZFV zm*z=LxumXHZT}JoMdD)tqALS^1Qf*vQthB<^qIBL-KZ_qf(j|E&`d<@*nXj16JeS0 z3w{!9BIsGpL|_nVBK2f>XE>_+yqr5$^M3(ck@#_d8p>S%2#R8J$!1YB^3Pi9epKeR zr$Rz2GSkqSw_jw}SXidK&rhO_1ue@N3k*VyWpcdKRA1(*)%f^R*+>tf4^LFq2SJVn zMX`~#pwpA7cxt-Q4vTi80%@3>!d5gcM{DAK(OhHTjMA8&L>mLzlrshx1REnY)uda^ z#`IOI@#BC@BpwqWzG^X-fTGwKc^i$c1&M?|v(bp}MB-_F_AcN!mvptCL<0_q%K;7s zGM_AcN!d33X%L<0_q%K;7s zp@7R>a|46_>}3o2p8$$4{amhs5O| z2ZK<^H*oin8QP~WTDZRoBqH&Z0O1wfUj#)txc>npxp4Cx+Qj2$@4~&AB>uLaM8ge< z%fSr>p>S_uxZUY}-H+$ovB3WZm_*_~1JqE!{}L4CfZupp5%7E`5}T=jC$77|kCMde z{UjQANL&thFbD-+o*>R2Z0Fvy;O_!1k$7-`Dhm8@P?Q7zQ6S0ndcG5hNBh~k;BO&` zFYuFS@F8(I@WCJy{B^REaR$xK6$|vUfI%dl5g@h#`l+BO2Xq4@xj^%sNbK{ocY)qY z63_TaG|-T^9ME783iJpAof`hSmn_tWfdVbQ1PHF6ei10jLH$~gx2X9!|KMX`@xg|ge1^fF!Q4aRcfg~4pz7vVh``Np& zV=?rzei98kBrXR#7=*&EQA@E4aS{igIxO3?#X5^Bp>X=V$N2 z9g)O8^^<70A#pjl!9c=ocgqaf2t60D4E4678ECm=KD^dfqNqU_rhjGtgO^DLPott? zyFamk=c814-Ugmx0ew5I&pW+fr?uRyX)8|7I1o1}tB!Z|+Pfy>xLIvY#Sh)p-BoK( z&Ck+qnrg2>FNHVzlaeu29xshI<#%=~sq&{1f!e|Z{l;ng^)V8T`kA!izlJt_o~1W^ z%1z$m_1*eHvi0$;T4O5iR;sNUo%fw=#$BC!=H0T*=wi~Epu7klL0fMj+%BTH&`_{^ z=aYOZlJ%3c0g1K`0yv}*Ce>$5X- zPX#YD!%LD4b1`Y!nwdCABu*W|lv$CiZnT<>R-AixG+C?J^bHEU`*@O=WHaFLWF_;# zV|Qx(WDWh@1-@~82T5biC9a2rw67$m4!3AR&s&)$v-j&)ChPd?Y_-wqi&>&e*3bpS z_cqHrTZ+vjB*`WPD{lk3wK(*8AFEDAZ+M!n!^&NGv==vPr?U#45)Do;cB{~Ev`*UTfy^9`U;SfNyW1rDq*fx^RCjnOV{cO zGsb%jl^-ykXwubC)4e*Uh7i-;0Up7o6VFF+t3}3UdkNTAc?5B7hVqHOe4x!X%4XP& ztDUL(KqLGV@foz3xtg+=zDgEbEvw7e>#uW!9xr9D&*jt*Vy}CMuB^SZ4jF4biqQXz zM-10mDE|q6`9f>i5R?t+2|e%v9dAE5>g+zGd?K-N+O_Vi-DD!!N-YyHV;9AYT`FeS zpr!A+5oKtEq6jcdz;1iKGZpviX9AIT$mr7lG+^N!|xBK*ip0yp*aA|gqeyo>l zC@{75(a#a}bH3B0UmJVvsfo$z)IQuLcB@FP&Y^y?b-LZ|wc5Sdxq10f$;NIx)uRou z69=c;o!LHJ!DjZx9G#1qMfmShl_$z8aWm#C6L^K!#8i{^@RG>HQ4yF68)z$TyF-C9 z-XAynmmi&s)T>SNb5*h>KG-0vD7BdH>O!lMRke6>eunDXgusBPh)Iy@EL~aG>r|&= zC`IvNQ=>IE-q-R4V zo2v7@_JqBZ98Hh%NH*5yXXhr2;}NiYp+P=JXQ`Sn-DbW*=(f5rzr8fqjpu9aiG#Cn zsZk2t?QT5bQnHs!^(OW=x((@~nUNA60j;oC{2-s{bE_wLzq;J^VoiPxjuL%Z9ZnLV|5 z{~jvY-P2DZP@qOoOi*SV5NbB+Mr2d-$Ig?d^T!)eGM+k@8jYE3KrrKh!`FE|L*$T z;-;hM3jg^6zVV;mr(v4lKRb@0Z~Q05H~w?tO8UlsYWT)~?#DO&^NLmUjsJXcHGShh zcdnst{O4YL<3F!kOW*jpClpu7g+5DR(XNd zU0_ugSj`1iae>ua5YX?+`TB9th~4FEa+l|l!+cfx%8QM!d?@}lUlI7m zzEUy1B8;#62H)6M`tTa|m3!bd>?`jxzVa)4V_$ib@s%Ip8~e&(<11goH};h}yk-R) z=2!T}Ub7QF*=tt8f7ok&1^>AcuJd@~KlAu@JY45k<4G48Pr4W1Cg4ubG(Pnbd}E*5 z3GZT`x(wdMKJ`g>7dsYSP%3>2?=g`+g~y4BE}c&jE&Rc8Cq5Fz-o-=j`DCNpgL0$Z zNCQQV73izw6+}5*PWB$|6SwpG*>3tnyQ}?mQD{D zQk1Pr-J!7%#b8qm`}8SvQRmgA@GdJfq1L@TPLmCrx`*i0)vUg3GeLa_-s~ii^A9u_ zdE{l(Bs)m+Xp#gyYUMNULXABNE-NA>< z`XljtPq}23O8AaSR?4CO%Ew>%*e4fEew6>4(X{(-47ohLodi2oxe#ukLr*BLh;-dAv(5J6H=^3E#KYJ9>3jfGc&ZjUQ cB$1 +LaTeX2e <2017-04-15> +Babel <3.18> and hyphenation patterns for 84 language(s) loaded. (./sphinxmanual.cls -Document Class: sphinxmanual 2018/12/23 v2.0 Document class (Sphinx manual) -(/usr/share/texmf-dist/tex/latex/base/report.cls -Document Class: report 2018/09/03 v1.4i Standard LaTeX document class -(/usr/share/texmf-dist/tex/latex/base/size10.clo -File: size10.clo 2018/09/03 v1.4i Standard LaTeX file (size option) -) -\c@part=\count80 -\c@chapter=\count81 -\c@section=\count82 -\c@subsection=\count83 -\c@subsubsection=\count84 -\c@paragraph=\count85 -\c@subparagraph=\count86 -\c@figure=\count87 -\c@table=\count88 +Document Class: sphinxmanual 2019/12/01 v2.3.0 Document class (Sphinx manual) +(/usr/share/texlive/texmf-dist/tex/latex/base/report.cls +Document Class: report 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo +File: size10.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@chapter=\count80 +\c@section=\count81 +\c@subsection=\count82 +\c@subsubsection=\count83 +\c@paragraph=\count84 +\c@subparagraph=\count85 +\c@figure=\count86 +\c@table=\count87 \abovecaptionskip=\skip41 \belowcaptionskip=\skip42 \bibindent=\dimen102 -)) -(/usr/share/texmf-dist/tex/latex/base/inputenc.sty -Package: inputenc 2018/08/11 v1.3c Input encoding file +) +LaTeX Info: Redefining \and on input line 35. +) +(/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty +Package: inputenc 2015/03/17 v1.2c Input encoding file \inpenc@prehook=\toks14 \inpenc@posthook=\toks15 + +(/usr/share/texlive/texmf-dist/tex/latex/base/utf8.def +File: utf8.def 2017/01/28 v1.1t UTF-8 support for inputenc +Now handling font encoding OML ... +... no UTF-8 mapping file for font encoding OML +Now handling font encoding T1 ... +... processing UTF-8 mapping file for font encoding T1 + +(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.dfu +File: t1enc.dfu 2017/01/28 v1.1t UTF-8 support for inputenc + defining Unicode char U+00A0 (decimal 160) + defining Unicode char U+00A1 (decimal 161) + defining Unicode char U+00A3 (decimal 163) + defining Unicode char U+00AB (decimal 171) + defining Unicode char U+00AD (decimal 173) + defining Unicode char U+00BB (decimal 187) + defining Unicode char U+00BF (decimal 191) + defining Unicode char U+00C0 (decimal 192) + defining Unicode char U+00C1 (decimal 193) + defining Unicode char U+00C2 (decimal 194) + defining Unicode char U+00C3 (decimal 195) + defining Unicode char U+00C4 (decimal 196) + defining Unicode char U+00C5 (decimal 197) + defining Unicode char U+00C6 (decimal 198) + defining Unicode char U+00C7 (decimal 199) + defining Unicode char U+00C8 (decimal 200) + defining Unicode char U+00C9 (decimal 201) + defining Unicode char U+00CA (decimal 202) + defining Unicode char U+00CB (decimal 203) + defining Unicode char U+00CC (decimal 204) + defining Unicode char U+00CD (decimal 205) + defining Unicode char U+00CE (decimal 206) + defining Unicode char U+00CF (decimal 207) + defining Unicode char U+00D0 (decimal 208) + defining Unicode char U+00D1 (decimal 209) + defining Unicode char U+00D2 (decimal 210) + defining Unicode char U+00D3 (decimal 211) + defining Unicode char U+00D4 (decimal 212) + defining Unicode char U+00D5 (decimal 213) + defining Unicode char U+00D6 (decimal 214) + defining Unicode char U+00D8 (decimal 216) + defining Unicode char U+00D9 (decimal 217) + defining Unicode char U+00DA (decimal 218) + defining Unicode char U+00DB (decimal 219) + defining Unicode char U+00DC (decimal 220) + defining Unicode char U+00DD (decimal 221) + defining Unicode char U+00DE (decimal 222) + defining Unicode char U+00DF (decimal 223) + defining Unicode char U+00E0 (decimal 224) + defining Unicode char U+00E1 (decimal 225) + defining Unicode char U+00E2 (decimal 226) + defining Unicode char U+00E3 (decimal 227) + defining Unicode char U+00E4 (decimal 228) + defining Unicode char U+00E5 (decimal 229) + defining Unicode char U+00E6 (decimal 230) + defining Unicode char U+00E7 (decimal 231) + defining Unicode char U+00E8 (decimal 232) + defining Unicode char U+00E9 (decimal 233) + defining Unicode char U+00EA (decimal 234) + defining Unicode char U+00EB (decimal 235) + defining Unicode char U+00EC (decimal 236) + defining Unicode char U+00ED (decimal 237) + defining Unicode char U+00EE (decimal 238) + defining Unicode char U+00EF (decimal 239) + defining Unicode char U+00F0 (decimal 240) + defining Unicode char U+00F1 (decimal 241) + defining Unicode char U+00F2 (decimal 242) + defining Unicode char U+00F3 (decimal 243) + defining Unicode char U+00F4 (decimal 244) + defining Unicode char U+00F5 (decimal 245) + defining Unicode char U+00F6 (decimal 246) + defining Unicode char U+00F8 (decimal 248) + defining Unicode char U+00F9 (decimal 249) + defining Unicode char U+00FA (decimal 250) + defining Unicode char U+00FB (decimal 251) + defining Unicode char U+00FC (decimal 252) + defining Unicode char U+00FD (decimal 253) + defining Unicode char U+00FE (decimal 254) + defining Unicode char U+00FF (decimal 255) + defining Unicode char U+0100 (decimal 256) + defining Unicode char U+0101 (decimal 257) + defining Unicode char U+0102 (decimal 258) + defining Unicode char U+0103 (decimal 259) + defining Unicode char U+0104 (decimal 260) + defining Unicode char U+0105 (decimal 261) + defining Unicode char U+0106 (decimal 262) + defining Unicode char U+0107 (decimal 263) + defining Unicode char U+0108 (decimal 264) + defining Unicode char U+0109 (decimal 265) + defining Unicode char U+010A (decimal 266) + defining Unicode char U+010B (decimal 267) + defining Unicode char U+010C (decimal 268) + defining Unicode char U+010D (decimal 269) + defining Unicode char U+010E (decimal 270) + defining Unicode char U+010F (decimal 271) + defining Unicode char U+0110 (decimal 272) + defining Unicode char U+0111 (decimal 273) + defining Unicode char U+0112 (decimal 274) + defining Unicode char U+0113 (decimal 275) + defining Unicode char U+0114 (decimal 276) + defining Unicode char U+0115 (decimal 277) + defining Unicode char U+0116 (decimal 278) + defining Unicode char U+0117 (decimal 279) + defining Unicode char U+0118 (decimal 280) + defining Unicode char U+0119 (decimal 281) + defining Unicode char U+011A (decimal 282) + defining Unicode char U+011B (decimal 283) + defining Unicode char U+011C (decimal 284) + defining Unicode char U+011D (decimal 285) + defining Unicode char U+011E (decimal 286) + defining Unicode char U+011F (decimal 287) + defining Unicode char U+0120 (decimal 288) + defining Unicode char U+0121 (decimal 289) + defining Unicode char U+0122 (decimal 290) + defining Unicode char U+0123 (decimal 291) + defining Unicode char U+0124 (decimal 292) + defining Unicode char U+0125 (decimal 293) + defining Unicode char U+0128 (decimal 296) + defining Unicode char U+0129 (decimal 297) + defining Unicode char U+012A (decimal 298) + defining Unicode char U+012B (decimal 299) + defining Unicode char U+012C (decimal 300) + defining Unicode char U+012D (decimal 301) + defining Unicode char U+012E (decimal 302) + defining Unicode char U+012F (decimal 303) + defining Unicode char U+0130 (decimal 304) + defining Unicode char U+0131 (decimal 305) + defining Unicode char U+0132 (decimal 306) + defining Unicode char U+0133 (decimal 307) + defining Unicode char U+0134 (decimal 308) + defining Unicode char U+0135 (decimal 309) + defining Unicode char U+0136 (decimal 310) + defining Unicode char U+0137 (decimal 311) + defining Unicode char U+0139 (decimal 313) + defining Unicode char U+013A (decimal 314) + defining Unicode char U+013B (decimal 315) + defining Unicode char U+013C (decimal 316) + defining Unicode char U+013D (decimal 317) + defining Unicode char U+013E (decimal 318) + defining Unicode char U+0141 (decimal 321) + defining Unicode char U+0142 (decimal 322) + defining Unicode char U+0143 (decimal 323) + defining Unicode char U+0144 (decimal 324) + defining Unicode char U+0145 (decimal 325) + defining Unicode char U+0146 (decimal 326) + defining Unicode char U+0147 (decimal 327) + defining Unicode char U+0148 (decimal 328) + defining Unicode char U+014A (decimal 330) + defining Unicode char U+014B (decimal 331) + defining Unicode char U+014C (decimal 332) + defining Unicode char U+014D (decimal 333) + defining Unicode char U+014E (decimal 334) + defining Unicode char U+014F (decimal 335) + defining Unicode char U+0150 (decimal 336) + defining Unicode char U+0151 (decimal 337) + defining Unicode char U+0152 (decimal 338) + defining Unicode char U+0153 (decimal 339) + defining Unicode char U+0154 (decimal 340) + defining Unicode char U+0155 (decimal 341) + defining Unicode char U+0156 (decimal 342) + defining Unicode char U+0157 (decimal 343) + defining Unicode char U+0158 (decimal 344) + defining Unicode char U+0159 (decimal 345) + defining Unicode char U+015A (decimal 346) + defining Unicode char U+015B (decimal 347) + defining Unicode char U+015C (decimal 348) + defining Unicode char U+015D (decimal 349) + defining Unicode char U+015E (decimal 350) + defining Unicode char U+015F (decimal 351) + defining Unicode char U+0160 (decimal 352) + defining Unicode char U+0161 (decimal 353) + defining Unicode char U+0162 (decimal 354) + defining Unicode char U+0163 (decimal 355) + defining Unicode char U+0164 (decimal 356) + defining Unicode char U+0165 (decimal 357) + defining Unicode char U+0168 (decimal 360) + defining Unicode char U+0169 (decimal 361) + defining Unicode char U+016A (decimal 362) + defining Unicode char U+016B (decimal 363) + defining Unicode char U+016C (decimal 364) + defining Unicode char U+016D (decimal 365) + defining Unicode char U+016E (decimal 366) + defining Unicode char U+016F (decimal 367) + defining Unicode char U+0170 (decimal 368) + defining Unicode char U+0171 (decimal 369) + defining Unicode char U+0172 (decimal 370) + defining Unicode char U+0173 (decimal 371) + defining Unicode char U+0174 (decimal 372) + defining Unicode char U+0175 (decimal 373) + defining Unicode char U+0176 (decimal 374) + defining Unicode char U+0177 (decimal 375) + defining Unicode char U+0178 (decimal 376) + defining Unicode char U+0179 (decimal 377) + defining Unicode char U+017A (decimal 378) + defining Unicode char U+017B (decimal 379) + defining Unicode char U+017C (decimal 380) + defining Unicode char U+017D (decimal 381) + defining Unicode char U+017E (decimal 382) + defining Unicode char U+01CD (decimal 461) + defining Unicode char U+01CE (decimal 462) + defining Unicode char U+01CF (decimal 463) + defining Unicode char U+01D0 (decimal 464) + defining Unicode char U+01D1 (decimal 465) + defining Unicode char U+01D2 (decimal 466) + defining Unicode char U+01D3 (decimal 467) + defining Unicode char U+01D4 (decimal 468) + defining Unicode char U+01E2 (decimal 482) + defining Unicode char U+01E3 (decimal 483) + defining Unicode char U+01E6 (decimal 486) + defining Unicode char U+01E7 (decimal 487) + defining Unicode char U+01E8 (decimal 488) + defining Unicode char U+01E9 (decimal 489) + defining Unicode char U+01EA (decimal 490) + defining Unicode char U+01EB (decimal 491) + defining Unicode char U+01F0 (decimal 496) + defining Unicode char U+01F4 (decimal 500) + defining Unicode char U+01F5 (decimal 501) + defining Unicode char U+0218 (decimal 536) + defining Unicode char U+0219 (decimal 537) + defining Unicode char U+021A (decimal 538) + defining Unicode char U+021B (decimal 539) + defining Unicode char U+0232 (decimal 562) + defining Unicode char U+0233 (decimal 563) + defining Unicode char U+1E02 (decimal 7682) + defining Unicode char U+1E03 (decimal 7683) + defining Unicode char U+200C (decimal 8204) + defining Unicode char U+2010 (decimal 8208) + defining Unicode char U+2011 (decimal 8209) + defining Unicode char U+2012 (decimal 8210) + defining Unicode char U+2013 (decimal 8211) + defining Unicode char U+2014 (decimal 8212) + defining Unicode char U+2015 (decimal 8213) + defining Unicode char U+2018 (decimal 8216) + defining Unicode char U+2019 (decimal 8217) + defining Unicode char U+201A (decimal 8218) + defining Unicode char U+201C (decimal 8220) + defining Unicode char U+201D (decimal 8221) + defining Unicode char U+201E (decimal 8222) + defining Unicode char U+2030 (decimal 8240) + defining Unicode char U+2031 (decimal 8241) + defining Unicode char U+2039 (decimal 8249) + defining Unicode char U+203A (decimal 8250) + defining Unicode char U+2423 (decimal 9251) + defining Unicode char U+1E20 (decimal 7712) + defining Unicode char U+1E21 (decimal 7713) +) +Now handling font encoding OT1 ... +... processing UTF-8 mapping file for font encoding OT1 + +(/usr/share/texlive/texmf-dist/tex/latex/base/ot1enc.dfu +File: ot1enc.dfu 2017/01/28 v1.1t UTF-8 support for inputenc + defining Unicode char U+00A0 (decimal 160) + defining Unicode char U+00A1 (decimal 161) + defining Unicode char U+00A3 (decimal 163) + defining Unicode char U+00AD (decimal 173) + defining Unicode char U+00B8 (decimal 184) + defining Unicode char U+00BF (decimal 191) + defining Unicode char U+00C5 (decimal 197) + defining Unicode char U+00C6 (decimal 198) + defining Unicode char U+00D8 (decimal 216) + defining Unicode char U+00DF (decimal 223) + defining Unicode char U+00E6 (decimal 230) + defining Unicode char U+00EC (decimal 236) + defining Unicode char U+00ED (decimal 237) + defining Unicode char U+00EE (decimal 238) + defining Unicode char U+00EF (decimal 239) + defining Unicode char U+00F8 (decimal 248) + defining Unicode char U+0131 (decimal 305) + defining Unicode char U+0141 (decimal 321) + defining Unicode char U+0142 (decimal 322) + defining Unicode char U+0152 (decimal 338) + defining Unicode char U+0153 (decimal 339) + defining Unicode char U+0174 (decimal 372) + defining Unicode char U+0175 (decimal 373) + defining Unicode char U+0176 (decimal 374) + defining Unicode char U+0177 (decimal 375) + defining Unicode char U+0218 (decimal 536) + defining Unicode char U+0219 (decimal 537) + defining Unicode char U+021A (decimal 538) + defining Unicode char U+021B (decimal 539) + defining Unicode char U+2013 (decimal 8211) + defining Unicode char U+2014 (decimal 8212) + defining Unicode char U+2018 (decimal 8216) + defining Unicode char U+2019 (decimal 8217) + defining Unicode char U+201C (decimal 8220) + defining Unicode char U+201D (decimal 8221) ) +Now handling font encoding OMS ... +... processing UTF-8 mapping file for font encoding OMS + +(/usr/share/texlive/texmf-dist/tex/latex/base/omsenc.dfu +File: omsenc.dfu 2017/01/28 v1.1t UTF-8 support for inputenc + defining Unicode char U+00A7 (decimal 167) + defining Unicode char U+00B6 (decimal 182) + defining Unicode char U+00B7 (decimal 183) + defining Unicode char U+2020 (decimal 8224) + defining Unicode char U+2021 (decimal 8225) + defining Unicode char U+2022 (decimal 8226) +) +Now handling font encoding OMX ... +... no UTF-8 mapping file for font encoding OMX +Now handling font encoding U ... +... no UTF-8 mapping file for font encoding U + defining Unicode char U+00A9 (decimal 169) + defining Unicode char U+00AA (decimal 170) + defining Unicode char U+00AE (decimal 174) + defining Unicode char U+00BA (decimal 186) + defining Unicode char U+02C6 (decimal 710) + defining Unicode char U+02DC (decimal 732) + defining Unicode char U+200C (decimal 8204) + defining Unicode char U+2026 (decimal 8230) + defining Unicode char U+2122 (decimal 8482) + defining Unicode char U+2423 (decimal 9251) +)) defining Unicode char U+00A0 (decimal 160) defining Unicode char U+2500 (decimal 9472) defining Unicode char U+2502 (decimal 9474) @@ -37,60 +353,60 @@ Package: inputenc 2018/08/11 v1.3c Input encoding file defining Unicode char U+251C (decimal 9500) defining Unicode char U+2572 (decimal 9586) -(/usr/share/texmf-dist/tex/latex/cmap/cmap.sty +(/usr/share/texlive/texmf-dist/tex/latex/cmap/cmap.sty Package: cmap 2008/03/06 v1.0h CMap support: searchable PDF ) -(/usr/share/texmf-dist/tex/latex/base/fontenc.sty -Package: fontenc 2018/08/11 v2.0j Standard LaTeX package +(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty +Package: fontenc 2017/04/05 v2.0i Standard LaTeX package -(/usr/share/texmf-dist/tex/latex/base/t1enc.def -File: t1enc.def 2018/08/11 v2.0j Standard LaTeX file +(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def +File: t1enc.def 2017/04/05 v2.0i Standard LaTeX file LaTeX Font Info: Redeclaring font encoding T1 on input line 48. )<>) -(/usr/share/texmf-dist/tex/latex/amsmath/amsmath.sty -Package: amsmath 2018/12/01 v2.17b AMS math features +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty +Package: amsmath 2017/09/02 v2.17a AMS math features \@mathmargin=\skip43 For additional information on amsmath, use the `?' option. -(/usr/share/texmf-dist/tex/latex/amsmath/amstext.sty +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty Package: amstext 2000/06/29 v2.01 AMS text -(/usr/share/texmf-dist/tex/latex/amsmath/amsgen.sty +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty File: amsgen.sty 1999/11/30 v2.0 generic functions \@emptytoks=\toks16 \ex@=\dimen103 )) -(/usr/share/texmf-dist/tex/latex/amsmath/amsbsy.sty +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty Package: amsbsy 1999/11/29 v1.2d Bold Symbols \pmbraise@=\dimen104 ) -(/usr/share/texmf-dist/tex/latex/amsmath/amsopn.sty +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty Package: amsopn 2016/03/08 v2.02 operator names ) -\inf@bad=\count89 -LaTeX Info: Redefining \frac on input line 223. -\uproot@=\count90 -\leftroot@=\count91 -LaTeX Info: Redefining \overline on input line 385. -\classnum@=\count92 -\DOTSCASE@=\count93 -LaTeX Info: Redefining \ldots on input line 482. -LaTeX Info: Redefining \dots on input line 485. -LaTeX Info: Redefining \cdots on input line 606. -\Mathstrutbox@=\box27 -\strutbox@=\box28 +\inf@bad=\count88 +LaTeX Info: Redefining \frac on input line 213. +\uproot@=\count89 +\leftroot@=\count90 +LaTeX Info: Redefining \overline on input line 375. +\classnum@=\count91 +\DOTSCASE@=\count92 +LaTeX Info: Redefining \ldots on input line 472. +LaTeX Info: Redefining \dots on input line 475. +LaTeX Info: Redefining \cdots on input line 596. +\Mathstrutbox@=\box26 +\strutbox@=\box27 \big@size=\dimen105 -LaTeX Font Info: Redeclaring font encoding OML on input line 729. -LaTeX Font Info: Redeclaring font encoding OMS on input line 730. -\macc@depth=\count94 -\c@MaxMatrixCols=\count95 +LaTeX Font Info: Redeclaring font encoding OML on input line 712. +LaTeX Font Info: Redeclaring font encoding OMS on input line 713. +\macc@depth=\count93 +\c@MaxMatrixCols=\count94 \dotsspace@=\muskip10 -\c@parentequation=\count96 -\dspbrk@lvl=\count97 +\c@parentequation=\count95 +\dspbrk@lvl=\count96 \tag@help=\toks17 -\row@=\count98 -\column@=\count99 -\maxfields@=\count100 +\row@=\count97 +\column@=\count98 +\maxfields@=\count99 \andhelp@=\toks18 \eqnshift@=\dimen106 \alignsep@=\dimen107 @@ -102,75 +418,901 @@ LaTeX Font Info: Redeclaring font encoding OMS on input line 730. \multlinegap=\skip44 \multlinetaggap=\skip45 \mathdisplay@stack=\toks20 -LaTeX Info: Redefining \[ on input line 2844. -LaTeX Info: Redefining \] on input line 2845. +LaTeX Info: Redefining \[ on input line 2817. +LaTeX Info: Redefining \] on input line 2818. ) -(/usr/share/texmf-dist/tex/latex/amsfonts/amssymb.sty +(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty Package: amssymb 2013/01/14 v3.01 AMS font symbols -(/usr/share/texmf-dist/tex/latex/amsfonts/amsfonts.sty +(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support \symAMSa=\mathgroup4 \symAMSb=\mathgroup5 LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' (Font) U/euf/m/n --> U/euf/b/n on input line 106. )) -(/usr/share/texmf-dist/tex/generic/babel/babel.sty -Package: babel 2019/04/03 3.29 The Babel package +(/usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty +Package: babel 2018/02/14 3.18 The Babel package -(/usr/share/texmf-dist/tex/generic/babel/switch.def -File: switch.def 2019/04/03 3.29 Babel switching mechanism +(/usr/share/texlive/texmf-dist/tex/generic/babel/switch.def +File: switch.def 2018/02/14 3.18 Babel switching mechanism ) -(/usr/share/texmf-dist/tex/generic/babel-english/english.ldf +(/usr/share/texlive/texmf-dist/tex/generic/babel-english/english.ldf Language: english 2017/06/06 v3.3r English support from the babel system -(/usr/share/texmf-dist/tex/generic/babel/babel.def -File: babel.def 2019/04/03 3.29 Babel common definitions -\babel@savecnt=\count101 +(/usr/share/texlive/texmf-dist/tex/generic/babel/babel.def +File: babel.def 2018/02/14 3.18 Babel common definitions +\babel@savecnt=\count100 \U@D=\dimen112 -(/usr/share/texmf-dist/tex/generic/babel/txtbabel.def) -\bbl@dirlevel=\count102 +(/usr/share/texlive/texmf-dist/tex/generic/babel/txtbabel.def) +\bbl@dirlevel=\count101 ) \l@canadian = a dialect from \language\l@american \l@australian = a dialect from \language\l@british \l@newzealand = a dialect from \language\l@british )) -(/usr/share/texmf-dist/tex/latex/psnfss/times.sty +(/usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty Package: times 2005/04/12 PSNFSS-v9.2a (SPQR) ) +(/usr/share/texlive/texmf-dist/tex/latex/fncychap/fncychap.sty +Package: fncychap 2007/07/30 v1.34 LaTeX package (Revised chapters) +\RW=\skip46 +\mylen=\skip47 +\myhi=\skip48 +\px=\skip49 +\py=\skip50 +\pyy=\skip51 +\pxx=\skip52 +\c@AlphaCnt=\count102 +\c@AlphaDecCnt=\count103 +) (./sphinx.sty +Package: sphinx 2019/09/02 v2.3.0 LaTeX package (Sphinx markup) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks21 +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2017/06/25 v1.2c Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 99. + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex +)) +\Gin@req@height=\dimen113 +\Gin@req@width=\dimen114 +) +(/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty +Package: fancyhdr 2017/06/30 v3.9a Extensive control of page headers and footer +s +\f@nch@headwidth=\skip53 +\f@nch@O@elh=\skip54 +\f@nch@O@erh=\skip55 +\f@nch@O@olh=\skip56 +\f@nch@O@orh=\skip57 +\f@nch@O@elf=\skip58 +\f@nch@O@erf=\skip59 +\f@nch@O@olf=\skip60 +\f@nch@O@orf=\skip61 +) +(/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty +Package: textcomp 2017/04/05 v2.0i Standard LaTeX package +Package textcomp Info: Sub-encoding information: +(textcomp) 5 = only ISO-Adobe without \textcurrency +(textcomp) 4 = 5 + \texteuro +(textcomp) 3 = 4 + \textohm +(textcomp) 2 = 3 + \textestimated + \textcurrency +(textcomp) 1 = TS1 - \textcircled - \t +(textcomp) 0 = TS1 (full) +(textcomp) Font families with sub-encoding setting implement +(textcomp) only a restricted character set as indicated. +(textcomp) Family '?' is the default used for unknown fonts. +(textcomp) See the documentation for details. +Package textcomp Info: Setting ? sub-encoding to TS1/1 on input line 79. + +(/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def +File: ts1enc.def 2001/06/05 v3.0e (jk/car/fm) Standard LaTeX file +Now handling font encoding TS1 ... +... processing UTF-8 mapping file for font encoding TS1 + +(/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu +File: ts1enc.dfu 2017/01/28 v1.1t UTF-8 support for inputenc + defining Unicode char U+00A2 (decimal 162) + defining Unicode char U+00A3 (decimal 163) + defining Unicode char U+00A4 (decimal 164) + defining Unicode char U+00A5 (decimal 165) + defining Unicode char U+00A6 (decimal 166) + defining Unicode char U+00A7 (decimal 167) + defining Unicode char U+00A8 (decimal 168) + defining Unicode char U+00A9 (decimal 169) + defining Unicode char U+00AA (decimal 170) + defining Unicode char U+00AC (decimal 172) + defining Unicode char U+00AE (decimal 174) + defining Unicode char U+00AF (decimal 175) + defining Unicode char U+00B0 (decimal 176) + defining Unicode char U+00B1 (decimal 177) + defining Unicode char U+00B2 (decimal 178) + defining Unicode char U+00B3 (decimal 179) + defining Unicode char U+00B4 (decimal 180) + defining Unicode char U+00B5 (decimal 181) + defining Unicode char U+00B6 (decimal 182) + defining Unicode char U+00B7 (decimal 183) + defining Unicode char U+00B9 (decimal 185) + defining Unicode char U+00BA (decimal 186) + defining Unicode char U+00BC (decimal 188) + defining Unicode char U+00BD (decimal 189) + defining Unicode char U+00BE (decimal 190) + defining Unicode char U+00D7 (decimal 215) + defining Unicode char U+00F7 (decimal 247) + defining Unicode char U+0192 (decimal 402) + defining Unicode char U+02C7 (decimal 711) + defining Unicode char U+02D8 (decimal 728) + defining Unicode char U+02DD (decimal 733) + defining Unicode char U+0E3F (decimal 3647) + defining Unicode char U+2016 (decimal 8214) + defining Unicode char U+2020 (decimal 8224) + defining Unicode char U+2021 (decimal 8225) + defining Unicode char U+2022 (decimal 8226) + defining Unicode char U+2030 (decimal 8240) + defining Unicode char U+2031 (decimal 8241) + defining Unicode char U+203B (decimal 8251) + defining Unicode char U+203D (decimal 8253) + defining Unicode char U+2044 (decimal 8260) + defining Unicode char U+204E (decimal 8270) + defining Unicode char U+2052 (decimal 8274) + defining Unicode char U+20A1 (decimal 8353) + defining Unicode char U+20A4 (decimal 8356) + defining Unicode char U+20A6 (decimal 8358) + defining Unicode char U+20A9 (decimal 8361) + defining Unicode char U+20AB (decimal 8363) + defining Unicode char U+20AC (decimal 8364) + defining Unicode char U+20B1 (decimal 8369) + defining Unicode char U+2103 (decimal 8451) + defining Unicode char U+2116 (decimal 8470) + defining Unicode char U+2117 (decimal 8471) + defining Unicode char U+211E (decimal 8478) + defining Unicode char U+2120 (decimal 8480) + defining Unicode char U+2122 (decimal 8482) + defining Unicode char U+2126 (decimal 8486) + defining Unicode char U+2127 (decimal 8487) + defining Unicode char U+212E (decimal 8494) + defining Unicode char U+2190 (decimal 8592) + defining Unicode char U+2191 (decimal 8593) + defining Unicode char U+2192 (decimal 8594) + defining Unicode char U+2193 (decimal 8595) + defining Unicode char U+2329 (decimal 9001) + defining Unicode char U+232A (decimal 9002) + defining Unicode char U+2422 (decimal 9250) + defining Unicode char U+25E6 (decimal 9702) + defining Unicode char U+25EF (decimal 9711) + defining Unicode char U+266A (decimal 9834) +)) +LaTeX Info: Redefining \oldstylenums on input line 334. +Package textcomp Info: Setting cmr sub-encoding to TS1/0 on input line 349. +Package textcomp Info: Setting cmss sub-encoding to TS1/0 on input line 350. +Package textcomp Info: Setting cmtt sub-encoding to TS1/0 on input line 351. +Package textcomp Info: Setting cmvtt sub-encoding to TS1/0 on input line 352. +Package textcomp Info: Setting cmbr sub-encoding to TS1/0 on input line 353. +Package textcomp Info: Setting cmtl sub-encoding to TS1/0 on input line 354. +Package textcomp Info: Setting ccr sub-encoding to TS1/0 on input line 355. +Package textcomp Info: Setting ptm sub-encoding to TS1/4 on input line 356. +Package textcomp Info: Setting pcr sub-encoding to TS1/4 on input line 357. +Package textcomp Info: Setting phv sub-encoding to TS1/4 on input line 358. +Package textcomp Info: Setting ppl sub-encoding to TS1/3 on input line 359. +Package textcomp Info: Setting pag sub-encoding to TS1/4 on input line 360. +Package textcomp Info: Setting pbk sub-encoding to TS1/4 on input line 361. +Package textcomp Info: Setting pnc sub-encoding to TS1/4 on input line 362. +Package textcomp Info: Setting pzc sub-encoding to TS1/4 on input line 363. +Package textcomp Info: Setting bch sub-encoding to TS1/4 on input line 364. +Package textcomp Info: Setting put sub-encoding to TS1/5 on input line 365. +Package textcomp Info: Setting uag sub-encoding to TS1/5 on input line 366. +Package textcomp Info: Setting ugq sub-encoding to TS1/5 on input line 367. +Package textcomp Info: Setting ul8 sub-encoding to TS1/4 on input line 368. +Package textcomp Info: Setting ul9 sub-encoding to TS1/4 on input line 369. +Package textcomp Info: Setting augie sub-encoding to TS1/5 on input line 370. +Package textcomp Info: Setting dayrom sub-encoding to TS1/3 on input line 371. +Package textcomp Info: Setting dayroms sub-encoding to TS1/3 on input line 372. + +Package textcomp Info: Setting pxr sub-encoding to TS1/0 on input line 373. +Package textcomp Info: Setting pxss sub-encoding to TS1/0 on input line 374. +Package textcomp Info: Setting pxtt sub-encoding to TS1/0 on input line 375. +Package textcomp Info: Setting txr sub-encoding to TS1/0 on input line 376. +Package textcomp Info: Setting txss sub-encoding to TS1/0 on input line 377. +Package textcomp Info: Setting txtt sub-encoding to TS1/0 on input line 378. +Package textcomp Info: Setting lmr sub-encoding to TS1/0 on input line 379. +Package textcomp Info: Setting lmdh sub-encoding to TS1/0 on input line 380. +Package textcomp Info: Setting lmss sub-encoding to TS1/0 on input line 381. +Package textcomp Info: Setting lmssq sub-encoding to TS1/0 on input line 382. +Package textcomp Info: Setting lmvtt sub-encoding to TS1/0 on input line 383. +Package textcomp Info: Setting lmtt sub-encoding to TS1/0 on input line 384. +Package textcomp Info: Setting qhv sub-encoding to TS1/0 on input line 385. +Package textcomp Info: Setting qag sub-encoding to TS1/0 on input line 386. +Package textcomp Info: Setting qbk sub-encoding to TS1/0 on input line 387. +Package textcomp Info: Setting qcr sub-encoding to TS1/0 on input line 388. +Package textcomp Info: Setting qcs sub-encoding to TS1/0 on input line 389. +Package textcomp Info: Setting qpl sub-encoding to TS1/0 on input line 390. +Package textcomp Info: Setting qtm sub-encoding to TS1/0 on input line 391. +Package textcomp Info: Setting qzc sub-encoding to TS1/0 on input line 392. +Package textcomp Info: Setting qhvc sub-encoding to TS1/0 on input line 393. +Package textcomp Info: Setting futs sub-encoding to TS1/4 on input line 394. +Package textcomp Info: Setting futx sub-encoding to TS1/4 on input line 395. +Package textcomp Info: Setting futj sub-encoding to TS1/4 on input line 396. +Package textcomp Info: Setting hlh sub-encoding to TS1/3 on input line 397. +Package textcomp Info: Setting hls sub-encoding to TS1/3 on input line 398. +Package textcomp Info: Setting hlst sub-encoding to TS1/3 on input line 399. +Package textcomp Info: Setting hlct sub-encoding to TS1/5 on input line 400. +Package textcomp Info: Setting hlx sub-encoding to TS1/5 on input line 401. +Package textcomp Info: Setting hlce sub-encoding to TS1/5 on input line 402. +Package textcomp Info: Setting hlcn sub-encoding to TS1/5 on input line 403. +Package textcomp Info: Setting hlcw sub-encoding to TS1/5 on input line 404. +Package textcomp Info: Setting hlcf sub-encoding to TS1/5 on input line 405. +Package textcomp Info: Setting pplx sub-encoding to TS1/3 on input line 406. +Package textcomp Info: Setting pplj sub-encoding to TS1/3 on input line 407. +Package textcomp Info: Setting ptmx sub-encoding to TS1/4 on input line 408. +Package textcomp Info: Setting ptmj sub-encoding to TS1/4 on input line 409. +) +(/usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty +Package: titlesec 2016/03/21 v2.10.2 Sectioning titles +\ttl@box=\box28 +\beforetitleunit=\skip62 +\aftertitleunit=\skip63 +\ttl@plus=\dimen115 +\ttl@minus=\dimen116 +\ttl@toksa=\toks22 +\titlewidth=\dimen117 +\titlewidthlast=\dimen118 +\titlewidthfirst=\dimen119 +) +(/usr/share/texlive/texmf-dist/tex/latex/tabulary/tabulary.sty +Package: tabulary 2014/06/11 v0.10 tabulary package (DPC) + +(/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty +Package: array 2016/10/06 v2.4d Tabular extension package (FMi) +\col@sep=\dimen120 +\extrarowheight=\dimen121 +\NC@list=\toks23 +\extratabsurround=\skip64 +\backup@length=\skip65 +) +\TY@count=\count104 +\TY@linewidth=\dimen122 +\tymin=\dimen123 +\tymax=\dimen124 +\TY@tablewidth=\dimen125 +) +(/usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty +Package: longtable 2014/10/28 v4.11 Multi-page Table package (DPC) +\LTleft=\skip66 +\LTright=\skip67 +\LTpre=\skip68 +\LTpost=\skip69 +\LTchunksize=\count105 +\LTcapwidth=\dimen126 +\LT@head=\box29 +\LT@firsthead=\box30 +\LT@foot=\box31 +\LT@lastfoot=\box32 +\LT@cols=\count106 +\LT@rows=\count107 +\c@LT@tables=\count108 +\c@LT@chunks=\count109 +\LT@p@ftn=\toks24 +) +(/usr/share/texlive/texmf-dist/tex/latex/varwidth/varwidth.sty +Package: varwidth 2009/03/30 ver 0.92; Variable-width minipages +\@vwid@box=\box33 +\sift@deathcycles=\count110 +\@vwid@loff=\dimen127 +\@vwid@roff=\dimen128 +) +(./sphinxmulticell.sty +Package: sphinxmulticell 2017/02/23 v1.6 better span rows and columns of a tabl +e (Sphinx team) +\sphinx@TY@tablewidth=\dimen129 +) +(/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty +Package: makeidx 2014/09/29 v1.0m Standard LaTeX package +) +(/usr/share/texlive/texmf-dist/tex/latex/framed/framed.sty +Package: framed 2011/10/22 v 0.96: framed or shaded text with page breaks +\OuterFrameSep=\skip70 +\fb@frw=\dimen130 +\fb@frh=\dimen131 +\FrameRule=\dimen132 +\FrameSep=\dimen133 +) +(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(/usr/share/texlive/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty +Package: fancyvrb 2008/02/07 + +Style option: `fancyvrb' v2.7a, with DG/SPQR fixes, and firstline=lastline fix +<2008/02/07> (tvz) +\FV@CodeLineNo=\count111 +\FV@InFile=\read1 +\FV@TabBox=\box34 +\c@FancyVerbLine=\count112 +\FV@StepNumber=\count113 +\FV@OutFile=\write3 +) (./footnotehyper-sphinx.sty +Package: footnotehyper-sphinx 2017/10/27 v1.7 hyperref aware footnote.sty for s +phinx (JFB) +\FNH@notes=\box35 +\FNH@width=\dimen134 +) +(/usr/share/texlive/texmf-dist/tex/latex/float/float.sty +Package: float 2001/11/08 v1.3d Float enhancements (AL) +\c@float@type=\count114 +\float@exts=\toks25 +\float@box=\box36 +\@float@everytoks=\toks26 +\@floatcapt=\box37 +) +(/usr/share/texlive/texmf-dist/tex/latex/wrapfig/wrapfig.sty +\wrapoverhang=\dimen135 +\WF@size=\dimen136 +\c@WF@wrappedlines=\count115 +\WF@box=\box38 +\WF@everypar=\toks27 +Package: wrapfig 2003/01/31 v 3.6 +) +(/usr/share/texlive/texmf-dist/tex/latex/parskip/parskip.sty +Package: parskip 2001/04/09 non-zero parskip adjustments +) +(/usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty +Package: alltt 1997/06/16 v2.0g defines alltt environment +) +(/usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty +Package: upquote 2012/04/19 v1.3 upright-quote and grave-accent glyphs in verba +tim +) +(/usr/share/texlive/texmf-dist/tex/latex/capt-of/capt-of.sty +Package: capt-of 2009/12/29 v0.2 standard captions outside of floats +) +(/usr/share/texlive/texmf-dist/tex/latex/needspace/needspace.sty +Package: needspace 2010/09/12 v1.3d reserve vertical space +) +(/usr/share/texlive/texmf-dist/tex/latex/carlisle/remreset.sty) +(./sphinxhighlight.sty +Package: sphinxhighlight 2016/05/29 stylesheet for highlighting with pygments +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +))) +\sphinxverbatimsep=\dimen137 +\sphinxverbatimborder=\dimen138 +\sphinxshadowsep=\dimen139 +\sphinxshadowsize=\dimen140 +\sphinxshadowrule=\dimen141 +\spx@notice@border=\dimen142 +\spx@image@maxheight=\dimen143 +\spx@image@box=\dimen144 +\c@literalblock=\count116 +\sphinxcontinuationbox=\box39 +\sphinxvisiblespacebox=\box40 +\sphinxVerbatim@TitleBox=\box41 +\sphinxVerbatim@ContentsBox=\box42 +\py@argswidth=\skip71 +\lineblockindentation=\skip72 +\DUlineblockindent=\skip73 +) +(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2010/09/12 v5.6 Page Geometry + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2017/03/15 v3.2 Provides the ifpdf switch +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +\Gm@cnth=\count117 +\Gm@cntv=\count118 +\c@Gm@tempcnt=\count119 +\Gm@bindingoffset=\dimen145 +\Gm@wd@mp=\dimen146 +\Gm@odd@mp=\dimen147 +\Gm@even@mp=\dimen148 +\Gm@layoutwidth=\dimen149 +\Gm@layoutheight=\dimen150 +\Gm@layouthoffset=\dimen151 +\Gm@layoutvoffset=\dimen152 +\Gm@dimlist=\toks28 +) +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty +Package: hyperref 2018/02/06 v6.86b Hypertext links for LaTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty +Package: hobsub-hyperref 2016/05/16 v1.14 Bundle oberdiek, subset hyperref (HO) + + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty +Package: hobsub-generic 2016/05/16 v1.14 Bundle oberdiek, subset generic (HO) +Package: hobsub 2016/05/16 v1.14 Construct package bundles (HO) +Package hobsub Info: Skipping package `infwarerr' (already loaded). +Package hobsub Info: Skipping package `ltxcmds' (already loaded). +Package hobsub Info: Skipping package `ifluatex' (already loaded). +Package hobsub Info: Skipping package `ifvtex' (already loaded). +Package: intcalc 2016/05/16 v1.2 Expandable calculations with integers (HO) +Package hobsub Info: Skipping package `ifpdf' (already loaded). +Package hobsub Info: Skipping package `etexcmds' (already loaded). +Package hobsub Info: Skipping package `kvsetkeys' (already loaded). +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +Package: pdftexcmds 2018/01/21 v0.26 Utility functions of pdfTeX for LuaTeX (HO +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +Package: pdfescape 2016/05/16 v1.14 Implements pdfTeX's escape features (HO) +Package: bigintcalc 2016/05/16 v1.4 Expandable calculations on big integers (HO +) +Package: bitset 2016/05/16 v1.2 Handle bit-vector datatype (HO) +Package: uniquecounter 2016/05/16 v1.3 Provide unlimited unique counter (HO) +) +Package hobsub Info: Skipping package `hobsub' (already loaded). +Package: letltxmacro 2016/05/16 v1.5 Let assignment for LaTeX macros (HO) +Package: hopatch 2016/05/16 v1.3 Wrapper for package hooks (HO) +Package: xcolor-patch 2016/05/16 xcolor patch +Package: atveryend 2016/05/16 v1.9 Hooks at the very end of document (HO) +Package atveryend Info: \enddocument detected (standard20110627). +Package: atbegshi 2016/06/09 v1.18 At begin shipout hook (HO) +Package: refcount 2016/05/16 v3.5 Data extraction from label references (HO) +Package: hycolor 2016/05/16 v1.8 Color options for hyperref/bookmark (HO) +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty +Package: auxhook 2016/05/16 v1.4 Hooks for auxiliary files (HO) +) +\@linkdim=\dimen153 +\Hy@linkcounter=\count120 +\Hy@pagecounter=\count121 + +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def +File: pd1enc.def 2018/02/06 v6.86b Hyperref: PDFDocEncoding definition (HO) +Now handling font encoding PD1 ... +... no UTF-8 mapping file for font encoding PD1 +) +\Hy@SavedSpaceFactor=\count122 + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg +File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive +) +Package hyperref Info: Option `unicode' set `true' on input line 4383. + +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def +File: puenc.def 2018/02/06 v6.86b Hyperref: PDF Unicode definition (HO) +Now handling font encoding PU ... +... no UTF-8 mapping file for font encoding PU +) +Package hyperref Info: Option `colorlinks' set `true' on input line 4383. +Package hyperref Info: Option `breaklinks' set `true' on input line 4383. +Package hyperref Info: Hyper figures OFF on input line 4509. +Package hyperref Info: Link nesting OFF on input line 4514. +Package hyperref Info: Hyper index ON on input line 4517. +Package hyperref Info: Plain pages OFF on input line 4524. +Package hyperref Info: Backreferencing OFF on input line 4529. +Package hyperref Info: Implicit mode ON; LaTeX internals redefined. +Package hyperref Info: Bookmarks ON on input line 4762. +\c@Hy@tempcnt=\count123 + +(/usr/share/texlive/texmf-dist/tex/latex/url/url.sty +\Urlmuskip=\muskip11 +Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. +) +LaTeX Info: Redefining \url on input line 5115. +\XeTeXLinkMargin=\dimen154 +\Fld@menulength=\count124 +\Field@Width=\dimen155 +\Fld@charsize=\dimen156 +Package hyperref Info: Hyper figures OFF on input line 6369. +Package hyperref Info: Link nesting OFF on input line 6374. +Package hyperref Info: Hyper index ON on input line 6377. +Package hyperref Info: backreferencing OFF on input line 6384. +Package hyperref Info: Link coloring ON on input line 6387. +Package hyperref Info: Link coloring with OCG OFF on input line 6394. +Package hyperref Info: PDF/A mode OFF on input line 6399. +LaTeX Info: Redefining \ref on input line 6439. +LaTeX Info: Redefining \pageref on input line 6443. +\Hy@abspage=\count125 +\c@Item=\count126 +\c@Hfootnote=\count127 +) +Package hyperref Info: Driver (autodetected): hpdftex. + +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def +File: hpdftex.def 2018/02/06 v6.86b Hyperref driver for pdfTeX +\Fld@listcount=\count128 +\c@bookmark@seq@number=\count129 + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty +Package: rerunfilecheck 2016/05/16 v1.8 Rerun checks for auxiliary files (HO) +Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 +82. +) +\Hy@SectionHShift=\skip74 +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/hypcap.sty +Package: hypcap 2016/05/16 v1.12 Adjusting the anchors of captions (HO) +) +(./sphinxmessages.sty +Package: sphinxmessages 2019/01/04 v2.0 Localized LaTeX macros (Sphinx team) +) +\@indexfile=\write4 +\openout4 = `beelance2.idx'. + + +Writing index file beelance2.idx +(./beelance2.aux) +\openout1 = `beelance2.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 82. +LaTeX Font Info: ... okay on input line 82. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 82. +LaTeX Font Info: ... okay on input line 82. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 82. +LaTeX Font Info: ... okay on input line 82. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 82. +LaTeX Font Info: ... okay on input line 82. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 82. +LaTeX Font Info: ... okay on input line 82. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 82. +LaTeX Font Info: ... okay on input line 82. +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 82. +LaTeX Font Info: Try loading font information for TS1+cmr on input line 82. + (/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd +File: ts1cmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions +) +LaTeX Font Info: ... okay on input line 82. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 82. +LaTeX Font Info: ... okay on input line 82. +LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 82. +LaTeX Font Info: ... okay on input line 82. +LaTeX Font Info: Try loading font information for T1+ptm on input line 82. + +(/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1ptm.fd +File: t1ptm.fd 2001/06/04 font definitions for T1/ptm. +) +(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count130 +\scratchdimen=\dimen157 +\scratchbox=\box43 +\nofMPsegments=\count131 +\nofMParguments=\count132 +\everyMPshowfont=\toks29 +\MPscratchCnt=\count133 +\MPscratchDim=\dimen158 +\MPnumerator=\count134 +\makeMPintoPDFobject=\count135 +\everyMPtoPDFconversion=\toks30 +) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) +) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +38. +Package grfext Info: Graphics extension search list: +(grfext) [.pdf,.png,.jpg,.mps,.jpeg,.jbig2,.jb2,.PDF,.PNG,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +*geometry* driver: auto-detecting +*geometry* detected driver: pdftex +*geometry* verbose mode - [ preamble ] result: +* driver: pdftex +* paper: letterpaper +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* modes: twoside +* h-part:(L,W,R)=(72.26999pt, 469.75502pt, 72.26999pt) +* v-part:(T,H,B)=(72.26999pt, 650.43001pt, 72.26999pt) +* \paperwidth=614.295pt +* \paperheight=794.96999pt +* \textwidth=469.75502pt +* \textheight=650.43001pt +* \oddsidemargin=0.0pt +* \evensidemargin=0.0pt +* \topmargin=-37.0pt +* \headheight=12.0pt +* \headsep=25.0pt +* \topskip=10.0pt +* \footskip=30.0pt +* \marginparwidth=36.135pt +* \marginparsep=11.0pt +* \columnsep=10.0pt +* \skip\footins=9.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidetrue +* \@mparswitchtrue +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +\AtBeginShipoutBox=\box44 +Package hyperref Info: Link coloring ON on input line 82. +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty +Package: nameref 2016/05/21 v2.44 Cross-referencing by name of section + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty +Package: gettitlestring 2016/05/16 v1.5 Cleanup title references (HO) +) +\c@section@level=\count136 +) +LaTeX Info: Redefining \ref on input line 82. +LaTeX Info: Redefining \pageref on input line 82. +LaTeX Info: Redefining \nameref on input line 82. + +(./beelance2.out) (./beelance2.out) +\@outlinefile=\write5 +\openout5 = `beelance2.out'. + +Package hyperref Info: Option `pageanchor' set `false' on input line 85. +LaTeX Font Info: Try loading font information for T1+phv on input line 85. + +(/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1phv.fd +File: t1phv.fd 2001/06/04 scalable font definitions for T1/phv. +) +LaTeX Font Info: Font shape `T1/phv/bx/n' in size <10> not available +(Font) Font shape `T1/phv/b/n' tried instead on input line 85. +LaTeX Font Info: Font shape `T1/phv/bx/n' in size <24.88> not available +(Font) Font shape `T1/phv/b/n' tried instead on input line 85. +LaTeX Font Info: Font shape `T1/phv/bx/it' in size <10> not available +(Font) Font shape `T1/phv/b/it' tried instead on input line 85. +LaTeX Font Info: Font shape `T1/phv/b/it' in size <10> not available +(Font) Font shape `T1/phv/b/sl' tried instead on input line 85. +LaTeX Font Info: Font shape `T1/phv/bx/it' in size <17.28> not available +(Font) Font shape `T1/phv/b/it' tried instead on input line 85. +LaTeX Font Info: Font shape `T1/phv/b/it' in size <17.28> not available +(Font) Font shape `T1/phv/b/sl' tried instead on input line 85. +LaTeX Font Info: Font shape `T1/phv/bx/n' in size <17.28> not available +(Font) Font shape `T1/phv/b/n' tried instead on input line 85. +<><><><> +LaTeX Font Info: Try loading font information for U+msa on input line 85. + +(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd +File: umsa.fd 2013/01/14 v3.01 AMS symbols A +) +LaTeX Font Info: Try loading font information for U+msb on input line 85. + +(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd +File: umsb.fd 2013/01/14 v3.01 AMS symbols B +) +LaTeX Font Info: Font shape `T1/phv/bx/n' in size <12> not available +(Font) Font shape `T1/phv/b/n' tried instead on input line 85. + [1 + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2 + + +] +LaTeX Font Info: Font shape `T1/phv/bx/n' in size <14.4> not available +(Font) Font shape `T1/phv/b/n' tried instead on input line 87. + (./beelance2.toc +LaTeX Font Info: Font shape `T1/ptm/bx/n' in size <10> not available +(Font) Font shape `T1/ptm/b/n' tried instead on input line 2. +) +\tf@toc=\write6 +\openout6 = `beelance2.toc'. + + [1 + +] [2 + +] +LaTeX Font Info: Try loading font information for T1+pcr on input line 94. + +(/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1pcr.fd +File: t1pcr.fd 2001/06/04 font definitions for T1/pcr. +) +LaTeX Font Info: Font shape `T1/pcr/bx/n' in size <10> not available +(Font) Font shape `T1/pcr/b/n' tried instead on input line 94. + [1] +LaTeX Font Info: Try loading font information for TS1+ptm on input line 370. + -! LaTeX Error: File `fncychap.sty' not found. - -Type X to quit or to proceed, -or enter new name. (Default extension: sty) - -Enter file name: -! Interruption. - - } -l.56 \usepackage - {sphinx}^^M -? m -Type to proceed, S to scroll future error messages, -R to run without stopping, Q to run quietly, -I to insert something, E to edit your file, -H for help, X to quit. -? -! Emergency stop. - - } -l.56 \usepackage - {sphinx}^^M -End of file on the terminal! - - +(/usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd +File: ts1ptm.fd 2001/06/04 font definitions for TS1/ptm. +) +Underfull \hbox (badness 10000) in paragraph at lines 370--370 +[]\T1/ptm/m/it/10 identifier=0\T1/ptm/m/n/10 , \T1/ptm/m/it/10 read_permission= +\TS1/ptm/m/it/10 '\T1/ptm/m/it/10 TRUE\TS1/ptm/m/it/10 '\T1/ptm/m/n/10 , + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 370--370 +\T1/ptm/m/it/10 write_permission=\TS1/ptm/m/it/10 '\T1/ptm/m/it/10 FALSE\TS1/pt +m/m/it/10 '\T1/ptm/m/n/10 , \T1/ptm/m/it/10 mod- + [] + +[2] +Underfull \hbox (badness 10000) in paragraph at lines 414--414 +[]\T1/ptm/m/it/10 project_title=\TS1/ptm/m/it/10 ''\T1/ptm/m/n/10 , \T1/ptm/m/i +t/10 project_description=\TS1/ptm/m/it/10 ''\T1/ptm/m/n/10 , \T1/ptm/m/it/10 ca +t-e- + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 484--484 +[]\T1/ptm/m/it/10 identifier=0\T1/ptm/m/n/10 , \T1/ptm/m/it/10 user_name=\TS1/p +tm/m/it/10 ''\T1/ptm/m/n/10 , \T1/ptm/m/it/10 read_permission=True\T1/ptm/m/n/1 +0 , + [] + +[3] [4] [5] +Underfull \hbox (badness 10000) in paragraph at lines 878--878 +[]\T1/ptm/m/it/10 projectid\T1/ptm/m/n/10 , \T1/ptm/m/it/10 userid\T1/ptm/m/n/1 +0 , \T1/ptm/m/it/10 read_permission=\TS1/ptm/m/it/10 '\T1/ptm/m/it/10 TRUE\TS1/ +ptm/m/it/10 '\T1/ptm/m/n/10 , + [] + +[6] [7] [8 + +] +Chapter 1. +[9] [10 + +] [11 + + +] (./beelance2.ind [12 + + +] +Underfull \hbox (badness 10000) in paragraph at lines 9--10 +[]\T1/pcr/m/n/10 compose_form() \T1/ptm/m/n/10 (\T1/ptm/m/it/10 views.new_proje +ct.New_project + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 21--22 +[]\T1/pcr/m/n/10 get_apply_permissions_form() \T1/ptm/m/n/10 (\T1/ptm/m/it/10 i +n mod-ule + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 26--27 +[]\T1/pcr/m/n/10 get_project_form_elements() \T1/ptm/m/n/10 (\T1/ptm/m/it/10 in + mod-ule + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 27--28 +[]\T1/pcr/m/n/10 get_projects_by_owner() \T1/ptm/m/n/10 (\T1/ptm/m/it/10 in mod +-ule mod- + [] + + +Overfull \hbox (10.1225pt too wide) in paragraph at lines 28--30 +[]\T1/pcr/m/n/10 get_projects_by_participant_and_status() + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 30--32 +[]\T1/pcr/m/n/10 get_projects_by_status_and_category() + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 32--34 +[]\T1/pcr/m/n/10 get_projects_by_status_and_owner() \T1/ptm/m/n/10 (\T1/ptm/m/i +t/10 in + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 35--36 +[]\T1/pcr/m/n/10 get_task_form_elements() \T1/ptm/m/n/10 (\T1/ptm/m/it/10 in mo +d-ule + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 37--38 +[]\T1/pcr/m/n/10 get_user_form_elements() \T1/ptm/m/n/10 (\T1/ptm/m/it/10 in mo +d-ule + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 40--41 +[]\T1/pcr/m/n/10 get_user_permissions() \T1/ptm/m/n/10 (\T1/ptm/m/it/10 in mod- +ule mod- + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 91--92 +[]\T1/pcr/m/n/10 update_project_status() \T1/ptm/m/n/10 (\T1/ptm/m/it/10 in mod +-ule mod- + [] + +[13 + +] [14 + +]) +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 1098. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 1098. + (./beelance2.aux) +Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 1098. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 1098. + +Package rerunfilecheck Info: File `beelance2.out' has not changed. +(rerunfilecheck) Checksum: 32CB1B1A946203C08AC580AD0A082DC0;355. +Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 1098. + ) Here is how much of TeX's memory you used: - 1905 strings out of 492623 - 21664 string characters out of 6135668 - 91290 words of memory out of 5000000 - 5843 multiletter control sequences out of 15000+600000 - 4403 words of font info for 15 fonts, out of 8000000 for 9000 - 1141 hyphenation exceptions out of 8191 - 29i,0n,27p,223b,42s stack positions out of 5000i,500n,10000p,200000b,80000s -! ==> Fatal error occurred, no output PDF file produced! + 13694 strings out of 492982 + 190592 string characters out of 6134895 + 282324 words of memory out of 5000000 + 16895 multiletter control sequences out of 15000+600000 + 41476 words of font info for 57 fonts, out of 8000000 for 9000 + 1142 hyphenation exceptions out of 8191 + 37i,11n,45p,561b,654s stack positions out of 5000i,500n,10000p,200000b,80000s +{/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc} +Output written on beelance2.pdf (18 pages, 106391 bytes). +PDF statistics: + 263 PDF objects out of 1000 (max. 8388607) + 228 compressed objects within 3 object streams + 75 named destinations out of 1000 (max. 500000) + 45 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/src/app/docs/build/latex/beelance2.out b/src/app/docs/build/latex/beelance2.out new file mode 100644 index 0000000..d82782f --- /dev/null +++ b/src/app/docs/build/latex/beelance2.out @@ -0,0 +1,3 @@ +\BOOKMARK [0][-]{chapter.1}{\376\377\000I\000n\000d\000i\000c\000e\000s\000\040\000a\000n\000d\000\040\000t\000a\000b\000l\000e\000s}{}% 1 +\BOOKMARK [0][-]{section*.56}{\376\377\000P\000y\000t\000h\000o\000n\000\040\000M\000o\000d\000u\000l\000e\000\040\000I\000n\000d\000e\000x}{}% 2 +\BOOKMARK [0][-]{section*.57}{\376\377\000I\000n\000d\000e\000x}{}% 3 diff --git a/src/app/docs/build/latex/beelance2.pdf b/src/app/docs/build/latex/beelance2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0667c8253b903f8087bf56a767cd7ea2704835c7 GIT binary patch literal 106391 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

8GaxxkhN(-1cV5l;x>m5_9~~Z1+?g6 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 EKU2RW5dZ)H literal 0 HcmV?d00001 diff --git a/src/app/docs/build/latex/beelance2.tex b/src/app/docs/build/latex/beelance2.tex index 8fd6cae..3b805e7 100644 --- a/src/app/docs/build/latex/beelance2.tex +++ b/src/app/docs/build/latex/beelance2.tex @@ -58,6 +58,7 @@ \fvset{fontsize=\small} \usepackage{geometry} + % Include hyperref last. \usepackage{hyperref} % Fix anchor placement for figures with captions. @@ -72,7 +73,7 @@ \title{beelance2} -\date{Nov 11, 2019} +\date{Dec 23, 2019} \release{} \author{jakob notland} \newcommand{\sphinxlogo}{\vbox{}} @@ -87,7 +88,983 @@ \pagestyle{normal} \phantomsection\label{\detokenize{index::doc}} -\phantomsection\label{\detokenize{index:module-views.index}}\index{views.index (module)@\spxentry{views.index}\spxextra{module}} +\index{Index (class in views.index)@\spxentry{Index}\spxextra{class in views.index}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.index.Index}}\pysigline{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{views.index.}}\sphinxbfcode{\sphinxupquote{Index}}}~\index{GET() (views.index.Index method)@\spxentry{GET()}\spxextra{views.index.Index method}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.index.Index.GET}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{GET}}}{}{} +Get main page using the projects URL input variable to +determine which projects to show. +\begin{quote} +\begin{quote}\begin{description} +\item[{return}] \leavevmode +index page + +\end{description}\end{quote} +\end{quote} + +\end{fulllineitems} + + +\end{fulllineitems} + +\index{Login (class in views.login)@\spxentry{Login}\spxextra{class in views.login}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.login.Login}}\pysigline{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{views.login.}}\sphinxbfcode{\sphinxupquote{Login}}}~\index{GET() (views.login.Login method)@\spxentry{GET()}\spxextra{views.login.Login method}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.login.Login.GET}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{GET}}}{}{} +Show the login page +\begin{quote} +\begin{quote}\begin{description} +\item[{return}] \leavevmode +The login page showing other users if logged in + +\end{description}\end{quote} +\end{quote} + +\end{fulllineitems} + +\index{POST() (views.login.Login method)@\spxentry{POST()}\spxextra{views.login.Login method}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.login.Login.POST}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{POST}}}{}{}~\begin{description} +\item[{Log in to the web application and register the session}] \leavevmode\begin{quote}\begin{description} +\item[{return}] \leavevmode +The login page showing other users if logged in + +\end{description}\end{quote} + +\end{description} + +\end{fulllineitems} + +\index{check\_rememberme() (views.login.Login method)@\spxentry{check\_rememberme()}\spxextra{views.login.Login method}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.login.Login.check_rememberme}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{check\_rememberme}}}{}{} +Validate the rememberme cookie and log in + +\end{fulllineitems} + +\index{login() (views.login.Login method)@\spxentry{login()}\spxextra{views.login.Login method}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.login.Login.login}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{login}}}{\emph{username}, \emph{userid}, \emph{remember}}{} +Log in to the application + +\end{fulllineitems} + +\index{rememberme() (views.login.Login method)@\spxentry{rememberme()}\spxextra{views.login.Login method}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.login.Login.rememberme}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{rememberme}}}{}{} +Encode a base64 object consisting of the username signed with the +host secret key and the username. Can be reassembled with the +hosts secret key to validate user. +\begin{quote} +\begin{quote}\begin{description} +\item[{return}] \leavevmode +base64 object consisting of signed username and username + +\end{description}\end{quote} +\end{quote} + +\end{fulllineitems} + +\index{sign\_username() (views.login.Login class method)@\spxentry{sign\_username()}\spxextra{views.login.Login class method}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.login.Login.sign_username}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{classmethod }}\sphinxbfcode{\sphinxupquote{sign\_username}}}{\emph{username}}{}~\begin{description} +\item[{Sign the current users name with the hosts secret key}] \leavevmode\begin{quote}\begin{description} +\item[{return}] \leavevmode +The users signed name + +\end{description}\end{quote} + +\end{description} + +\end{fulllineitems} + + +\end{fulllineitems} + +\index{Logout (class in views.logout)@\spxentry{Logout}\spxextra{class in views.logout}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.logout.Logout}}\pysigline{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{views.logout.}}\sphinxbfcode{\sphinxupquote{Logout}}}~\index{GET() (views.logout.Logout method)@\spxentry{GET()}\spxextra{views.logout.Logout method}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.logout.Logout.GET}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{GET}}}{}{}~\begin{description} +\item[{Log out of the application (kill session and reset variables)}] \leavevmode\begin{quote}\begin{description} +\item[{return}] \leavevmode +Redirect to main page + +\end{description}\end{quote} + +\end{description} + +\end{fulllineitems} + + +\end{fulllineitems} + +\index{New\_project (class in views.new\_project)@\spxentry{New\_project}\spxextra{class in views.new\_project}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.new_project.New_project}}\pysigline{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{views.new\_project.}}\sphinxbfcode{\sphinxupquote{New\_project}}}~\index{GET() (views.new\_project.New\_project method)@\spxentry{GET()}\spxextra{views.new\_project.New\_project method}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.new_project.New_project.GET}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{GET}}}{}{} +Get the project registration form +\begin{quote} +\begin{quote}\begin{description} +\item[{return}] \leavevmode +New project page + +\end{description}\end{quote} +\end{quote} + +\end{fulllineitems} + +\index{POST() (views.new\_project.New\_project method)@\spxentry{POST()}\spxextra{views.new\_project.New\_project method}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.new_project.New_project.POST}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{POST}}}{}{} +Create a new project +\begin{quote} +\begin{quote}\begin{description} +\item[{return}] \leavevmode +Redirect to main page + +\end{description}\end{quote} +\end{quote} + +\end{fulllineitems} + +\index{compose\_form() (views.new\_project.New\_project method)@\spxentry{compose\_form()}\spxextra{views.new\_project.New\_project method}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.new_project.New_project.compose_form}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{compose\_form}}}{\emph{data}, \emph{operation}}{} +Compose a new project form by adding or removing a task +\begin{quote} +\begin{quote}\begin{description} +\item[{param data}] \leavevmode +The data object from web.input + +\item[{param operation}] \leavevmode +Can be one of the four: add\_task, add\_user, remove\_task, remove user + +\item[{type operation}] \leavevmode +str + +\item[{return}] \leavevmode +A project form object with all the required input fields + +\end{description}\end{quote} +\end{quote} + +\end{fulllineitems} + + +\end{fulllineitems} + +\index{Open\_projects (class in views.open\_projects)@\spxentry{Open\_projects}\spxextra{class in views.open\_projects}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.open_projects.Open_projects}}\pysigline{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{views.open\_projects.}}\sphinxbfcode{\sphinxupquote{Open\_projects}}}~\index{GET() (views.open\_projects.Open\_projects method)@\spxentry{GET()}\spxextra{views.open\_projects.Open\_projects method}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.open_projects.Open_projects.GET}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{GET}}}{}{} +Get all open projects +\begin{quote} +\begin{quote}\begin{description} +\item[{return}] \leavevmode +A page containing all open projects + +\end{description}\end{quote} +\end{quote} + +\end{fulllineitems} + + +\end{fulllineitems} + +\index{Project (class in views.project)@\spxentry{Project}\spxextra{class in views.project}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.project.Project}}\pysigline{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{views.project.}}\sphinxbfcode{\sphinxupquote{Project}}}~\index{GET() (views.project.Project method)@\spxentry{GET()}\spxextra{views.project.Project method}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.project.Project.GET}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{GET}}}{}{} +Show info about a single project +\begin{quote} +\begin{quote}\begin{description} +\item[{return}] \leavevmode +Project info page + +\end{description}\end{quote} +\end{quote} + +\end{fulllineitems} + + +\end{fulllineitems} + +\index{Register (class in views.register)@\spxentry{Register}\spxextra{class in views.register}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.register.Register}}\pysigline{\sphinxbfcode{\sphinxupquote{class }}\sphinxcode{\sphinxupquote{views.register.}}\sphinxbfcode{\sphinxupquote{Register}}}~\index{GET() (views.register.Register method)@\spxentry{GET()}\spxextra{views.register.Register method}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.register.Register.GET}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{GET}}}{}{} +Get the registration form +\begin{quote} +\begin{quote}\begin{description} +\item[{return}] \leavevmode +A page with the registration form + +\end{description}\end{quote} +\end{quote} + +\end{fulllineitems} + +\index{POST() (views.register.Register method)@\spxentry{POST()}\spxextra{views.register.Register method}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.register.Register.POST}}\pysiglinewithargsret{\sphinxbfcode{\sphinxupquote{POST}}}{}{} +Handle input data and register new user in database +\begin{quote} +\begin{quote}\begin{description} +\item[{return}] \leavevmode +Main page + +\end{description}\end{quote} +\end{quote} + +\end{fulllineitems} + + +\end{fulllineitems} + +\phantomsection\label{\detokenize{index:module-views.forms}}\index{views.forms (module)@\spxentry{views.forms}\spxextra{module}}\index{get\_apply\_form() (in module views.forms)@\spxentry{get\_apply\_form()}\spxextra{in module views.forms}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.forms.get_apply_form}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{views.forms.}}\sphinxbfcode{\sphinxupquote{get\_apply\_form}}}{}{}~\begin{description} +\item[{Get the form used to add users to an application and apply}] \leavevmode\begin{quote}\begin{description} +\item[{return}] \leavevmode +A form object + +\end{description}\end{quote} + +\end{description} + +\end{fulllineitems} + +\index{get\_apply\_permissions\_form() (in module views.forms)@\spxentry{get\_apply\_permissions\_form()}\spxextra{in module views.forms}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.forms.get_apply_permissions_form}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{views.forms.}}\sphinxbfcode{\sphinxupquote{get\_apply\_permissions\_form}}}{\emph{identifier=0}, \emph{read\_permission=\textquotesingle{}TRUE\textquotesingle{}}, \emph{write\_permission=\textquotesingle{}FALSE\textquotesingle{}}, \emph{modify\_permission=\textquotesingle{}FALSE\textquotesingle{}}, \emph{userid=None}}{}~\begin{description} +\item[{Get the form used to set permissions for each applicant}] \leavevmode\begin{quote}\begin{description} +\item[{param identifier}] \leavevmode +The id of this element + +\item[{param user\_name}] \leavevmode +The current user + +\item[{param read\_permission}] \leavevmode +Permit user to read + +\item[{param write\_permission}] \leavevmode +Permit user to write + +\item[{param modify\_permission}] \leavevmode +Permit user to modify + +\item[{type identifier}] \leavevmode +int + +\item[{type user\_name}] \leavevmode +str + +\item[{type read\_permission}] \leavevmode +bool + +\item[{type write\_permission}] \leavevmode +bool + +\item[{type modify\_permission}] \leavevmode +bool + +\item[{return}] \leavevmode +A form object + +\end{description}\end{quote} + +\end{description} + +\end{fulllineitems} + +\index{get\_project\_form\_elements() (in module views.forms)@\spxentry{get\_project\_form\_elements()}\spxextra{in module views.forms}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.forms.get_project_form_elements}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{views.forms.}}\sphinxbfcode{\sphinxupquote{get\_project\_form\_elements}}}{\emph{project\_title=\textquotesingle{}\textquotesingle{}}, \emph{project\_description=\textquotesingle{}\textquotesingle{}}, \emph{category\_name=\textquotesingle{}\textquotesingle{}}}{}~\begin{description} +\item[{Generate a set of project form elements}] \leavevmode\begin{quote}\begin{description} +\item[{param project\_title}] \leavevmode +Project title + +\item[{param project\_description}] \leavevmode +Project description + +\item[{param category\_name}] \leavevmode +Name of the belonging category + +\item[{type project\_title}] \leavevmode +str + +\item[{type project\_description}] \leavevmode +str + +\item[{type category\_name}] \leavevmode +str + +\item[{return}] \leavevmode +A set of project form elements + +\end{description}\end{quote} + +\end{description} + +\end{fulllineitems} + +\index{get\_task\_form\_elements() (in module views.forms)@\spxentry{get\_task\_form\_elements()}\spxextra{in module views.forms}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.forms.get_task_form_elements}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{views.forms.}}\sphinxbfcode{\sphinxupquote{get\_task\_form\_elements}}}{\emph{identifier=0}, \emph{task\_title=\textquotesingle{}\textquotesingle{}}, \emph{task\_description=\textquotesingle{}\textquotesingle{}}, \emph{budget=\textquotesingle{}\textquotesingle{}}}{}~\begin{description} +\item[{Generate a set of task form elements}] \leavevmode\begin{quote}\begin{description} +\item[{param identifier}] \leavevmode +The id of the task + +\item[{param task\_title}] \leavevmode +Task title + +\item[{param task\_description}] \leavevmode +Task description + +\item[{param budget}] \leavevmode +Task budget + +\item[{type identifier}] \leavevmode +int, str + +\item[{type task\_title}] \leavevmode +str + +\item[{type task\_description}] \leavevmode +str + +\item[{type budget}] \leavevmode +int, str + +\item[{return}] \leavevmode +A set of task form elements + +\end{description}\end{quote} + +\end{description} + +\end{fulllineitems} + +\index{get\_user\_form\_elements() (in module views.forms)@\spxentry{get\_user\_form\_elements()}\spxextra{in module views.forms}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.forms.get_user_form_elements}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{views.forms.}}\sphinxbfcode{\sphinxupquote{get\_user\_form\_elements}}}{\emph{identifier=0}, \emph{user\_name=\textquotesingle{}\textquotesingle{}}, \emph{read\_permission=True}, \emph{write\_permission=False}, \emph{modify\_permission=False}}{}~\begin{description} +\item[{Get the user form elements used to set users in project upon creation}] \leavevmode\begin{quote}\begin{description} +\item[{param identifier}] \leavevmode +The id of this element + +\item[{param user\_name}] \leavevmode +The current user + +\item[{param read\_permission}] \leavevmode +Permit user to read + +\item[{param write\_permission}] \leavevmode +Permit user to write + +\item[{param modify\_permission}] \leavevmode +Permit user to modify + +\item[{type identifier}] \leavevmode +int + +\item[{type user\_name}] \leavevmode +str + +\item[{type read\_permission}] \leavevmode +bool + +\item[{type write\_permission}] \leavevmode +bool + +\item[{type modify\_permission}] \leavevmode +bool + +\item[{return}] \leavevmode +The form elements to add users to a project + +\end{description}\end{quote} + +\end{description} + +\end{fulllineitems} + +\phantomsection\label{\detokenize{index:module-views.utils}}\index{views.utils (module)@\spxentry{views.utils}\spxextra{module}}\index{get\_element\_count() (in module views.utils)@\spxentry{get\_element\_count()}\spxextra{in module views.utils}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.utils.get_element_count}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{views.utils.}}\sphinxbfcode{\sphinxupquote{get\_element\_count}}}{\emph{data}, \emph{element}}{} +Determine the number of tasks created by removing +the four other elements from count and divide by the +number of variables in one task. +\begin{quote} +\begin{quote}\begin{description} +\item[{param data}] \leavevmode +The data object from web.input + +\item[{return}] \leavevmode +The number of tasks opened by the client + +\end{description}\end{quote} +\end{quote} + +\end{fulllineitems} + +\index{get\_nav\_bar() (in module views.utils)@\spxentry{get\_nav\_bar()}\spxextra{in module views.utils}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:views.utils.get_nav_bar}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{views.utils.}}\sphinxbfcode{\sphinxupquote{get\_nav\_bar}}}{\emph{session}}{} +Generates the page nav bar +\begin{quote} +\begin{quote}\begin{description} +\item[{return}] \leavevmode +The navigation bar HTML markup + +\end{description}\end{quote} +\end{quote} + +\end{fulllineitems} + +\phantomsection\label{\detokenize{index:module-models.login}}\index{models.login (module)@\spxentry{models.login}\spxextra{module}}\index{get\_user\_id\_by\_name() (in module models.login)@\spxentry{get\_user\_id\_by\_name()}\spxextra{in module models.login}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:models.login.get_user_id_by_name}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{models.login.}}\sphinxbfcode{\sphinxupquote{get\_user\_id\_by\_name}}}{\emph{username}}{}~\begin{description} +\item[{Get the id of the unique username}] \leavevmode\begin{quote}\begin{description} +\item[{param username}] \leavevmode +Name of the user + +\item[{return}] \leavevmode +The id of the user + +\end{description}\end{quote} + +\end{description} + +\end{fulllineitems} + +\index{get\_user\_name\_by\_id() (in module models.login)@\spxentry{get\_user\_name\_by\_id()}\spxextra{in module models.login}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:models.login.get_user_name_by_id}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{models.login.}}\sphinxbfcode{\sphinxupquote{get\_user\_name\_by\_id}}}{\emph{userid}}{}~\begin{description} +\item[{Get username from user id}] \leavevmode\begin{quote}\begin{description} +\item[{param userid}] \leavevmode +The id of the user + +\item[{return}] \leavevmode +The name of the user + +\end{description}\end{quote} + +\end{description} + +\end{fulllineitems} + +\index{get\_users() (in module models.login)@\spxentry{get\_users()}\spxextra{in module models.login}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:models.login.get_users}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{models.login.}}\sphinxbfcode{\sphinxupquote{get\_users}}}{}{}~\begin{description} +\item[{Retreive all registrered users from the database}] \leavevmode\begin{quote}\begin{description} +\item[{return}] \leavevmode +users + +\end{description}\end{quote} + +\end{description} + +\end{fulllineitems} + +\index{match\_user() (in module models.login)@\spxentry{match\_user()}\spxextra{in module models.login}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:models.login.match_user}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{models.login.}}\sphinxbfcode{\sphinxupquote{match\_user}}}{\emph{username}, \emph{password}}{} +Check if user credentials are correct, return if exists +\begin{quote} +\begin{quote}\begin{description} +\item[{param username}] \leavevmode +The user attempting to authenticate + +\item[{param password}] \leavevmode +The corresponding password + +\item[{type username}] \leavevmode +str + +\item[{type password}] \leavevmode +str + +\item[{return}] \leavevmode +user + +\end{description}\end{quote} +\end{quote} + +\end{fulllineitems} + +\phantomsection\label{\detokenize{index:module-models.project}}\index{models.project (module)@\spxentry{models.project}\spxextra{module}}\index{get\_categories() (in module models.project)@\spxentry{get\_categories()}\spxextra{in module models.project}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:models.project.get_categories}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{models.project.}}\sphinxbfcode{\sphinxupquote{get\_categories}}}{}{} +Get all categories +\begin{quote} +\begin{quote}\begin{description} +\item[{return}] \leavevmode +List of categories + +\end{description}\end{quote} +\end{quote} + +\end{fulllineitems} + +\index{get\_project\_by\_id() (in module models.project)@\spxentry{get\_project\_by\_id()}\spxextra{in module models.project}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:models.project.get_project_by_id}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{models.project.}}\sphinxbfcode{\sphinxupquote{get\_project\_by\_id}}}{\emph{projectid}}{} +Retrieve a project by its id +\begin{quote} +\begin{quote}\begin{description} +\item[{param projectid}] \leavevmode +The project id + +\item[{type projectid}] \leavevmode +str + +\item[{return}] \leavevmode +The selected project + +\end{description}\end{quote} +\end{quote} + +\end{fulllineitems} + +\index{get\_projects\_by\_owner() (in module models.project)@\spxentry{get\_projects\_by\_owner()}\spxextra{in module models.project}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:models.project.get_projects_by_owner}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{models.project.}}\sphinxbfcode{\sphinxupquote{get\_projects\_by\_owner}}}{\emph{userid}}{}~\begin{description} +\item[{Retrieve all projects created by a specific user}] \leavevmode\begin{quote}\begin{description} +\item[{param userid}] \leavevmode +The id of the user + +\item[{type userid}] \leavevmode +str + +\item[{return}] \leavevmode +An array of projects + +\end{description}\end{quote} + +\end{description} + +\end{fulllineitems} + +\index{get\_projects\_by\_participant\_and\_status() (in module models.project)@\spxentry{get\_projects\_by\_participant\_and\_status()}\spxextra{in module models.project}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:models.project.get_projects_by_participant_and_status}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{models.project.}}\sphinxbfcode{\sphinxupquote{get\_projects\_by\_participant\_and\_status}}}{\emph{userid}, \emph{project\_status}}{} +Retrieve all projects where the user is a participant with specific status +\begin{quote} +\begin{quote}\begin{description} +\item[{param userid}] \leavevmode +The id of the participant + +\item[{param project\_status}] \leavevmode +The status to filter on + +\item[{type userid}] \leavevmode +str + +\item[{type project\_status}] \leavevmode +str + +\item[{return}] \leavevmode +A list of projects + +\end{description}\end{quote} +\end{quote} + +\end{fulllineitems} + +\index{get\_projects\_by\_status\_and\_category() (in module models.project)@\spxentry{get\_projects\_by\_status\_and\_category()}\spxextra{in module models.project}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:models.project.get_projects_by_status_and_category}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{models.project.}}\sphinxbfcode{\sphinxupquote{get\_projects\_by\_status\_and\_category}}}{\emph{categoryid}, \emph{project\_status}}{} +Retrieve all projects from a category with a specific status +\begin{quote} +\begin{quote}\begin{description} +\item[{param catergoryid}] \leavevmode +The id of the category + +\item[{param project\_status}] \leavevmode +The status to filter on + +\item[{type catergoryid}] \leavevmode +str + +\item[{type project\_status}] \leavevmode +str + +\item[{return}] \leavevmode +A list of projects + +\end{description}\end{quote} +\end{quote} + +\end{fulllineitems} + +\index{get\_projects\_by\_status\_and\_owner() (in module models.project)@\spxentry{get\_projects\_by\_status\_and\_owner()}\spxextra{in module models.project}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:models.project.get_projects_by_status_and_owner}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{models.project.}}\sphinxbfcode{\sphinxupquote{get\_projects\_by\_status\_and\_owner}}}{\emph{userid}, \emph{project\_status}}{} +Retrieve all projects owned by a user with a specific status +\begin{quote} +\begin{quote}\begin{description} +\item[{param userid}] \leavevmode +The id of the owner + +\item[{param project\_status}] \leavevmode +The status to filter on + +\item[{type userid}] \leavevmode +str + +\item[{type project\_status}] \leavevmode +str + +\item[{return}] \leavevmode +A list of projects + +\end{description}\end{quote} +\end{quote} + +\end{fulllineitems} + +\index{get\_task\_files() (in module models.project)@\spxentry{get\_task\_files()}\spxextra{in module models.project}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:models.project.get_task_files}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{models.project.}}\sphinxbfcode{\sphinxupquote{get\_task\_files}}}{\emph{taskid}}{} +Retrieve all filenames registered in a task +:param taskid: The task id +:type taskid: str +:return: An array of filenames + +\end{fulllineitems} + +\index{get\_tasks\_by\_project\_id() (in module models.project)@\spxentry{get\_tasks\_by\_project\_id()}\spxextra{in module models.project}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:models.project.get_tasks_by_project_id}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{models.project.}}\sphinxbfcode{\sphinxupquote{get\_tasks\_by\_project\_id}}}{\emph{projectid}}{} +Get all tasks belonging to a project +\begin{quote} +\begin{quote}\begin{description} +\item[{param project\_id}] \leavevmode +The id of the project holding the tasks + +\item[{type project\_id}] \leavevmode +str + +\item[{return}] \leavevmode +List of tasks + +\end{description}\end{quote} +\end{quote} + +\end{fulllineitems} + +\index{get\_user\_permissions() (in module models.project)@\spxentry{get\_user\_permissions()}\spxextra{in module models.project}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:models.project.get_user_permissions}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{models.project.}}\sphinxbfcode{\sphinxupquote{get\_user\_permissions}}}{\emph{userid}, \emph{projectid}}{}~\begin{description} +\item[{Get permissions for a selected users in a specific project}] \leavevmode\begin{quote}\begin{description} +\item[{param userid}] \leavevmode +The id of the user + +\item[{param projectid}] \leavevmode +The id of the project + +\item[{type userid}] \leavevmode +str + +\item[{type projectid}] \leavevmode +str + +\item[{return}] \leavevmode +Permissions as an array of numbers as boolean values + +\end{description}\end{quote} + +\end{description} + +\end{fulllineitems} + +\index{set\_project() (in module models.project)@\spxentry{set\_project()}\spxextra{in module models.project}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:models.project.set_project}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{models.project.}}\sphinxbfcode{\sphinxupquote{set\_project}}}{\emph{categoryid}, \emph{userid}, \emph{project\_title}, \emph{project\_description}, \emph{project\_status}}{} +Store a project in the database +\begin{quote} +\begin{quote}\begin{description} +\item[{param categoryid}] \leavevmode +The id of the corresponding category + +\item[{param userid}] \leavevmode +The id of the project owner + +\item[{param project\_title}] \leavevmode +The title of the project + +\item[{param project\_description}] \leavevmode +The project description + +\item[{param project\_status}] \leavevmode +The status of the project + +\item[{type categoryid}] \leavevmode +str + +\item[{type userid}] \leavevmode +str + +\item[{type project\_title}] \leavevmode +str + +\item[{type project\_description}] \leavevmode +str + +\item[{type project\_status}] \leavevmode +str + +\item[{return}] \leavevmode +The id of the new project + +\end{description}\end{quote} +\end{quote} + +\end{fulllineitems} + +\index{set\_projects\_user() (in module models.project)@\spxentry{set\_projects\_user()}\spxextra{in module models.project}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:models.project.set_projects_user}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{models.project.}}\sphinxbfcode{\sphinxupquote{set\_projects\_user}}}{\emph{projectid}, \emph{userid}, \emph{read\_permission=\textquotesingle{}TRUE\textquotesingle{}}, \emph{write\_permission=\textquotesingle{}NULL\textquotesingle{}}, \emph{modify\_permission=\textquotesingle{}NULL\textquotesingle{}}}{}~\begin{description} +\item[{Add a user to a project with specific permissions}] \leavevmode\begin{quote}\begin{description} +\item[{param projectid}] \leavevmode +The project id + +\item[{param userid}] \leavevmode +The user id + +\item[{param read\_permission}] \leavevmode +Describes whether a user can view information about a project + +\item[{param write\_permission}] \leavevmode +Describes whether a user can add files to tasks + +\item[{param modify\_permission}] \leavevmode +Describes wheter a user can deliver tasks + +\item[{type projectid}] \leavevmode +str + +\item[{type userid}] \leavevmode +str + +\item[{type read\_permission}] \leavevmode +str + +\item[{type write\_permission}] \leavevmode +str + +\end{description}\end{quote} + +\end{description} + +\end{fulllineitems} + +\index{set\_task() (in module models.project)@\spxentry{set\_task()}\spxextra{in module models.project}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:models.project.set_task}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{models.project.}}\sphinxbfcode{\sphinxupquote{set\_task}}}{\emph{projectid}, \emph{task\_title}, \emph{task\_description}, \emph{budget}}{} +Create a task +\begin{quote} +\begin{quote}\begin{description} +\item[{param projectid}] \leavevmode +The corresponding project id + +\item[{param task\_title}] \leavevmode +The title of the task + +\item[{param task\_description}] \leavevmode +The description of the task + +\item[{param budget}] \leavevmode +The task budget + +\item[{type projectid}] \leavevmode +str + +\item[{type task\_title}] \leavevmode +str + +\item[{type task\_description}] \leavevmode +str + +\item[{type budget}] \leavevmode +str + +\end{description}\end{quote} +\end{quote} + +\end{fulllineitems} + +\index{set\_task\_file() (in module models.project)@\spxentry{set\_task\_file()}\spxextra{in module models.project}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:models.project.set_task_file}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{models.project.}}\sphinxbfcode{\sphinxupquote{set\_task\_file}}}{\emph{taskid}, \emph{filename}}{} +Register a new task \sphinxhyphen{} file relationship +\begin{quote} +\begin{quote}\begin{description} +\item[{param taskid}] \leavevmode +The task id + +\item[{param filename}] \leavevmode +The name of the file + +\item[{type taskid}] \leavevmode +str + +\item[{type filename}] \leavevmode +str + +\end{description}\end{quote} +\end{quote} + +\end{fulllineitems} + +\index{update\_project\_status() (in module models.project)@\spxentry{update\_project\_status()}\spxextra{in module models.project}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:models.project.update_project_status}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{models.project.}}\sphinxbfcode{\sphinxupquote{update\_project\_status}}}{\emph{projectid}, \emph{status}}{}~\begin{description} +\item[{Change the status of a selected project}] \leavevmode\begin{quote}\begin{description} +\item[{param projectid}] \leavevmode +The project id + +\item[{param status}] \leavevmode +The status to change to, should be either open, in progress or finished + +\item[{type projectid}] \leavevmode +str + +\item[{type status}] \leavevmode +str + +\end{description}\end{quote} + +\end{description} + +\end{fulllineitems} + +\phantomsection\label{\detokenize{index:module-models.register}}\index{models.register (module)@\spxentry{models.register}\spxextra{module}}\index{set\_user() (in module models.register)@\spxentry{set\_user()}\spxextra{in module models.register}} + +\begin{fulllineitems} +\phantomsection\label{\detokenize{index:models.register.set_user}}\pysiglinewithargsret{\sphinxcode{\sphinxupquote{models.register.}}\sphinxbfcode{\sphinxupquote{set\_user}}}{\emph{username}, \emph{password}, \emph{full\_name}, \emph{company}, \emph{email}, \emph{street\_address}, \emph{city}, \emph{state}, \emph{postal\_code}, \emph{country}}{}~\begin{description} +\item[{Register a new user in the database}] \leavevmode\begin{quote}\begin{description} +\item[{param username}] \leavevmode +The users unique user name + +\item[{param password}] \leavevmode +The password + +\item[{param full\_name}] \leavevmode +The users full name + +\item[{param company}] \leavevmode +The company the user represents + +\item[{param email}] \leavevmode +The users email address + +\item[{param street\_address}] \leavevmode +The street address of the user + +\item[{param city}] \leavevmode +The city where the user lives + +\item[{param state}] \leavevmode +The state where the user lives + +\item[{param postal\_code}] \leavevmode +The corresponding postal code + +\item[{param country}] \leavevmode +The users country + +\item[{type username}] \leavevmode +str + +\item[{type password}] \leavevmode +str + +\item[{type full\_name}] \leavevmode +str + +\item[{type company}] \leavevmode +str + +\item[{type email}] \leavevmode +str + +\item[{type street\_address}] \leavevmode +str + +\item[{type city}] \leavevmode +str + +\item[{type state}] \leavevmode +str + +\item[{type postal\_code}] \leavevmode +str + +\item[{type country}] \leavevmode +str + +\end{description}\end{quote} + +\end{description} + +\end{fulllineitems} + + \chapter{Indices and tables} \label{\detokenize{index:indices-and-tables}}\begin{itemize} @@ -106,8 +1083,14 @@ \renewcommand{\indexname}{Python Module Index} \begin{sphinxtheindex} \let\bigletter\sphinxstyleindexlettergroup +\bigletter{m} +\item\relax\sphinxstyleindexentry{models.login}\sphinxstyleindexpageref{index:\detokenize{module-models.login}} +\item\relax\sphinxstyleindexentry{models.project}\sphinxstyleindexpageref{index:\detokenize{module-models.project}} +\item\relax\sphinxstyleindexentry{models.register}\sphinxstyleindexpageref{index:\detokenize{module-models.register}} +\indexspace \bigletter{v} -\item\relax\sphinxstyleindexentry{views.index}\sphinxstyleindexpageref{index:\detokenize{module-views.index}} +\item\relax\sphinxstyleindexentry{views.forms}\sphinxstyleindexpageref{index:\detokenize{module-views.forms}} +\item\relax\sphinxstyleindexentry{views.utils}\sphinxstyleindexpageref{index:\detokenize{module-views.utils}} \end{sphinxtheindex} \renewcommand{\indexname}{Index} diff --git a/src/app/docs/build/latex/beelance2.toc b/src/app/docs/build/latex/beelance2.toc new file mode 100644 index 0000000..f98b5cb --- /dev/null +++ b/src/app/docs/build/latex/beelance2.toc @@ -0,0 +1,4 @@ +\babel@toc {english}{} +\contentsline {chapter}{\numberline {1}Indices and tables}{9}{chapter.1} +\contentsline {chapter}{Python Module Index}{11}{section*.56} +\contentsline {chapter}{Index}{13}{section*.57} diff --git a/src/app/docs/build/latex/sphinx.sty b/src/app/docs/build/latex/sphinx.sty index c18e87a..3e67b56 100644 --- a/src/app/docs/build/latex/sphinx.sty +++ b/src/app/docs/build/latex/sphinx.sty @@ -6,7 +6,7 @@ % \NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{sphinx}[2019/09/02 v2.2.1 LaTeX package (Sphinx markup)] +\ProvidesPackage{sphinx}[2019/09/02 v2.3.0 LaTeX package (Sphinx markup)] % provides \ltx@ifundefined % (many packages load ltxcmds: graphicx does for pdftex and lualatex but @@ -40,7 +40,7 @@ % for \text macro and \iffirstchoice@ conditional even if amsmath not loaded \RequirePackage{amstext} \RequirePackage{textcomp}% "warn" option issued from template -\RequirePackage{titlesec} +\RequirePackage[nobottomtitles*]{titlesec} \@ifpackagelater{titlesec}{2016/03/15}% {\@ifpackagelater{titlesec}{2016/03/21}% {}% @@ -119,7 +119,8 @@ {\dimexpr-\dp\strutbox -\spx@ifcaptionpackage{\abovecaptionskip}{\sphinxbaselineskip}% +\sphinxbelowcaptionspace\relax}% -\def\sphinxatlongtableend{\prevdepth\z@\vskip\sphinxtablepost\relax}% +\def\sphinxatlongtableend{\@nobreakfalse % latex3/latex2e#173 + \prevdepth\z@\vskip\sphinxtablepost\relax}% % B. Table with tabular or tabulary \def\sphinxattablestart{\par\vskip\dimexpr\sphinxtablepre\relax}% \let\sphinxattableend\sphinxatlongtableend @@ -1053,7 +1054,7 @@ % Take advantage of the already applied Pygments mark-up to insert % potential linebreaks for TeX processing. % {, <, #, %, $, ' and ": go to next line. -% _, }, ^, &, >, - and ~: stay at end of broken line. +% _, }, ^, &, >, -, ~, and \: stay at end of broken line. % Use of \textquotesingle for straight quote. % FIXME: convert this to package options ? \newcommand*\sphinxbreaksbeforelist {% @@ -1065,6 +1066,7 @@ \newcommand*\sphinxbreaksafterlist {% \do\PYGZus\_\do\PYGZcb\}\do\PYGZca\^\do\PYGZam\&% _, }, ^, &, \do\PYGZgt\>\do\PYGZhy\-\do\PYGZti\~% >, -, ~ + \do\PYGZbs\\% \ } \newcommand*\sphinxbreaksatspecials {% \def\do##1##2% @@ -1076,7 +1078,7 @@ } \def\sphinx@verbatim@nolig@list {\do \`}% -% Some characters . , ; ? ! / are not pygmentized. +% Some characters . , ; ? ! / are neither pygmentized nor "tex-escaped". % This macro makes them "active" and they will insert potential linebreaks. % Not compatible with math mode (cf \sphinxunactivateextras). \newcommand*\sphinxbreaksbeforeactivelist {}% none @@ -1109,6 +1111,9 @@ \newcommand*\sphinxVerbatimTitle {} % This box to typeset the caption before framed.sty multiple passes for framing. \newbox\sphinxVerbatim@TitleBox +% This box to measure contents if nested as inner \MakeFramed requires then +% minipage encapsulation but too long contents then break outer \MakeFramed +\newbox\sphinxVerbatim@ContentsBox % This is a workaround to a "feature" of French lists, when literal block % follows immediately; usable generally (does only \par then), a priori... \newcommand*\sphinxvspacefixafterfrenchlists{% @@ -1255,17 +1260,23 @@ \itemsep \z@skip \topsep \z@skip \partopsep \z@skip - % trivlist will set \parsep to \parskip = zero + % trivlist will set \parsep to \parskip (which itself is set to zero above) % \leftmargin will be set to zero by trivlist \rightmargin\z@ \parindent \z@% becomes \itemindent. Default zero, but perhaps overwritten. \trivlist\item\relax - \ifsphinxverbatimwithminipage\spx@inframedtrue\fi - % use a minipage if we are already inside a framed environment - \ifspx@inframed\noindent\begin{minipage}{\linewidth}\fi - \MakeFramed {% adapted over from framed.sty's snugshade environment + \ifspx@inframed\setbox\sphinxVerbatim@ContentsBox\vbox\bgroup + \@setminipage\hsize\linewidth + % use bulk of minipage paragraph shape restores (this is needed + % in indented contexts, at least for some) + \textwidth\hsize \columnwidth\hsize \@totalleftmargin\z@ + \leftskip\z@skip \rightskip\z@skip \@rightskip\z@skip + \else + \ifsphinxverbatimwithminipage\noindent\begin{minipage}{\linewidth}\fi + \MakeFramed {% adapted over from framed.sty's snugshade environment \advance\hsize-\width\@totalleftmargin\z@\linewidth\hsize\@setminipage }% + \fi % For grid placement from \strut's in \FancyVerbFormatLine \lineskip\z@skip % active comma should not be overwritten by \@noligs @@ -1277,8 +1288,49 @@ } {% \endOriginalVerbatim - \par\unskip\@minipagefalse\endMakeFramed % from framed.sty snugshade - \ifspx@inframed\end{minipage}\fi + \ifspx@inframed + \egroup % finish \sphinxVerbatim@ContentsBox vbox + \nobreak % update page totals + \ifdim\dimexpr\ht\sphinxVerbatim@ContentsBox+ + \dp\sphinxVerbatim@ContentsBox+ + \ht\sphinxVerbatim@TitleBox+ + \dp\sphinxVerbatim@TitleBox+ + 2\fboxsep+2\fboxrule+ + % try to account for external frame parameters + \FrameSep+\FrameRule+ + % Usage here of 2 baseline distances is empirical. + % In border case where code-block fits barely in remaining space, + % it gets framed and looks good but the outer frame may continue + % on top of next page and give (if no contents after code-block) + % an empty framed line, as testing showed. + 2\baselineskip+ + % now add all to accumulated page totals and compare to \pagegoal + \pagetotal+\pagedepth>\pagegoal + % long contents: do not \MakeFramed. Do make a caption (either before or + % after) if title exists. Continuation hints across pagebreaks dropped. + % FIXME? a bottom caption may end up isolated at top of next page + % (no problem with a top caption, which is default) + \spx@opt@verbatimwithframefalse + \def\sphinxVerbatim@Title{\noindent\box\sphinxVerbatim@TitleBox\par}% + \sphinxVerbatim@Before + \noindent\unvbox\sphinxVerbatim@ContentsBox\par + \sphinxVerbatim@After + \else + % short enough contents: use \MakeFramed. As it is nested, this requires + % minipage encapsulation. + \noindent\begin{minipage}{\linewidth}% + \MakeFramed {% Use it now with the fetched contents + \advance\hsize-\width\@totalleftmargin\z@\linewidth\hsize\@setminipage + }% + \unvbox\sphinxVerbatim@ContentsBox + % some of this may be superfluous: + \par\unskip\@minipagefalse\endMakeFramed + \end{minipage}% + \fi + \else % non-nested \MakeFramed + \par\unskip\@minipagefalse\endMakeFramed % from framed.sty snugshade + \ifsphinxverbatimwithminipage\end{minipage}\fi + \fi \endtrivlist } \newenvironment {sphinxVerbatimNoFrame} @@ -1313,10 +1365,10 @@ {\def##1{\discretionary{\char`##2}{\sphinxafterbreak}{\char`##2}}}% \do\_\_\do\}\}\do\textasciicircum\^\do\&\&% _, }, ^, &, \do\textgreater\>\do\textasciitilde\~% >, ~ + \do\textbackslash\\% \ } \newcommand*\sphinxbreaksviaactiveinparsedliteral{% \sphinxbreaksviaactive % by default handles . , ; ? ! / - \do\-% we need also the hyphen character (ends up "as is" in parsed-literal) \lccode`\~`\~ % % update \dospecials as it is used by \url % but deactivation will already have been done hence this is unneeded: @@ -1327,7 +1379,7 @@ \lccode`~32 \lowercase{\let~}\spx@verbatim@space\lccode`\~`\~ } \newcommand*{\sphinxunactivateextras}{\let\do\@makeother - \sphinxbreaksbeforeactivelist\sphinxbreaksafteractivelist\do\-}% + \sphinxbreaksbeforeactivelist\sphinxbreaksafteractivelist}% % the \catcode13=5\relax (deactivate end of input lines) is left to callers \newcommand*{\sphinxunactivateextrasandspace}{\catcode32=10\relax \sphinxunactivateextras}% @@ -1735,17 +1787,37 @@ % to obtain straight quotes we execute \@noligs as patched by upquote, and % \scantokens is needed in cases where it would be too late for the macro to % first set catcodes and then fetch its argument. We also make the contents -% breakable at non-escaped . , ; ? ! / using \sphinxbreaksviaactive. +% breakable at non-escaped . , ; ? ! / using \sphinxbreaksviaactive, +% and also at \ character (which is escaped to \textbackslash{}). +\protected\def\sphinxtextbackslashbreakbefore + {\discretionary{}{\sphinxafterbreak\sphinx@textbackslash}{\sphinx@textbackslash}} +\protected\def\sphinxtextbackslashbreakafter + {\discretionary{\sphinx@textbackslash}{\sphinxafterbreak}{\sphinx@textbackslash}} +\let\sphinxtextbackslash\sphinxtextbackslashbreakafter % the macro must be protected if it ends up used in moving arguments, % in 'alltt' \@noligs is done already, and the \scantokens must be avoided. \protected\def\sphinxupquote#1{{\def\@tempa{alltt}% \ifx\@tempa\@currenvir\else \ifspx@opt@inlineliteralwraps - \sphinxbreaksviaactive\let\sphinxafterbreak\empty + % break at . , ; ? ! / + \sphinxbreaksviaactive + % break also at \ + \let\sphinx@textbackslash\textbackslash + \let\textbackslash\sphinxtextbackslash + % by default, no continuation symbol on next line but may be added + \let\sphinxafterbreak\sphinxafterbreakofinlineliteral % do not overwrite the comma set-up \let\verbatim@nolig@list\sphinx@literal@nolig@list \fi % fix a space-gobbling issue due to LaTeX's original \do@noligs +% TODO: using \@noligs as patched by upquote.sty is now unneeded because +% either ` and ' are escaped (non-unicode engines) or they don't build +% ligatures (unicode engines). Thus remove this and unify handling of `, <, >, +% ' and - with the characters . , ; ? ! / as handled via +% \sphinxbreaksviaactive. +% Hence \sphinx@do@noligs will be removed, or rather replaced with code +% inserting discretionaries, as they allow a continuation symbol on start of +% next line to achieve common design with code-blocks. \let\do@noligs\sphinx@do@noligs \@noligs\endlinechar\m@ne\everyeof{}% (<- in case inside \sphinxhref) \expandafter\scantokens @@ -1753,6 +1825,7 @@ \def\sphinx@do@noligs #1{\catcode`#1\active\begingroup\lccode`\~`#1\relax \lowercase{\endgroup\def~{\leavevmode\kern\z@\char`#1 }}} \def\sphinx@literal@nolig@list {\do\`\do\<\do\>\do\'\do\-}% +\let\sphinxafterbreakofinlineliteral\empty % Some custom font markup commands. \protected\def\sphinxstrong#1{\textbf{#1}} @@ -1800,6 +1873,7 @@ % reduce hyperref "Token not allowed in a PDF string" warnings on PDF builds \AtBeginDocument{\pdfstringdefDisableCommands{% % all "protected" macros possibly ending up in section titles should be here +% TODO: examine if \sphinxhref, \sphinxurl, \sphinnolinkurl should be handled \let\sphinxstyleemphasis \@firstofone \let\sphinxstyleliteralemphasis \@firstofone \let\sphinxstylestrong \@firstofone @@ -1813,8 +1887,20 @@ \let\sphinxemail \@firstofone \let\sphinxcrossref \@firstofone \let\sphinxtermref \@firstofone + \let\sphinxhyphen\sphinxhyphenforbookmarks }} +% Special characters +% +% This definition prevents en-dash and em-dash TeX ligatures. +% +% It inserts a potential breakpoint after the hyphen. This is to keep in sync +% with behavior in code-blocks, parsed and inline literals. For a breakpoint +% before the hyphen use \leavevmode\kern\z@- (within \makeatletter/\makeatother) +\protected\def\sphinxhyphen#1{-\kern\z@} +% The {} from texescape mark-up is kept, else -- gives en-dash in PDF bookmark +\def\sphinxhyphenforbookmarks{-} + % For curly braces inside \index macro \def\sphinxleftcurlybrace{\{} \def\sphinxrightcurlybrace{\}} diff --git a/src/app/docs/build/latex/sphinx.xdy b/src/app/docs/build/latex/sphinx.xdy index 1c0794c..edca178 100644 --- a/src/app/docs/build/latex/sphinx.xdy +++ b/src/app/docs/build/latex/sphinx.xdy @@ -112,12 +112,14 @@ (merge-rule "\_" "_" :string) (merge-rule "{[}" "[" :string) (merge-rule "{]}" "]" :string) -(merge-rule "{}`" "`" :string) (merge-rule "\textbackslash{}" "\" :string) ; " for Emacs syntax highlighting (merge-rule "\textasciitilde{}" "~~" :string); the ~~ escape is needed here +(merge-rule "\textasciicircum{}" "^" :string) +(merge-rule "\sphinxhyphen{}" "-" :string) +(merge-rule "\textquotesingle{}" "'" :string) +(merge-rule "\textasciigrave{}" "`" :string) (merge-rule "\textless{}" "<" :string) (merge-rule "\textgreater{}" ">" :string) -(merge-rule "\textasciicircum{}" "^" :string) (merge-rule "\P{}" "¶" :string) (merge-rule "\S{}" "§" :string) (merge-rule "\texteuro{}" "€" :string) diff --git a/src/app/docs/build/latex/sphinxcyrillic.sty b/src/app/docs/build/latex/sphinxcyrillic.sty index 1a14c7b..482b4e3 100644 --- a/src/app/docs/build/latex/sphinxcyrillic.sty +++ b/src/app/docs/build/latex/sphinxcyrillic.sty @@ -11,7 +11,7 @@ \ProcessLocalKeyvalOptions* % ignore class options \ifspx@cyropt@Xtwo -% original code by tex.sx user egreg: +% original code by tex.sx user egreg (updated 2019/10/28): % https://tex.stackexchange.com/a/460325/ % 159 Cyrillic glyphs as available in X2 TeX 8bit font encoding % This assumes inputenc loaded with utf8 option, or LaTeX release @@ -27,7 +27,9 @@ {Ӎ}{ӎ}{Ӕ}{ӕ}{Ә}{ә}{Ӡ}{ӡ}{Ө}{ө}\do {% \begingroup\def\IeC{\protect\DeclareTextSymbolDefault}% - \protected@edef\@temp{\endgroup\next{X2}}\@temp + \protected@edef\@temp{\endgroup + \@ifl@t@r{\fmtversion}{2019/10/01}{\csname u8:\next\endcsname}{\next}}% + \@temp{X2}% }% \else \ifspx@cyropt@TtwoA diff --git a/src/app/docs/build/latex/sphinxhowto.cls b/src/app/docs/build/latex/sphinxhowto.cls index ba5e003..57d73ce 100644 --- a/src/app/docs/build/latex/sphinxhowto.cls +++ b/src/app/docs/build/latex/sphinxhowto.cls @@ -3,7 +3,7 @@ % \NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesClass{sphinxhowto}[2018/12/23 v2.0 Document class (Sphinx howto)] +\ProvidesClass{sphinxhowto}[2019/12/01 v2.3.0 Document class (Sphinx howto)] % 'oneside' option overriding the 'twoside' default \newif\if@oneside @@ -27,6 +27,17 @@ \setcounter{secnumdepth}{2} \setcounter{tocdepth}{2}% i.e. section and subsection +% Adapt \and command to the flushright context of \sphinxmaketitle, to +% avoid ragged line endings if author names do not fit all on one single line +\DeclareRobustCommand{\and}{% + \end{tabular}\kern-\tabcolsep + \allowbreak + \hskip\dimexpr1em+\tabcolsep\@plus.17fil\begin{tabular}[t]{c}% +}% +% If it is desired that each author name be on its own line, use in preamble: +%\DeclareRobustCommand{\and}{% +% \end{tabular}\kern-\tabcolsep\\\begin{tabular}[t]{c}% +%}% % Change the title page to look a bit better, and fit in with the fncychap % ``Bjarne'' style a bit better. % diff --git a/src/app/docs/build/latex/sphinxmanual.cls b/src/app/docs/build/latex/sphinxmanual.cls index e7c8f41..718189d 100644 --- a/src/app/docs/build/latex/sphinxmanual.cls +++ b/src/app/docs/build/latex/sphinxmanual.cls @@ -3,7 +3,7 @@ % \NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesClass{sphinxmanual}[2018/12/23 v2.0 Document class (Sphinx manual)] +\ProvidesClass{sphinxmanual}[2019/12/01 v2.3.0 Document class (Sphinx manual)] % chapters starting at odd pages (overridden by 'openany' document option) \PassOptionsToClass{openright}{\sphinxdocclass} @@ -30,6 +30,17 @@ \setcounter{secnumdepth}{2} \setcounter{tocdepth}{1} +% Adapt \and command to the flushright context of \sphinxmaketitle, to +% avoid ragged line endings if author names do not fit all on one single line +\DeclareRobustCommand{\and}{% + \end{tabular}\kern-\tabcolsep + \allowbreak + \hskip\dimexpr1em+\tabcolsep\@plus.17fil\begin{tabular}[t]{c}% +}% +% If it is desired that each author name be on its own line, use in preamble: +%\DeclareRobustCommand{\and}{% +% \end{tabular}\kern-\tabcolsep\\\begin{tabular}[t]{c}% +%}% % Change the title page to look a bit better, and fit in with the fncychap % ``Bjarne'' style a bit better. % diff --git a/src/app/docs/build/latex/sphinxmessages.sty b/src/app/docs/build/latex/sphinxmessages.sty index 121f0af..68ebffa 100644 --- a/src/app/docs/build/latex/sphinxmessages.sty +++ b/src/app/docs/build/latex/sphinxmessages.sty @@ -7,7 +7,7 @@ \renewcommand{\literalblockcontinuedname}{continued from previous page} \renewcommand{\literalblockcontinuesname}{continues on next page} -\renewcommand{\sphinxnonalphabeticalgroupname}{Non-alphabetical} +\renewcommand{\sphinxnonalphabeticalgroupname}{Non\sphinxhyphen{}alphabetical} \renewcommand{\sphinxsymbolsname}{Symbols} \renewcommand{\sphinxnumbersname}{Numbers} \def\pageautorefname{page} diff --git a/src/app/docs/build/latex/sphinxmulticell.sty b/src/app/docs/build/latex/sphinxmulticell.sty index f0d11b1..a645491 100644 --- a/src/app/docs/build/latex/sphinxmulticell.sty +++ b/src/app/docs/build/latex/sphinxmulticell.sty @@ -229,10 +229,10 @@ % whether or not the multirow is single-column or multi-column. % % In passing we obtain baseline alignements across rows (only if -% \arraylinestretch is 1, as LaTeX's does not obey \arraylinestretch in "p" +% \arraystretch is 1, as LaTeX's does not obey \arraystretch in "p" % multi-line contents, only first and last line...) % -% TODO: examine the situation with \arraylinestretch > 1. The \extrarowheight +% TODO: examine the situation with \arraystretch > 1. The \extrarowheight % is hopeless for multirow anyhow, it makes baseline alignment strictly % impossible. \newcommand\sphinxmultirow[2]{\begingroup diff --git a/src/app/docs/source/conf.py b/src/app/docs/source/conf.py index 470b519..5d33c35 100644 --- a/src/app/docs/source/conf.py +++ b/src/app/docs/source/conf.py @@ -47,7 +47,6 @@ latex_elements = { # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ -'rinoh.frontend.sphinx', 'sphinx.ext.autodoc', ] @@ -70,4 +69,4 @@ html_theme = 'alabaster' # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] \ No newline at end of file +html_static_path = ['_static'] diff --git a/src/app/docs/source/index.rst b/src/app/docs/source/index.rst index 55e9d89..ebef096 100644 --- a/src/app/docs/source/index.rst +++ b/src/app/docs/source/index.rst @@ -42,7 +42,7 @@ Welcome to beelance2's documentation! .. automodule:: views.utils :members: -.. automodule:: models.login +.. automodule:: models.user :members: .. automodule:: models.project diff --git a/src/app/models/login.py b/src/app/models/login.py deleted file mode 100644 index 8156a4a..0000000 --- a/src/app/models/login.py +++ /dev/null @@ -1,70 +0,0 @@ -from models.database import db - -def get_users(): - """ - Retreive all registrered users from the database - :return: users - """ - db.connect() - cursor = db.cursor() - query = ("SELECT userid, username from users") - cursor.execute(query) - users = cursor.fetchall() - cursor.close() - return users - -def get_user_id_by_name(username): - """ - Get the id of the unique username - :param username: Name of the user - :return: The id of the user - """ - db.connect() - cursor = db.cursor() - query = ("SELECT userid from users WHERE username =\"" + username + "\"") - cursor.execute(query) - try: - userid = cursor.fetchall()[0][0] - except: - userid = None - cursor.close() - return userid - -def get_user_name_by_id(userid): - """ - Get username from user id - :param userid: The id of the user - :return: The name of the user - """ - db.connect() - cursor = db.cursor() - query = ("SELECT username from users WHERE userid =\"" + userid + "\"") - cursor.execute(query) - try: - username = cursor.fetchall()[0][0] - except: - username = None - cursor.close() - return username - -def match_user(username, password): - """ - Check if user credentials are correct, return if exists - - :param username: The user attempting to authenticate - :param password: The corresponding password - :type username: str - :type password: str - :return: user - """ - db.connect() - cursor = db.cursor() - query = ("SELECT userid, username from users where username = \"" + username + - "\" and password = \"" + password + "\"") - cursor.execute(query) - try: - user = cursor.fetchall()[0] - except: - user = None - cursor.close() - return user diff --git a/src/app/views/admin.py b/src/app/views/admin.py deleted file mode 100644 index c291172..0000000 --- a/src/app/views/admin.py +++ /dev/null @@ -1,6 +0,0 @@ -import web - -class Admin: - - def GET(self): - session = web.ctx.session