From 72bd622e42b7cfdc6457e6aea9ca58c47333cedd Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Sun, 17 May 2026 15:36:45 -0500 Subject: [PATCH] docs(static[logo+favicon]) Add tony/* visual-identity asset set MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit why: The gp-sphinx docs site at gp-sphinx.git-pull.com configured no html_logo / html_favicon, leaving the site without visual identity in the Furo sidebar and the browser tab. The sibling tony/* docs sites (django-docutils, django-slugify-processor) ship a coherent logo + favicon + PWA icon set that should travel to gp-sphinx for brand parity, plus give PR #40's sidebar-logo LCP fix a live verification target on gp-sphinx's own deployment. what: - docs/_static/favicon.ico + docs/_static/img/icons/ — full asset tree copied verbatim from django-docutils (logo.svg + dark variant + PNG fallbacks, full PWA icon family across Android, Apple, Microsoft platforms, plus safari-pinned-tab.svg) - docs/manifest.json — pre-existing PWA manifest re-pointed at the copied android-chrome-*.png file names; size set trimmed to the actually-present icon sizes - docs/conf.py — wire merge_sphinx_config(...) with light_logo, dark_logo, html_favicon, html_extra_path=["manifest.json"] - CHANGES — Documentation entry under 0.0.1a20 (unreleased) --- CHANGES | 10 ++++++++ docs/_static/favicon.ico | Bin 0 -> 5430 bytes .../img/icons/android-chrome-144x144.png | Bin 0 -> 583 bytes .../img/icons/android-chrome-192x192.png | Bin 0 -> 676 bytes .../img/icons/android-chrome-256x256.png | Bin 0 -> 964 bytes .../img/icons/android-chrome-36x36.png | Bin 0 -> 475 bytes .../img/icons/android-chrome-384x384.png | Bin 0 -> 1306 bytes .../img/icons/android-chrome-48x48.png | Bin 0 -> 430 bytes .../img/icons/android-chrome-512x512.png | Bin 0 -> 3084 bytes .../img/icons/android-chrome-72x72.png | Bin 0 -> 479 bytes .../img/icons/android-chrome-96x96.png | Bin 0 -> 488 bytes .../img/icons/android-icon-144x144.png | Bin 0 -> 1178 bytes .../img/icons/android-icon-192x192.png | Bin 0 -> 424 bytes docs/_static/img/icons/android-icon-36x36.png | Bin 0 -> 929 bytes docs/_static/img/icons/android-icon-48x48.png | Bin 0 -> 1028 bytes docs/_static/img/icons/android-icon-72x72.png | Bin 0 -> 1014 bytes docs/_static/img/icons/android-icon-96x96.png | Bin 0 -> 1094 bytes docs/_static/img/icons/apple-icon-114x114.png | Bin 0 -> 1082 bytes docs/_static/img/icons/apple-icon-120x120.png | Bin 0 -> 1034 bytes docs/_static/img/icons/apple-icon-144x144.png | Bin 0 -> 1178 bytes docs/_static/img/icons/apple-icon-152x152.png | Bin 0 -> 1170 bytes docs/_static/img/icons/apple-icon-180x180.png | Bin 0 -> 1219 bytes docs/_static/img/icons/apple-icon-57x57.png | Bin 0 -> 1081 bytes docs/_static/img/icons/apple-icon-60x60.png | Bin 0 -> 1023 bytes docs/_static/img/icons/apple-icon-72x72.png | Bin 0 -> 1014 bytes docs/_static/img/icons/apple-icon-76x76.png | Bin 0 -> 1055 bytes .../img/icons/apple-icon-precomposed.png | Bin 0 -> 996 bytes docs/_static/img/icons/apple-icon.png | Bin 0 -> 996 bytes docs/_static/img/icons/apple-touch-icon.png | Bin 0 -> 777 bytes docs/_static/img/icons/favicon-16x16.png | Bin 0 -> 547 bytes docs/_static/img/icons/favicon-32x32.png | Bin 0 -> 687 bytes docs/_static/img/icons/favicon-96x96.png | Bin 0 -> 1094 bytes docs/_static/img/icons/favicon.ico | Bin 0 -> 15086 bytes docs/_static/img/icons/logo-dark.svg | 21 ++++++++++++++++ docs/_static/img/icons/logo.png | Bin 0 -> 1021 bytes docs/_static/img/icons/logo.svg | 23 ++++++++++++++++++ docs/_static/img/icons/ms-icon-144x144.png | Bin 0 -> 1178 bytes docs/_static/img/icons/ms-icon-150x150.png | Bin 0 -> 1197 bytes docs/_static/img/icons/ms-icon-310x310.png | Bin 0 -> 1905 bytes docs/_static/img/icons/ms-icon-70x70.png | Bin 0 -> 1043 bytes docs/_static/img/icons/mstile-150x150.png | Bin 0 -> 862 bytes docs/_static/img/icons/safari-pinned-tab.svg | 18 ++++++++++++++ docs/conf.py | 4 +++ docs/manifest.json | 22 +++++------------ 44 files changed, 82 insertions(+), 16 deletions(-) create mode 100755 docs/_static/favicon.ico create mode 100644 docs/_static/img/icons/android-chrome-144x144.png create mode 100644 docs/_static/img/icons/android-chrome-192x192.png create mode 100644 docs/_static/img/icons/android-chrome-256x256.png create mode 100644 docs/_static/img/icons/android-chrome-36x36.png create mode 100644 docs/_static/img/icons/android-chrome-384x384.png create mode 100644 docs/_static/img/icons/android-chrome-48x48.png create mode 100644 docs/_static/img/icons/android-chrome-512x512.png create mode 100644 docs/_static/img/icons/android-chrome-72x72.png create mode 100644 docs/_static/img/icons/android-chrome-96x96.png create mode 100644 docs/_static/img/icons/android-icon-144x144.png create mode 100644 docs/_static/img/icons/android-icon-192x192.png create mode 100644 docs/_static/img/icons/android-icon-36x36.png create mode 100644 docs/_static/img/icons/android-icon-48x48.png create mode 100644 docs/_static/img/icons/android-icon-72x72.png create mode 100644 docs/_static/img/icons/android-icon-96x96.png create mode 100644 docs/_static/img/icons/apple-icon-114x114.png create mode 100644 docs/_static/img/icons/apple-icon-120x120.png create mode 100644 docs/_static/img/icons/apple-icon-144x144.png create mode 100644 docs/_static/img/icons/apple-icon-152x152.png create mode 100644 docs/_static/img/icons/apple-icon-180x180.png create mode 100644 docs/_static/img/icons/apple-icon-57x57.png create mode 100644 docs/_static/img/icons/apple-icon-60x60.png create mode 100644 docs/_static/img/icons/apple-icon-72x72.png create mode 100644 docs/_static/img/icons/apple-icon-76x76.png create mode 100644 docs/_static/img/icons/apple-icon-precomposed.png create mode 100644 docs/_static/img/icons/apple-icon.png create mode 100644 docs/_static/img/icons/apple-touch-icon.png create mode 100644 docs/_static/img/icons/favicon-16x16.png create mode 100644 docs/_static/img/icons/favicon-32x32.png create mode 100644 docs/_static/img/icons/favicon-96x96.png create mode 100644 docs/_static/img/icons/favicon.ico create mode 100644 docs/_static/img/icons/logo-dark.svg create mode 100644 docs/_static/img/icons/logo.png create mode 100644 docs/_static/img/icons/logo.svg create mode 100644 docs/_static/img/icons/ms-icon-144x144.png create mode 100644 docs/_static/img/icons/ms-icon-150x150.png create mode 100644 docs/_static/img/icons/ms-icon-310x310.png create mode 100644 docs/_static/img/icons/ms-icon-70x70.png create mode 100644 docs/_static/img/icons/mstile-150x150.png create mode 100644 docs/_static/img/icons/safari-pinned-tab.svg diff --git a/CHANGES b/CHANGES index 0d8beaef..24ddf56a 100644 --- a/CHANGES +++ b/CHANGES @@ -18,6 +18,16 @@ $ uv add gp-sphinx --prerelease allow +### Documentation + +#### Visual identity for the gp-sphinx docs site + +The gp-sphinx docs site at now +ships the standard tony/* logo, favicon, and PWA icon set. The Furo +sidebar shows light and dark logo variants, the browser tab carries +a proper favicon, and a web-app manifest advertises the icon sizes +for Android, Apple, and Microsoft platforms. (#41) + ## gp-sphinx 0.0.1a19 (2026-05-17) gp-sphinx 0.0.1a19 closes the gap on Cloudflare Rocket Loader diff --git a/docs/_static/favicon.ico b/docs/_static/favicon.ico new file mode 100755 index 0000000000000000000000000000000000000000..d5bb2bc9df29d91695f8c9a9af5824fcc7ec3d98 GIT binary patch literal 5430 zcmeHKQ3``F41F6rfJf-p*fDkr&#=?%9I`VGx)*e#rKqrn1ThbSHSv+=wWbQ3a7NdG z*M!FfxB^INydUU)(s!eeLq0M3d6`3Iz|&sLuh?8&d-3<2sA8ULXStQR8+Y$e_O5Zg z*YBr)=1fZa21=ieOIV*tv^&lE(E{F#dDZHf+pFftTkkiuPpSNcS0h59Kq#=W0_r)f z@}nQu{rG5l4BX%99{QJWxdWj978H@y}iDh_fUXcx*ZIR){7)BrpTc)$3LDcYevmD@<>y>_ zeL(Z>%uB&GKY{K@ZuWV}Kl2h6=Pz zm0Xkxq!^40j0|)QEPyD)(8S8v*viCG+rY@mz~Ip|!wM7)x%nxXX_dG&Og`Ot1gIgr zDkP#LD6w3jpeR2rGbdG{q_QAYA+w+)nSr5V&f`x!9ED*T8mIhEpYePe#K5e~t(VL# ztSsz3S%g_w!KK0Ea0;{X<`9L`H?EvGa^{H45%$v!9t*tm7+#4BmV9zDoeH#q!PC{x JWt~$(69BVSzi$8l literal 0 HcmV?d00001 diff --git a/docs/_static/img/icons/android-chrome-192x192.png b/docs/_static/img/icons/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..12adc6ba0f7785e5498a15ff22912074f3679501 GIT binary patch literal 676 zcmeAS@N?(olHy`uVBq!ia0vp^2SAtuNHCOdH@*#|SkfJR9T^xl_H+M9WCijSl0AZa z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=YDR+ueoXe|!I#{Xiaj ziKnkC`x6chK1IW1sTC&~7#KZ0T^vIyZoR#^FqGL*!tLT#5y3|b+P`ozc`J4|8=1{n z%E+U{l;v<{-85YPf1n@JgU}w0(%s{sA1Nr>@ z@$=`Izj&H0l3?iD6XaMU{M#S1+1B+i#av76K9`rWn`;3d8a&sV?wnv)XV73pG~8u>=&@A1N@RHh&>Yng*NBpo#FA92cptHiBg^6AbaKn>wlArU1(iRB6fMfqu&IjIUI zl?AB^nFS@u3=9=>9)IHDC=AokIOTu(jOWuJ24-b$y<~1-Wnu5hBFw@HE)6D!Q<#-E shbWxBaplC3Ge=~Ou%B-5Sm33{@Jd{;RG<|Mp00i_>zopr0EMC7_W%F@ literal 0 HcmV?d00001 diff --git a/docs/_static/img/icons/android-chrome-256x256.png b/docs/_static/img/icons/android-chrome-256x256.png new file mode 100644 index 0000000000000000000000000000000000000000..fba4167380dbf42ed079a62f6fb1b7a20566b111 GIT binary patch literal 964 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5890C>L#5>RT|kN@-O<;Pfnj4m_n$;oAYUQb zBgmJ5p-PQ`p`nF=;TKS-;RORjsR0ASs{{rHs~HRo;stYd1=;{5n3BBRT^Rni_n+Ah z>FMGaQgQ3;Z9^~SKnB-~I=&l16(d&8-O-egt=hHL zV}qczw6(N$`Lv#>RA$Z!yJz?69{deHcV_q-xh5sYR#7nKxL?;=OcpJEO%#_WLD*4h)Pe0w}~E(F6PT z3(SlYzwW%H!kFRzV$vP{mg$2n?aRmK>xo-H$%;hH&nyK_mw{aQxcHcC9($G|kh zZu)uWEq`wP6WA-tH$ai~ojW8p)b05Enzz7os9NG0QIe8al4_M)lnSI6j0}tnbPX(k zD8$gj%GlV-#8TV9$jZRr(KN#f6b-rgDVb@NxHU{Z-FXD4A-pOiq9iD>T%n*SKP@vS zRiUJ^AXOo=pd^`rp<>SCPdprjVHz5z{7;|pd>X{Stjw*K%q^@e>^)h8Sy;iP!Q^lX vv-0K;h0`~#oH%mkh|Cf8(+wUAy!04ei3^r|ax$F?w1UCY)z4*}Q$iB}u=F?s literal 0 HcmV?d00001 diff --git a/docs/_static/img/icons/android-chrome-36x36.png b/docs/_static/img/icons/android-chrome-36x36.png new file mode 100644 index 0000000000000000000000000000000000000000..cdaad7f45275e970078c8bd466945f2f555533ff GIT binary patch literal 475 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>`OBp8llA9n##Ea{HEjtmSN`?>!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZEE?e4r4<>F)Xad~z}x4B2BZ-oG5ZePQF; z@C*r-`u_sCwCYIU;Mpgy}kER(`plHa= zPsvQH#I0fS>CPiS4dGQG5hX#19-8f8yaN4Aam! z<$wB&=hGktW@T=@WNu+)VeiQz%)$yT4JLZ(btiIVPik{pF~z5Um@8e z$d`ekN{xY`p@o6r7f`6-1p`B=0RzLU1O^7H84L{K1#@-<+5jb(lDyqr82-2SpV<%O zv6p!Iy0Smv;NVj<`X&6cn1O+Lzo(01NX4zUcYXbY10>om>M`rAHYilcyvfwL&Udbq z7(<~iFYn8UR)@cmmhTswJ-l~bI;;8jGyBUwx@UI(V*Fpt@QC3EV+XSUy8@qsOoIhO z;jk81&h+E&kK$!8Hp4ScBHaBzzCm`Q7|^dg3GO;<7aE64f~{xV>Ritk zsH=S)7znB*t`Q|Ei6yC4$wjF^iowXh$UxV?0*FEkO{|QKtxOHH4UDV|40bOmF-6gk zo1c=IR*74~sh?*$ff~ZALLy3n63Z0|it^Jkb5a#bDhpB-G7Cz8#Z<+d$DepO3d1xs zPWhic2I`Q&6e6%>=6u6{1-oD!M<#U^OC literal 0 HcmV?d00001 diff --git a/docs/_static/img/icons/android-chrome-48x48.png b/docs/_static/img/icons/android-chrome-48x48.png new file mode 100644 index 0000000000000000000000000000000000000000..558ad68f36f8eb3bf1f201553958224319c8dfb6 GIT binary patch literal 430 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZANS%G|oWRD45dJguM!v-tY$DUh!@P+6=(yLU`q0KcVYP7-hXC4kjGx) z>Fdh=goA@m(J)zR#Yv!0u&0Y-h{y5dAO1=S5?2jYB?@FzM9-brDZ1qQ-$Sb&Hrg=r zCH(KTlA0HB@>DYGrHA)7X8rj4gpu#Vqx%7!?2}A;-0nQ+fYI%Nyv!>Y8J^}oIu~We zWd$@|wZt`|BqgyV)hf9t6-Y4{85kMp8dv~Ph@pvCy&nOiTJTUc4xd$I_#u!2j2$>9`c<;@`qr*B+2apcSqnIr6{8$1?x=`p+# W7cBYYWI7dS1%s!npUXO@geCy{`iq+Y literal 0 HcmV?d00001 diff --git a/docs/_static/img/icons/android-chrome-512x512.png b/docs/_static/img/icons/android-chrome-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..20f3f265f01a4db0ebe1e2e8e043de6989accae0 GIT binary patch literal 3084 zcmc(h3pkYd9>@P?EJGoNMA8&m3cZ67lWgNY5)(=yjPcHx%+1U@ZnZUKrQ~sI8!91c zPo-Rr8apQ)txJ)i#KxB0C^nUD=&}{gJ32YL``G84=jnMm@BHU^FTcq-Xvam7roBg15Bl7E9%iZ4S`Rn2mtL~zTbP zJ$stY(WLN|lKMnFq3h7Mww`cdYIt9f>@w?aMcSQ1kMHfcD0bfc?s-Jc+zpR3-5XrK zF)xMXE;(aozJJfDw#}fQ&BKs$w^!m?x?VkgqF1%kJEj>8e`%*dkx2x=v;U zy%Fvif876UUcJ4wPWGGRhQUoQom)f+#iGKC zV5*|Xd){bxJE2Y1(?XZyrFImff!t@eo|m=WJx%YBxp{OhuHF+_H)_nY7M3?J2gj4+ zyB76djCgbR8fFFI)M`bR)~%$%<=Q7}`|{dDtNc47S(K`sR%`b~g$>Nrz%}`mersi1 zqq`(ad#yoHjk)VuNwB<;>c7+}JM+c0%Z^3F+i{`JV|w>F7~G-E*R7OOm`%PJ@2dw} zj-M%|ZmcA&OcPtA?;Zbvflde7DxNq=pUO8ma|qRu8f#t_=C|Y3&Rx=zNZhl zrybYaYVdf4x%y(^3HR(By#wCP+uYxt?>;}oY!72!5ankvN+0lk-u_TbTi|5nWlSEe z8Ys&o=f(vwkC4aCKde!_ElJog5xgtacx!jk!7YzRC|Wn863R=&g~QQm(S^7suI^g5 zvFQ270`Gb9hzHVoC|3l5hDUF(b+HW&`@}a>e_kk$yf?pl*Zzf5nc)Rx+YH!|NghDB=+7_>}1p4DKKn(thXDpcme>` zU#K3G;H2A6dRAsxYy`~%L6wmK>Zu<6SLryWp1wxL7g4>~`R$rH3#5|0ixe0F!$*MA z*O+p9J?>}lT~}*Mh2PtMzUz2>uK$GaS>+i$^yT{h9un``Ow+2kvCML3R+y|4|H?Vb zw5oA+a^kpZQX_Y=z+PqSi~gm>Lv1cbYp_qx{bm(8RB42VB0=8k(G3;v)dY68>J;#N zl_ZmOw!(S9zvcXc7f=d-vcOuRiX<8XnpHuD2GGX?%VmJ(2TBS)gP}KmT(U^U`N=C= zvK?Q1)d(v%S}!7{sP^3vu8G4)JFyAYJHHB;_=mtv_Wp3OXmyI(CpW>R2p*S|{#aPU z9hZE~tnc_+n??314X#%^v8E$A0i$WE%7A(N(d(I!Xj!9LyLJ?nTh(uM3aA`& zx%+FRvWVKDs*;281+N`Uy>!48-OpLIKX+!eauTFAt&S;b=2R&sktK9fZu-bk^S0q7 z0#OU?VvXd6_(r7KS=LW6iAFJJM#`0Ehe#^yc|~fyi92?~!A!WzHd@j=H>0FXVsq@MuEkURlWB`Ur9{%32_v zn~@kg0+Sg+7(D?y$PTiBoX{0abRd%)$&mdD$c_v_3W(nJ2LYEK!)7M`wcrx>r$kg> ztc;-iWFWh-5fKd*2GO|!4h)>E3CgAS#Pv&*(w(8)`5eA5NI+-6fT(j6Lq&~CW{e)_ z7K7Q`58EU|PUs>)tH>k=vOP)bQdJBJ<7Z$`G-v>mDS{C|T;| zUq=$r>&V1gRJwc?DJ_gA8L-MVLkPVUUy~MPnzy9AH1t z)4l~|7b;mcgF$BS1<67-D;5DXaWsd`Ab9Y(bT&_xOAJG?r5~{vSi}&r1=I1STNy28 za}XOgk01*4cJpIV@F+b!H%g~mI#0}`GZ3*57EX8GuPEml3TS_HhrSo+W|Y#fD5^VZ z37PdP8V$$*AgS>F=v-X!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZEE?e4A_Z?78iIXH;4Jj}i8s3Gd~ylUIU)j1E1qP^ZI z2E6bHQIYEV5SMZ|=^t~=-IODVnv5I*3JwkTxVKJC3h7r-VO974FRAr+f?kJ|P*j!Q zVK=96<}WH+{N_BH+Y&P8lIl!F#qZmm$t@{9x#ES#i>wAaM#-3OwE}w5AX9Rj)f1U^ z>;3hb+yHcsYKdz^NlIc#s#S7PDv)9@GB7gGHLw7p5JM9yV`D25OKk%qD+7Z^(+n$6 zH00)|WTsW()-d^W=MkWW@T!oAlAy$Lg@U5|w9K4Tg_6pGRE5lfl4J&kiaC!z@o*G| zX=t4CKYhmYX%GXmGPhnbx3IFX_hb=fVFi~4lfx;@%9}$JPT#n4;>ejJGDp}?H+U@Y a(qnifE?Dx($#g2v3ISkfJR9T^xl_H+M9WCijSl0AZa z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=YDR+ueoXe|!I#{Xiaj ziKnkC`x6chK1IW1sTC)ILcN|Yjv*QM-d^3$>)^o9`Z3$(j6%^;*_a(`%(IS=G(_SKy46kKsZ6tYHL|YgJ!?*#uZ@<>Af+W0%8xk&vY&A zWmJc1ICAEQ%n|m}4IT@; Z^cY@=3zmFxGMx(YmZz(q%Q~loCII5MpF98n literal 0 HcmV?d00001 diff --git a/docs/_static/img/icons/android-icon-144x144.png b/docs/_static/img/icons/android-icon-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..f0e42e097b0df08f4918bbcbd836d3641cbfc3f7 GIT binary patch literal 1178 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=SkfJR9T^xl_H+M9WCijWi-X*q z7}lMWc?skwBzpw;GB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpu~Xy zpAc6dJ#@kU|NpsLIhlYSuqz4j3ua(sWoP3}>h0>OkeArb#<1l#;W;JTFcW;YkIUR zG;t_(EbwO8YQ0@+?(TKAE3V7mS#4wE_D$iu{3{C|d7%CivkOe-t?=3H|82odo4T;h z__()@fl4vW_wLCy6>Xm`=px|A5^Jdu%h5cIPrr1V*DI})RmuEPX_-qV<#B&g0GjZm zXTSEVH}-EFZ$5wM{q)0IgW&A<&bsXj_PkAH0cj8C588Ldp6~m@n>PQZ7XEzA@vpCT z>SL45?2JIo3=Q=UdD7F}^=!nIR{*)HC9V-ADTyViR>?)FK#IZ0z{o(?zygRu42`Ue zO{@$}wG9lc3=CSIMY^MC$jwj5OsmAL;mhuazkwRuKsFTTr6zz9|8>t%ve12IswUVc&fowm0? z0~sVhCWd5`<|bKLx#TC8=BDPASXl)Cl@>D?F8{wH2AjWtqwOdBysOh|xDTO0+ODO*S_)O0!6`G&D0$F*Pzyv@l3bGE1{CPBqm7>d*ta VuWZv!V4`PW@O1TaS?83{1OSRDNB;l- literal 0 HcmV?d00001 diff --git a/docs/_static/img/icons/android-icon-192x192.png b/docs/_static/img/icons/android-icon-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..8602b305ebb1c1543d780d73ac48411fed38dda2 GIT binary patch literal 424 zcmeAS@N?(olHy`uVBq!ia0vp^2SAvE8Azrw%`pX1r2#%6u0Wdppfa*H0%)sRNswPK zgOIjx!s}OWGBS%&e|-O$CuJ|gE)aVD+=ZB|Vtv<@t9_%yUXi&$?|+cYt;LyPP#QT~u(x&3BvL@C!1QKH5>; z!=X_(R}7{}KtVx&LFm$z{(_7k4FO9&tDgNTCivj0LiHU{xT1gphmX&{{QY?5Q|k3?#4J%UA`ZSkfJR9T^xl_H+M9WCijWi-X*q z7}lMWc?skwBzpw;GB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkphRha zPlzj!rZf2e|9|E4XfL3xswF{w!3<2Pb7s!=W?oU7v1tB6KgRe;6WsGwEngWF+1cLV zRJ>{Z#xPcv$lg!vKn;vZ-tI1HQ5-Y20y&%o9+AZi417mGm~pB$pEOV~-P6S}#NzbZ zi`)4c6hvARHzc~h*}L%l|E_hD<{WiN`8fN0!RL6VI{n4d-ZHE!mpA<1(sW!|%FS@X zl2d^)#y30DmDpVtt_+U6>Tr40`Q!;F1NOXTPncs;I%~SBP(MQD??Ll0|P4qgVtw}?kE~^ z^HVa@DsgN0visq0pa!=Rpbf?OX(i=}MX3y)xrynizKQ9X$=M2Kdggi-x|Rw?28JfO z2Bx}(Mhbz3W(pZ4B?VUc`sL;2dYK^AKnzr^mtT~Ar|m7!Kn4kri6I%Kxk*-5F8Rr& zxv6<2R#pK(rNs<}%m44zM^gi~)5zbVWQ%^cqlpehDKQ%f@oO9KN_)78$si9jX% zNah4*R;4l+I5|yOWcLOr6^0}g8sy24mYI_Z^uB&>UP(@Vx_(+>S!Qy6Ua>wRV)TuT z5-rS3lg$l{(kv1!4b99`OpS~aEeukV%+f53Q%&`NI`n|!lvI6;x#X;^) z4C~IxyaaL-l0AZa85pY67#JE_7#My5g&JNkFq8sKd6mGxU^Rn*LA+qju0R{0#G(M7 z5LX~Qn8E-5{}-%h)&M%uq$J2Mn1LyI=CmmW%qxBeEpIw`^pHI#A1@0lN7de4+ie(Q z`g^-{`Ni3LZeF|Oy6n&2AAwep5n(c0W_;BH>Ss*yc6Twox9w&&ki%Kv5n0T@z;^_M z8K-LVNdpD@JY5_^JdP(PNU$z$*wrwxb0#Z)LaOui1LqQ(_zQ{>GajggGOsi<`1Ik^ zL&iT$68pqN4zahmvRQ>?Fu5H4z*N?gAUb`*5#}XJE}HTjTB4||t=`YBp^?-wiKous z!bA`01xtFwS1eea9ugXSoY}zm0Xkxq!^40j0|)QEPyD)(8$Wz#LCcA+rYrez@YV6 zq&td+-29Zxv`X9>zU+SZ8>qnzWJ7U&T1k0gQ7VIHZen_>Z(@38a<+n*p1GcduBC#J zfuV`6fvK*ckwT!MnLb$_Lo@RfQzPR<3xm`ovos6iR8u{m4n3gz$~Nr;CPM}WPgg&e IbxsLQ02pZ&D*ylh literal 0 HcmV?d00001 diff --git a/docs/_static/img/icons/android-icon-72x72.png b/docs/_static/img/icons/android-icon-72x72.png new file mode 100644 index 0000000000000000000000000000000000000000..b785327062cb9deea19332f58cb8118eb5602fb4 GIT binary patch literal 1014 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAifOS+@4BLl<6e(pbstUx|vage(c z!@6@aFM%9|WRD45bDP46hOx7_4S6Fo+k-*%fF5l$aLa z6XFV_2OIeR|G(AN*A_r$8I%P11v4lG26^&k{QP}aJ^Qgn+UKt~)MT8Tt+|AC*%P0? zIIHp~UXX)1^wgOx3YvCPrnZRlXEyEx>Savwc6Twnd0Vy!$l)yTh%9Dc;5!1sj8nDw zq=AAHJY5_^A`ZX39Ld+@z|fq?A}Sgf5>O!i{qFDi=Y&mW+W8zx`6c_HKC9Wm#f4|f zAq^9;t=0xtdO7$0V`!TspFHE2gj6r*%@i)@&3jJtihgeWYTI@HRM$kk#Eh+KIoqry zvhMwk<$qha!b_t4)-SoE`Nt;(&QEwzqZpH4E>ZONFE5X6!i%3ud+g(1SBnU;|6zO( zxZwW0?Y`T9Zc{CBjVMV;EJ?LWE=mPb3`Pb<2D%0oKonwVWMyn(WoW8xU|?ln(E2RW z9YsTKeoAIqC2kF0c0c?L)ZhlPp*TOSq&%@GmBBMNF+J5cF+DRmTft1vT+c$+Qo+c; z&_vh3RM*f*A<)oFA)}n5b5eoc*U!x>$;nUGPfIMzOwP|M)<;B) zzOhlFg_&uxxuH>-MWUslnR$w-k#VAhL28m&nuT$ysUA>=9?*Sdn|1;dA_Ie`tDnm{ Hr-UW|1iKrH literal 0 HcmV?d00001 diff --git a/docs/_static/img/icons/android-icon-96x96.png b/docs/_static/img/icons/android-icon-96x96.png new file mode 100644 index 0000000000000000000000000000000000000000..c18b820a5a1d98be1ad2a78af57b33b06f6ed356 GIT binary patch literal 1094 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy#B(j9#r85lP9bN@+X1@ak-gWR1M z)}51i3FIgwdj$D1FjT2AFf_CnD7gcvC|4 z=REE`^<_qzr@6WSf&5KBFTJ@Z4>{qX`^41fbxslrN?nd? z&Dq{Cux;DD_s+wLrpER4Oq2Itl=$&i+bVvY`NrSO=Nqe}Dt=Z>>g?zcddcgkn*X=j z@U|h){i-Fd5hW>!C8<`)MX5lF!N|bKK-a(mh(ZjFtc*>p3{ABS46FsjbpDi|3Un&=vs z>KYm;1R9ztWR#Q?Sn2DRmzV2hf>Z-BP_w?G3KBtRyHWR&J6Sy{Q{Czs}? z=9O4k1pt*6GZ-%azgr(o4cJaAtBlml^o$Y)LrWumhN4!W8gV3ZplZT1Q%W*GN-nQa zL{j3LnVVWtS&+&Ac9niXUb_9JFh4YNd_#b$7z|A<%`7Yp3`|W|JNG66mGC2( z6P#I<%3$E+G-Z+98=zDel2mArCqr6hPAbs*`nh=}Ir-`OX^CZ-$@zK3`iO|pH#SPN zFf&ayH#ADKNVGIGGfy!!GETHGNKGbP0l+XkK Dh5|7E literal 0 HcmV?d00001 diff --git a/docs/_static/img/icons/apple-icon-114x114.png b/docs/_static/img/icons/apple-icon-114x114.png new file mode 100644 index 0000000000000000000000000000000000000000..a344299a34c450334e9212141f5d74f64cb50473 GIT binary patch literal 1082 zcmeAS@N?(olHy`uVBq!ia0vp^MIg+<3?z3jm-+)KmUKs7M+SzC{oH>NS%G}U;vjb? zhIQv;UIIA^$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD6u-g zC&U#<4+-%9|9_M2Nnt>@nwJFm1v3bRB_|o^-v0foQty6Ewf@6e)lFy5u!>9ZGO}~9 z$WL9pD)@n9MOUX26SIcc;au%=Z;EZ*T$O|^JS>4mFeZ7syI3q>UwRG5;VkfoEM{Qf zI|9OtQ?>b|fr2|cT^vI)?!CPp&ey~s;2J1m{f#f_{odFA%Abj;ePmU>v$^rN=}GD1 zj6k&wN4%Hb?P;04Rjv4^Q{dth->RqEJyd_COjS9_F=^{At(zOvX0I)CKfG0K_uhRS z`MyjHNvaYpO3v9uCi8qu)2=nC} zQ!>*kaclUp`{8e(1~-rm#rbI^<%vb944%1(>8ZYn>6yvd3TArddKS8t3PuKoCb|Zu zx`svyfre%Z86_nJR{Hwo<>h*rAk{z&RIQg^lzyk}Ezm#)36O~)8Kt>NR#q0YIh242H}9@770C1Gdx3DkC*BJ)?xd(9(#Xp{Nz8MjXi;sG9K1l#&dPlFMrp zIecG218RzGYd-t15?x0&b^61CHzR{ z1ZP&IG8i~HO<8331}GJVBo!Lu$&i+rlM3{{er{e#PJX(6T4Gsda(-U1J|bfDjg1m5 z%uJKb4UN()5-knQ%u`H_j1w&kQj^TmER0i4^?*9`fbJ{Xv=f+M85lfW{an^LB{Ts5 Dx*;rJ literal 0 HcmV?d00001 diff --git a/docs/_static/img/icons/apple-icon-120x120.png b/docs/_static/img/icons/apple-icon-120x120.png new file mode 100644 index 0000000000000000000000000000000000000000..379fd18aa6ba17736294fea38e7624634d01633c GIT binary patch literal 1034 zcmeAS@N?(olHy`uVBq!ia0vp^6(G#P3?%t>9eV(zSkfJR9T^xl_H+M9WCijWi-X*q z7}lMWc?skwBzpw;GB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkphSCs zPlzj!9&qsg|NrlIc#VPX&@Kt`3ua*E6J(d0yJy!9f6ZID*Z<_){HJ_7hD||TO@N7q zf49=M8&{(>=Iq?Q_1cw&hIT8UHpV1xcNd*qcMDeoIh+L^k;TB!Is(FsQ?>b|fr2|c zT^vI)?!CPk&UeT_!1dw;H>U#vT`y+{{rdNv-CM%DS!QCjS;2mtpEmlx(Pu~W!-V|?{GUTUf0|)%&9rL2OC7#SED=o(l6QHY_Dm9dGHp{cfkft7(l>$6CA6b-rgDVb@NxHWv){qQ$X zgB!?(;{3Fd^2DN42G88Y^i#`0HD%h2E*n5 zck8360o!S1m64j6o>9VJXlcaHP}B-kBaUPaR84qhN=XJt$>lYQ96%+KNJ@M&b5lzy z3sM=tuF@~aOSj(?=7(mEZwOEogQ2OVnT4f+fvM?g=iWr15`H9ef-|d984R49rYy31 z1C$Cwk_rv-WJt@*Ndh0>OkeArb#<1l#;W;JTFcW;YkIUR zG;t_(EbwO8YQ0@+?(TKAE3V7mS#4wE_D$iu{3{C|d7%CivkOe-t?=3H|82odo4T;h z__()@fl4vW_wLCy6>Xm`=px|A5^Jdu%h5cIPrr1V*DI})RmuEPX_-qV<#B&g0GjZm zXTSEVH}-EFZ$5wM{q)0IgW&A<&bsXj_PkAH0cj8C588Ldp6~m@n>PQZ7XEzA@vpCT z>SL45?2JIo3=Q=UdD7F}^=!nIR{*)HC9V-ADTyViR>?)FK#IZ0z{o(?zygRu42`Ue zO{@$}wG9lc3=CSIMY^MC$jwj5OsmAL;mhuazkwRuKsFTTr6zz9|8>t%ve12IswUVc&fowm0? z0~sVhCWd5`<|bKLx#TC8=BDPASXl)Cl@>D?F8{wH2AjWtqwOdBysOh|xDTO0+ODO*S_)O0!6`G&D0$F*Pzyv@l3bGE1{CPBqm7>d*ta VuWZv!V4`PW@O1TaS?83{1OSRDNB;l- literal 0 HcmV?d00001 diff --git a/docs/_static/img/icons/apple-icon-152x152.png b/docs/_static/img/icons/apple-icon-152x152.png new file mode 100644 index 0000000000000000000000000000000000000000..5fc578463c70edfeecef17063e6e96711a924465 GIT binary patch literal 1170 zcmeAS@N?(olHy`uVBq!ia0vp^GeDSw8A$5OTo49QEa{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyaaL-l0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6Xz3CSEXSSD+10;&6aZ zh%1mD(%}F9{|@JRjevfzFA4GsW?*7rW;Cg&s`g~d`u^wdG@hJaGg4o@|Io)R=jx`V z8X6w@r9^)WRuj=6B;&l>PNz$I?{R+`4tobDQ+;??Ani1Kz&n50d4X)$4KNzL(XRtNm-2 z6je;wtKAROUT@ifi?`S9$9m{?rf(3rXFkbp@DAf}cJ5q;>tP z?+bCq%Ifm@uOEKY6fw(5eeb2;1+rBwXU&G^)5|tp4~Y2s?cc=LpI=)Gg-uzU^Un|D zbe|jgKM$=oez$Jf9UxDJNMC9x#cD!C{XNHG{07#ZjqSO8Iop^=rbiIt(Lwt<0_ zfkErDNOu$sx%nxXX_dG&eA)f*H&BBc$cEzlw370~qErUY+{E-$-^BFHnwg$a!eD4=#LrOF3REMGWDZnK zcxFmT21v=}HHsWSC6Y)=d^2-XODYRe8Nja6FUU)`-xTJDW{z(NP!)rrsim2PrGbH| z>1yZRM4%FWBy)l@t5O*ZoSddCvU>xR3PX|#4f142%gjjydS5>`uOufwT|X_cEHgPj zuUH=uG5W?vi56z2$>xSeX%>l=hGym|rbfnz76z$FW@#42sit~B9eP0bm2KJyOy~>@ Mp00i_>zopr0CG80)&Kwi literal 0 HcmV?d00001 diff --git a/docs/_static/img/icons/apple-icon-180x180.png b/docs/_static/img/icons/apple-icon-180x180.png new file mode 100644 index 0000000000000000000000000000000000000000..3ddf1142f0bc737a9cc65e22de92525ec3c7ae53 GIT binary patch literal 1219 zcmeAS@N?(olHy`uVBq!ia0vp^TR@nD8Ax&oe*=;XEa{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyaaL-l0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP~vug zPlzj!9+u$$|Npkm59EP zuBR`_#?2VCa@CsH${)YFs(!OtJF}|?>gL?N|A4oqx3(|w_=%HwCZ@6hTk0!-MlvRO zySsRNV7l@O$l)yTh%9Dc;5!1sj8nDwq=5<;JzX3_DsH{Ko$lupDAF2OVYY_Dp$ zrEmA7KhK}oY;n>vE+U)d{`u)N~SInUoF0O%brcMa&l{vjm2W`-@4~{T`%b(&?JXl=koTQ zi`%escm0I7A6E3ZPCu@`{N=f};sz1js4ZY4{CeKa-G0e6zVdH(oblbKp*p*+>3{y( zY%dPft`J>Vd)c@AcE79nyLa-NY|Z8;U3^;nZ;E+^ryn=h{ad3G@ROUI|b zkBx6%FaOf9>F?xs-_HxGg8dR;_}?Yt%d6#H;Tk}`YKdz^NlIc#s#S7PDv)9@GB7gG zHLw7p5JMv?V-qVwQ*8qSD+7bpXOZqG8glbfGSez?YxuJJ;cuV@H;@g*`DrEPiAAXl zp1FzXslJKnnaSA-W_sp&7P^)SMh1o^x(24YhDHj3hGq&GB_#z``ugSN<$9SQ)j$kX zt(RYvey8m%$O{r66GJjebCayBT=J7kb5rw5tgHfnN{bl`m;c|bkERA}r*C=uTl}I8f@y*OlEvYO>WdOTMzaTH&ep8qq znmN89KvfKerj}+FmIel~G{}=7Ei)$- z=zaa%ypo*!bp5o%vdrZCykdPs#ONCvC0dx7CYu`?rCB6e8k(7>m>L-;S{S4znWb46 dr<&>kb?5=zSGH*HfKM<`rx*>(l|7#F*sm?qYA3Y)}g1 za29w(7BevL9RXp+soH$fK*8CbE{-7{$KPHG=W7ZOX-QnCbS;~4H&fX`wy+KF>Lc?W zs4PCx@wDcB{j*e&R>N;H6Fr==yp&IssLgi%#OgWa=p|n5@I}+Ao=m!9vTCc@UVeUjKYQ=ZcN6|9 zDxB*7`?gzNUd})LNzvENOPAyx9R17i&HEk8*OvOt6B9N8ovB*l8c~vxSdwa$T$Bo= z7>o>z40H`FfGEV!$jaEn%FtBXz`)ADp!Hd#JBo(f{FKbJO57U0?0)zgsKE_nLvemu zNqJ&XDuZWkVtT4?VtQtBwt|_Sxt@itrGk-xp^2`6sji`sLZG3ULPkkRft9{~d3m{B zCP+0916Awg7p326dkZv>K>}oANJeRHl9iQ9esXDUYF>$zRRBU0q~!7%MGl}6NhBq{nYpPYl?AB`U{~oE z zc`~GB=A;6>ub-P&l9QjVpO#pbnVg?jtdEEoePg3U3p3MXb3>yvi$qI9GxHQvBjZF1 jgVZFmGz;TYQ$3&#J)rx_HthtaNd^W_S3j3^P65jgR3=A9lx&I`x0{M)^LGDfr z>(0r%1acITJ%W507^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MS0KpLIRQQ) zu0VQlg8%>j|1i!v19Y5GNswPKgGo+Sc8YZMd;1!Pyk}3IUbPfbQ&r~Vm6Bvnzjo!g zsZDK(ymeJ&pL>5Lx`OyB{jsC#Sa}3n*uN_N7n3&ZdnQ5B>YHd*|KgJCA=dJ$~oA(EiS9fu<+y zdH1XPv%_6J03D}V;u=wsl30>zm0Xkxq!^40j0|)QEPyD)(8$Wz#LCcA+rYrez@YV6 zq&td+-29Zxv`X9>zU+SZ8>qnzWJ7U&T1k0gQ7VIHZen_>Z(@38a<+n*p1GcduBC#J zfuV`6fvK*ckwT!MnLb$_Lo@RfQzPR<3xm`ovos6iR8u{m4n3gz$~Nr;rbGq?Pgg&e IbxsLQ06L5z!~g&Q literal 0 HcmV?d00001 diff --git a/docs/_static/img/icons/apple-icon-72x72.png b/docs/_static/img/icons/apple-icon-72x72.png new file mode 100644 index 0000000000000000000000000000000000000000..b785327062cb9deea19332f58cb8118eb5602fb4 GIT binary patch literal 1014 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAifOS+@4BLl<6e(pbstUx|vage(c z!@6@aFM%9|WRD45bDP46hOx7_4S6Fo+k-*%fF5l$aLa z6XFV_2OIeR|G(AN*A_r$8I%P11v4lG26^&k{QP}aJ^Qgn+UKt~)MT8Tt+|AC*%P0? zIIHp~UXX)1^wgOx3YvCPrnZRlXEyEx>Savwc6Twnd0Vy!$l)yTh%9Dc;5!1sj8nDw zq=AAHJY5_^A`ZX39Ld+@z|fq?A}Sgf5>O!i{qFDi=Y&mW+W8zx`6c_HKC9Wm#f4|f zAq^9;t=0xtdO7$0V`!TspFHE2gj6r*%@i)@&3jJtihgeWYTI@HRM$kk#Eh+KIoqry zvhMwk<$qha!b_t4)-SoE`Nt;(&QEwzqZpH4E>ZONFE5X6!i%3ud+g(1SBnU;|6zO( zxZwW0?Y`T9Zc{CBjVMV;EJ?LWE=mPb3`Pb<2D%0oKonwVWMyn(WoW8xU|?ln(E2RW z9YsTKeoAIqC2kF0c0c?L)ZhlPp*TOSq&%@GmBBMNF+J5cF+DRmTft1vT+c$+Qo+c; z&_vh3RM*f*A<)oFA)}n5b5eoc*U!x>$;nUGPfIMzOwP|M)<;B) zzOhlFg_&uxxuH>-MWUslnR$w-k#VAhL28m&nuT$ysUA>=9?*Sdn|1;dA_Ie`tDnm{ Hr-UW|1iKrH literal 0 HcmV?d00001 diff --git a/docs/_static/img/icons/apple-icon-76x76.png b/docs/_static/img/icons/apple-icon-76x76.png new file mode 100644 index 0000000000000000000000000000000000000000..90806705c344b5e70e3c94e22ee33b80763b2d71 GIT binary patch literal 1055 zcmeAS@N?(olHy`uVBq!ia0vp^J|N7&3?x5zE|dgPEa{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyaaL-l0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP+~=Z zPlzj!9{k|{|NlCPc~gK6H7g173ua(4^!DY|5x=VQwZo z@8jE-A%$y~+o-GYJ$-a9fVFo2o}Eq{ygdHy(V!4wO!9VjF*n$;!yU-sEbxddW?X?_wfUrhf(t!e977@wzrEtlcgTRj<>CyX%R&Y$KK!N&%Xj?0Xwj(Kdq(NRXTA^N zi#eH;lzxRT3R&l{YN4fC_E)wgH;s-j`q7+OF7Z3nr?i@LiTws1U+xKIGfgL2+sgDR zPF`uLmi}2}Q^c&~qqV&LNm*O_6lbqZ&CojJ@z5w+sod&Jk;}CAXAEb);h*sMq>T2v z>o>z z40H`FfGEV!$jaEn%FtBXz`)ADp!HcK$jb-~x%nxXX_dG&eA)f*H&BBc$cEzlw370~ zqErUY+{E-$-^BFH znwg$a!eD4=#LrOF3REMGWDZnKcxFmT21v=}HHsWSC6Y)=d^2-XODYRe8Nja6FUU)` z-xTJDW{z(NP!)rrsim2PrGbH|>1yX*P%!f&nG>8@mC9h?!lvI6;x#X;^) z4C~IxyaaL-l0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP@*Eh zC&U#<(;xi*|6jB$Zx+yEwUQveUYbzS}y%0Lchfk$L90|Va?5N4dJ%_j{M+~euu7*cWT z?XBy)Oo2SEjz&6`?W)KBc`xDgzScaG@7(;-r*5F|1cL|ZCef9*1R3Y%>3i1;2nN)C z;$h_wP;h8qU}R$9(6CN0nU^y2oD$QsZky8`U>*N1XU$C)72I(1-KIDEf{dk)c2xIp zXw=OWgJ}{_P|#lxx^$(#AR|aaz>?3ZXTORGKDeq-eMc0oD4@XMme)hNjvE z237_Jtn4Q?PCiu2P-$`gxH89Z|n(^GvD(=(H^70mR^ z^(=HP6^slFO>_-Rbq$Ra0u9X+GD=Dctn~HE%ggmLL8^fms9G<-DE&^`TaYItKqiJ{ zl;$Q`S-IpVm*%GCl~`E?0F@Rq7%u<6TOUmg*iI{}jMU8Zj1mSD0|PVmEN-A0aU^q~ zYQi&9N-{u7Uahul11gb3QsSGLn_5y?kjemdm3~29y8WgwKQwcELx8Fn3{5S~EG!KS zOifoi_a*|B@FSTMoLQC1VBq95Ws%(*pp*lWRA`VVLt17|D$x7-CAkIqX^CZ-$@zK3 z`o>0y7G|c&=7vUT7KxUIX67lTM#hO22B}GAX%@z*ruEIw3V~)Zc)I$ztaD0e0stm- B5Iq0@ literal 0 HcmV?d00001 diff --git a/docs/_static/img/icons/apple-icon.png b/docs/_static/img/icons/apple-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f077f80f7ac9c0d1f8493644c49420b1377a0800 GIT binary patch literal 996 zcmeAS@N?(olHy`uVBq!ia0vp^2SAvE8Azrw%`pX1Ea{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyaaL-l0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP@*Eh zC&U#<(;xi*|6jB$Zx+yEwUQveUYbzS}y%0Lchfk$L90|Va?5N4dJ%_j{M+~euu7*cWT z?XBy)Oo2SEjz&6`?W)KBc`xDgzScaG@7(;-r*5F|1cL|ZCef9*1R3Y%>3i1;2nN)C z;$h_wP;h8qU}R$9(6CN0nU^y2oD$QsZky8`U>*N1XU$C)72I(1-KIDEf{dk)c2xIp zXw=OWgJ}{_P|#lxx^$(#AR|aaz>?3ZXTORGKDeq-eMc0oD4@XMme)hNjvE z237_Jtn4Q?PCiu2P-$`gxH89Z|n(^GvD(=(H^70mR^ z^(=HP6^slFO>_-Rbq$Ra0u9X+GD=Dctn~HE%ggmLL8^fms9G<-DE&^`TaYItKqiJ{ zl;$Q`S-IpVm*%GCl~`E?0F@Rq7%u<6TOUmg*iI{}jMU8Zj1mSD0|PVmEN-A0aU^q~ zYQi&9N-{u7Uahul11gb3QsSGLn_5y?kjemdm3~29y8WgwKQwcELx8Fn3{5S~EG!KS zOifoi_a*|B@FSTMoLQC1VBq95Ws%(*pp*lWRA`VVLt17|D$x7-CAkIqX^CZ-$@zK3 z`o>0y7G|c&=7vUT7KxUIX67lTM#hO22B}GAX%@z*ruEIw3V~)Zc)I$ztaD0e0stm- B5Iq0@ literal 0 HcmV?d00001 diff --git a/docs/_static/img/icons/apple-touch-icon.png b/docs/_static/img/icons/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..961fde49f144b15978861ff6ca0dbbd33d511b46 GIT binary patch literal 777 zcmeAS@N?(olHy`uVBq!ia0vp^TR@nD1xQXma&9M(Vo7)Ob!1@J*w6hZkrl{SNcITw zWnidMV_;}#VPN`{!G!Ss~8vzm0Xkx zq!^40j0|)QEPyD)(8S8v*viCQ+rY@mz+lr#FI5x`x%nxXX_dG&9RBiYCQw6oRY*ih zP-3}4K~a8MW=^U?No7H*LS{ipG6O@!oX4MdI10lwG*0=SKI8c`h=Ey|TQ8YgSXtP6 zvIw)Vf=h$R;S^@&%^?b>Z(KQXEI!WC!)l?tu!u?Uc<$sodFlfVYD-T={m-n{<`bo9KHKHUXu_VXPASgue|l%JNF zld4csS&*ubSx}P9z)&&g@h2XR!Y~buQ~syVcs>ncU{>bVOXe0<7WSSj!Yr)d(qM8p wg;{xXh{EX`S56!`b42C{`{@Rc1zvg#ufzpQJ~^3A1zN%2>FVdQ&MBb@0L{<8%m4rY literal 0 HcmV?d00001 diff --git a/docs/_static/img/icons/favicon-32x32.png b/docs/_static/img/icons/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..fdc9834b375512c5046527c34db763cc0ded1665 GIT binary patch literal 687 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE0wix1Z>k4UEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10f+@+{-G$+Qd;gjJKpuOE zr>`sf6AlhOMZ;vN6(<=O7(+Z=978;gpPjnbi`h}6^}OG;2ma}a>4~#C+*~+*@NDGU z$g|`k`v+E?T85))`HC(FkHsBr;Lb`^I2yLn#dGoR$Rnxl5hqfv9Wp*U_fgC{%l4Vt zoQl^hmYrwUlMpU+5>@ovNc#l^(Xqr>*m%oCb!ZIQ*~>|MxT!zA1`%n+`yvU>S5j| zBo%cw`$2oX=wpXkb^e~Rt&?ImJDf9Y3HI-FUH2(Id67%!VV3#(?dAm}>-wDXm9_HZ zSS#S_u%wqs?wFhSx%fo6s-(H@?~i`+itSKS*8e3v_hg>QmWp{Z?G`xCc$Xgdc#2}D zu&LrQ@3{<~_rHH@2%R7NN)8z0swJ)wB`Jv|saDBFsX&Us$iT=z*T4dZLJUo;jE${K zEVT`ctPBhuO*5=O(U6;;l9^VCTf^kjokxHg!mC0eN`ey06$*;-(=u~X6-p`#QWY`_ zN|G5ED&{=?#KTb-rlE1l|MVHpr$G$N%G`R%+``Jj-jhX`g%w;HOb(|oD{l@_IDO;F ni6du@$Q)rm-QcmnOON4|xM0aAC)24wD;PXo{an^LB{Ts5j(Gen literal 0 HcmV?d00001 diff --git a/docs/_static/img/icons/favicon-96x96.png b/docs/_static/img/icons/favicon-96x96.png new file mode 100644 index 0000000000000000000000000000000000000000..c18b820a5a1d98be1ad2a78af57b33b06f6ed356 GIT binary patch literal 1094 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy#B(j9#r85lP9bN@+X1@ak-gWR1M z)}51i3FIgwdj$D1FjT2AFf_CnD7gcvC|4 z=REE`^<_qzr@6WSf&5KBFTJ@Z4>{qX`^41fbxslrN?nd? z&Dq{Cux;DD_s+wLrpER4Oq2Itl=$&i+bVvY`NrSO=Nqe}Dt=Z>>g?zcddcgkn*X=j z@U|h){i-Fd5hW>!C8<`)MX5lF!N|bKK-a(mh(ZjFtc*>p3{ABS46FsjbpDi|3Un&=vs z>KYm;1R9ztWR#Q?Sn2DRmzV2hf>Z-BP_w?G3KBtRyHWR&J6Sy{Q{Czs}? z=9O4k1pt*6GZ-%azgr(o4cJaAtBlml^o$Y)LrWumhN4!W8gV3ZplZT1Q%W*GN-nQa zL{j3LnVVWtS&+&Ac9niXUb_9JFh4YNd_#b$7z|A<%`7Yp3`|W|JNG66mGC2( z6P#I<%3$E+G-Z+98=zDel2mArCqr6hPAbs*`nh=}Ir-`OX^CZ-$@zK3`iO|pH#SPN zFf&ayH#ADKNVGIGGfy!!GETHGNKGbP0l+XkK Dh5|7E literal 0 HcmV?d00001 diff --git a/docs/_static/img/icons/favicon.ico b/docs/_static/img/icons/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..80e85eaa26b0c09a5ac1d13beb9dcf6c9c328082 GIT binary patch literal 15086 zcmeI3TSzTs6vxNQ*{Kxz=u2r)c#r}^iH-`U4`t;+fZevps9hnwXC$v)Y9;_`v13Xo$)efANQQudtxv6`Q2vrTHl(P@0zf)(XM9B>!M;1uOOz*axI{z$dCUt7N~1p-+ND@T*mf zR@u3OJjbPvRdrU&a%}zHYDTN<<#@BHDqqPC4-ZRyeZ4d`Hk!`d+}ss=E>&<|J-Sq< zDHazO3ma* z_sn?z*?tfBJz!}Mw70iQK|z6V9y6P}OrKB`J5xk^ zR5Ha?bEPc$<-!A%%&PojXBmETFohpoes%fT<#)zuMT6JCd7Ktvx%33rk}*yV!02a$ z_xdm3Gmro@&ne2BtKJ1>jFZdIlLrvdb}Gm}0Dl0pgfSj@)Q*%fLNjJ5R_R$np4Wn7 zqPNDwPodkJ@ll-f_JBqh+fh_hWZ1q;X=$m<&R*NiYyHlc65bj{VYAt!x3^c*N4)~q z<^ux*B{(?PV}gQ$BrGgU`uh6xRBGCmmX?Hj{GFYhhS1&JE$i#+8Xf+E?|NWnW=0ws z8Vrl8YHn_p)m2Vu?uoabKX2T0Q}sWF7w+FDs$Ty)R*{-eC^fwi?Y85$ZA zyWQ?F{2k7xo141fl$t)bw6sV_NQi`nh8jY6c)0ZU_iJ?M6&}a)_b7WNv^6U$OR}@G zJ%+!NlanJ;Q&W0f*0gbdnfu#DqEVnN{H-mTS~`X{_Z?%rXlEi-=BPXq z*lh!aU>Ue8eCaC%As`>z=6|=g&whjVt8+|rH*SFA=b1Q=Iye0%CnqH>ElrY=l5Qk1 zF;UXf(`8}dd^zO&JCU*fd3kxxF`eW3O%xUuio-#*#>&>#mW+&y2`q@<)o^7HeZ@tcg{ zybRmQ%F1MAW#x);zFYI!$H&J@LPEl|uq`z;Rp#fNx18%Yoc9l7N9fm`ogH0xjOzY# zjXSR2den3YC**?Ltda4VD*|^wE|>$(z97{TK0H4HKDRbI*NQc(hOUu8Kjk?*_dg(+ BCI$ci literal 0 HcmV?d00001 diff --git a/docs/_static/img/icons/logo-dark.svg b/docs/_static/img/icons/logo-dark.svg new file mode 100644 index 00000000..e1472bd6 --- /dev/null +++ b/docs/_static/img/icons/logo-dark.svg @@ -0,0 +1,21 @@ + + diff --git a/docs/_static/img/icons/logo.png b/docs/_static/img/icons/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3b5efaabe820cda5da45cebf3094d1723da8c8af GIT binary patch literal 1021 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKL9Be?5hW%z|fD~teM`SSr1K$x4W}K?cC(XdX zyx!BrF{I+w+v|o|M+`(P_h6hm$Q;Cz;z_g2V*}gZ-OKWF8h%r8RrJM7BVkQ%{18hfMTGPsKpeGNrFnwBK zdh+;3CevKcyyK^3fu6J%*e|dm+x+0pqbv*@91KiM4Gjzm3Lr#9-ht2(VV_*JhD&af z?(!6$WeHwQJCEiuX}muU@#u4)M|)NBJEcV`lgAJ7{Q@2mPyAStZ-O*=y85}Sb4q9e0Q?b>AOHXW literal 0 HcmV?d00001 diff --git a/docs/_static/img/icons/logo.svg b/docs/_static/img/icons/logo.svg new file mode 100644 index 00000000..72787d72 --- /dev/null +++ b/docs/_static/img/icons/logo.svg @@ -0,0 +1,23 @@ + + diff --git a/docs/_static/img/icons/ms-icon-144x144.png b/docs/_static/img/icons/ms-icon-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..f0e42e097b0df08f4918bbcbd836d3641cbfc3f7 GIT binary patch literal 1178 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=SkfJR9T^xl_H+M9WCijWi-X*q z7}lMWc?skwBzpw;GB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpu~Xy zpAc6dJ#@kU|NpsLIhlYSuqz4j3ua(sWoP3}>h0>OkeArb#<1l#;W;JTFcW;YkIUR zG;t_(EbwO8YQ0@+?(TKAE3V7mS#4wE_D$iu{3{C|d7%CivkOe-t?=3H|82odo4T;h z__()@fl4vW_wLCy6>Xm`=px|A5^Jdu%h5cIPrr1V*DI})RmuEPX_-qV<#B&g0GjZm zXTSEVH}-EFZ$5wM{q)0IgW&A<&bsXj_PkAH0cj8C588Ldp6~m@n>PQZ7XEzA@vpCT z>SL45?2JIo3=Q=UdD7F}^=!nIR{*)HC9V-ADTyViR>?)FK#IZ0z{o(?zygRu42`Ue zO{@$}wG9lc3=CSIMY^MC$jwj5OsmAL;mhuazkwRuKsFTTr6zz9|8>t%ve12IswUVc&fowm0? z0~sVhCWd5`<|bKLx#TC8=BDPASXl)Cl@>D?F8{wH2AjWtqwOdBysOh|xDTO0+ODO*S_)O0!6`G&D0$F*Pzyv@l3bGE1{CPBqm7>d*ta VuWZv!V4`PW@O1TaS?83{1OSRDNB;l- literal 0 HcmV?d00001 diff --git a/docs/_static/img/icons/ms-icon-150x150.png b/docs/_static/img/icons/ms-icon-150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..14d26d4632679bf4130564a91d0b2e976821b3d6 GIT binary patch literal 1197 zcmeAS@N?(olHy`uVBq!ia0vp^(?FPm8Ax*9Z@d7cSkfJR9T^xl_H+M9WCijWi-X*q z7}lMWc?skwBzpw;GB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpv0vB zpAc6dJ)FS*|NpND)SLi%$)zO7FPMQ@T2n)jU1;L%8yiJeUo=>C;U8B>Lv4M!I13vq zqgha(Gr#cscW)2rURvqP!=&!wODA;{oU0zR(gH`WjJJ3AFByV>Y z*S^gw!hsyl0*}aI1_r((Aj~*bn@<`j_}$aRF{I+w+Z)+_ha4nYA96*ky%x2yBW4Ll z)737HN30?&iT|^UI91|{CNbVmXMMkZrsd;Gpgu6jkP+!pUHWKY{z)q#GFz`vB;E(U+p)|v3+{l>)4tnn~Ii(>|GbRX-}2&>dNF(Oh6;%JluY1 zTTs>QjVYz?t7@0tt4%vO>HU%Ry-`!EpKi-TG*1z;;?$Wu#`NXOu7)S{m^) z6tx1?h$EQ;RTG|>Qj!5ua(Rs+2T+M5k`mv{+|-iFf>Z{utMm)<((N~e`JtKP8v<0t zU}$P-W?^YyU~0PBxi=B0gdfSA;LNI21_LLjDU0mh0Hwl^q(Xx{8PYOyQi0yr&&?~z z$xqi$ODxMw&d)2>M?{Riu~DLhnQ5}Qp;4MeqNSmkd5Wo#aiWDmYLZ!+g>kB>9#DrK W(0yf_b^_Bo1B0ilpUXO@geCxN@K=fe literal 0 HcmV?d00001 diff --git a/docs/_static/img/icons/ms-icon-310x310.png b/docs/_static/img/icons/ms-icon-310x310.png new file mode 100644 index 0000000000000000000000000000000000000000..99a42833cd25bacf066ac0e69fb3a5d972d2bb5e GIT binary patch literal 1905 zcmeAS@N?(olHy`uVBq!ia0y~yU^D|^4rZXpog}~6K#C>Z(btiIVPik{pF~z5pRqW| z-HBn{IhmJ0jzY3WkS_y6l^O#>Lkk1LFQ8Dv3kHT#0|tgy2@DKYGZ+}e3+C(!v;pdy z9pDq<3REx(24M*N|Np;i?cudRm$jD!`2{mDGPAHUu?tAbNQ-dWrxoVs6$EOtnbn

7ifoTAEVs{BfP zy>n*FnrYqi?8Wb2JKyfzt-ty3p@ZHMma(Z`>Rf{IazdIOo?7!atXox3`GZRBnvgXr43zj)(w&g{`Q&wF)CX2#lEcQ4<*KEE>h*M6xRQZv`)-u~8a zd0~5Uz_u@&OW#lNHM^NISvPRgNww%lDU*G-9XY8sJEwCpP*_NPcFxbU*VJa;7AwEq z);7ELN!yLB)<)5_=kL|-{cZgIz;$;1THzUMD}J2VeqZ+No@96TzWE$y!X#v^E4A2< zMXP%?-i+cpTD14(`(?HJs&R z#2)$crE@?A-7ikO-=Hxb!r?2Ol*Zs2mUH9^5scXWvM_b1VtTNizHd}dp-Vck}#8EgM! zJotXx-zfjzN%{JF{Aa@ESN?kQGv(P=zkNTltqh_|6Ek+)e7vXahN-wskICU!r)_)I zO#i#|`J_!dbMd?P@8XJRzfG+7x3%sU2Zeow;7GRee~g(=s8t3*0M9!?kW3l z*8cO%@9+QIyD(i+D>?uE-uI{WOkCH>zZe+yT1%_+rf6@JU(1H%0|@g+{Coz^gDZ;n zuAY?*6j3d4jVMV;EJ?LWE=mPb3`Pb<2D%0oKonwVWMyn(WoW8xU|?ln(E2RW9YsTK zeoAIqC2kF0c0c?L)ZhlPp*TOSq&%@GmBBMNF+J5cF+DRmTft1vT+c$+Qo+c;&_vh3 zRM*f*A<)oFA)}Z3yY$kBAt3W1~b1 zGt*>qL!&f{L`y?6^AuAf<3tOC)FiVs3*%H%J)jOfp!>=;?F5!n3=E#GelF{r5}E)r Cl~kDk literal 0 HcmV?d00001 diff --git a/docs/_static/img/icons/ms-icon-70x70.png b/docs/_static/img/icons/ms-icon-70x70.png new file mode 100644 index 0000000000000000000000000000000000000000..b899f21884eb29e73bc02bc03f1b42a47ea5662a GIT binary patch literal 1043 zcmeAS@N?(olHy`uVBq!ia0vp^ZXnFT3?e@WZ39v)>5jgR3=A9lx&I`x0{M)^LGDfr z>(0r%1acITJ%W507^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10VrhU+ zh%1mD>@Cqv4Q7loni_%}3!guZU;pd- zw{&J-9|h~s5akVje`d^iaQ9A(gpwkk*tFH*Km!<)yxm>Q-1m1}1adeFJR*x382FBW zFymBhK53xfOivfbkch)?ud(wrIf%3*3RJUlmpLB1cl+=9XPn1)j^zYAvpz8Y?6bGe zBBynnc)zKb(_+OWeG%_1MXYkme)%k5GyYnCrsjFx9JkF!i+Oz)rnFptS5j#^<>T*W z#rzhdU-|b^j!o9g6`qKvgfuuy$d^P-m(6bTR$hjP!C8<`)MX5lF!N|bKK-a(mh(ZjF ztc*>p3{ABS46FsjbpDi|3Un&=vs>KYm;1R9ztWR#Q?Sn2DRmzV2hf>Z-BP_ zw?G3KBtRyHWR&J6Sy{Q{Czs}?=9O4k1pt*6GZ-%azgr(o4cJaAtBlml^o$Y)LrWum zhN4!W8gV3ZplZT1Q%W*GN-nQaL{j3LnVVWtS&+&Ac9niXUb_9JFh4YNd_#b$ z7z|A<%`7Yp3`|W|JNG66mGC2(6P#I<%3$E+G-Z+98=zDel2mArCqr6hPAbs*`nh=} zIr-`OX^CZ-$@zK3`iO|pH#SPNFf&ayH#ADKNVGIGGfy!!GETHGNKGbP0l+XkK^Ajs9 literal 0 HcmV?d00001 diff --git a/docs/_static/img/icons/mstile-150x150.png b/docs/_static/img/icons/mstile-150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..79b913888b0ea4ce56e0e9cfb29422d7866617a6 GIT binary patch literal 862 zcmeAS@N?(olHy`uVBq!ia0y~yVB`Z~4i=!ur5%QPK#C>Z(btiIVPik{pF~z5Um@8e z$d`ekN{xY`p@o6r7f`6-1p`B=0RzLU1O^7H84L{K1#@-<+5jb(lDyqr82-2SpV<%O zv6p!Iy0Smv;NVjEaktaqI0J+pLg4nPU&jKOGcNY}It}7Mz%KVDF6^ zyV#~bP+FrK)A)ex&7^DBlqO{f=m>p?3olq_F#X}2`cF2S8>c@skFl6z%?Y%CNbuoD zP8EMd;%sxv(|4+mEqeXum2G1E)W;Rm@+;@A{NBSFeDA6Ed%@qgSZJXG8 zYX82;d(M=7SiE8W&9C!dZW9UqX?HyET(QlM+CKZ8??E=_H^n{)j^n8le&f9Fo7~3z zrwZphGg@EOA7S#`^F3#F$i4&{{(l~t|IPBBT38rBEuCzUA;j+cXu--Nnb{Bd|GVG+ zE{P3*qsX)pHAnp1qc`jFJr+xJqe z|NQ&?=dCRx%pS7n6_4fP6`RV7k6Nq+>Q^msjVMV;EJ?LWE=mPb3`Pb<2D%0oKonwV zVr6V>Wn!sqU}R-r@MxN01&W5;{FKbJO57SIpYA*Y)DT`35>XPASgue|l%JNFld4cs zS&*ubSx}P9z)&&g@h2XR!Y~buQ~syVcs>ncU{>bVOXe0<7WSSj!Yr)d(qM8pg;{xX rh{EX`S56!`b42C{`{@Rc1zvg#ufzpQJ~^3A1qFhqtDnm{r-UW|3wkYM literal 0 HcmV?d00001 diff --git a/docs/_static/img/icons/safari-pinned-tab.svg b/docs/_static/img/icons/safari-pinned-tab.svg new file mode 100644 index 00000000..6b1a40cb --- /dev/null +++ b/docs/_static/img/icons/safari-pinned-tab.svg @@ -0,0 +1,18 @@ + + + + +Created by potrace 1.11, written by Peter Selinger 2001-2013 + + + + + + + diff --git a/docs/conf.py b/docs/conf.py index 0431927a..833a1b3b 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -78,6 +78,10 @@ source_repository=f"{gp_sphinx.__github__}/", docs_url=gp_sphinx.__docs__, source_branch="main", + light_logo="img/icons/logo.svg", + dark_logo="img/icons/logo-dark.svg", + html_favicon="_static/favicon.ico", + html_extra_path=["manifest.json"], linkcode_resolve=make_workspace_linkcode_resolve( repo_root=project_root, github_url=gp_sphinx.__github__, diff --git a/docs/manifest.json b/docs/manifest.json index e50bf114..f96a51ad 100644 --- a/docs/manifest.json +++ b/docs/manifest.json @@ -9,42 +9,32 @@ "start_url": "https://gp-sphinx.git-pull.com/", "icons": [ { - "src": "_static/img/icons/icon-72x72.png", + "src": "_static/img/icons/android-chrome-72x72.png", "sizes": "72x72", "type": "image/png" }, { - "src": "_static/img/icons/icon-96x96.png", + "src": "_static/img/icons/android-chrome-96x96.png", "sizes": "96x96", "type": "image/png" }, { - "src": "_static/img/icons/icon-128x128.png", - "sizes": "128x128", - "type": "image/png" - }, - { - "src": "_static/img/icons/icon-144x144.png", + "src": "_static/img/icons/android-chrome-144x144.png", "sizes": "144x144", "type": "image/png" }, { - "src": "_static/img/icons/icon-152x152.png", - "sizes": "152x152", - "type": "image/png" - }, - { - "src": "_static/img/icons/icon-192x192.png", + "src": "_static/img/icons/android-chrome-192x192.png", "sizes": "192x192", "type": "image/png" }, { - "src": "_static/img/icons/icon-384x384.png", + "src": "_static/img/icons/android-chrome-384x384.png", "sizes": "384x384", "type": "image/png" }, { - "src": "_static/img/icons/icon-512x512.png", + "src": "_static/img/icons/android-chrome-512x512.png", "sizes": "512x512", "type": "image/png" }