From fb092cfeba4449c8cc62834f5bed3cfb087161d3 Mon Sep 17 00:00:00 2001 From: David Estrada Date: Wed, 15 Mar 2017 15:09:25 -0600 Subject: [PATCH 1/6] Add 49 more unicode symbols for scattergl symbol types --- devtools/test_dashboard/index.html | 3 ++- devtools/test_dashboard/test.js | 17 ++++++++++++ src/constants/gl_markers.js | 42 +++++++++++++++++++++++++++--- 3 files changed, 58 insertions(+), 4 deletions(-) create mode 100644 devtools/test_dashboard/test.js diff --git a/devtools/test_dashboard/index.html b/devtools/test_dashboard/index.html index d52115330d7..85e334732d5 100644 --- a/devtools/test_dashboard/index.html +++ b/devtools/test_dashboard/index.html @@ -15,7 +15,7 @@
-
+
@@ -23,5 +23,6 @@ + diff --git a/devtools/test_dashboard/test.js b/devtools/test_dashboard/test.js new file mode 100644 index 00000000000..d2c9557a283 --- /dev/null +++ b/devtools/test_dashboard/test.js @@ -0,0 +1,17 @@ +var trace1 = { + x: [1, 2, 3, 4], + y: [10, 15, 13, 17], + mode: 'markers', + type: 'scattergl', + marker:{size:30, color: 'red', symbol: 'asterisk'} +}; + +var data = [ trace1 ]; + +var layout = { + title:'Line and Scatter Plot', + height: 400, + width: 480 +}; + +Plotly.newPlot('graph', data, layout); \ No newline at end of file diff --git a/src/constants/gl_markers.js b/src/constants/gl_markers.js index e10354e84a4..d1bbce1b4dc 100644 --- a/src/constants/gl_markers.js +++ b/src/constants/gl_markers.js @@ -16,6 +16,42 @@ module.exports = { 'square-open': '□', diamond: '◆', 'diamond-open': '◇', - cross: '+', - x: '❌' -}; + cross: '➕', + x: '❌', + 'triangle-up': '▲', + 'triangle-up-open': '△', + 'triangle-down': '▼', + 'triangle-down-open': '▽', + 'triangle-left': '◄', + 'triangle-left-open': '◁', + 'triangle-right': '►', + 'triangle-right-open': '▷', + 'triangle-ne': '◥', + 'triangle-ne-open': '◹', + 'triangle-nw': '◤', + 'triangle-nw-open': '◸', + 'triangle-se': '◢', + 'triangle-se-open': '◿', + 'triangle-sw': '◣', + 'triangle-sw-open': '◺', + 'pentagon': '⬟', + 'pentagon-open': '⬠', + 'hexagon': '⬢', + 'hexagon-open': '⬡', + 'hexagon2': '⬣', + 'star': '★', + 'star-open': '☆', + 'hexagram': '✶', + 'diamond-tall': '♦', + 'diamond-tall-open': '♢', + 'hourglass': '⧗', + 'hourglass-open': '⧖', + 'bowtie': '⧓', + 'bowtie-open': '⋈', + 'circle-cross': '⊕', + 'circle-x': '⊗', + 'square-cross': '⊞', + 'square-x': '⊠', + 'cross-thin': '+', + 'asterisk': '✱' +}; \ No newline at end of file From ffad7facc72be1416e673ce6dd18f1db813c27a9 Mon Sep 17 00:00:00 2001 From: David Estrada Date: Thu, 16 Mar 2017 09:28:30 -0600 Subject: [PATCH 2/6] revert devtools folder to master --- devtools/test_dashboard/index.html | 3 +-- devtools/test_dashboard/test.js | 17 ----------------- 2 files changed, 1 insertion(+), 19 deletions(-) delete mode 100644 devtools/test_dashboard/test.js diff --git a/devtools/test_dashboard/index.html b/devtools/test_dashboard/index.html index 85e334732d5..d52115330d7 100644 --- a/devtools/test_dashboard/index.html +++ b/devtools/test_dashboard/index.html @@ -15,7 +15,7 @@
-
+
@@ -23,6 +23,5 @@ - diff --git a/devtools/test_dashboard/test.js b/devtools/test_dashboard/test.js deleted file mode 100644 index d2c9557a283..00000000000 --- a/devtools/test_dashboard/test.js +++ /dev/null @@ -1,17 +0,0 @@ -var trace1 = { - x: [1, 2, 3, 4], - y: [10, 15, 13, 17], - mode: 'markers', - type: 'scattergl', - marker:{size:30, color: 'red', symbol: 'asterisk'} -}; - -var data = [ trace1 ]; - -var layout = { - title:'Line and Scatter Plot', - height: 400, - width: 480 -}; - -Plotly.newPlot('graph', data, layout); \ No newline at end of file From c0eb06599db481f2137ed97e79bab5cb2bc31351 Mon Sep 17 00:00:00 2001 From: David Estrada Date: Tue, 21 Mar 2017 13:43:08 -0600 Subject: [PATCH 3/6] Changed gl_marker 'cross' back to original symbol and ran npm lint-fix --- src/constants/gl_markers.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/constants/gl_markers.js b/src/constants/gl_markers.js index d1bbce1b4dc..933c226e916 100644 --- a/src/constants/gl_markers.js +++ b/src/constants/gl_markers.js @@ -16,7 +16,7 @@ module.exports = { 'square-open': '□', diamond: '◆', 'diamond-open': '◇', - cross: '➕', + cross: '+', x: '❌', 'triangle-up': '▲', 'triangle-up-open': '△', @@ -52,6 +52,5 @@ module.exports = { 'circle-x': '⊗', 'square-cross': '⊞', 'square-x': '⊠', - 'cross-thin': '+', 'asterisk': '✱' -}; \ No newline at end of file +}; From 88974c339a22d7c82a5b26fb69d763f27bf13b2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Mon, 3 Apr 2017 13:11:04 -0400 Subject: [PATCH 4/6] add (svg) marker symbols mock --- test/image/baselines/marker_symbols.png | Bin 0 -> 31354 bytes test/image/mocks/marker_symbols.json | 99 ++++++++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100644 test/image/baselines/marker_symbols.png create mode 100644 test/image/mocks/marker_symbols.json diff --git a/test/image/baselines/marker_symbols.png b/test/image/baselines/marker_symbols.png new file mode 100644 index 0000000000000000000000000000000000000000..1f614c49c901d819f37421c5932f621406496dbd GIT binary patch literal 31354 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

T&~G9TWR@7Vbj5kxgt>BA^+uAJPz*%Pn-D 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 string: 'circle'", + "marker number: 1
marker string: 'square'", + "marker number: 2
marker string: 'diamond'", + "marker number: 3
marker string: 'cross'", + "marker number: 4
marker string: 'x'", + "marker number: 5
marker string: 'triangle-up'", + "marker number: 6
marker string: 'triangle-down'", + "marker number: 7
marker string: 'triangle-left'", + "marker number: 8
marker string: 'triangle-right'", + "marker number: 9
marker string: 'triangle-ne'", + "marker number: 10
marker string: 'triangle-se'", + "marker number: 11
marker string: 'triangle-sw'", + "marker number: 12
marker string: 'triangle-nw'", + "marker number: 13
marker string: 'pentagon'", + "marker number: 14
marker string: 'hexagon'", + "marker number: 15
marker string: 'hexagon2'", + "marker number: 16
marker string: 'octagon'", + "marker number: 17
marker string: 'star'", + "marker number: 18
marker string: 'hexagram'", + "marker number: 19
marker string: 'star-triangle-up'", + "marker number: 20
marker string: 'star-triangle-down'", + "marker number: 21
marker string: 'star-square'", + "marker number: 22
marker string: 'star-diamond'", + "marker number: 23
marker string: 'diamond-tall'", + "marker number: 24
marker string: 'diamond-wide'", + "marker number: 25
marker string: 'hourglass'", + "marker number: 26
marker string: 'bowtie'", + "marker number: 27
marker string: 'circle-cross'", + "marker number: 28
marker string: 'circle-x'", + "marker number: 29
marker string: 'square-cross'", + "marker number: 30
marker string: 'square-x'", + "marker number: 31
marker string: 'diamond-cross'", + "marker number: 32
marker string: 'diamond-x'", + "marker number: 33
marker string: 'cross-thin'", + "marker number: 34
marker string: 'x-thin'", + "marker number: 35
marker string: 'asterisk'", + "marker number: 36
marker string: 'hash'", + "marker number: 37
marker string: 'y-up'", + "marker number: 38
marker string: 'y-down'", + "marker number: 39
marker string: 'y-left'", + "marker number: 40
marker string: 'y-right'", + "marker number: 41
marker string: 'line-ew'", + "marker number: 42
marker string: 'line-ns'", + "marker number: 43
marker string: 'line-ne'", + "marker number: 44
marker string: 'line-nw'" + ], + "marker": { + "color": "blue", + "size": 20, + "symbol": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], + "line": { + "color": "orange", + "width": 1.5 + } + }, + "type": "scatter" + } + ], + "layout": { + "width": 500, + "height": 500, + "xaxis": { + "showgrid": false, + "zeroline": false, + "showline": false, + "showticklabels": false + }, + "yaxis": { + "showgrid": false, + "zeroline": false, + "showline": false, + "showticklabels": false + }, + "annotations": [ + { + "x": 0.5, + "y": 1, + "xref": "paper", + "yref": "paper", + "text": "Add 100 (or '-open') to marker number (or string) to remove the fill color,
Add 200 (or '-dot') to marker number (or string) to add a dot in the middle,
Add 300 (or '-open-dot', 'dot-open') to marker number (or string) for both.", + "font": { + "size": 10 + }, + "align": "left", + "showarrow": false, + "xanchor": "center", + "yanchor": "bottom" + } + ], + "hovermode": "closest" + } +} From f68104bde03059520fb9090ec37c81b3361448eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Mon, 3 Apr 2017 13:11:16 -0400 Subject: [PATCH 5/6] add gl2d marker symbol mock --- test/image/baselines/gl2d_marker_symbols.png | Bin 0 -> 38602 bytes test/image/mocks/gl2d_marker_symbols.json | 143 +++++++++++++++++++ 2 files changed, 143 insertions(+) create mode 100644 test/image/baselines/gl2d_marker_symbols.png create mode 100644 test/image/mocks/gl2d_marker_symbols.json diff --git a/test/image/baselines/gl2d_marker_symbols.png b/test/image/baselines/gl2d_marker_symbols.png new file mode 100644 index 0000000000000000000000000000000000000000..110452e5878751a22e36533fa4b1f10e28080fc5 GIT binary patch literal 38602 zcmeGERa9I-*EI^`?(Wi92rj{CJP}G!)pC z$;FLNaBy^RA7rJp{7jC6(Q}ALI&OU9X0R~$BEP4tevwL%(~`9&B<1FOQ&JLVILxGI zm3nRBYt8+|tq$uATCF=v#3y!6va$$FtWP;%B{(H>jG+i*x$uaH%(<`r-@0ag{`mu} zoc#mDv|SG=5*rX+TQKd>Hg*j*4OS{|ZEe-@!-oe*BE`Ys(;+ zb2UslENUkH|J;_P!^NWm9}LhnV#{|g6C5I}VILL#pZEX! z(f>6Q9fIutE{XqH2LCtD>6Z#RDD*{o?K-OMGBW)76Wa~dM9*vHfM9UN9p&a9J_w#f`u&GN5b71tyJ zuI%Dv0X%2-*L9&Bzl=PSo_>Ws>&}b!ygVFPFIMX}ZiGBCJv)8HohlMH?DRe3485N; z-IbSkNWD7Skf>mN>M1FaG-$Rt>E6$lV$DjFpQ^?a(;z<~Y^Rr9+S1HvDnR$r3cIs%p8ZE-bcH0^0b*Y(|HrDl?4Ear}M}H z&l%yr-%OtsX+rMI(M5bCfW=<1cVR3Dj8|dlh`SilBZKqhAJPMAm}H@pE>#Q+kLexFE2@3}vvK3rQ@SrnjneG4s1o+;Nm zH11G^>V26NJ?rjoH(QOxrR9{kpHM^iXOQz)iSdW)qq582zwNxeTQV{-7@uoNO@q{( zPp5#9P!_eKf(!rr=5rto_dx)j^lRViqeRP`;p8RFcH-&5CJqe9?0&3VE*OVt+b+A+X`g zn%_>+p}rYn5)|ePm4hg}LJjv9$)QvWkOqYt=$wqbn9FnI9+GqS)89#6FX+cV3*U5! zbnVKQnuB5Oe*gYg;`LJEYhT+&NLN~)^<&w}z&Lw6xX>Z$_Pd=6ZZtC9wRN8Uz+tsq& zF=X;emHdiP3QDX*QZ$l$6DPdy-@pIdn6jO7tzqq)MsJRuW*fzO20}|BiFC*$f++op zdm%XcA7gQ-cfYgMX?a>dT>XhSI}Ag_Npas9ouH4UBDh=-eT)E#T?`W*21BkwFA_}O z1U*kN2zJ-Aju`z}Zuu6#Wfk^h*y>buOT&@lS&K`?Evf$pf@&5IlynJtblLf~qTk{1 zIZvja#z1&Kwsn_r9%BA^E?=*jO;4$N5pT_=@sg?k@1(pjEY+jtkmQ`}WvGds@V}dr zlGHnkcL?fteb)|SVw7>x-D{X4;;sG7pU{e0pY`c1&B9tihZ{Bl+4 zuxf_h4@f{J^VrfSr0i)Azmn3?gN9cbzS0q%5ARRblpg*|1T(|$1>HbpqiK;_smEgyvV&mo9YUw3FP|<&%4@mJ1Bj2B=Ixp2r*#~4B zdBk%u)-TD(knvi@b<#$~CR100;DH6^WOiPkE@u}2e_?;+XS@5JZwy=L;qE0JBlh4) z1<2_5@fv&ALtldzMq7TF9CeO|2hsX%!ncI&JnZMY{@k|VT%r@ft6wK7;n3rBgBNug zEjfwY1wT8mH{|?hUWJ!By}vEjZwlsC-9%R@;` z{J?p(?X4elU@#6rhD&2S5c~nY5wR-mC z`ZS$^YMIbr_oE`ofi{2RTWzNzw<~NyoeI|W8Ai23zulR*Nm=>^CNFNgCwKTGgDnfL zjbg8l>xXbOvzY(Q zw*oSzq0cP_AFqjBQ!fEtO`&;W5E^c=>z|qnF_^MQjj<%j(;#NAOa1Xg6%;Dc>-RXA z#fGn8g8PwG?tg$eykRACYKfEr05Z*-RVgQ-nK@?PwJd*$dBI_w>wGqyeaa^fuY6GMIG4yfu|3P_a5Mt3L; zsS6<_s?uY($d?_xt7vN(s2lG_O&sq`E*G3>q=4yOD&1E`k;LdEf>Ug5w>f$u2c3V2 zP^HIg$fHgLdTm6j2t?|CQo1x}+hGsb41asQ*jM_b#7*ld6&6*r-P~VGX2Vf~A5K({ zW)_Rl^yB$QCdX!2#&2aHQ01+oN2e#R91sbVM>FvPA80;um8;1jxx z%0e`H!V_t>$(c7_gOHNA>XAzh*JHtJ!kDCu|@prHQyzD}`jkm?!B#}M@;)_iE z7Wy$ZifoCMG*c5=g(m`XqC=c{yX6|blVF7weE)Y(k#jswh4v+>LG?YbU@gMS%mEZz z_X{D3fuM$CM~w1?pr5wFtLL|J7R22v+%q6ptn2`xR6-J3PXtw>J+kY=_^}I`#seW0 zF#BrKT#-|v$kv!Ofo|&c-9lJgqCoDKdC5YCquql+1MPl2V~KBg4mvLtR0u`b(Oq^Z zGawD*15cxE(JzROL6pn8r>!xYU6+S_gqCJumfR*=07+>ze6<{rhVdK7k#_Kj~P+6PocVrh} zFm_Oh9il9jKS=y$DMMPvOkj8{X#}-GTMxH>v!4;QadZsiDRV*;8|dy6e=BV{7JD2E zai?_?kU8D#z-6!ZD-C9!7fRmm?`S;tJ}4#bFFH zM2#_{5p{g-s22F)#3TgJSIHaIgy>%d{RM-gL_3k5&Q3(;&JnC3bER_Er9$=Ok){Z7 z8q3xzm2$1zJ9JmFx{6fjm9!Iw9u`>d}cdNU~&S7L>AP zrtia|dbyHKa3*L3zy}|Hy;01GR2H7sR$Acqtu$&SG2HG}p)B!_<( zEV<#Lq#FM#NB_fONaG5j4zkZ6a9R5a4+T=JkH+!5$CxzYoI!B49xfhbi!mpegdm%4 z_5}a7&R!5@n6yWt2pAW^|Op=cVT>-WA%CN#oh9} zJeaLJ7%2JzN!YlVeoRrpRrL|kPr0Y;m5Rd2yGBa$m+x-%7BvZm;h(k)+aB^(^0T#l z->lOJRug3J?(_L0*>5^E8l1f8Sf|+6CIkWfsklu-n7sAjKT`>az|?4MQX09ij;6&y z3P*Uo21uiJ>9RJ+2@9sT*|5VQsf{|n5ZrY3m99181Z~_bWB>p@#FC9$x?yav?f6_> zoouwpQ){78)ae3CQ;K3~h;Uz%7h$Ka6g5FWX{zGc8RHe)T}7Et0tqT6m&I3n+i!2Y1 zpC(G2UOucT3?uDEQh+gcK>WP+y|R#n4LI5X*U@hykeDUhldds>eh#~tFQtOB)ZB*k z5mr%Yy%!k1J+$B$XA3JpMjMij5i9J$p|?sQZj7YbB8#~T(sRXQD@+XPr_G~cXKL@p zIO#{nP7qj+_C3PHaZvD!#6-4CL0DqXi39-ln{tLkLMTooWg?L=UL&JXE>WI;8gRQw zz49DvjewFkw%gpLNOqaIF?;A#oV&Nh{AOy-LF?QMqZH5mp$tqsarj$lWSBx*^aB|4 zS9ug7>s1MDW(D-=9m0PdR%#>(03Qp2=lzM4HE!NQ%f?3T3+XH2JqX|or&y!n=mGtX zy-*)7AITuvescFGDCJ8M`zI0crWqMLT&_0n!JiOtHytDX2FqXn{!fu&h}|0UuoNTW z^ETOEKHXhgJb{yuBn{=L7L~r|nQWU|T7N0;dJZB=^>P3v|Zi{?ZCA zzO~P~^kjS)*o>)P+|ZX7M|4waFfpkJ(l_;C6YxSQJlLSeppUa%_W)FbLl ze2>Ml)YHQ6qppMCj1tL0#X=+psm0eRG;Kd=TPP^wuvy7FSV88?`v(YRnX2|5=FmB+^yl)in7WLe>Z z{DJYUQ3Nu@Fxod%ei^$~$isQHzNDOE>6=C{=AhYJxDU?u*kBwo_VdMC0q{GoLS!Y< zIk@*GQ7$Bo1JCtvC8Y(bD;SNjPD@sjK1OsZc&rLAuwy1JDWaoAo1kkqHZ|!Q0vNYI zW9Mq$M92&wrKnAZOxqSlfeum@@JOqX&dH@JB<%L+u%}qG++;?9dJOfsQh^V==xb{3 zGi=z`gGM8z!WgDlhp zId~htQ{PjHR03hq<#L44t7)8|NXACd?)c3rqJ9JX0?dFtlqO3;?KOnVU_qn=jQ{ggiK#JoN*X zh-ivG#`F^03A(bwAE3qfVN8oUo2d z!ha^!l6H}(8+A8MZX^NHphrJ;v)tmS4Ns}Z_>lw4M!~4FUHNSk$kuE$#$G+!O(h1R z4n< z>O!)|iT$SUZiFi>IO7&o7H;1ePeggN!)+iUf`Qoy&)jB=nZyQ`F3si_kg_owHDay+ z{ev6>=bvL}u=)x@MKnkB(~uFERsALpmw!(HXCF1?%`W$+-?C47y;tsOF;fF%;EmBQ zUtk~nfn=D^jHSXgo0`Dj)16FM)G02@`ahVJhbK8sK!uNA8@q#7pq_7TW*@+j&xGLr zk4!j=$)E=O2XBSP#KEEW(1S!CmH#U`{pbE>N{oI1vTY37wWJ-<;72^^Xe@&cqXH(n zpbz3jZ(PMF_%O9{K4=wiNh@B*#AW3cM?jE#W|??K1$adjvm=ZW%$^Z_4og=WG)VPm=pLDQxhb6b&zN*|%>WBDK1g3M^DD6S-N;N8Cvy3}CG2AQpO7 zJ-w6$so?!i5^kEp^HrsU_69pZ3(qC4WfmKA3fFdvCaAa{V-Bldk(3jo9_vya5hi+u z{YimEDmozJ&;Ho>piSm$w5pj9vG~lCu>d^!K0*30VvS2+NTl-=%>?>=yy|MVv__hc7_QP6fK&ZacdUl z{a`U^z;m*yhgf>X%28FQ!5DH$0lj*#wJ?bcW z0&rgf4I^Ku25gD-(HWak9k0UhRkDA-i8;mu*=QSIL~OUgTsne)N|WAKQ~{;kf+0y5 z888|{Xcf`$e%xfXNIX4FjZ}DUB885vv4EZnIO@4I82ue%ll`IWF;)c!jne(rPANO< zog;NSG1fecIbk^u-lCM=W_2Rsi9L6P6$HuWoK8gbwSE(4REC~G+{qUp5Va@iCP420rA+-7Qb;L@e>`lHrU;DY!hE`Cx}RT4vm4L5h;nR;D@3CoDhr>f61mf zW>;ge!Rq`IZ8VhJOBxu3NL-hQxf>&gkYL{!g;Rs`N6(vwm|bH@p?`V%8iz|dS(km7 zy%wGp-Hw@#zI?4i5LL?Hu8HSUJzc(l194NTZj6>|eG8^fCkGO*}iBA&j zxn9Dt`|j5wvJ>bd+E`6!4x))Cj^}z!n39+@YEfq^9PgR^AacwX;;=K6jqoC_0GHAT z6W+h(y%wuIr95W;vljrOW@O_Ma@kiX7kZU5AdSo$6_Wr2IOa7e<{1vqY0CJ{pzC>a zC)a-%h(Xy9p1F1JAeMk(KBbU@rMx4A{R0?DS@lwWz_Wg`kOc#b?%bH9_xgc;Y8FTe z(0Cq?9tN0kr?Smil97>+u|DP?HgxC_)lZICM310ZMPX7PGzaD|T_X?vqR7xSN5kvP z1!-qUfPbN7JK$ zcZ~ZrvZ1mSZ*!brQl`_aZ%zWyR3V+1lab`IiN`>}CzV)c7xrVJ+JQSLUucp_Hv-o~ z5jRG*(8i8V9HKla8R2+b5_mmFXbjhR%ReWfK}srKD~Q46*%RnEBg`i#@lq>jw^VK3 zJG6^qf$X!q>oQ~NDHH1+{iJZ8aE4UjVdTa+?2aqoJTZ=nO-6#<6CZPvY>5(Vui*)! z5LM`X#b>U0JakWRu--n)ZnAsa_u{H2-@T8dK2F|!FByxA@SvF$dEqT!Fi`2rT}&S`VsXE0`ET2-vE?F z0y6|c2`iK>^B>`s=s7*^s!7o_28>oJvQU_tU&uh|sHk?#exPE1%#VYSb|g$NPS!%I z;I6GH^ql^DSvCM)q*`34D>eqC!X?1J1QFglpNE+GZ6SM?hbQq0vHf{;b$$xyUCzghyb*TKcPZKDw8IDIvwq&^nO z=A2$8raho57Uq*TY1p^%ETru4>_%x-sR_Zj)repCzkJ{m)%e*%45W<<=}#ruM;7Q` z658Hi56L*0n|ONs0L>i}D|4OFawi$h8KqscD!krqiD5t@;hccl5?%7zJ)YyEu{9{C z6ovJx>*&(9(CZ>n?Qu)!J-tC|eB5thybAVQ^-y&n2-rsxKR_u)u*QZLDj0l4vl{DUNTQQmV*;1B~peNXAgIwb!!JY9c3hr-AFgy(DaVBb9+X6PGNQI99 zscB`rTyvwbvIYeX9A3ZEWX!qMc0W=^Dy)^}`%B)9cEf6;B43&BI1B%{Jj^DGHO5qL zYd|!IEQpoRUQmorBV2al(6W$&Cb&|eT)mLWwmZFJI+|6!QdAaH$e4x&KAML6IJ7TY zoJqppRxfLqyY$9N8iZWaJsUAp^sfJGkmJ-cmCfVsgb#g z)ur(G1HS-}2NC=c;p<7Op<&Rt5BvG_@y)wH%+Jk_dUDX;X=M(&4GJ|1AKG{bE|j2d zUV}DYY!bd4FaaikqHMbTRVhjVqp32!PS9Ni-OTBm>9eM)(O*snm60I?mA7t@_~e zQb_cU1OG#8RyApr>;A;2@29+59UlJAqn@zAkmW--giUA!KL)ha;R!p%jq?x={aU2< zz+yLjW4iiFO0g?hRT&!d9v4u2H81Ob8aZjTGDA|k>!FZd@=1LhVMc6MfzXvUN7w<(5JPr^TjvWFJ!=;iMncXnIv zZ@z1^8*%`UANAwZWtgsn;Z z2Yxvy<|tO$dSMomw@9j84Cmvq7P(fh!st!Uh6hPP8Q77f$?H4ML-nKeC`8DkLXeN=%9OjF`aU0|vN6qv zMt0p4qiMaUBJoDSd`?DkEI26=Vjg(9Zu42WD@fYUpwZbv9y*ihS(Gy3I76EH-W?q_ zLC{8pA{uvXKY4g{;ZN4kf=a82yh|sQAE@9J#!n-U1yyy5BNauw57nqv+tJop`_yB} zGxNKXyDx&H3T+HJ6Z84Asq;3-RjHk{!WcMJqJ6pt4~E2x;d|U@&$PJj(&rb)6w9q$ zeLdZ-53szcYZl_3OW<0()Xn%EXwvrN);79Z0dY1{OQXn3^psP$?>5-3|q8UzfR zHmLAh$a1kc$@o5^cpEZ$oL0s^W?(vESlgw*eB0A}NgU1CKR*5qhyM#yDTADcHCEV; z>*zaD#mS$#q)fwu4acii)xvAQRmd1es&;^suPxD|Bzzr?cDPK*fKO!@ zrlpgdy8J!&(@#_t(>FEwp{$cGXO{NvChMy+_ghTzveii=vl}F=C%dW^+LW^EKx1ci z2S=uN!fA|Nx?=NEP*k1C?@4RcX7_;Tqrak$3R~gmpm$ijXMFe6zq>!Tuv1AW1kmWy zFLWg!%S*VUKR+v#+gwVM|Lu3Rp2(BpG;O?oUKQWfArBdK>hPHP(YQa`jbPNBtgLysDo|9&dW2)3yFhQ7GxxXi-k^ zip@eG$r@wZbf4~eS6Q~o{wO(X6d%9x>O<9KSu}3<|g9)1^ahQ;N!!_@NE5)uxa;49~H;hs!u>LK>~eUTltO} zFdemyf>jPVaN$@<5oE-4bz>VB^jP%sxH=1%zLBM!ANV!`WFX0{Yu?en*N>Rred-Ks zo~cq&%$VruBw)Tpq6k<(sgl$CEqJMIperP~{)*E5I@I;xZNfgANaYYMF5m(N;R8%y z`|eC8v*IKb|0yaF9J{eW_?;oPRPyiC2m^y^m}tP+trD6JQaKylbhKJGS_U_<`GIfD z*{;884uUPvKWitYEy8qFRY33k#U=|Rv>C6I!w!;5_?SsXf!FApQi z{kn*FfDxXjT6zURysXvZP0!2TxVH3}PoykPpRB{id(-eSUj3F1Lv|Wl&Nk)?!(fYZ z=<MgZo5vv(vsiQw=G(|B>x~y5Mfx_=O_&pvME0x{__8=Z z(=)Xbf^M7|c0&Dp%mPxe?*9l^GqM?sZE?gcF>ZF|kkaLAHb<~c*DcyT)2 zmCdi{UyDC9o#iO75`!wp)L=v|hj~sIB5ZUZC9A4M2gL|byPpzq;!UZt#LrGk0B7LOn!L#Zi zsA`ZaSLlk&HBcD^S8Vf5EGCYdkgedw$2{S|RSNp&`b;}kaCVm`;7HgZf6JVn;%~p0 z|6Y1{Z?A{lo|5aSqkakwr4y6TJny|jxFCM`@xO%0`Lej83Ahp&*y8@xXys@$*5+c{+KD8;6KCneY-^>Nr- z)O6wLW;(e5;n|vdnwN-IB-`z`l-3B512#r^b$U0Gc&!2tp^3ht^la;p zWLXF61sj!f8dZxkQv#;>C=VfYaTULEWoSUzUIZ%DUOj#bh}x~!WfMI6i~174ioLe3 zoO7{zpd4&0yn5fmZL4*K1R%ldTfYeyEqp{yzO|-?6%LEBbV6W9XK`)ZjdFDAypMZM z-Y)3Q&lYx4p>Xj>dGkVCrtFvUxK(vY%z^vVD&8VMMd(6T{(I^_-Lbe7-M&eV!~ow- zoS}RXsZZ*aR6=~GLAq-ebuBWn6(F8J%M=HPoOvCi7S6fuHplWfY?=k@o8^ef{ZXf% zPytkK%4Oo4*h!J_jm21RFL`iE($dKW@omr!bFpl4fNIWg=-_~^v!80^*N49BgY{*6`Q>A z)Wh#FfX!N}*GO_qZ>w@^T^>H+BGb9YhUMP-t6UAn7KF)a#-U-z9|R!^Q^jBH|u zyoF={mA#uGHirQDj3@DNDjT0kRvh==-XM=_H}0wXx9nU+RI1YQPrgQ#LTrM8(qb3} zamQ=S3qI|7bkeu|h+zA6F_~qrQ{TQQpkS#qgRB3GNp6GISaDan5GafrMQ3rSGq5Dy z*VPc;md}ZLrJr^;H&xdlUz1A$^R<}jj1j^9-yTR3y>usjWNC@=KRWtfh8EpsVuSWL zK@K5|7jn?|&t7b;Pa+Fmw*or!Sj0e7VXdi$C%dVKx0&QKpY)5p_r5H>)%)Pr!4Ue` zOVwJjb5SF79Yfr@_}b3&y?7AIunA;8)5Jll@W%2WM2*?W`I@Xs|Fs^=f74&Tada)6 zn&O7zKuw)^$)!-@vq^_;Mtsk~cK%+v1T`07QP(Wr6i41j?KRw)0-6LZq+c>$Jj;KGy}e=jzS742 zl?nHgj_zd^6DOEfujXsEN~p6@b9;g-Y)S*Xuio^3{mVQjc51Vvw`z3i)8mLIA;9O> z%691GY^j%fQTkDEM$kAa_NcgR{!CWewAw{MwZR6Ni0m88S@ zW$jaxzus z->ql)!-SCBvF;bjV7$)S3#Z&xRKubj7u!k^>ixqx4MSlz3O1Tqb50lcEQJ~)VR=&D z_&3rEi}1o8<#J!!3uum8saoFJtg*^Fd(Dklq9-(I&7>|TznAqaGHh5*I1*jHpHny~ zi;Skd)onQOHTLT=F0ihE(Nc+hdV%BNr@x48-5HalP^sySY}~Wt9MduwbkWzow8j8f ze-%7LO?A)DPnCV}^0LcA#8uMl)3LTUCMG@BA;c-l3i>+H`%QL1E;QgSQ$wS(52jf?I&%kckm{&>-;998b<6lvouyg4vjltJ}=S&s_2gbss~ zeN!A%ouUgQPiYTwXx7@l)M#j^WG8dXR*ObKQQmw%oV-=xVn_NgnaT)0d%0WJ6H{%UQ?x%6h>a)!Q!Xr;g}-^r z+3+^qo@#adz@p>h?0rpZ#R28ARCrb%2Z8Xh1)DM3x@|9?zVxrgU_Lc~97j!}yUpKx zBR#=4i1==F{}=?;Eomrs16NN~okviDie$=Fx1`j zxBB$gede(KF@dw{@pN=Hm15A)5$*HZACd`gh~%OBxQZPZ16(!r}ovWAV-lwi=JqPn`!hP6_+Fw}lVdvz}|Mo-d3_P&*d& z{Po&we z2-^gmE|YHDd_MvsmR6ddG*pl3l>>YYDl(d^iwoaQ3SOm78zz604N-uV53{zj?A9TV z863h`(y`Ifw+nSk@u!G3^;C>9&_5YNf?$?Iy|+<=wijGK%K|57js)N z^I2Ri)P9o2mgUvDzKp6ID6oDne@{{MR@Zi;>t`H?+Q9IsJdWMUcgnugH)em5QijwE zMt*0NmFg_iTI4?Oqrq_Pi@RkUDpjBC`vPH6gAZ&KhlY)dC^bD*z<$1fke_@aCmv)` zMQHnUeJnCisr7WIK0yE=>P{5@%RjCdvuS|Yt3cd<`9?iUQ%!_xNZolBSB@vjq}?=$ zKjvP9&|@ic#f=C~Sh16d&Wn(c;o7$Qs zozK|fI4L_1&J4Vs{o=|Q*!uh3DCJ%Z6`iq!K@)H%ssbyv$?q3fNL1i3=FxuRY!$`` zE6`{)G1V|Scz5ZPmqf#2of~a}Q7S_`&)?dfSWc9Q$5UOjb$O)uf7r6;?!l4zputpv z3jx>Iwv;TC1E~vhIUr$uaj<8P`qkWhVBO%=oh}f3+mMaHD?^g^fW<_&F2gt+pjw9yyAimjvhjDd) zv2DdXLGgqw5=k>bRSj{+<{2PW0eJh+soKEU z)wgoaGlas{At^T9#m0gk92Qp@-UTL+8p*6vb% zR+E(}PemKMq@kUU$56$ee;+DlXW!MN`ISn1rCWj%fM-6;smW3 zjp3Kk<)*zGQs&7u(lzE_(O1<^7&l0wrm@Qk`mojY6=CrYTt4j zOy|2~ez!jom}p>G7t@U zCHTjN$U#qLr;0w)oll`d!f29>nPB`a9X^$uIn}y|@qG!=X`4J?ZN8jX=C}j@{$XWk zw?48jUi3-3>yw-VgT}I@(=yugkt=TY5YCH8I2DsaZ@CHxPG&-WhXDoyM#wD+u4}#= z(}=Sa`wcL%iq{+LLIwzU;*HXg#B$yL4@1;wn-91F=p6TosH`O_whWhq%HJkVgB4Nh+a@qO5DR0FbeTHYw%MSmpE8 zCZeorD4RGCg&A!6;Cib<&CW`zI!gr}ve@-u6}Cx%5Y}3D_#>i=XOE7!s{#+Ew;C;W zK6qS)1uh78cz6x@x0`Bu?>P}Kwg%d^h?o|iuks6@-Hq@*B?^C9Vu)oCGHrWDDYS8& z*UYO`zTS7q_{aNr-;Mf~Dk};q%KL#%aw4m&+`VN!Dg$v5UUZQDhm}n2{(Gy{rXLw2 z77xTb&yy*~fdtc_Tdvf+X-p31_GfGW%W5&X<4A;#B4+HUzSmX#!fQQxSCc2xeV(hl^zx-0gBzOvf(5S^y@Xw{rlq+Q z*|PKHX_hH&FT;L;nBr~-DW#!hopwT&fA5Q9uGpQA@Im{AzKtK(pk~7PBtlY~#g7kQ zpZ3sfxxa(ZgdxwAguIo?iNs%HZ2Dsb;%kjaR`bU$IV+j|ZPv8^WSIoW5O-HTNJYrQ zer^Rr-7BB)rT_u#`tXR)`x=w*8Cw2V1bacal5aT=02JPUe0Ou2nLvJ1S{`%!=eUz-Cs(k`MWW|H+emSfXAkY z^l0*cmT!8B6le8!AMQ1m=CJbWkA)YGJ5LVTU%O(JVB#-SZ%jzu15mK@Re-V$YZl4b zkbOC+E@N@JFJsU5rnPyCTL2SX0N*Ww?X8Q=^~g~it3y`X?2lwBdnP-K&eXZaRLGCU zkoviYe}#m#4q3vPFRma=Lc?JE>sjErg5xShN;-BQuyE7E`{#3f7Ru3kXlu65KV`bL zux36&<5qyp>i0=-`IqVYfuSWQe~vNnLhKqH_NG9T9@vmRCHN?mZ-~Uxoj%^vM%(&~ z2`wWEKU<>Qcky$r&4T6SnfQwSO| z6;YhVm76b9iRO1%<`)2pj;|&>m^}#`M*fqD_p&Z46#g&f-YP7r_Kh3$wE#g85Rh(A zLZmyS8|enAp@$w~2$2Tq9MTa6q@@{BK!x9 z*d<9rZBvPd#BCdSKaT`+Kpy!>BfBp(`AE)&z*nCbJ%%41X;T$U>#;c&iztSOoP-%d zMjS1jYR^a3hXz?)V!~Lj>RND^O^SI1usd{#@Z3us6V9-ULb_b33>k4v4p{^)r}%O) zE&Mu!@P}vYW6z1J55ynqdU3-idY~Q|^i4B5L4lzHiy<{edpRQb0xnWUa{7(U_eRIf zb8B4kw$4rcU)!sb8jq0Rd%seoCzHRcG&p2n$aZ=3Iyb@Wt_y=3^qpaOjXOHp2`ug% zQqBN-_@Eg>k}{P^aUz52FwOch?Aac)_5A%MAw8RHz=5XrDx`^~GMsILe9gmuc@1Ya zx-4XA@y9`Mg@YBgKyEiLvT@Q7=4lEuJReHnWyD+em^1SN{d|wKYn75-yqK5u6Hs~# zF?vzjVc$o`rjxlMHKtcj*lZmdcOG81$K^M?%<(!abanvfI8wTOPTQ1)+g!j1za$a( zf4m$+8sMq1*_GJv1Z7^P>lv=*kV)|l#JA{F$F5{&GZLnI|8zk2vdMOtNw2EZ6es;- zL?oZCZPMY}3{8Ksj&ep;F{7AAAh}^G+y}$faZy|dTOExg-)E-Q;fWL9kQDU6>G138 znmEpeNrFL|q=TAy$CyNkbVs4K`1X8If&BICZhFJ-dxmDd49`TJ(i?@rUn0J|Pb(JX zQyFWOl8jhz*gXK)ulNY%J)0kw{pAH(WH`MXE+3^-d|OqE_II5bV}_GMEG{&v-`Or~ z&_N;E23W8@WNcv&{gGzelB@ik%NPH96)Fom2%P?zIBytl09(v`B5Fu@ln#a2z~b-F zICs+~ViRz?p+S{`QATOQu<2Z+YnAH!uCB*MDO;-{PWoNsMb_FL^{K+GO@<}$jdcv5 z7pXbG@$@QdfPY9JQCfE@E~ZoS=&GksqZxfe<(S~rrSjnfdH#(F)U(uE=00sW)?M|X zPrO&~Id@{e5@n!ME43`y1@|A0lbku?U%E$x)=h! z+V)J{=U*!Ff$9Bf!Eb?9&9&K2tgc%-06DDyH!xfaLetx@g)(ainFy%R$cNL;XSZzo zGVb8SxF|eY^t^QI<=DVV^ehW8! zJNxqCd|n>i+$=l)f*hzb-GdqgoSIKG{|P7S01-UmT=1=S^71mw0Fl) zC*dxei1;49t(R4-y(6(IM@YUI zw7L`EA(y~*a_%L~pG(Q3u}j13Q(y--P*Tg0iFj)&w8e#W`bUzCkpPVwOO{MdU*kK&egT7^hb*62@f4&kDpG08s^NA zgY|w>IElM7q(y4@#w|ioalF=|Bk`0m7})t<*Nu3()?iT>L2u2bn{48ake3t-^dv;I z*D(h6Hfw%%2s?tSQv7{`M{nv)om_nstLbXi$*UKW9%y~#EO4cBmj``HYj}F_uKokd zgb?kIiq1Gf&c(jzQd2uuKQTk;r>uH`=GZ^;aW(xOPQWgN3VwCV#@K`7W>*(7@!nzeLnD1fWV`~7o4@>H(4o78M46O9e?cx|Hs*cxcw(y9iJO`$uL>Q-=!J_uWH^>lxA> zj9Aa+2-9wSy9fINY7vkyKF@7&yXv+&_^p+*At$2evz38v;A6-4ti4@DZQ|pGIb-k| ztYv?fBdw;=(h+AMG_uC ziFXo^;%M~n#&E^usO+*Cz0Em2ue@R%MX8;`!Eb|=ns=xAX?mA&H^u~P!s>6hjH%W( zVLJ}m`URkvme-AQJ7iSxX@uqokfZ6f;Wn7CHv>7Z(f!yu_B^5|Yh=YLdn}H>ZQZSF z79*uT-%rG{xhpR;QG-%=iw9YDzTvq(4M9k66!7PhxE#Z_7LF)+s%up~`7A}%aq%@| z$MSz3mxT=YI+UtHG?o|$uuzky-RYlzVgonYl%H)Gu*kIs5Fvfb$hmR6hDV`*WN)bo zGP3pM(=s!(z^$-sb`>HPt%H^=Nzy+3@^#PFW!B}J1t-%$A|@}rkZ5h!LAn=_C+N?M zvBF7#_H;r9QCE*P$MiEoyj`IDyFSr}gCRF3)^%iAl^Rza%Pw~k0>K5XN#^B%3}zy~ zBHGih*Qfe259qbzI}GNWUIJ%#6b`HZ^fQhlN-7G8$+}!Afp+OM3JRY#5>ulDi=v;seVC_(!3X+B^)6OsNc;m@jrNkLJRk;5E>s(f`#W8X~v zXYNN98D8x}ekY&69G%Gc5@ry^x^ll=-!xb8)v;-krk2$rgZihrb$&4nSP}WAmV#Z` zxlY`HMT|hU-+5>9v`Es!SAv9WBW)YBtj5ScQ3nOX-spXWI*H1t_)8)@u>vbp2V+`0 zMJG)%a$)NfwC%(-rZVULTt@FFm*EUH_8hBrCpm1p=#od9(sV=c z?-1am*NgOS%apjIUW%uqVOnpX&hb#dcfikHowz-F`b5DvB&q8c7EeV|lPlCw;7k9# zqM5V>E{(u%ZriR^sNFh-1Ay=O) z;IdfPBmPjPV)?vnPnSXorW}AtmEAscJGFNn=JIuz7EkwE6Q|ACYj7@&VGFhcL$;-? zCY59pCFo&6qJGQN@XL4Mr$KjJ86G~Dv;kDI)7Se=%+222Y5#C;A7HsiZ1MnbQSOcs zcUPpi=w?siYTatll0{E^`btICU@rqxzbkuoTEN>H>-tGgQ(LfaO;HMLemjA^Fp^Ej zz183Z@7&k%UHCBHL>5~+C6v3c!~k^K_8a73@Jy3;l=z^Uju@&*hau32sB9%P7;xfW zn{VhpfOL8}e0^U_y;RCd^1$LcTd2EaO;vs?m}=Q*z$)i_ZlN?KLK`vLWSjfKT_I4$ zzQ;7zS!>CHl8!&2^9#s(NWl|)7B|$Mp=HnV>`u!Bqtx}(j2JCZ>&GXZ8>K7NM7-7V zwR=uTlwt7(`mS=rIHe2FM#kTc$tQ{|Ht zJha^R^ljDhr{!vm_POSLN7A8UScYL z)<_zrg0?*?UJlr3pOJ4=ME>9m6rfnI9Vl$b0(;HbX3Em4ANnTsbeFlbY;Jh3#|8&w z^?hDx`VSLkFNv86*MRJ@X)-P?ur|n)3T*R@)E<(B_wNn+ECmAs-f5TF#s*6O8Z(fV zbCZ{AneVL$oU60C4h>~!V?ey+L47N6Zmw*uHPS@CO2_iE{8<^z&a9 zBIxTAzEW~x#r{=k4lN7GBCj1C$wxAP}Jkz76-c-);3~On$3hvOUg_o!{J}_Zk;RB(T`LlH_n6`?x77_)Rl8h1OSiRrepOVo%lospr~pr`=nfo1-g#zm9ZFt|{T|{fW&uo>}H- z1Wx+%IV*v$@bK)UNW|Nn<>%X)#P%^9iCSJx0(0frZk+Id{EV{?w%dJCXOlfm7F<_k zxuX=?73prz$t|>kZnBT6b}^urVG^hrN69l9TR)2*BBZYN#qTe8i5V@&1n(ac`+|q$R)u1$dj(`70lo+OCqdc)rh-cI@3}lk@-n-T%6=%ar(1k!N$u zUDxG{5q+eMpY4Xt2ZAU}-nVb1sKFvyefUju!@C>8zABmIbz)={{E~;9G!KgD!}mD+ zVm9_ndy`pQ=mQ=(DnA33w~MFcEx6s4Y;Cir+fKtn4_T0}@C{#t30Ek@h~UFZ%#Tv< zx*GpuRH(Uu83YGrP6&=!=egjU&5Sv``XtlxGr|9{CwDvF)^EzIlIXX5maW{I&`^g` z>^B?+|8XS&+;@c^U7dZ}Uvec67!<1~HqHOD|AdK?-suwX40)CRGBz3jO2ZY*y&(BF z5CsHAG2f&!{*Qi%eGNPlOd<_XeEi49#L55xn};dN1poZ+sqR<=C7S-zfB75WKaryY z0^FZ^^TO|%AOnA8@dOx$yx3LfU*aei4+xO9T8{o@eK_y(YYn+Wk-veFyW}G3cZJP= z_n^KH13D*Xz0N(S{2Tb6{$!f_zk56nP@)0O^%o;PxPJrxZ^IEVC;nlHJWd}^;J`ah zjvmVS?wO%OC9CYo^WW)`0NzN+`NcjO@UW0ef4Sg_b5D?JhFM{GqNQm&Rq$W$#Oj&p zxFiD5cZ*82Ib%d3d6J&M9;EB*KL6HYpLtx4hNTH%WKeTiH2DfJjz7fiQ(!qqP4A_saF*`k*chrayIdI1A~LUP36}@FUC7y%E>!;Y8VD?9_QhXpaL^{<$^n%a zZ8hF&<~M|ZcvJ2Y@11v-Rps62ME*V;zZ=|p0pmH+%vK8HrT8R*Yp?YxR)z7xB^bB>7gAAdo{gR z8(MarbY$yDU@KVsID~wlKdQqV$PjbwonY170zP3~!ycds+t_ie%H5U>fO#~p+ox%5 zOGqmE9xT`JXQIeeI=c9tY4&Tdo_45gX;*-=jdNjj9q8~AWb&)WPIfh^zV&}T4-Yaa zuwYxOkjnB7P3;7%Ip%d`hZs&M@})qB!mkd>gXLo#`N{`H(lgPqayc@9SVi$mwaNLA z#z<2?Gi=DQ{spBjYurFWn{z7Hz}CCv%7sQ_aJqjPN2J;Q4@N7c1(Ia)%k8)>Q@sP8 zu2ta$*#%`F!3;$lAjY=mqiHF~C=j<5PvE#05T0HezFsE&K<^wXS1wPuMZ%7+Fr{k?YWL?eCi&lu3h`-9;HdQ>wM!g zugH0Ims7*>hgCek-yfSO?6)X6_>s-d!VK*h(*Y;isX!$LL_1>XNZ8L(T@RKl+FVBw zW*Q#2EWyOW6O2^Nk0;K(9}Q0W4&>USWF!WO4hBw{Y1sxb;embczA8N6cS)3+gt?DQ zx!~+vd~&;352=EWp8A`l^c&2)67Z&I(0gcMoW|ffergbT3YX$W-2ov#Q;I(flHBWUqZ1+J(=U&IDtY;wS94gcbT^;ep=;BV zpR1Gxy7~J^vX*kPQcK!URE;xW41KZYYR|kYsX-=}RM*r=Wu_k%98U9thsR$q^KOA| z85bNUry)3af?ZcDSy>8mnu4Z`8yjE3k$TXVpesKvOqH0 zs>gDrV+Rlkjj}0=P()k!bq<56?^;q)^t{2=lF{F6nti3?Mk80}GD1+6$0{}R-SX5}VhgYKYYcal zkMF(@1*)+e4@|c6r|k(%G_unGM?}zbOLPd%bMLW6)SCekI9un>cL@M*`;ui}=4DEW z7wgrTu=FZ24|WQ>iUuT9uZJW+I20**5-~KcxB{QghnxBp^dQjet=M|nqjgU6^_S~_ zL!!~wZg=bFdvlevylt_Qq<5nx&vKKX%C5bprE{~ifA}9{S0oGRR{Yfhpox&X6lO50m4dqUKF~xE9%IN$W6Gl}) zcx+z+ezQ9l(jQz>V8#4SQAz1^w8EnQ+~$&d*h#6cz931^Y|ivgxL|YeAH>eyL}%V% z!Di@;@j*!YT)n({wQW6j0~o5$%LD!$E!sPC6+bj8cpPsF?2j)DZ5jolf+!_d`MJdQ z|8YEoOa(RL#(8yMp@RD`+>LU-QuG+JMk=CXd02A61Q(fsJ-N=NQG#VRN9?kbao+V5 zD;vL(*{diP+TOnIylr;x^XAqjubt)C0jfMD%KBBo-u;rHXe(ShSAx;CEEkkH?&Pm> zIxHNsiQ6k$;I!^NY#!mp648-iRt_?b=~KqwuWb&MM_;~#StSkuqFT6(*6isS?NM=T z{X2C3v)Ag=9ZKq|P-d;!D*Io_3ke(!V^^AtCT>MPj-raLs`o3-mj0m)Q|t**rE%}(wPS10J4dCR2)5%E<&o4-qlW|8zhZZ z;~X@?;7?`mFE%Bia|?Z77)s@zCk)3$yOqcd)7YAx*~K^52>MOlJGFN)WbmvR9;XpNzYO|9X7rYu4K zXvcz5ff>`Cag|TjpH~1W)o5AjhbCfDK`aq1i^Ej`0Nuo~>o@ce z+qObK>u+3A<$cBJIJYj?Th=OyeXNR3UMAscNe`NLE$$j7kQSw6;n}3Bk-vVq@``wT zY!q*#=1Wqs?yNrGE{Y?R@ZXJ2SYBRg)~qYjg$DJN)pgOHxr!%^!>hZ93G z9lJTuj8SYDe5Z9W@zeFMUaz~783RkCXpf8? zH+)EAq7QJ@`Ra113c;C1`l|1}Ch!j7cIT6re3&PP8X2qIv3`9Bei@$?%Ugnw;bH+r z59MT`P@qU|G3DiI73TIOX_RqdmaJoPSFpb-JDlB`L2F^WD>tPl_lkIl{=UGBu_|yX zy9@Wa#12&o-y5C`6-NhjlegvCx(q(xlsz3ab2(L9eNGJ|$fzsIn4$fH@tmAA!LJEc zMgp87G!CwGg$jCk{X2m9Gcmx3cs$s4+NJUPhFRo?OT_RN*xo{AbFVbR{}T;H`-F=n z!(bsf{ZVlnRaOXPS0C6c_6dA<2?VLUgcH`X%2M(q?{b1##}_t1Vx-^~+zKtzcb@HJBELn} zxDz_Ig4nZ_9K0U+r{(7e3_`hwgbzlYqrvI3y~Y{V0)H|;bOFkkq$J^@yAgik@AOne zlQWdR+Zyd9vx@e!CiP~vc=nIP@X+R}7CLt)bVx+*y0u6)*Z|=GmLl>K7Jr1mw_q!D27r zp(?B0&%G(*y{v<>m|^(=L&Fx|a(7aOjN~XRm8^^fI2&VY08v8WUbXmO1XzR>A*CjhP0GQn4HUte_a`(|LxwivE&|qJ-f z&27v4#IL96%zUt`5HpSHZ7@nd0ccm!3*SPcyRAeA-wF*E_<=kY!Gp_oH#QiaPURfz z@w8MN=w!bg71UAcoHqT+;liJVwEU9L}_PZ;eqi4O4_$7HNTnQhW9y+66DX ztB*zY5w4BoY>NXudl@A)v69J_N0>(aE@Jq>%BP)3sW<1fJe~bs;I48XNynrnWv_-% zST9AlMOKrliogIRIjb} zIlT}ijm>HRmPi;3wdFd4iSm~Ja0smkD!n9HdSzv^0S~H@?%&bs9>~bux!w6QasdKY z2A{Gg7Y;7OzO00=_|1Of>@nGvSKyY{ETjf!tqDut^nC2|kBl)zIkbFhQb#($ zb8i_yIWRu>D!i~))&1t`;Zv#T9aoD5*fWG^(HmV zF)Q2i{(*ANp&vTm%W%RpW}6Ha8jK>%9qkJtguS^bjNP9Ra?0t=@0%L{aa;RfDjNbr zvy#%A)P`m{PafS(n_POi^xRv2urKr4*%l2gl47QcB}|IuI&@18R|;|tvsxX{VL-q` zok2SDp>g=aM z@gmQ=D}~P%oMks2Vgl%Il~O8MIxWh->z$*=O4I4pE43_#(<_#V0BP<&aC{+!n)xZm zh>ST?gj_2PbBs@JAVoqpx?yG4=B`BpB+R$@N8k`w9?XtISwigFdyANA{^d=WS5FXS z4XE@{_e;0|yV8Y{$Se4!pJ3l^fW*uQdYf_yRhrQ4={xew(PJ!9Cu!)@^LkUTj=sNe zrN5>@c1|?-eUab#Or^!fVmboQ_J|VGp3Zt#l>mxml@!E8N6{fYOQ=t5^P~7M+=e?y zAju05d)r_uM^0KL4B-|N1?3r?PSJU--&=be$o^Es+FD=uic1MiRKSEcLPP{ikT=mT zuNaCjB}2t87(QFa!{vv1ENZ+BRa(P31A2B(|gUW_d7^Pb{(rTFP{-djj!`)-Y z`NuVzJpfL?&Lj3h?%a+5=y+frFKQwNlsY8P0UX#+ncT zrx7`JE#cRvfGD~3B458x#%yZNYgWq5HTV5yFOeM<+}t_!+v+D}nzxdiLAP4Cas%0# zTz`bK`pt~zbWM)etF?~)$l9K|=9N3Z?xw%@f8^U$wR44oEdTtfe)QLbJbC)K=>y(hRHNceXmMn5j~yB@4+HyxkQxmY4{$(;c}Ypv%9P>5O0Hy9Glko=~d zb`tI-6gaBO9sXy)0WE@s>iy?g+A>h1zCL~@=(nm*geB6UR$8aIyyh7BQK_GWB53E& zE8>!oRauSNqQ+Jl*0G}B&%@DsTw<%Y+&whJ;5YySC~(Jp*-q#JG}r*J*F#CTpa~UF zzaDI#vb`u@LjMwGavVbzgXxy?cMIe@@+AN(6eVqHKw27E9N+|J&3D($LRqjOX+tGl zHvuPmIp+_=DWH`J1sNNV#d&~t*`lyda-~xX0XgG|8LaQ6pvp3*kYn-`JP|i{`svu}()-AeYH!kIrl#5Tbv4_4GSu89+h$ep6fWp#YstJ4#$ecb&O< zsWjt8eJ%P1WL6}tfEW_0rD&s7&oDQ))qTRQv)uIsh6?&d35RxZoMfzb({5hgL_~?? zLesVM=-e=8a<&zUhQbc{TN#h~4fGWOxy!_{{I*bABy_@gOeg!olcFF$&8LI!;OUmk zl8@2x)my>F?M*IVm9xL6O*z#|18cT?ASs49 zW%*mVJpHJ-=2QjP`2l4j9pBz7+w}zjwo%uRUAp@McN`bS<9Fd7gi0(#)Fey0<4X32 zRm4egdrWC!9fT7t#gsuG?V~sr6dy_e@F69BtbNE|Xp|Q~LahjVo74XW!8P9oD=guvZjLMF9JDz=YUf_ItTv^&;Z*FE|whc{{>UifooQVi!S_M zxRoBjPHFz>2K@y>EeHT0ly`Wo;V)Dgbl2^Jo_ZSRFNkS>XW(VL@ZtL#hy|8F=tKJS z|BJ^e1J|6E%HI8p*gnSx9z6D=1=n9Jwc@U8PdfS#^*8YU-C%&KVZaNwwUd4`7q7)3 z;VW>VnSi)?QPaiFszH(ZuT;IaABkAI0;-sqr^Mk>>f4sz*D3^5vC|@P=54#Pl?5X7 zBXBMZPCBTkFjvP%fhJeJ{N-pr?zxR$;kXf1WaVY2uj<9Me0As&jG23_{TYqlGXlvc zuf4BG))XBGc;C1PcW@{r5@j_iW zzaG%*Re(N*S%A!ka~y(k);UyZQ)ZX&lXCJ|^<4cV&f4nX2I)_bN4Z|KDK|`qQ=#MG z!nUCRmW#XkNn8CG1&-5?8wrd!2n}maWvecd?K!jRz4eE#QCeuZGhXak;5U#E>dV?} zf*8ZUe0k3EDdIQ%N7c_=?XO;P1-AZt?e!`~hzH*}*I9{LLq{A=<0{Jydx`(+Ke#9J3o|X%7gqzd zSqJDcaC}+RMY*kV$?T05(q=5i^4w%FVQw#p)~a7SO6O>AU{Y${nBB}9L#bn$j7p5| zRH}IuIlCN#642wfv9W<)THf?MrM(WZFj#aKI3LJsaeXMbbgTcA7o~!c8l;yC=PWBW&DJMZgk=d}060|T%Q7`x>1EFFxCn4R{=}Jf3W+j2Qnv7_BcbAn>xqe#o zu3P==p;%rIX44XaaHPhn>a)X+F78*y3REa zviSLf*s`@+(Q=MB%N^=^SZ}9d9;(3#LH+hxuLBRBWlRptE@=A=G7COA0 zBmGlzqmr3c3r(isNqjeT=NC2N1W!% zD!ZX1fna_u7sebO0+xQ_lU`gYqI#}yNvSuYOVUW!M!d^Gk#ZLIUqTWljHgQatjffw zH^{>sLND_uH=%^{XMzN)6IX5hQ&z_1G8f0|i5ct=uKBWILPza1x8`IjjqGc=BH^pD z9o?F3RcSbJk~w18ML^H%&>jjCl&CdAXlI2Em3-(sqd{;g;x#Evm?cxP2%VPOTCD3? zt`Tw`I2EZ8cqe|IBSxBhyCSaP^M^~MG;|NOXE#nA8tuz$v8k*&t}J1p`k-i!VT#hB zYt`0_kIlfW@Q|}wB`h*3zckv{HyfnZD0}6WE%{DBKQr5~WYlW9dki2JLH3t4m?++1 z)+}PmQy!x&q$+>!q-IBYQ@PvWR`BMi<@zbgN$08?N_xQdYiKpTE>P1P*LX+kP#v?UjW zD{>)IIKO^Q+4-xX1)Nx3B(cDxc|7ySOApNZaH~B_DzS$WF@wb(yWbM^Y$G?;X;g5< zM_5JFAX&HS5Wb=Ekq7X&Os1}`_NT9_hej=ydnDMqrYOoWxK1ASq82elqNg0#Jv8FI zS>ZZeV`QpZEJ%8FS#;B80Ov5Cx3ab(OkyS2H@~lL3+gh`-H9aYK5HrMw@775Te&_J zb4lLgC;K#&whzv_ZqxL-J*6yO;$_!gXGkUhgk@Fa==YDA4ttc{ZAR0t@JSaH2`P@6NPUCT81xVj@ z8xm1|bXn?QRgV~698mvR+S-%JxCZm(`QqbOyDu7Ll+nSD ztaE<3O&?emklo@rTP+}>{QP%Nq5Yz zIP=_luH~CjsVo}yq2@WgiidYp6e6Eg2scOZ5bXRixrp;o+$EgW3Y|uKik%QQbnPV4 zi@I{(((0IUz(nC1Q=c4KI?S>~PgxnQ_eaz+Kq3iN@Uc;iuISES_G8`jL25T_lZ_Lq zfT3-!aWAusz7ZKl19@wX&XE#}H9xPBMg#H?#QehLyAL(iQC!n(wt?T6k65MV6(!j5 z8(QW{=3?WN;VF2R?G6ixqnEqvM9_G73ro)B>e+Y)(F6swW$wJ7FXV{90aIin+dXfR z=19qz2`8DpaxC?1h4?m@46y{b{I)4QHo`FwA{(VnYWwtFwe&cV_136xuRQ4NmPhlV zm21g%mX(Coi;DpP+HKrb^Igv+v-1?#Xd$~;WDmEGQ3pvq)qGV7Qm3rT1DcZg;494$ zr`c_KC}n(E^o3f?)L;gK%Wz??g(QiK-3@gTKdutn5xzRR{)o1X5(T`optP@48V!T1 z;JuOu!59-tw8vhWuWMHxa_f2HhamX*^;{xdIrTfKF61{|xmE(Kw!)ge4rN;>w}%Q^ zp6-TpkMv__#9t2)*LSqOBEd$5`3%%ySWFO>%$K@rb=>j<8xIkT=;W2$z;V#G1~$m% zU#Qd$^2v>CN#kut#N2Iu#x+*0NJN>%Sg91>EyLy##A?JK zblOY2h8lTWd=$J@!dIJAuCwjJp7zr{6370=L6z4|V~Yf<=@p%$J<)k1tV?GFQ|~D} zRLZ!j-7p&z2S2T|jI2=qGP9umq`&~!CzYDUoqU<2`TIM5LSiN38<&K{$T01?UB$UR@ zfSxDIoUW3UhviC1k)#7#V`Z;dne$}UU^3HzIB`!|vx{0^c8OHpINW7WKVXW8ngu!~=#RTK= zv^XuZdOG1g&c1&}GvEQ)0-a@P8tY>!numOB9Qh6cW()7%c2HWPzyu9(d37-#rj0`)4Jc@(&1)ofoxg9#1K+=s5W-7-wyBjb^zD%D!V9a zyXwL=xXNXKw)>pKYp&v#!yuN5jRu}~aKBYVauv-{U3EtHF{TJXAJ(U-u7T_Cf0Q6+ z%%@>WWG0#n6-P=Hhk$IgpVGt8R%~f6d8z=khA8BFr{iM}4_y*8+g*=voE7RIfPT6j zWy3=0%TW4F(gW-E97lH9*a=kI=0`?&<-kGMUp zuj1QDqfSUc>UkH6%q}G}T(z$ivp_4{92c{?2Z&Yl%^b<*_$^uE<<3{Y1;INhEZklL zVZL4Yry(lBMI(gS>S*Z%R9~t4T1{B$A4;-pehGFpj6A#R}JK$XV!NeA`eOYL+0mE!k z&zpCW5)|EHVT-99S^+ogXb9uN^FQXh6m5_GxRM~s(1xVX@$5ImH+&zbP*lC#S24SE zS^xl;Lv{-h_Q?Pr9i~rMGsE;9 zudKXJ)|Q*GMRc60h$T`rcyn;er2~AM(zlN;x(oIBin9CMp_#9vJEz$sNn?hSz#A6s z0%T9}lbunRBDTIDHwuYCOtWPKD>nS4*$Y8EGI7X~z`g?=N)z~$+MQf1H*KlRk3 ztn;EwSR5HE{{_XXmrgC9O8S+ye&t!YaySAYZ)&Nkj=s*`ySxs^xEWYiVs+cA_MHc# z-1jt29j~Q+ZY3rYwlJIV3H?SI6}8ie-K!|vfwe?u`NlLF1~ z)@&q#v$RDWqs1XN^BC9WsI;R+jmzdW6;O{$xZX&cOw(ZRNM>*MK#n>~BY2I1cAI5o zPxk4^xoJYigqyg(p%_?xa%CA64O&0Vrx58KtRO86Gtf?-#ITsz>!xd>J9?ite^x+; zi2_mNdlE^g{xi5yqMF4xk~Cbu?bOzMz*Ox67s{{C;$isTPHHZ zIbH4z@ik>>(8n-px3qsAZotIX>}XraSw>K7F6Y{Dev;m64%j`zj3c{S^RHzcrHoP% z)=odi1@t>=e{R10vF>tXWfGSlGeCHLMH@6v=I)-@DTS8xdZg}ynaJ>4zH0M*s9dew zQuwvE?8YCLBf#3fbv}RT3}_AYQW9!!4l56)HRcOnBA42mX;A_;^)KO8M$*UlxbR6u zy?Q8AmaYohfX{93dC zLRnq024!(LwIQfKR21FX3FJg1;Fa}u@6H#^yQeKbjk4%_@oh|kJ@!0sv1cyZaC}?- z8sZBh>blxpNn;mgOTqCQes@@O5_fRKvSc~ze!7uDXGpT?!nr$qiMWgr(Bp6rmGJ)~ zvp#dHv3~LGUD`mi{&IXa^%1@Q4;~j>iL$r|e&$Hi=Bfn%D68LUtMnA(lFq$-*?{si zu3cVaBGzlIwmw+&ydM>B!|+<~djpShh%qAK%);99M&IXYX4q9L`fwpl0&h(Q}9 z%89N)&3yzHjphbuV@R{}WOc<_CcMIFL_LoERzKIqI$pa^gy$~j5NG)L=F_>Pk9&F7 zYz*PTMhrG7+;+g47vJB#JQYjFh>EXgkxAcTXPhPD;0mq7*WJgWt+>S0Fo(01K_p~$ z`qN{igrYnyss7LPElN{N0yj#l40X~U@fl3gq^;i~+UplW&fIx+SlgA0%@>{_V6fbl z1cpK8|H%15FXi-RPoCD2>nSHnqD8jbx(E1rrY^Hmt}z}fTvoJ>I1UlUUyeLx@i!5s zhu+5&fv&F8?qtx7+77GRVz-Q%;{BV2@(Xv*4^MR?H@DWEjlr473UJmRp_7 zXpv?NwcH_YOStIBBv>v$O+IGqd2O|Ui7E*YhlqMjGg|4c&T8z$J1XnaBKJQdn64u> zwlAN1J5GvcoT+B5TKtq*UO+X9L$=8D4tDS!cywKxr0+spXP(=E@M0IXN}W88L_z(zmz0Cf)h`A^z}9BZX|OaJAp*)BbDl@6Jeo&PzRf(QmhKg z$%lGL(s_PWn5ZLL8$aVzW}{0!fobHWNPL2Zs_?6pbCba3TpAsYTN z#w*mVw#=noyT3kF@$v3+BuMoDelN&)DwkR1W8};Qt5PEN@pGSZY*itc*G``vm=B7i z80=#gDT}h76Hu#Zbcw1`X)*GUCzHUnSX=rvIDp!X2cL&-?#4GTaV1k8m*r2CN}{W^ z=@30j;bRt@J5(Qz236NoTsq&5hK=E#F58UkU%r_>9C*&R6n)Tl74tEUb9oesSTAOg zZmtu(zy4LvOeWR6^32n@F zDlI{%Lwtv+2ji^pBY08woTIK+flj)+vC675=b@9`Gu6b%hDxKKmQgHzyo2GwryDDT zw^@Cwe9FXnQ|SEUpe!mO#{`N?nZy@@=Ii0jAiG7zAY+2@_weV&6Q&hUZX;iTlwC4_bL-FuWI=ZTHOb-_DUK4E6F)G2Z}`a7gj`lv<~ds3B3J6pc#^E zjqC~8jr`J#&lc!?<4<1bUN|ouMqJY|DdcIDa4KB;C(cI#P~IMVKy#ZKJlyB^*kG5E z&bRNgs|h;5h4pggHc>6`#fhL(g`39%hDxvDE7=s{6uO<>vq`F=$~n5vnW1qP=IhE< zFoz8YX(E`Yw;>~gHF|BB#H+SiD2?3vZG&7=FUebl) z`u?`qVBckL()e(o0NHJ{{+JCrO`5YbkWRaw@HN9_D{05%vwIJR`-*wRkGP9yi{A0J z;Qrl1QHf;xi)3L)r{=n=S-1h7Dn#1UnO*o9}*KOUFz{h z2Hn&yVyx*{F}Sr`79UzfUXSOu=etT=11m|(Ye4y1Uy{aUa%Cn|grq5(ser%v>?wSi zt!fZj1G$*YFFm2{UehJ2AMCX-h#qsVU%;-P_JySs7Ksbw3D?ah)O&o@AA4#UVKG12 z54LFb8+cLM(4sD|Sd(L}jK=C10Lt5QlHH7-M76&xy+r`SiAThTd5c_rRLRod0xQ|o zj)Ff9w=`acK@*#`@~KxlQ^QoR2%D;_f8v|d59Ej)54yvehHLN%CTg~I=M-bIH*-nD ztp!8n1Ird@AZER}g0j)3J0C8IM1DMTr^$SVbzW;s{l%*99HDFfZrJN{*Z$bl&liHt7VQ9z zRh|o47B^$2`iYLq!1~F*VYadB-vY7C$qOZ!b`?HJ{#a(?6LmH)%snILZ&bmesHdgR zug3L)eb)=}T_FEO@5FsJ@wtMPw{0IBv9G>U-%zhsx#;hf#nTr(XFnEgU)b+uD>SR% zySRCWNxx>jQ1qRMXI1aL*FP<^cK6;^vsCrotREWjXEg6=UzGYgWoFf*Gd5Yv;#Q`s zoj!9%KmT{uM7@09+T_i5zeTQlw|I;6ZQ!W>xx1gwU9RIQ>rd9P)%BbDTW}ZGwH~=& z$7apbSGP}T{yAyZ#6U(PKH-ladLx#075{Mi(EW3c>&8PNdwv`+d->z8_DS=*o-zd>1ke~p=c*QLCs+y{?#zDv1mGM`I*m1?a{@=MQ?spaxc z=le`2_LVWcE=t;!z2543!P-)_Aq`F-d3nJa5kpScFz*M6jv`Fcvz&G!d=Z0#A} zC8cN1I+auQ+H}gJ#@9ulsmGr?)t=5vnbyqr^Go)nDPb>u&U`DJ^667=*rwwBXL^<{ z&tR9l({;hP!KcGY@q^3el0W}CZk=9o&)R0um8&W5Ca>JG4SRgrRVz7fgPjhO@CE%9zQJvZZEc4 z%gFTAWr5fC-Cu!K#G6yPnZgs_zI`bB;8n!4uUEEJOrNFRa3OnNmxcmMl90yam8;XA zx!!$mJNvT;cH_xCUD2s!C@|gQ@Fbi1Ef#eV8__9?)(f6NROAX zl!+r&){qg}eIB)NG)PAi4KOo|W{c611~NK0^2*W!_00CQ7pBil`%=yT1fH&bF6*2U FngDrFO=tiB literal 0 HcmV?d00001 diff --git a/test/image/mocks/gl2d_marker_symbols.json b/test/image/mocks/gl2d_marker_symbols.json new file mode 100644 index 00000000000..9fe51b11cd1 --- /dev/null +++ b/test/image/mocks/gl2d_marker_symbols.json @@ -0,0 +1,143 @@ +{ + "data": [ + { + "type": "scattergl", + "x": [1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7], + "y": [1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5], + "mode": "markers", + "text": [ + "marker symbol: 'circle'", + "marker symbol: 'circle-open'", + "marker symbol: 'square'", + "marker symbol: 'square-open'", + "marker symbol: 'diamond'", + "marker symbol: 'diamond-open'", + "marker symbol: 'cross'", + "marker symbol: 'x'", + "marker symbol: 'triangle-up'", + "marker symbol: 'triangle-up-open'", + "marker symbol: 'triangle-down'", + "marker symbol: 'triangle-down-open'", + "marker symbol: 'triangle-left'", + "marker symbol: 'triangle-left-open'", + "marker symbol: 'triangle-right'", + "marker symbol: 'triangle-right-open'", + "marker symbol: 'triangle-ne'", + "marker symbol: 'triangle-ne-open'", + "marker symbol: 'triangle-nw'", + "marker symbol: 'triangle-nw-open'", + "marker symbol: 'triangle-se'", + "marker symbol: 'triangle-se-open'", + "marker symbol: 'triangle-sw'", + "marker symbol: 'triangle-sw-open'", + "marker symbol: 'pentagon'", + "marker symbol: 'pentagon-open'", + "marker symbol: 'hexagon'", + "marker symbol: 'hexagon-open'", + "marker symbol: 'hexagon2'", + "marker symbol: 'star'", + "marker symbol: 'star-open'", + "marker symbol: 'hexagram'", + "marker symbol: 'diamond-tall'", + "marker symbol: 'diamond-tall-open'", + "marker symbol: 'hourglass'", + "marker symbol: 'hourglass-open'", + "marker symbol: 'bowtie'", + "marker symbol: 'bowtie-open'", + "marker symbol: 'circle-cross'", + "marker symbol: 'circle-x'", + "marker symbol: 'square-cross'", + "marker symbol: 'square-x'", + "marker symbol: 'asterisk'" + ], + "marker": { + "color": "blue", + "size": 20, + "symbol": [ + "circle", + "circle-open", + "square", + "square-open", + "diamond", + "diamond-open", + "cross", + "x", + "triangle-up", + "triangle-up-open", + "triangle-down", + "triangle-down-open", + "triangle-left", + "triangle-left-open", + "triangle-right", + "triangle-right-open", + "triangle-ne", + "triangle-ne-open", + "triangle-nw", + "triangle-nw-open", + "triangle-se", + "triangle-se-open", + "triangle-sw", + "triangle-sw-open", + "pentagon", + "pentagon-open", + "hexagon", + "hexagon-open", + "hexagon2", + "star", + "star-open", + "hexagram", + "diamond-tall", + "diamond-tall-open", + "hourglass", + "hourglass-open", + "bowtie", + "bowtie-open", + "circle-cross", + "circle-x", + "square-cross", + "square-x", + "asterisk" + ], + "line": { + "color": "orange", + "width": 1.5 + } + } + } + ], + "layout": { + "width": 500, + "height": 500, + "xaxis": { + "showgrid": false, + "zeroline": false, + "showline": false, + "showticklabels": false, + "range": [0, 10] + }, + "yaxis": { + "showgrid": false, + "zeroline": false, + "showline": false, + "showticklabels": false, + "range": [0, 6] + }, + "annotations": [ + { + "x": 0.5, + "y": 1, + "xref": "paper", + "yref": "paper", + "text": "Add 100 (or '-open') to marker number (or string) to remove the fill color,
Add 200 (or '-dot') to marker number (or string) to add a dot in the middle,
Add 300 (or '-open-dot', 'dot-open') to marker number (or string) for both.", + "font": { + "size": 10 + }, + "align": "left", + "showarrow": false, + "xanchor": "center", + "yanchor": "bottom" + } + ], + "hovermode": "closest" + } +} From 0c8c613dd3d3517cb1d744f8512be761a6dd8870 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Mon, 3 Apr 2017 13:11:22 -0400 Subject: [PATCH 6/6] add gl3d marker symbol mock --- test/image/baselines/gl3d_marker_symbols.png | Bin 0 -> 29760 bytes test/image/mocks/gl3d_marker_symbols.json | 163 +++++++++++++++++++ 2 files changed, 163 insertions(+) create mode 100644 test/image/baselines/gl3d_marker_symbols.png create mode 100644 test/image/mocks/gl3d_marker_symbols.json diff --git a/test/image/baselines/gl3d_marker_symbols.png b/test/image/baselines/gl3d_marker_symbols.png new file mode 100644 index 0000000000000000000000000000000000000000..2baff2e2c532ff31ce0e4b91716191847f6ee7ac GIT binary patch literal 29760 zcmeGERa6|o_CA0jgADExWN;4>lHd-(0|XBa0fGc~XKDW4ypXKtRBjmy`a0fPi@M?*|wOY zY~jSa6-b{%9&JuWS#6knQhAlfaHKn z96u||ndX0g76+rNjw_Bw*dqP!2Gwx^)PLUst}GCUWtVYR`fcEUh5^8c5}839>EES_ zghX^f;6j)B-=R1XkxMKh0nL9d7DPl0FR);o@_&akh!}$X|9uz)@V5X2lvYss0Mq~0 zM?gt8`|oN2AO-ONs3G+IC&K@&9{?TY`G3SA${%`mG|E`>N^AYLqWlvR_mvLV1)%zXPZ*BBO{l#8A#YXmrT<$#I zWG*u%}&E zzSr#Y!`SnH$n_F^h3}Egc97Uj5L(6~@C*4iZR|EpV_SK1%MFC15zAS+7` z2Pd2zL<~uS-Gsx)*j~nDU3-b#ww>IIHvS!ApO#g?ysLOzs2DVQzBFPtF*GtF^>Jw5 zOKp?)J4N$XB_Sc%au&OG-oDuT{da@3T}SlfT(rUnZOQ%WP*>9;3G+*LuyOos>gt09 z<8J2d_e|Cbuj!JlPBe%{S9wL|<9w#(k#8raA@`tlk-Ktp)~3|sw9(`AjQ;qE`-*3Q z&m^;NysIwD+CQ0W6%}Oc!*+~+Jpbi-rh`0AK+^9F?EUW-r?*CJd4r!;yid|^8k7xg zLAY?U<#*%$yJ3EE$`={W4?CDQYeMI=kiWD<7a-rtMY|tadKYu;PY3PAnq9851_h#W zT)umXnpW-SLhbZ7Jbu8Pg#@=M_q8hO>=%V%d?lwR&rc`&n_<%pBo~mIK*-nR_J?hS zt;&VQgYxDrYEm;jCGicxww8L~V3Jl%k-ya*coUm*CfJH&bf|;Ow zLA&ti2)TBQB)-FK$8J$EVnH+eyxQjb*VX9S)w;Ch*tLT2pex>eX&>)M)Q6eyAv$pkFi!0g87kH1k&%%f*SnD@{dd~F z)7q@;R0{}6pON=tR{eCI_nlTQ%iW83Kvz16Ww0lvbjIjWpRqf{tyHa^Mm`}*ZY@%D3D^sWYf>iq=Zh@ zg2`Y_#;hG^1dtCtO0iTzOxz=8c_73t3<@SM^e#*PE6ZP&K7E#jgV_7HKRicl40HA$ zV%=M${D7JCeAgU*yo9F>kBnTF1bD4~Pi{Rle-!KPFEXqsAr@pJ^5EP5%L6&*`Fq-p zTT+JZ+#BllybgK#QOw*!sO0~&<8P?kVeE_Wyd!$uSiEWs?vN#c7*Ao2rPyBdV`t-5 zb%jwYbuWYo1~M}lbz&yGuq`o$h914(meF;D#$K7;BNFD+w;p{dK5?*ON8P{bAyg@J znjmQ*eZ~%auik#$vLj+$9V#zNxmt0XQlSQo7!2_=K??fvBe`XZ(KjFd`C;4W$=qKU zE%QwXqpi}~bpV*tPwM8RAk*(-D+TEj7NNYaNqmr-8Bzdd0<98;$#iG#byYvLx}Me_ z^BGyaLGHKQ`6e5E_NbHok{@7eE{KJg}EyAS|MVI$y-exNoXbI{HaU2=s4^pXW0lzu%pOJbDsH^ea)8 zd{uN9hJVAOkI;C#Bc$yH%5{VEW?e~Lth9j^UT8*Xgub7;a*?~=w#5N?H06J6NfCfV=lIXL*AKA%}y z_>R}_M(v24cozF8`TdIphTL|tG4x7l-F@_Tn$KEi-kl-D-gDj;Y}D8A1Z{M|J6)Ko z&Y0+>x|pVJ%D+v0`bD?fxhk+vcnxe}js`YX z+318U!IGF1q82(|{O6N>b$2tF@m)&)+P9qbwGC47y0#!gK&>CT_mLq&aNEleSh%65 zS)S8xWxf!MI~Gf}Qmr%mUO$mioaZb1XA-vE8w8WfKulJN;ya_+R zl*Hl*E`&3=hocN{-kh0)2q=szOW$ytxklD?3FF}R$r7+LgyRoqe&+If(0Mc^4jjbJ z=*(c&5?G6u98-4%Evh%suD3c=NUCWjbtt` z_+xvxXSM+q?Th3r_0AfvPzG7Rq4?K!`4P7~M(`;3hRk}M}-931H*}d{o8ZG}1 zf14WQvu)h&^sB3ybuPpw?!1FRi;oihGbmSkmsio$nEa235@C7bMqYZd_nN?4D1}xs z;=OK6y_87hG3h8GR+>?xX2R@Tm4|2LtY-JoUnTLBa~qCxsh#kse1n^bH00%@P$dOd zKK&$iQF_PScD5*a-}#~)`->CqedwAy>GTtg8F$B9vI-xt>NxM;;37f@xw8y-hsj5- z>NyxjXL0Bt9273mu%1P5wbRK4x*k6>>*}XYK!q4&!lf}m|cH4eWow-#Y>-?U?P$J8q=r z1ME=(MrB~3S*d9WI+n?o0B*DFfHJml-*Hp?H%#35+&nVR#zqu`GCHZokKs{3}Cl)(%ridqs-} z&^b@}xTOtN$EO+VpC2;MMkK+|Cv~w)b*Yj}4)b+#I6m!?1Lx)&T_il5o;Mv40agt( zba;+B*~X@Q8LyepD^X1-&?UQVuJHnT@fTmkyfeGj@JgQg#(rTisis>JK}?ud^jA=w zQWH1Tx!T0Ms|d#xXEA7W2s*|{j{rf0!_Uz_Bpk+^xtk>767pY-R896`KnOLbCWH~= z`kQr7!G{(=fns^dTV3P21;sZqrLUMs38BB2+V?{3XL=B^U~G>`?`RZA&iE@(f}n@~ zufp;FU4pO^K>e#Uio|8^A<*spVx^DYEE+HAcUl_C$`HT*i)5^BrKBH(Z5`hCb&GZs z3-nyCZZTR09Sx~>ybF#Z&r?+Nv^}^sKhrABdg?p+hB_~!U*$+0GWkMc$67DT?5X}5 zLlSoxt#1GLhUcR(3sG?lJP19YI=YMxGk^U<}%cDWT@TzxhIpQ1n6zJpd@tTGg|B-P2uosW=nF$-Of+s zg6o*ETWcKtr%DcSgW47n$2TCxfF^-IV5tc=BE1rQfaQ5veff-{k zF>b5~?K^SqKn&8>pm6lXP^y8;kp54I^kana%R`j$@e3hq$t?p>#*peWWeXi>?NDoDNw`F`dlf#4$=9{Z8!eD z6$6#D7Gg$icnF`{czDY>g;E6`mgYiNr$|mi8w+7vnIN=Ct9mDN`iw4*Wzyp)e}R&A zif4>s;x$4nxKfl*pOvY`?CeCO>81l^ND~Lw$@i;q%LuUjfE_2VonY}`<0T;2^5i>6 zV=*IT_eF8a%A)n0Ag4LTLcVnS(?@3GjFoQU^_*eczlXECa2Pr;;J2&voCgr2Iih-) zGmA@%jlS>Yfyg?MXn+x^PEEvv8?6*Zp&hUB@X{YKtlpmC26J&(VM3$egRhj9&^ZFd zDQ*h)eqp(jC!+TW52419B{qP}54PCDXF_l(krLK)c>^(?AUs`XRqrY()4cm0@jif% z12qvR4l13Z72XEo(#2{@T%0;~ptbD(v3Uxi`<#%4oDKv zi7i*~165>`k-fuNdlr<|ZTdn~;?w#My?M`YhI+P;PXetd+Rfoh{%55AYGBgrR~vp0 z_u78j+NdCddJ6OI$WZ?K%Hlot;=@9aJb$)TXy5cU97>%yF1t#BS0eNr|Yi4U_5wyBfp%IN0QLqH~|J3x-QC`uVep zMm4xqa#pR)x4(J!|Xx;PU4XKzl!Y`A3?{ZP*P*~0 zkS-_+Chlm-mdt$DyA*o!9U2Rx??E6$tKp!^p|}p>?StYxTVpi2aY~DAuw)l-;JGnp%CRet>aeTt@5=O{bI1WKJO z{B9NYGNiIcD1X<~HR=m;w5(DF_ujY`{RKG_RsJB=M&xOArKkxK^t2zqy-8GwOAHZN zvWyoIgf6@qW$#^(C2%RY^0QKX?U|Ij;33oKiyxXq)mkbI2(Hr6F$C*)|Nh+`xMAg* zHY2)-UKRjc?3`j38YRT$cd4-Qpl;<@3=H}n33_uD{upyJXCkjxxzHoxmHE3T=DXOH z&IpT}g=A!*G7iA=>LdtQB^7?=@#{ou!(EF$ z?XK+UpsYZlV)yGw45Oz35hfAvlczwb0mXtc+`NVl+PLT`C)~40;4T%A-&+)Q?ZEDCgz5@Q2)l!LmbXPvm9KQDbv+DYVP|5>J} zMf>x8I~TWd_YZU?XMVmA#xD{=!=K1+0ydzx6cDMGwoR>_TkLA)`S>nA9JGRhx;QIT z%)2^_8#&S6>OWIxeU=jpgyCFen4}NT?dtqogK!6R69SvO-Sn*{~UkshzAGI zaWIw^f^QQI+r)c7!edph`in8xJxd!lYjNQ5g~cO5mGPywmb92xbPK_U@cf=s9(%fWwQR zkRhUr!s;9X29(8I_3nK93m}AO6;=`p#F5fG z(0dh0fFdH)uzb43kWiDm9q2QEGxx8OWChuNOad9Ngl2Vr62>OwV3{-R0^wV@DVdt| zgIl*%{6S4MlD*X!Ne|&7g#+SbUphZItSpBQ_E&ni=63F2bI5wQWJnRVX zP%X8;qwnG)i6T-SJ<#MaNUoOnZNzMGzRRZ)95((lSlX=)&m z8(5}!XJ~B1=Td>tWYZYL@p7%2p|X3n`(Zhn4h!8AY*g9P`7LX3?4*z!7xc7mZ%yz_ zxq=zRy5inYVuwgEym!hKL8f+Xq93$p9P_I*H=NmF-AxinwR9q(ln8iQ2SY^b&$R-$oyZ-lqULQeY z3mrP8#pM?*R>B_rCq`hD*se?J8l z2NI`RgmH$~e$kIyO1W|4fr^HDyVpn--JU3e8=1b?Tb6F1|G1(SqW zDHtCghvcQlnVEj)AP%8$EurP0BPzuh-Dg5*r?F3N8Km#ER{M>?W;hknf$`s%9M{vC z{)uMeNyt$VOpuNV8EGcV53m1Ub&2gQV)hno_{e;XHk zfv1@&<-oX^OnSjgVqUY&D|v9*4gw|y^nC)Y=Y}TeAOL-i-KfG6ZyR@o1imG-v^6lB9KM$0zaOF*5r2z z=q#?c`RoVK)(GS@jtwqwoe~;WE%p}% zRXELFO_tptKsSh&rW7OxFNCc@cA0%Hc%Eog;XQlAf_Dh>Gu-$g#-TrPk!(e6UPUXc z5iswbe(etiBPvuXhs+(}kvsHCzc9m)j0Q9JfP7=E=kaOx~ zyx>j{G~Nz{2#Hd{vuH5LI2jx}ixJpyOKoch^_XGY=N7VzP>HP;^@8_B=R*xNb~kcs zW+__ZRmD>LTIotC5LP7y<1Z0jvfr}$88LYhY&v9-*a=s2O>6!i7a$z3YeV$Jb4>lH zBNCMmT#NhoB56(LS`E;CZi{$^4RH=+9Ukrp@%B!qU|5@gohr#jip>EMldN1Y;f!c> zU?EQ!4k4to|tK)Pbzzd_S^^UA|hvWOAU<^$ckD zvSp>J1Xfj-3&Cz}|GexESBG#-O|ZTv{N zMOQEK`HI9QH_1+7+1OcjEyUmvQSmdpXgFsHPy#jxH&W8DMu-cLlxX>!l|?IrtJZ3zv-h=$Yg zgq8GZ7St}G0>lY8FPCmA&6-gkbFLrWq&9%K?lOc4l0mD4N#V$Pq`QPu_=Hj-Jm4$H zP}ey(sTmYXRCE&){FCdZRN&9>+{2Bth(z}%>`f{rcXakStAu6&zY#Fi9r2~?fYHNy zW43;j9ZB13f#VWtwffKvW(Sl z!*tf!(4~c|G^ZnBgVt2JC7YimJ1ti3KkOLo*CCC062ZpK=?I$-jm|U?B>@NxWBd$# zacL;*FAlG}G$L@{ihk8`m7-jIe!4CZdHcX8O$On7(5WnlfU$_`;AwuEm?RA*Bv0Dz z?HC(AtLxlv^yz=g>W+@~HQGW7_=%t=WCfzyL^31vjs8LmUp&*3*AsINu}=Ape*n2( zS=h3RtUl%ijdbRsx7+g@nXXb?e;`6>0}4&CzAtKeSnB-EVM%D#edd?w z=kL28#~q-@-4S~5%hrLnCpJW|G3o9m7*o9R%douS0gAEZ|59V0UE|T73`^!o;kjR4TY_~4@{i&cQCKHu0Ug^y=d|`w-?`c$yidadnKNtzd6R zRk-4kS^2n0SpefeTDaxI>#++U-5_v(1~8&H62FO_*2n&SQDu-%0B0 zh!Ro`L?!)KMHv)6xTVMguM1^r;2#fLh(#g%j{z@VMq?@k@HqDP^WLgWwDR6wtB*5} z`DELtX*iK&@Wh{&Gk;?H z=0E%;@xgy|rkNkMIR7O-*#gvpF^l$^>Hi{1#(w})H>_IVe*jY+0GO$dqgww1n9%?? z=@Zq^pZ}7FhM5pC?rg7w^pyY0czOl+zj#-cRH^?Ax&LqB{}c89DcAo`<|NLBq-PMP z?7kD%`X-LOxF~XM1Tetg5`gtlJ$8Kj+VKf&D?(en9=_Pfv8*VBWVk$=xS)AJhh`AR z{)btQxh)1H*AWSTW(){~DbPU9*x6tSjU>-?6#rWCWi4X*rfbpiBwnM173tfrnoNQ7 z4B`@*BYu`8mWdr&+Dq!nMVYUM5Aiut!YCcnA_v}#=;rmhC3KY2iA$_%F82<_2QUUE zhEBzDDqNe2NJxmNv0vtVNm(Tv-+0NO`WnbuCqz1~6FPFyb9K@W*c=l@i$>SIFwS`y>#X~6=OgR>V!{f&x3t~j`!g(iMnnP@DBx4j_kEbbM8LNgV}GlU zI#`vj&=bckdRbAgw*qoN0qBdQ2ig>Dt-(a)yQ@J!FHJg7MU2+=n+^yT40bBI;9VJN)5nm8FtG%{d--6^E=oczt zTFqY1^oUGf#Ezt!#wT;g-C}_mfE85~BCq2*YVmc76pwb}`NKYbXm;o3A6C`We(^!5 zi6wnAX3P6ncY)%HT5~MF7DwpAwxJhEu}>(70AM9BclD&o84H3hsEgztw~8AIR3bS_ zakQPB4L+5yA6@Y}EuS|}l3ChbjkxZKRx;SAOt(x6K$q73)}t-#BxfH8q zThd(ItTX?CK*tIz#7KE%G{YsMc*GM>JshV{)=J-_@09xFooWBlHd? zMar&6rL=aM4D}55mR2=(CaKVPw)-iU@>!^TxWGix07V+l12D@wkXv(BNufi3p0kfh zZ60FD1-;@1C#Mo;zHrzJ@G!tdxQljqohr}^a;wR@S6dexsu8hprPj&oR;!p!G5%A} zdhDka1NsX%!LcZYU$lXx|GrqDn{FfebnAHy(%#bz!^)%&3EHPr?9-S zn}&!N>wzY8CXKIr?4rJe`E&4-AA6Jktsem#4_Gu<{QM0Ao_vSoxKMuypa~pKA?DF8 z{?pNipLHwt{Q!4-Gy#nzEq$Bo_DQWlVN4-)EUtqaFkV>{Fp)BFTWZ+XRUg>E8%4LW z)3FGyB|f@f+hIK|*mS&X_Tu5tLQ#GxJM5Zr-+tChR2eDnA1_>nuNq$+aIfiQFDR6) z+I)A=Nh$kgxES?V`EUgqzn9^Ul(~WEQV*9c%yzCDH!|$x&A&A+d&tScHrYfLE7#Q- z@PLr91E&cTMz^i)^>tBB)M&Q$E$o?T?1k4~AG|eVdH8sNQa#07OOs`q7Zgm}n z-H@Csl|y5%Zzh%|5A(decgWRqQYJQCUL}K~KP*G%uC#X@8j3QuMi?qffC=3--K(nA z6@dv`nW>8O4{~7v`B&rhn!oWj}QwwBi*JXxv|htgNSLtnp1+xYKP+I!Q%-g`g* znDipALo1#*cy4@is?$L*nz0@IQIpb1bO0(WyU6!E%F>L=c;9ur8&}q_6i#T~WC)M46RrQCoy}jaxUJFdJD$HHV3@El zk<|LxuC~X~s}bB(Jd4k~B;cqYpu-7P0?szv5xF3h00$ssFujb3Qjsd0;ZYH>9RA-vJwT~m+NM4AMBU_xG~b&-=u;Yn2loKIiUUNI5xvp zEX~OkBIB4d&1HX#(-e~Fqtu9&TrJOnHf&wy2mtR zUHs?*_$8kF$I|zXjRJp^O_xro7`Xq@F?f(I&KT({e{vodF&1U^@bDh8UgtWuaQ<9K z8_;6bGyX1&(%PxW)D2Ub{u&a%O@ZfSJ*L$95{Zsg zHXP*It9->j*Tpm8#%X4)TM&2Z8bMwJ+=Rk+sP0b*Qk2>p(3 zb>^4aUPsOy5{5qMAcux@LhK@am^Aw)W;QQHP)ZpGJ+K|*-icp^U>yUAp23ABW@fBP z%S~i@1^hXJ{KCq%tpWdHd&CiDuHn<{I?~ ziL*L#+OMf_8^fo#x>*macTo-R$|ui1rUUnc-=XsK5BXf`7`zy^H0=4hF67P%m_O$c zzm_)^=xq`ZDKv$7n@5I(b@=>ML`rhfzNl;OPcFIu2RXtigToruOOto@mp+WI_pS(@ z$mHsY%zW)LARM-g-E<4TavzC*`9)L(DFjes($Ea93^t%T=3J3D?MvmTVi~=ZL_F13 zJ%HNMLu&4=Cmj-0CT7Fk=bcgFj45#gm)N#&+*RsxokWJxJGL=B z50}#XjV0RobB&gvD&JBzs^?WkvitU~fP4))FTx@B1md*3&Rv=$j3C2K2F5@vDBpioOPpY$< zWIJnCrq1&t?&oG$ll2FU?}Sz>Q}HiMF~+gP7{&Cp=z$b8-OTJQn9Q{8t|@7_bs%mO z0NYE+utJqj=F~NGxNgM+E(LTehLqzQVTJL;+tzt??_QlBf0_hk*X94c(+gSHFV``DNo#G_KJV8f zmMCFDhY4IJi$ApFkH-RXU&CfKF4~@+?$S>#kp2KKHq!q0dnpBqFH^H`C{|Qt2RZ$qEZ=>IVo9r#b9HsRBu!;O^jblmCPoizE;wYQp z9pb@b@@3r0sqU3&K`U`p(%Qc+KZ37+i9h{hg_}tmi2qMJ=xU^lzrpn)?*iEk_F}tJ zMMA7Zig}eK!nh@}*c`4D2vXjRpaVRKRYbeJcd{t3K<&oO;cX){gVq0n^Kzy~AX{~$ zzCZ%~{8%V7a$*&Vc0$Dk7^TN;^@SDfSB+ubNWmV;l|$zRpG@s$An&SZzMf&_OKN-!V)m$Nq;^ z#@E&~*6XIkD*fHm;jg?@N@9+D$4sH>C`@7(GxKu#P7~8tSAw_D*q5k{${|lR?JT=j zSh`(v=nf&GZ)-U`*w8-_p9g1)YVq(P?29b@S!@;ODNFX;$x97euom-~dgFFBMU0NI zGSeiOVo^RkQgfD|^Fw`HHU{U(R~JBkza|rG`?(SIcp$X6qn-3HLHVRd9iMfdO^4WnRN8ISQ zhRiPt2WghExXpc>8FzUAzua|?vcfYVHflW~qiQyS{le*~ZoXI!KsPwClLWgWE2@qQ z$#%B#kL7g+G+$eWujM}jR!qBvY+2~Lt^vgft03EHj3^C7hKjc1M!d%(q%uA3O~5sr zfwoQJ%||+;AF^U%SNGvetpoLm&Yuh-JU+PT8`X}R>V!aomWgiBmdk?F7=D-AvxH9h z+q1ZiaGHaIOhI+rw93iPiE>#luNB%IVN~BBu_M=8)0!FGX{!V9UWVbfh1NaZ zxgz-0NOb=;%dWgE(h2*&ldK54KHHzbIuUma|0WH(*=HjkC@i$Vhn5dsWi0W`){oKu zP9gmzaxMO|+ii`{Dd3vWsw>w$Z-M#N;5fT3&4b~eY z4TeCaY*9NN71NI}=v&G0d)O_z1%m{+4P3KjTrMPq0pY!c#Oi0oW?$VFdY|<_4{By* zO%?RVd)pWJ?f_T6_Te50C_rEak7>gK5u}}dV?V1FIDVrjK-Tw{X=6F=z00auBsSEU zh|~TcF^lrWRVF@3_)s9jY07%UD@ ztY`;a7evtLVcbk3;iT;`IHo53bDn5$NpYnS4SW7@At!5z=*Mg8eVAk;DH=h>G<6}l8JZft+BSH#pD5F%+)4!SuU z25MPj4|pu(0ldx|X$H~Cclhl4n|SBKA^PsKwdhTdoYp4Xl|PAR7vZV=z=Q* zZ2x90W9||8$r5ufX!teNdw;S)DDOKT*00y-O;wh$((Da=)=novOXiNjQ7`m(aGZ1! zD`-gX;%QVz7pm?)TlP|ha!1hsIW)_z?%-MD9>Z7Fab>m4_GctBgI>pq~9)B z>R--n)fv?tak%b_6kmR@CwaMRZQfSs(V0Vazivi+QRWKh+Fw|axihd#<%pEBBc)js zs&Cx{LA|rCE;6@nr&!{_vdjI^?^{fhG6f|d25yX|59a6Lx%Bos_;o+WzC=pnI-Ii! zt<=7D)%;dJEHD^FbdlIJ1>=-gVH^5^OG-B%qdD&E6dZM@%!1aaw?Fh_($(8qrhKvB zDb0JE_f}y3OH6*&NgcJB?@TO1L-=dgP*)wGn~9iWFWBuHfht2@Db4z_KAiun$1p>Zd_g94Eqp!4{BP??l%Lcaj zPR^wKQ2C`p9(yqEBFXw$YT#we-}-C3#De+voRQ6SFud`h$3h*Kb?lSEOW*qB$MA9X zh&AUZ&=Qb*Daxd9tQ|FGbBP1#s>=nQGYg^ZIgzMM9$8f(m z8vu>Q_mc>LEcS^4A@-Lbvv<&;hi%Blr-f6sknBRyQQI)W#{+Kj$ zL{1m{efMpWrZM3sQFX_S1Lp+ND|t*Wf1B(Ax_J}x@_CriIQx$gm2dx#3lQ;YXg>D% zC=6eIETVq$B4O-xVhB33$=rmp`~FXLxCW$_T?5``iP{pvby9;W`e1%u>D$q4k0 z3-W47*@52+ttEyTe|LgQD=YV_u`8Oc=fiU< zm}qy?3yLQjxH$0@v(*Sae?N$7Hx=m7p~?1y@>LI-JWQAWy=!xOZT2@a@!hj+vv%Xq zR@cP>?dEUwe;llk^j9^Se_`Mduxn<-tMC0jF1&|73jQpUy1>7?3zySkI1orxlG#ru znZVu@oiF8reDgSe=41#M{8auvk5*BIAxO7W=0V8IU>c#&o6>|UwUAXk6VrqW^4+o6 z)(D%b%V7fD;kO%@d>NvYu-90=z0L!;&0M~uC)udQ2-NH!mfNYVIo-J^zwSS|_oWVF z61j-re;>n3?IP5^R}_2lRbl00*#+c|^f2fxj^pThU9?SNn@a+HnO0ZN8^9rJ zA5>z+yzVS{ne#?WJhq;Vj|;;q1;58z`Cox6Y>&2bf+Y7@14o{=KiCU4%*yM%eFaa{ z_yH|f^SY!+u9RBpC~*6Qxcxo-v-$VBWNlo9$6d!jWc?kYQR9AH8R3G4s>Ay`97i2Q zvutg>95R ztFffcuP=w;AOnG@mkN)cv|HA=oUOa~++~q|dvpc1x|K3rHh+*ljv{tZnR2|O`h!#M z`R1%X!GQxO*52`l4eKsg2v&~`sFt&;5^mrm_|7AkO7_o3Tq->2h7zOY5$*BE9IM4e zy5k~{spxwN2*3Yv*yq-K))5Ppmfu)zvk!^oE)cmjbj!AP+a_Y1%TY1-T-RC$>6@67 zzFM+gDsSnP4?CeOyKawyzf{!6EgP>3%8oqIn{b8^cXB!2Tgk(v`Fj~XiLP~o#>h`j zD8qh#j3l4 zCAdQP4)`|_jyxiuzjzn&wS6DP!_synh5OA?c~1TCRi=2UQzyBq2cJc8B(%Rz3p+Qr z-SNy`YvnmBpw$h|tOGzWHzomQCDmks=h7+@Uz<;Kk(=vb^zTrJnW-1L(uZ-^T0Z`@ zyqF7%m%DUmh9W}6wbCjD zyvhW(2#ASwm*Ur???LepiB?Ho^o0fOF0$lPSG47{)apr;!9rqF91`)Kgt|cZUR;9A zc;dOK%i-OnqUN4{0N?#u9A}Td?3`w)mv`%Wsg0aRP|fl|a<<5NtC_VV#}u%E zf<*rn#w&oWd0vpEGRACGKOGEhTl6X&zDzI7qF-1vcU{8h|M5Y_>le*#BYNZU{lImB ze$it2@E4G84SQ>1%G8NLf?e)SXr6q`m4o(7NJ+DGJc+k~+PU!c{bpIBFq1ciM3`>- zt7Vz=b^oPV5^)o!eIDm%kfv4ouj8LM1-#eN23y8MKHE?DuQhrb zYf?Fe^pGTEeepC^3cej>j;YLP0TvEJJ$du56+@jLCawmJ6@TNWn)(m6v}(Xqn&QRB zoekp9ygzT<%feS5o&RuKS-!1Fb*;vC`BpO#KdL9Vk>+fwylsL^yfc9B^yVi7`fS*L z=9Ed#tZsR3tNZS&IbcF(Mq^x|1 z&`4-fi3t4OQS>m^eT{dKT&@<{{$VuaQUs{otxKDNd@psBk8ZpNZ5(76K1%38Dr8dD zSa(T+9Q%N?3S&12@ZvuzL0QcBSIV#(8%99iF2WId4-FV6i={ zVw$yL_>C`xL%y6ia*->gsZ&s2x18|`5?=|>DYI(r<~OeX%9;@fIc=hCJeC3(*q79f z@;#pa5hBdxcYLR3P|x>GCKj6Evvf8p@z0xv58`$3@Sw}3$)3Fidqr2ymVZpXx@Fu} zbzd8@6YKuSSTgIiKuu=l1k)+1n91dvG~@VU?sg3M{<&97FSgY@*f9pI#wU)ym>#>VgjdC%k?a&Rt3k^GcNFEe&hrI2M#y&9*bjZN4p`2U|Tk5wZqG$ zo!IvwP1A`#?^FAl@!!tKTO19nX!=y=0`P+IXs*acE1v(*5n8_C#Z?r{96@N+BXKID zCeYi<=*<&s@RrhXl=CWmr!u~Trrm2sqexeXH8IPZtIEyi*GKL1#+amlA59u9PXY8x z|GLZQae{&;0(T=qUT^P)JwHujCkTD$Fl9$zw>W>4vQopA=wDr*ytc9ACvF^rStQG) z#VK6MZ)sd>-9%&z=7{OM+XM1E#o0XdxvUs-tDhNa{SlOwK>q`O2et|N|Frkke@%b! z|F_~05D7sr=#o?fL~?|Hqf6-yK|pf!2pK9!hjdEk2GTG>5Jx#i3yhW;?dbCR;(J}6 z&-LT=54?ZeZMWTCXXka!^E~7Jc%B(SoAn}Z;p@yF*(!4xIuS>|$5aX0QWp}3mNS^m zJ?V@W=LT2%}WiFoEKs%?u{>!gXf4V5fDr0_d$mhhQ2f^G#oEVTQ$dWJ*&=yMt4 zUC%!X6KB&GHJegGlW)G$8C9y*&D`<16XRNbp(nA}$zkd;r@BNQ{LuXqS=-X#sCSp4 z@B|mUGs9a1h_YR_TW55SL}0etlv>yZmRZ`YL1}%gy9-X%F4l>*<4VTS67bfr;a=-zd{l zHJE-_8L;K;b8ClM`~ zYh4U=Q>y108RTsVt^zJohB=4Pgags#>h68P>o#5pa5;y;dg5JApw>QjTd3~na2pKQ zE{YtMnftQxwf?l&1J=lWM7?|2_xc>Vz@a#!iUsRf09nDChyL7ef~ZclGefu=t-Qqs zwj8@nkjli<)FI`9-|z$edj7GSpZ8N)B&r~!&E`T~4iuCwv&+kQ=#Ty{f3_Cq#{L*& z_fP!dM%>Pz6PsF;XE(o9QV5~>K% z{6NtELP(M&6UthC`7)h6ChmRdgYUZ5Hf1K{%?8&Gn7Q!u*^4}+D*BduG0pX+?o!i0 zQKzkIXvZnFYOHBLx=6J???vHuB`o+8Ij>vj!HA|UB;8Tar0OVZS(SaQoWgxpoaJG! z=2mRGqnWLh^YPZ*eF1Q%y#Qd8A7B5wcb`b192)2<7$6wvWJZkZ;NwxpR+CtSK>V~# zlSrg>ovoGZ?{RWfh<>I282x6sdMi`Owkcg;cK&13FHg^{fy`%fZ9KmW5dEi;sEUcj zUpo?H{w^>)KZW~@^LO{QlKzV@u2Lo;)RYiehm3zP`+Hmd#Uq#!E|NsipKfqr*D~DF z`ir#r(RMri$-GTo3o-x4ivW~Qe^Omt|Dt(`+SxK@{>L@6fEZ&b3s}g~8f{wxt8Rv( zw)hMri?`|gZ#)+zf|VnK!4DISRjrp7czuFur7c@XpJ3{MJ#3QXSvK z*)rcyU%Ba^an&S~TWVLEq{p?}nMSL(z^}yi*rWghEfo|X86o!vAMk^3=F?iLq8XW_ ze#q0Im1=gX`k}j?hAgLB;nWAF#9)XHy6hgtr7D3ZtfAYpwe*qNWs^s0HQSn>DMLT7 zruf4DtdMygf7Jdq7HIayVHZ9<|Cgw{W5nDj>|AYU83x-Zx`$$Uo(#{13|2>d0n9IN z$lf6c^s)luMb?BI*4e$U$OMn+aTE7(d1D-#d48YYvo(vF8{b6kkIB0%;BfIVajdgf zLMw_H9hch!K`@tbuc-DQ9$w3g(nP(YX9pa(*1*$_j~8bLYKBb{Ac=_#vAQvl-}$jo z@5SyW&WP8}xcxD)Ougc+(W|WIf4SgYJchM@$pN19e$M4<5-~fcL4xWCz7Mp0aS2i0|%#!1x(EI=qW>bbW??HKE~p+ih|SA?lR%e zuKdNKn_r!Te*P$hetps(%QoN!!Hsa!8a?dDJ}dsi}+dEyG*>$(SV(BVha2 zBrHL@K)MJFx=nS^p-|?zJbI{v+ugIA77#$jeL5UW7Mx zDd~66Y)!H+<%(6F(d3(_Jwz!H1(u5M{dTj3{?+DQ>K`neu z`|i2vy;-e*GVuB%wln9%6#sJ!QF7Z(ygi0h#0Y~V+1QYpWGgIH{an^ZrC2@fQFt(a z-5pbp0=p=}M&j2!{dUQB4fgmxIws>b0Mf*>zA%Q=52b8*H8R@w(zM7Plw=N;j|th^ zs5_{Ey&zzL%$TFnwwZrUbMcE=?`_w!p%rWPoM>1fLVrSZ?pX{cADgD@C9|l0!&msM zR#I7OFO_ep$-(pQH)(P_3xdXIv*XGMt8Bb_BbUBWsk^FJq(iA&Cn@I$xA`49JD|eY zAyl7rxx4My_Lr=VZjlLGqfV4qPl3t-2?GS0JqV4yO{7|)U$A8VwXg5y%JgX^`H=aD z5&83+epY-F>1iKe6C`s{2=E>$RGgsL>X!)k6%2cfKOf`yW*p3nS2cTvHTum*pP%P< z&sel}3L#w+#@Y15(ihE981k92UmK)-G&sVM&9{~(?|nrW%RNhYSnubU&HqA#{z$#? z{f{goxq01Z`(DCvcXbpQFeWW(?@|k5S|{dSoi99_igSHgX{vLRgs$>OkryspYnP4< zK^{tJzw^6I8%AmGRRr9bZuJQCWrTW-G%C&Tv^NKvIi8sbMluRa%6b`%k4x)#QVOaN zu&ozyW#au5+(3Mzz&G*S$0HZwwW4Y!>7v!G+@Kov@X?yVsO>sM*U&;T%d~_@OcmmL z`NcznWiER+KpPz*;1&hELz@r%c_P$?@|wF!?t&eP>8|SDqeVGyxw=)sHM!{Y-;nA( zjoqFn#h4CA>O40m-fgx^=*bLsl4|$US5yeMF`ep0QYR~oqkKf6%nq`Ws99Zh;gR9jJ`~lQr`-%7t%$zpEkUVZr$sF92ERe517Tic=!bYb(%y zN5V?UeO_Tq?*`QVhGlko4!d4n0!5K*W9-G!+kB19{D*(Y3L|Ll*~4?*mmJM*?VoYF z2Q_4D9II{-_cf zd2zgHHP{7Xx+L}5T$rl|`>N5%TY!1$IM4+R;9~f%KMxb0>xKG>kZ}SYnHDC(M>F*r zsKC8p)vERI)cZW>Z%Ols`Q#1YoEae1(GpnGe{`rr@sx2Tuk%}s$*93Y;iH5xW!d-m z%eql{!jeW5NTL8Jry&1k3d<@zu@Gw)w=v zwfK}#e#wA!1=1}(^3zb-195qlYF#bPHK1I)s%(6D_HSxk`{cUfT`JmIpYd6-G49X3 zKsTvl6Vm9Gh3Q*>akJh?L45e}r_-{Uy$g=y?9v;sza>%v)Q-adCy|`JC_)SrHtylB z2LyT$>E~s?#wsX+<8%3uP7oY9iSWl14b|(5pIhfl1uYtN>@<|18TTdwUf@O|`8pq> zetKCx@IpviMz0a%4W~5>m}o;A4OXOQDrO>U{yh-n_&bfSPLGJ(X79xHYBur$1z|iy zi^uBcpZv)R<((TYbLW&S5lvD=njS%8aW|NX0z_2Qei{>mXm~yVNrJqt0W)i7xc_E1;0>Cr}t_hPNRv(v6bMFQITrnynvsTuY6vUjrQ0!iGa z7~l9|(8*+|#FUOu4!895^j4gW1wP<7eLwr1${Sa3%ZXWcl|^26~oWvWF0Dk$!7q&I%GeRGD|O>5<_>|k4h!bc}3)Q2zdKZ&?k!|0(MPga;v3f zC`}Ozgu{8}EoJ5GpD4^;-W4b930ZCVcK$no#;f9;l|N==pArfy@tyKq9j6@zx0dLm z#Mw*OQCY^!fq8OdTX~jx4CzAyMVc!$cZ8O_{72eGruT?Tb4>O4p-(NEil31C?1U3y z3}CO6<`Y{(^D2pYciBVCGyyudU&>9tJjZynhO}7_&u8DHc~Ba{02$T9VReUo@(m(* zp>7-J2~(~=Wyz6D%cx`&2~?~h%zp(Sofw-sOce6Ov`2tI|G6N)yekg;)5fe#tl8L^ zBqla3ukDps@SC8~J?p`ZNS(O^s%NuJPQXs~ah|ANEL8-T=Z0B5SKo{jt9{K3ZEc8> z6KzF1!GCWV@*6f(qW6gqk@hyN>8ldWf6fq?JYi%2UzE z?NZ#YErui2@{ib}g~_=UBoKl~&hE$9_)Bt3{{ERN_(Sr^SqJR=;$XY`<-b^t&}nTf zdR$4s*B?l36c-B`CPsm1J~vn9A_bHiU`AV_$N&p7{DJDe#9DOyEzRL3?W976>EWQ; zL)(1cK442$7Y34Mt)3V_rPQ~I?-efWWS|Q@^iC%8h1=Lx{l1Kt8d_Mts7)JQ3bav~ z|53E~Z6c?TabmP?jBX>=+o?`|ne?ep{*#*@iSXZEITV4to=GV1&^uc{<;mDO zCN%Kv&Z=^)54B|P`-`v6(u#C32r%=x4-$Xy@hWt8((q?_n%A`s-6bz)=X*-Q_^&y8 zRZ5|0>X0)hNB0UR+q$pM4-PTZ8Dw93`Q=&NttjE@Fg>qAwz~YD`(cWFbV)@c&;%1T zXZYY4j=9N|xmzmiEwp(pxN z*tpXY&(y)7Y>5JPeJazkpM2rr3j%MH#1OL`0AP0(5Ajj5JQ_ zcbyf{9euTvgA@p7%`ScLI&DJfnx04h*6D^T1j zN!_f3W?Q^S%`HzlE#jvu4Tm+Co-=#iKCWJM5VS-Qk~njL4I)9Ws$!`;`VW)Tx5ajX zY8Sbei-P?Qg+^DN{|Y? z;tb6<|2FCY>`2qvs(C{7g}kN8BR%_-*QN*Nu9$mHf`Lyud&gZ6yv1S_1Jz+Mtq0oj zkT19 ze0Lp_`vAGgE9XxiG^`SMFvfrt`~efQ`n=$~^0;M88DX^bOaoOPg13jGS^T5-=Z| zt#Q(u*gGz-=XQ700HKX}go`al9;w_Y+rX5>V|{F3tT&@p##{p;+g%V7xg@Rj=b>w1 z>gm+``P=C!cjg$)SDrQuvU&UB=;$F}d{F9CgCu){GdU5iNA;J~3SE@Psw_*&w&;CH zQLmORW@UjjaBw?J8>>^$=hZf(3#X7LF@bh2`E{O|Fre}3wFzqI>bRK~fcZ4>k2n}m zw}gz^=&uFw7%=i~m{*i?nC+^E-8;b5JWhxNIkjE^qDt$gB`W31IZGIv@RB^&3W9r9 zvMHSAp!w*ZRo=D3s16x;QgR>kUVo{%dq;mxYV zEtSk6=Yd^kV5%Pip`fBH0AHAbg&*{Pd{6I{S@DCyIxExnb0N{3AF_SuTv8(MP7 z7k!i&xHF{(@L5!iR2-AW8}F{ptOp~*QL3{hG{CAz@Z`)8N|)Q|t-pr_*}dyRAw;76 zxInRSek;@XAW*n_L68$i%LxNz;9;ogt0MrY@XV*xN8O)zNByDxUt5 z*BtP4-bmgxk{0%ILnA5|$iR$ylWeK3yfea>MSu(**c}l3k$HL9#Y7LF3tO&$4Y9+A z8}A?;vNqe9(?ZBtnZzwJErNDGsU6LtJhOoaUCD}K+lu#}$6;fvssmnu7|T4}y~Byn zlm%4E#&fw{a8a(sG(CFHx|gbEBC)K>Rsc5oK|KS{rt2mtr>1hkrwnf4X{wzEf%-FI z4Pt|m-rpT}J2}r*bbetqJ;KCz?QEPoX0I*bSTEN?+@ar zSS0E`$56yAx%`B(#sz-Ic3;IFg-q{EAp_cLiq*97;|h9SuQlGh$j`N3yDjsAi1`W{ z>wHIjzb2RCu0y5-3&xk*<*iDK*@JK`8IXlki_(^c0x0Qy^EwmmoA|I&H08+mEq{Pa z$bj3tcS2eu_Z>JbXl2QFX3zm7rf!U@GM7oY-YFb$*d^A&_v+!{(U>CJz($Y)5(|}l z{FI^nTD`|jz~QjZO`KE&dCDv6Y(6NK$V-l5Jj8lQ4wi6N5jnSglaho^rh$hgeLBMp zSChi2YiA-!3Ut#F@xOxHGIVt22m1EAIv$DFWEV^VAWWs&1p)}6Ul#)5y5tduf?0S; zPFf=770H)W*vWirhmg6c_pVV&UyTN&b+--g-2h}-P^`#P!@*zN3mq_J%ZMuvs6@mt zNr(oR2krW?g8sGoNjTb5!|qSU1O3 z`9`@bSHGo6eGaTQhmAYq_R=7rabE)!M6`dDnhOh#pMKHzYPE;yA7j(bMV76sS=!XZ zITlF|8M6j41&gxc&jNJNs%D>0@{H4LxG32WX3Kr2g=KsP$bZyC1`qcn|2=I0dcnkt726vpCXet-+-M|GUen z0}h6zVpYXKL({L&s*L=*8`(Sl)|WJ0n@C1n+$}mvmuES}45O$F(3NUXg554uZju`be#oFhy7=BoUl!<=+Tuh|S7Oc>!V2-?xKru&nG#-ls}J9uOH_a~1ps+0bgEOaBP zVO>*IpD2X+tE?PV!WJd^%4Jm0ikZ=9p^mLEcSfw+Jh^y>)teYr;f<7)uGm@tU)a9} zY(7Q6hx+__4$e~0Y|9>ZXvKAvQF2Rgn)fOU=mfF4NG&3y z!ls3N(1*FXVc|{2Nd}5|AGV`_@RC>98VVU1C8Db~-i-7$3LUa&vlbt{ZmI?{;n3q{ zOqN+1Oh@rqO~q>h^?t<;B@7W96o3xcCi8dF#)evN7t4-Oy2Y=K@~-(E()Xvk1MdPr zQfht&gp=n*iw-`2MczX5x9c(8G1oKN)W=u{T2EQEOz8N!*85MO3x7r>6MT+{0i|29 ziSWJOf>hw*%gu+aIA`?j9PaBmS8`RW=Vb3H)pllLXuO$P1t>o}M^3m_#zK04?oc%Q z(QgFb{*vEp8QjU;HNawwK;QOWR8x}q7v@P%8MGl00~_IkGJnojQr<>Lc1|v`Fr6l$ z$L$EkJ^HJFbTOMnExDF~Ozt-e@-x(1XKK|)|7$aEARE%4;BV)b6|c-2ki7U3MSi}! z6>QnQ4tL-#sr?2!rE0A*t4bDKG66L5b0&$ib_RHEgD-2aYFxg;0O0jDb2=TtuG<+` zG7o;;`8h|qA?*cB?W+l{3T-yfbK`G^$uYH-pMs~REg;^te)pWBtq?d7Orlhuqx z^WX05nR65ID{O-Q&N>5o%8F|8)`O31&#Y{tO`<%dKR7V&C~SH^GOlK*4@d_AB4|l8 z5m{8E96iA=+5R2A{Tu5+i{@?8LrwSZAR#F@__%N3S#deq(b1LBI_uA~@534cnRX-5 z0m-0IPgIy`Gzz%WJWj&%;hxc41m>`O(cC7 z`h%}Gd6NHVw7?wMV>tJK-S}NkB5!%-jNH(f>hi>E&_{2- zg*$tEFpUxR&A);zy2ZHbt1~)0Ln*PN;)=pOCAB<5LoCHePsf`*w~vGi)A9o6PY{if zUZtCrDjQ$%Se^Q-R9X9mH%y_|d7kH9va@qQu8}a%h66bNBq)_FO+ntFx%pdH_^&h9 zlyYE%8&dpJ5lzJhPW$g1(^LkE#BeedmmAeNEunj5KSe75v7O=-oAxfQqmguzULLZ4 zh<1PNY@Xa!DU}*!_a)cKo56V@&~M>+1$r>9iucn z@wsAiZHd#U=E0<&W-&eH1uvJC0ImLGz-WvN(^f!ENWUmyyYeQMnJN(ht%LOO9Y286 ziaRD#F!KSCF;EYo5cBIIkh0vmkQ8zItxdxkf&#uLJnH+aEJrIY!p&r>IsH$QPVW~A zs9xK`TG%OUd6yhhY(4?a^+___tEP&7jv*lr$9)FD&8z2epc=KL7v# literal 0 HcmV?d00001 diff --git a/test/image/mocks/gl3d_marker_symbols.json b/test/image/mocks/gl3d_marker_symbols.json new file mode 100644 index 00000000000..1fec9a7d38a --- /dev/null +++ b/test/image/mocks/gl3d_marker_symbols.json @@ -0,0 +1,163 @@ +{ + "data": [ + { + "type": "scatter3d", + "x": [1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7], + "y": [1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5], + "z": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + "mode": "markers", + "text": [ + "marker symbol: 'circle'", + "marker symbol: 'circle-open'", + "marker symbol: 'square'", + "marker symbol: 'square-open'", + "marker symbol: 'diamond'", + "marker symbol: 'diamond-open'", + "marker symbol: 'cross'", + "marker symbol: 'x'", + "marker symbol: 'triangle-up'", + "marker symbol: 'triangle-up-open'", + "marker symbol: 'triangle-down'", + "marker symbol: 'triangle-down-open'", + "marker symbol: 'triangle-left'", + "marker symbol: 'triangle-left-open'", + "marker symbol: 'triangle-right'", + "marker symbol: 'triangle-right-open'", + "marker symbol: 'triangle-ne'", + "marker symbol: 'triangle-ne-open'", + "marker symbol: 'triangle-nw'", + "marker symbol: 'triangle-nw-open'", + "marker symbol: 'triangle-se'", + "marker symbol: 'triangle-se-open'", + "marker symbol: 'triangle-sw'", + "marker symbol: 'triangle-sw-open'", + "marker symbol: 'pentagon'", + "marker symbol: 'pentagon-open'", + "marker symbol: 'hexagon'", + "marker symbol: 'hexagon-open'", + "marker symbol: 'hexagon2'", + "marker symbol: 'star'", + "marker symbol: 'star-open'", + "marker symbol: 'hexagram'", + "marker symbol: 'diamond-tall'", + "marker symbol: 'diamond-tall-open'", + "marker symbol: 'hourglass'", + "marker symbol: 'hourglass-open'", + "marker symbol: 'bowtie'", + "marker symbol: 'bowtie-open'", + "marker symbol: 'circle-cross'", + "marker symbol: 'circle-x'", + "marker symbol: 'square-cross'", + "marker symbol: 'square-x'", + "marker symbol: 'asterisk'" + ], + "marker": { + "color": "blue", + "size": 8, + "symbol": [ + "circle", + "circle-open", + "square", + "square-open", + "diamond", + "diamond-open", + "cross", + "x", + "triangle-up", + "triangle-up-open", + "triangle-down", + "triangle-down-open", + "triangle-left", + "triangle-left-open", + "triangle-right", + "triangle-right-open", + "triangle-ne", + "triangle-ne-open", + "triangle-nw", + "triangle-nw-open", + "triangle-se", + "triangle-se-open", + "triangle-sw", + "triangle-sw-open", + "pentagon", + "pentagon-open", + "hexagon", + "hexagon-open", + "hexagon2", + "star", + "star-open", + "hexagram", + "diamond-tall", + "diamond-tall-open", + "hourglass", + "hourglass-open", + "bowtie", + "bowtie-open", + "circle-cross", + "circle-x", + "square-cross", + "square-x", + "asterisk" + ], + "line": { + "color": "orange", + "width": 1.5 + } + } + } + ], + "layout": { + "width": 500, + "height": 500, + "scene": { + "camera": { + "eye": { + "x": 0.1, + "y": 0.1, + "z": 2.1 + } + }, + "xaxis": { + "showgrid": false, + "zeroline": false, + "showline": false, + "showticklabels": false, + "title": "", + "range": [0, 10] + }, + "yaxis": { + "showgrid": false, + "zeroline": false, + "showline": false, + "showticklabels": false, + "title": "", + "range": [0, 6] + }, + "zaxis": { + "showgrid": false, + "zeroline": false, + "showline": false, + "showticklabels": false, + "title": "", + "range": [0, 2] + } + }, + "annotations": [ + { + "x": 0.5, + "y": 1, + "xref": "paper", + "yref": "paper", + "text": "Add 100 (or '-open') to marker number (or string) to remove the fill color,
Add 200 (or '-dot') to marker number (or string) to add a dot in the middle,
Add 300 (or '-open-dot', 'dot-open') to marker number (or string) for both.", + "font": { + "size": 10 + }, + "align": "left", + "showarrow": false, + "xanchor": "center", + "yanchor": "bottom" + } + ], + "hovermode": "closest" + } +}