From 3c4b060aba9d620bf6b55d89bb6d427896818d71 Mon Sep 17 00:00:00 2001
From: Thomas <thomas.musset@pasteur.fr>
Date: Fri, 28 Jun 2024 16:39:19 +0200
Subject: [PATCH] updated pom to v2.0.0-a.1, fix classes accordingly to new
 architecture, added icon, updated .gitignore

---
 .gitignore                                    |  43 ++++++++++++++++--
 pom.xml                                       |  12 ++---
 .../lagache/spherevtk/DrawSpheresVTK.java     |  19 ++++----
 .../plugins/lagache/spherevtk/SphereVTK.java  |  14 +++---
 src/main/resources/3d-spheres-vtk.png         | Bin 0 -> 12574 bytes
 5 files changed, 57 insertions(+), 31 deletions(-)
 create mode 100644 src/main/resources/3d-spheres-vtk.png

diff --git a/.gitignore b/.gitignore
index a82d509..57f16fb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,41 @@
-.idea/
+/build*
+/workspace
+setting.xml
+release/
 target/
-.settings/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+icy.log
+
+### IntelliJ IDEA ###
+.idea/
+*.iws
 *.iml
-.project
+*.ipr
+
+### Eclipse ###
+.apt_generated
 .classpath
-export.jardesc
-**/.DS_Store
\ No newline at end of file
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
+
+### Mac OS ###
+**/.DS_Store
+Icon?
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 61a58cf..f03f7ad 100644
--- a/pom.xml
+++ b/pom.xml
@@ -8,14 +8,12 @@
     <parent>
         <groupId>org.bioimageanalysis.icy</groupId>
         <artifactId>pom-icy</artifactId>
-        <version>2.2.0</version>
+        <version>3.0.0-a.1</version>
     </parent>
 
     <!-- Project Information -->
     <artifactId>3d-spheres-vtk</artifactId>
-    <version>2.0.0</version>
-
-    <packaging>jar</packaging>
+    <version>2.0.0-a.1</version>
 
     <name>Draw 3D Spheres with VTK.</name>
     <description>
@@ -71,9 +69,8 @@
     <dependencies>
         <dependency>
             <groupId>org.bioimageanalysis.icy</groupId>
-            <artifactId>icy-vtk</artifactId>
+            <artifactId>ezplug</artifactId>
         </dependency>
-
         <dependency>
             <groupId>org.bioimageanalysis.icy</groupId>
             <artifactId>protocols</artifactId>
@@ -84,8 +81,7 @@
     <repositories>
         <repository>
             <id>icy</id>
-            <name>Icy's Nexus</name>
-            <url>https://icy-nexus.pasteur.fr/repository/Icy/</url>
+            <url>https://nexus-icy.pasteur.cloud/repository/icy/</url>
         </repository>
     </repositories>
 </project>
diff --git a/src/main/java/plugins/lagache/spherevtk/DrawSpheresVTK.java b/src/main/java/plugins/lagache/spherevtk/DrawSpheresVTK.java
index b20e0ef..67973a9 100644
--- a/src/main/java/plugins/lagache/spherevtk/DrawSpheresVTK.java
+++ b/src/main/java/plugins/lagache/spherevtk/DrawSpheresVTK.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010-2023. Institut Pasteur.
+ * Copyright (c) 2010-2024. Institut Pasteur.
  *
  * This file is part of Icy.
  * Icy is free software: you can redistribute it and/or modify
@@ -18,7 +18,10 @@
 
 package plugins.lagache.spherevtk;
 
-import icy.plugin.abstract_.Plugin;
+import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin;
+import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginIcon;
+import org.bioimageanalysis.icy.extension.plugin.annotation_.IcyPluginName;
+import org.jetbrains.annotations.NotNull;
 import plugins.adufour.blocks.lang.Block;
 import plugins.adufour.blocks.util.VarList;
 import plugins.adufour.vars.lang.*;
@@ -28,8 +31,9 @@ import java.awt.*;
 /**
  * Colocalisation with Ripley function K Significant
  */
+@IcyPluginName("Draw Spheres VTK")
+@IcyPluginIcon(path = "/3d-spheres-vtk.png")
 public class DrawSpheresVTK extends Plugin implements Block {
-
     VarSequence input_sequence = new VarSequence("Input sequence", null);
     VarDoubleArrayNative x = new VarDoubleArrayNative("x", null);
     VarDoubleArrayNative y = new VarDoubleArrayNative("y", null);
@@ -39,8 +43,7 @@ public class DrawSpheresVTK extends Plugin implements Block {
     VarDouble size = new VarDouble("Size", 1.0);
 
     @Override
-    public void declareInput(final VarList inputMap) {
-
+    public void declareInput(final @NotNull VarList inputMap) {
         inputMap.add("Input Sequence", input_sequence);
         inputMap.add("x", x);
         inputMap.add("y", y);
@@ -56,13 +59,7 @@ public class DrawSpheresVTK extends Plugin implements Block {
 
     @Override
     public void run() {
-
         // Add the cross overlay, it becomes active after being added.
         input_sequence.getValue().addOverlay(new SphereVTK(x.getValue(), y.getValue(), z.getValue(), size.getValue(), color.getValue(), name.getValue()));
     }
-
 }
-		
-	
-
-	
\ No newline at end of file
diff --git a/src/main/java/plugins/lagache/spherevtk/SphereVTK.java b/src/main/java/plugins/lagache/spherevtk/SphereVTK.java
index 639a95a..b091f6a 100644
--- a/src/main/java/plugins/lagache/spherevtk/SphereVTK.java
+++ b/src/main/java/plugins/lagache/spherevtk/SphereVTK.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010-2023. Institut Pasteur.
+ * Copyright (c) 2010-2024. Institut Pasteur.
  *
  * This file is part of Icy.
  * Icy is free software: you can redistribute it and/or modify
@@ -18,17 +18,17 @@
 
 package plugins.lagache.spherevtk;
 
-import icy.canvas.IcyCanvas;
-import icy.painter.Overlay;
-import icy.painter.VtkPainter;
-import icy.sequence.Sequence;
-import plugins.kernel.canvas.VtkCanvas;
+import org.bioimageanalysis.icy.gui.canvas.IcyCanvas;
+import org.bioimageanalysis.icy.gui.canvas.VtkCanvas;
+import org.bioimageanalysis.icy.model.overlay.Overlay;
+import org.bioimageanalysis.icy.model.overlay.VtkPainter;
+import org.bioimageanalysis.icy.model.sequence.Sequence;
 import vtk.*;
 
 import java.awt.*;
 
 /**
- * @author stephane
+ * @author Stephane Dallongeville
  */
 public class SphereVTK extends Overlay implements VtkPainter {
     double[] x, y, z;
diff --git a/src/main/resources/3d-spheres-vtk.png b/src/main/resources/3d-spheres-vtk.png
new file mode 100644
index 0000000000000000000000000000000000000000..82d017bfb74869f405307890198e38bdf77cc94b
GIT binary patch
literal 12574
zcmV+(G2zaMP)<h;3K|Lk000e1NJLTq003YB003YJ0ssI2ZTjGE001!MNkl<Zc$}QQ
z`;#O`awg^;@64>K?wJ7w80>;aQcIp_luWYwMSrmV51C{pvoldL^6bc4au)=!3t%wM
ze$+EF<KZrgh|GF)_h5Of4Xdp#R8?kv>EZtQ=N>T%{`da_v;=EFDv%PS$j^uX3<7}}
z5(6=W2;PGaV!P+Vp0}G9-~aUW-~V&>-+m{;HX#xO*U|N}w7N>GC9jrgxk{}|*0OVC
zb+Rg28>9rGgp?=|P=FA~j7&g;F~R6%3?d~Ff=p3#U3~fZ@Zwoeiiz?`5d#rWLLZd(
z(vRw{U)}DnZVt^4{qx`NzWjFk*$z8g7;l=v>Y#NnhNWNx5(*iRNhG$TH$&g_!?WA{
z^B*?N_Zt~Ufl=}3VO+y*5B&>>&jA#q07w~&>EHtDxd5I4l)y&}5n?1i!fprmYq{Ct
z=z#(9=TLxRpAH*Nkz*nhLTN@|qWlRa$Uh}O5(p|c0s)aTK!ik?NcbQQ2Q>^*2ym8c
z6Rjl#451*%SOH2IATfIB2jNHD59a-_`l-Kq8=h^&a&+CO8fuKUO)xrXO-6&1T<!*N
zJ_}+B%8*u38v#lO38>7+z25Cq7$ILU=SQ{?P%sSnd{Y8dEJze10x@C41+|oKE{`LO
z9`5esyLaaO`{w5xx!Gg>9VI{@OY(8!F|2WMpcI&s7&~PR4+A;N#*(w7B+EQVV8#sv
z6o9hTj9zUvYPVBuOJ9D`Uv;syL<tYQ%y$a%7b=u7iD5LuK@5Zbd0hR={?)(izq}W#
z!FKC*(OVa+NzQ@RpfnVK03`@f?p6Muj|3q=jN^6hU-aFd9iDxE`{J9o{Jt-^i1I;5
z8K8X+N<xZf07)okQ*4^@ElULZ18jD%*|xX$S06vRj~|*38{CgT+0uZs5ivjn@BrhU
z4+^$2MW0V^uxvCN!`2pb6iJm(Oh+hFxqLT@!$FRtP>N%e95E`4*>LNHA+tz%CSnL;
z@4M~L?!0>)KYtURz2#?XTqWxcZR@RLW5C%7AYB0}uH*P1f<TaBu<m2q-Y(jhaJd`g
zdWa(<2n|tyXJ7?=Uo0qsJ_o2i5K{soPAu>4yC2?mKfYbuZ0zBn*IT(A)G*{Lt7ztD
zDG@BAj1ac4i|kc4M`KVbmLeZPSdxn%T|~jz`#`=gjbUx5%yKp+=?oAaMiq(kk7B+H
z+0a;qfa8ecAnsH9A%6BDTz$mnAMko-7YEy>#`&gU>mUPEEl529P`&YykrHde){xP+
zk=s5zXJOu1wYgD4)C`QIV86?t1aksNm77~kjY9%X5UKfa`^9%ZKL3|LsLehS!w>~0
z2@#7Enhy(x73R4P$>YJ}06a}snT<puqDx|hVu2`#V)oF^@oLH4f{HT*t63n9qg-#T
zE`CD_rhF|J2}iGn9{XN=<nA>-e@&ln^!2V?4Ymo5P0q1vz}g&h>?J_wH-2_z+4C!f
zI)7#$d<`(H>}TKW)i-3vUU6hd3U2T7H?5ukk`jgFYJ`cvM+iyzu=@FC`TD*7@DXFL
zQDxtBvK&!g&VDQ7o3iJ}`kDNH35zcW+#?QF>@z?qdtY=d(7<UR>oPiQIA|F6Ij9zN
z@^hXLOg{2RYV^7f>PD{K>eV}Zwo|K7w!LdY<1#4DWq^#y&(jpE*QG81D!w}Zu2yU`
zctareS`1FZAzZ&%n~#=BMgV0#yl17z8q%6oMw-hRVN5bc+xvDiHuuBw{nor+a}3$;
zn6O+sPS#UFV4M(}-XuKzxA}93EFl5y1t2qJ3-Sr}9@08rh>@J9VWt@<3euHvL`ehs
z0m7(lH0`LHy}Mq^?qHjPaieiDPpbk=9a?9MbU{a(lLaAO0K{BvA`fO3oPB85fl(+R
zAbVuBeE*S@iq4YOBr`fBP^6?n$cD2Wu0Qn6#{+IhOg=|i)+M?@om?{rfG1Bh!@&;#
zVyqZ}#3YW$3J=laAv*~y^Ktr3F<E7{yHTdSgoEVRXu9s=>MEG4gJ^@Zp)tW2(k268
z%#6!%Tu!ma0AV>JELNI*4vV(Qjwy-A!b1jV16q(ZpcIQ73-j&ET+KrW?#}C*gE}0_
ztj%2J2mnt<o1i%ZqW;O})>OYikg8G08HjmSp3p6>4+(&vhIU0D#uT?n?f?=Av@UgB
zgl-f~FeX`(jGdt|lhZkeN$DJ>^ISa#2qp$2${ZH5MpGt=*WGZn)aojwkszq{?U3Vy
z^x3GhWfy=b<+w&k^id3+At9C-bbi(IWnaE?ZdQE!7#DOBB$e-l$R4kpv&xPJE2XY@
zFks4o974i)P|1rZR6vo*26Lvctdh`4>Zqo{O2ID;Ss2Wx0HWzSNN2}l?Pk&b`0MAd
z?q9i|84m}gH(|d26E&PCODeB3v(8t*6Bc~wRxVyX@#pbxVu+-IaAX$Hb~zSn1%(;S
zk#oWm{S?b_{Ak7-$w>zwnN1I}XHp1CX1}RqR4Ppn$WxvqXY7?axtMwwaW=&=Kq4mz
zl{@C!mq6>jZGZmtGgjf14(*$Jr82pzxNvn7Vz%_z?D@<YKfZG0hp5zdxFF6IWyGj#
zv~6??>K3qEB<t8|u$GSJUrrz!vG+Lm3{dZQ(8j!#nAqnzhlB#9$V^<xBt;a0kD!S2
zQ3-;){7<4fkYe`*ph9yef0Ws>;=;<(RrfYsEw1ku8?PSS@{3u6d~(AzPVwW<oILas
zen&u*CaNatE}3O=9W7g4bYv|Xlar76DtMySnAx-UIR)#NV(9vDnasTyw()*nPDf^Y
zAt`Cj=qCT39YuY{8FHLQv6`H1%(R4Y^3a4J7$i?#TuM}mjfu{UB}Y;4ly!UpGCZ2q
z5rtozZh$~i2Yuz;Dz!`Qy3{t*Hr%=lkT$6R#18;s%5Er<7zY@y()fkO_xkobz=L2G
zC~}U=*(oA?a)>A16vs%5ldHgT#~*%102VTsb2n7y<mHmH9DVYWGwXPS<NN2oQztA*
z9nC7b>)5W+vV+x<8kd~qwn^5q(#e^m6v?v?EDAte0`BNz@Nx`(B-^~RC`4vplR02L
zq`-+j!1Myo;=@EFvh7sbfM>L1njkYS5-XD}uS=vVhN&K2@}<2zm@nsZ4KCyQC5Soq
zL=|Nh+*RyWX|YI)j+Y%fm#n46ChJHm$_ys6i{h$9w*8WkVPz!7U`ok*+-#)L29T)8
z5IOSz5kUr!1l4^jz&sFDzNj)-Dy}*4f6t?^FJviFo~oeEjHLP(zGO7~OF#4^JoQIp
zkgeCt)GX6-!HbUDHqS4YCs%SdS(^%9;Sy@H+m(|=WZ#hUSVpZyrt}8eCTFlk&Ph42
za#EZOCkx4Q1d2o<r-n%|DJF!(IZez{L}&CWyL$RjbIy4HQ;~OMj5_8dR6Vke<JanB
zJ*PI+`vX4hu&|IFCLo2;>ZBK;SyIz++oiUn){$#6G-Z&<)E%@TrBGFXY7E5^t@4?o
zlKB#o5pA2lqCq-LP7W4!iEx!d3?cY^l+8Fap6!^-7+oAnZlMjh1umYmc$SSbr82+7
zIV=+usv{LylM;^}?lv#q-@Ulq;cis(WZ`pK%yU}s$ZB|=$Na>^1NIODL?fef(Pe1Z
zIdYcku*Go7D7itlASyhDvy;XmZisR+<t$>%^gSh9bfImzu>crXawC~U*a&a&;D9v+
zlSUo23Q`5Fz0f&}K=sr0SMPuIx1xE5s8TkxbfR%QNBT4gUKkUn2r)H>{@EWte)Ug3
zu6}$k4x>7oDEtfY==lCICwLsr7&t%}U_?c-p{C)+v2*MUJDrS4M%Tecb4dg83#Fzg
zR-mc6C~zuSP09TP=9Jr6SS-O%c&;`M4u+)iLQAPg$Wh3l1bC1rFoEKbn8bg1`5*uD
z@_KvytIQa49;&AakS8mj#L|=?#yU8}#qRL+k2hEU?MF3k5aqd(J{it0%&Z5-b>XM6
ziqBChG7elp$6B&wLgis9Oxg8lT}QPbkVhUTU>M+jtv6d6BN{`3akn=hV0lGM{JaUR
zWouYVaL5WWiP1HAD>o{!Og^O~{+ELqc3=PBn`cB{plsM(l}sBlfj&B&7$N61p_C*%
zj=kRWcDpt4UO-P^)tSwl8xdZ5rPKR(n#6Dk?v&|+0%zGc&^BMc)?BhB)+#AYbLPbJ
zn6jm8J_2*tk<j1kfBk;(uirK?$m{D2Xy3~a;A+KE(AA3ChHQb@nH;GKbF7|%ix!5-
za!f+08{Yobz3IPO{l(AMe>JN7edd^BVD^?p^O^y|kOAW0(-`ubl4_==E>S=@xs?l!
za}+lo8Q19{7&L;i&^RbACSQXp(N><rF#{y)J0cG$p~|nI;4qr+{<!$N|JQ|puU=8t
zkuLXfwaoOgYq@Q>*dP=QV&cG}xL{F?gAyh}BR1{u+dqH%(?5(K|4-F?YhUH_V-HpE
zt5YnNa#rv(4shtj{-FCFV=PQAhYj_J4WGLhhRaEZXYas6o64V2lDU|SR!4<0-*zdJ
zoYI4uopQ~hj(GwW`2!25351)S`0!EqfYxPO=sI4M1f^}*HQY4GmP1q@Uk`zWYKkg#
zGbR>o+N5zEf{F+A;qa^P?KPPffCl6$yCF(Nsmzm0_>tCIxLv=vy?_4ZMs9{84`sTc
zE~)d82l4~kfrlS^IK@tSz%j2DbB--D6~rP{ib`v-%!}Cs>Q@LrnGBH9Y-}lki0s9h
zhPnp2mX?duG}-%DM<!2RFgjIxJOhYIEkI<9VoHL7#4p8%|Fr+-n1(;NU%zpGzBUfo
za2kjStN9G0y<30w?ayEQ{_X1LJ9WQBs_vZCqlxlFZgn=lo{0T?K^hU@NZ+%W<lsFe
zMm2fL$yUvZQi2fknG|a-3R%qa6cCz*udg{pyk7Bg$%||?T=LuO^&69Prcqn~s&SBN
zqMiZDH@*TSk`_8*<n`Z-zy12~(?2%9`M*~3zozF29K;?H^Eg8AVn4iiclRH@d9(V*
zKZ^cP&!y(+>fCnti3xSgNFOku3nG0qpOfL`S;Ga3=~>Kz6BfuukNbNyc!>gxW2rNI
zDidqIyO)Wu?U*TpqKj!H%2Pop5-pUln3QI#ODd;1PvLr3DoZFuv`koY-YYQNwZrB*
zsDS)Nzx*zBYhHq95iRXU*zG=B?_YlRzWMp18tzItOds#N`h@Kq-{F}AB3>l^kM)h&
zpm<_opW^pQfzfccSKoZs{ozMT1XovV9IG1s6>oR?u*at1deoF)81XQOHNy3Z+Lp9U
zu8BghF1c=*$W%NU3sD4~3{VkyO4=aA7)ssybNKkT{Wpih@FP8co1VW7FU)%Q@`v}I
ze}A`nd#~;{04dvWjdAsCA1LbcW&c77hM$6T!h{OV%g@NO)^>zzBCZM68~x39-QWKg
z7bCuW$!*KdWq_<<CLG2bs!A!cl&}K!qX;3-&zB)*_1TmJX&v(vlc**!{a9YkD9xP?
zW%lKufSup|55qUt{ktE+7k@{;*?3sI9sc5XKe^w3l)gtuSp4$&rKw|vah7eIb0R#G
zFCO#5OX#4qArxLZB{!+$H)RwBBm2bLQQorp>5cpFQQzGNqU@?ufG~o!7+sG2T5)3&
zR(%LKkw^t;Au?Xx3u{G5bU9~ph^3l0O|d!arc(6>mI;xt=qO8C3+`R~IPU$IhsB?5
zt^9*GuWz-#6A&5XSrR&1&{KKCISBmd^``(T8b_g~K0=5P35pAt&?)A?hrNFL-re4)
zn>*7FxLT2vuv!+4(PgBZE0<lkf~+DwVxnwfA)srhSf2sFXU_+%*y>E*N}w!o%G22}
zfk=g(<^K^QxDd!v^xV<z*}K~>zcJw>$=x0>O*#D|1w;L^l87g49_FY|0+bj+5Fv1g
z93#e*M@kr@43R?M?auu0WB1)3wD;&NfAK1F;zh?@TSQou0g_W-n*6%JY<j71Kg8@`
zc6%))ELWk*Tlq3dEs0A}X}UlzU&E<>R7H&(_#BuB4Ti<dX7Q~Y2$b-cU4eY^_N(*c
z^FbndS?c(cvTP1cf|W=HeM&KofycluVu*McWQcON=i57Tb0_ZC*_kdnS}v$*GAIj2
zHN|&!;(kgdEM>zAP-QnM;W&sGbNU^E=m#k<Q|eh|Wj^YvB}`X<M9J53%BE6OA}7o-
z*kLfZi?#Is>8n#`xBm&-L3p6UeqydoH8a$xfl>Pa2Z)R0L$)AdJoI9_QHO&(^y1KC
z(~!~7b-Y|;9%#)`rDkW6()p~FOtas`Qm;e?OcAXTJ_xOO7}V`;>lfqob!c0b3Q{S>
z@`-xjRCUPy4<yxsNSehtDhU@pm{feG$UY47kB#C}KIq|tt7FUj*#OHprjf@XsDT<M
zhmnU~yndrUe8`7eEHVjf94$I%TWTCRTa?C}US&Hffr;nHUHxuRKez+|n<p&gxh%)g
zMG~&1#1Ts+ul5V@@wQfhZ0-mvhQ?ybZ04dAe)_tKl#2!BqteQc4F?{+&VLnwfvNn-
zrPNZUaXz@$L!J%85Z3}qx-*XA?oMvD*$uB&nJDMP%4L9D1;|oqn9D?2$r&J3x@W{m
z8YjXSkw}D~dd8SU46^UdW=F=6G^k5LQ`8x*e!6CP0)a}0Vxg&2#knUf;t@bR7s2_Q
zG{cjM^htg!vabgo1+i9WG%Jg$=wM0<*z2&<x4d7|_Fh?+Z(Q_fEw>F=Hw$SqG*zOm
z4JJANoB&EvkPuTh&g6LslY&G-%6tyB8o1l((aWX{SI>gBsn$&&iO3hX{FiLz0YIX(
zdVPxdUaCJA#dZSl5)TcgPQt=bjzcEdCOND3x_z@Y>x~G&TZxzvS*~EUfJIl(F=TV5
znscj3X*8*-Xhu^Z$0hGasx{FwfHF-k0F?rwVISnstMx`NmZNKF!3ipr{$xa{{{G>-
z`qal&xW2|i6yu=4Bc>_`pLyl!cgk!^RANIdUwWm+6^u&}J4cJfxL5>hN7sx^)9v*0
z<Sh!h*`>pP{Q*Q;LMF;hQ@Vn))#N<O8nPxQRyn=WInO8-l$5LqM0OeHt%bA7&O*k_
z10o~hI6y3#SLIv<MVz`rYIvvGN?6*SNMzbc|5hVXKmW&9-EDvU^DXRSo;UNnIuG`c
ziB$67J&c(*$QG;#3p-vJe`Uwkjcqq}i<qa1V{7->@iyw^%kK7O@zYQ8&7jd6BTIuy
znMan3UQvc3tui#(H|wN}`OHE!qNp<de7oi{MBzsXbAS`p%9upS>`5U=s0u;3knAaI
zrxqmQNX2bU-1SKVx|Dx1K!5Y<v-g{&?_t<NtaR{+iB<%8-$S3I!M3F<9k1QE=nkvJ
z&^EqlV_TX7jYVS!VE5wlY<C~tEW+O1zG-AKR%%nUwBt}^HdS3w&LXUw-l;;;IY4*`
zP%-tCIJia<pmQXUD3&=!^`tpR{+tzZCaVczrK~~5m~Cn{OL#&;K3WjHd=?U<*49St
z(o}l(y)#ovfB{6Z3a*TQ-o#})EEn6=Dm5*;2D%1}EtLwB@4Ib4>l||ytu$z$DAPJ~
zWv!?-15dt2QPpH;)sfFzR;njHR*Y+O%E?2l;g*S0(8(r&2*aT63LCTrOp)jF$4cNU
z36L1Q7)E*M)i8*ZX36K1MpOWTu3^`clIJm=pRhIoXxKtpw!G@Xs_Pfa!*UT93n*MT
zKWkfheq82ut_7oc(<Y~+1`TIg{VX#c+ZO7`MuaDHYW9!==S691ax0R#Fr#dGTE(a_
zC3Sb_VuHrT=g<80G77;tZDtIysPaLKUiH1$AFv;C&d8ra<pLmMGulGnk$^HkAVJlr
zK^a&YUUjisjEm)A(S^2yriG^TmO2Zjblw(#xO7rdk&cDRd{h>FUJ4dfgcW7vPz4f6
zR#8n%T5WA6$mgL>ZHvcvk<YN|^P);0QI$sh^}X5b^rDSc@xmo3IYi8KB%t?l9Mv$W
z-A-*ca=#T}JgQc|^r$r&!=-_#mWz(2G@VQla004m6}2WUTHiH&+hnKHIB0B!rVcZA
zQkK;g*&%0cql83BIZ2xO0W-TfjwFg=EhLraQ_mnC^G^YA*^XVKv?$V?D4i-&5+aWQ
zcRNHD!=T0ym4d;G4A7{?QD<~Ec74;_zSo;~cHD?eBWogiVGkEgbVYiprIU-WHCr?$
zUlzawWkYin7oA@$`))CG3+NWbd^*hL<Ip)YmbFG>^CdRfB_-E-rD~>j%GxGITUF}X
zv3Y#wsU+}`9K*AMRdw!Sbg8PkwK*gv9DV69@+v0C=!|;k<#wxYUpMc5-)wJ8zt<1D
zou0O!(nnc}yifFvm2$g3zz}6lf|6CKgdeGL-kyW1Le8O;S<Wf5<hf^yWd2BH4typn
z)&tD$<k<cQb4S}HKo{r44`WBA^`*x&A1mJu%+YEXB?jSxiV^!>_oF@>)cV%m{^UOX
zp*<v(Db~s1^6YjW^hniQObDEAGS63X(hL$n$ax?!1>uKgP|iXah}00!4RS|p5@})w
zp|s%of_QKs^<w+_^Km06Mb7c&_$XYLswjFiES}GjOUq}f(du~aN8{ls1Lbprs$ws5
zO4%_FgWPGujCBFperI-Dv)k(1ADa93W>4BrjlX|F!I`sp1b9l^n9tm>29k(}9z%48
zo%7ZND-RkP#jOFWz{uz{NGWQ2DIzHiD7*K!?fT~!V-S*w>C}kB$NrP~o=i^_j;TXf
zP6f{6T;sAvsiu!7v*fxK2&)JkLUujas}#jBh;bC#wZ41Zu77abk7mDB>B2Bi>c|=F
zC-p*2#Oo<%KD7i3jShu~IP_w>bt7DZydrEyksWj^b<R>j*&+;Q+9LD0maKVq7v8N8
zA43XCq|DYzv+WE@HIp>i5|=zHM+7Vsj%ez<ufd+@OA#{%<hiql5){!A>#9g#vD?Wa
zY>LA{^aE}_n49mKyKkF;YDe0nUVXx7_;QMs{ttYF5uVPb2H>QHS90t`dIs=}QcLWZ
z+dRRNM%Gy94AweCRiVVqsPBVGUU<NmQi?pmRQ3G2)GAR<loG~LlaK=X0~`)w=yMp)
z5lR#}CdV_hwlwrD^Uudv&OPSrArumL*o)0prXWJEv=qUM!+^tx`=9Oljoy-uMO@-D
z=k`!8do+bq?TbO?2R1b8t*khxFe(uiZE!j++H|$zt5s|qSw}@1OgWh<D?Ku6QA~`o
zG)wn=3ncfwPyu{NDd$F<GRocII;l!-lta71-9~=<jr-wy8+*|h(p;9;#7t#heC7ZA
zZx3z}v<4cp11rmlL;~~yH+%W<4*gzjqQ<?UQFww7(Qj3MP^mPp!ISdpr^%24@3CYi
zk3(unij!h*Q*TAQTJmzmi<XxyEtVxIH{=}YnuTW<gtF*$Tvc@B&A{4ZJIu2wO^rCQ
zjG$3POmS+jKon|fGUN4~`tJALKmJ2A?8KE$nm`MPnHa;be={zx(&w+DXxR_h^v6+*
zqZ|jh->c19-rdOlPU)TFJI5?a^{{q)W&$8Di9>CCoe>k4<}m|=yMs9NGKQ(RJZWcC
zI@SolD;ZiF+a|3#zFwu$>l~MDvMw3JWtC9TaY{FDnGr{T;CeNF@wxu`D@;)sOFlr~
zqqSIA9BL(E6#X8yYl%r{L5pT|ns0v)>p#fdJM;lG3d0;QyD9`c{3v$6Q@bnSyR_fQ
z9L|F}c)c6-?MJhHuMZ#faHIUFh}E$@6CnwpxygRQWe%N~riS}UOpoHzH1!m3H+<M<
z1Lac(Py*_~kKmOEtqY4)>Q-sFpk<r7HaQoYCRs-(fD{<T=j-}vp85P){OjNBua;rG
z(RXWoe=kx*TS=vcXdp872mRrV-MrJv(=%&YiiaCZui<%!4A61O<4SxJfX#jC{~q7H
z)k3SmtH`)#y+(b{`u<?=Z*5px8dSb6ku#)7Az_q~twO15|1(I$IdGS%RLG8uy_Ve6
zh;S~2D0zRc*IPOG<5DM_+A%{9y;X75rRAzjt}eB0HYHbFPwlmEwh9*)D_(1VHzGW{
zqQ;HC{%U;p&i?c7+xt7`Jq8cs2ufxnl3MQX)SK_^&);g<!{^d0LXsXd&?_VbV4-jf
zsLeyHM@~P%hoADi&5j?$4)iVR8zuXsd(r^5E>I|;IRbhzUOJL3>NcNeS$T-FJdg=D
z^^gYOtrfijn(EGcY+iWv=4SD6kh>9y&sKg_vy9rrrsH-&T}N$8ZIc>T)}fRtjnV8}
zK5FepsF_r4_Nqk}tzglW`yl*!Bldd{yi$_;0h5<$#Bs;{2eEq#{TdYUp_sS>wm=Q1
zY&!sEUg}d?h)Q`9#Jr%a@*olcC6Fy%yVSk&tU;M@5%eOMhB}9?<!t6^TI^W?@&WA#
z!-%{>yc^(F#3Vy$QLltleev5H-Fv<51=9==DnN&Tn!ApgoRe}>)b$KXl}dFU+GO86
zEuAf`hC-YckqDfM9)NIt#ee=EM(6ncUTwDecB6KK*pm<gq&rM^u%u*xI!rB41Kdmi
zk<J#Bs&9~04l2ENggH&8e5y&ZZb0>bJ>VY5GkOK%0<mM+2DwPaQd^ozjbx!f>5^O(
zQ%O|VQxvI3zD9Z$`y0DiH$KXQ*=E)1hkN9xz~fBWOEHbDVAXNa*ufbxCh0t?u6|Sn
z=S6)pKvG<+vY9#o8QKnh^%cE%HoSQ&fA=l)?{t47)Q)L`YJ?WxIm8yI<<u2JaFFrR
zkS+l#{+04GO{)^Ig}8v&gFZmoKw6_8K<*{*3n8z#wd7hd7M!KV6eahReL~sRAY(*~
zVdV5#ihkI>?&5c9xY0#ZL1lOkQvt2kkwVG<d8v|asP^$1n@STel`dyGp`)f{p(lXk
zv`+ch1X=+?EG--h==+>i_FLG05UwXqP$p4YLh2wnptd~Q{G2UF0qBwtO$+MET@>?L
zF9x(ZRiqBWKA%F=pm!iSDer}1UOH&6$T~JU10)rf1)3}_OOnhOV+sj_7YdO^jUM+K
zLs0%KnGDw8HDp4UgV(|YWu|uTqN`8R`Yf<ttantWmd&~0^sMcHd0IikfQ`)rZ+DBs
z0UOHhrbB8Wwwx`<=E)UjfVe_)1W23}O6L#`Iy)VV*~&;j(i|n4A>sBGwc_TQ7A?7s
zv?#UzsjqfwXq0j)!!qaa8VF+$x-5ff+wk#^-TvOHvwC4Z<OpF02P<P!TD;5jIpQ*{
zeLM|yl1J6NG`((YQ8JAw9!y(`WdF(D<G2^Y1|xx%yiByr(8P+1%K%jiVq2i8L!JS2
zhJ0z*DEncQY6A)Iy4dTMmEB9T;U>k_k!y1@WNoT~uPVwMB2OjB0#NN7&Mc&Ct+IOA
zqXF?Foa?<%wD3#|q{yZ(BrCy3%~+nlo~M$W*Zv>h5n{T<b)jp$q<s%}Yq-CIAAeB$
zwGo5{$Pi^`45@&UEO5anxjgCM9H65G;Yom<Th=l<91BY-<`xo&EvN&aCRku>U9xS`
zOlGS3PxrL|be1*{7L0^3<l5k)9M+mis86kUsunmm>C`$eAC=HLrsbkIsmK>A-^+_y
z8b^Rb55NCc^}FA@58vtaYh@@CoQBy=(4=BAR7OVU2#`9npmU7Q0aC??#4OJS@Xr8K
zIjf}z)+FOdmwwP=iK%YpA;eMV<k^UXl%#diQ9gUw3n|nmdN<)HA^*a{NAYO+BU~*0
zo7V^<9D4lM@6CVy|Calo<#mXTd715nEhGbcHYSrXXSVYgpkq2f<#jsyPY4_!UBOsl
z5I7m7=Il&~jlrq1QkJ`xiW?vMWSEJ#0wjVLQt|59pv*)ZPo>L~V05-z_VnkIi$k9R
z=p>1julp$P*6Q^;3?4hguFNcx2bmJl%L^_+9rWeo`jiD7F-m0|Z*!4A6T>hquCgpG
z*a*hJWIk$M;3!XLTB0oz^RzS|aas<_c=aHGJtlakBmROa`KLASvnwHpnL#iL)~RGz
zC5_M%F8R;0RO5;9%K!<u5Min8VH6=jX}%%_QiH~cj?6`En0J|&evs;JC(HsV$K0ar
z2_YZ)psL{s5T}j~K341CvGo3LeAI<tIl%eM;nf7kaljFsBM|azoWBp3K1dwv%=1ab
z*@bcOn^B@v#TaLHa-t(*3b<kx!l~>}Q7BSM2Jx)RHJglJVL&-Bh9bs9iDEi$<ps)C
zcv{7H8aU}LI17<==@?H*QIW%H*U7YCg)av@7~*os6H$co^3)NdxuL5p_?W#|<&;p_
zGoQ9%nEFQKsi-ZEU1`T<&;nAVhb?##(1FQGSPCi(DaIHfX5T(_e`lspwk4Xx_R=#>
zXG{3b3OTbEn)O0iYy?jehmU2!$5^OKyq>BioG`-qixr?_v)i<IqS^~XO;amn6PEy0
zgOo7c<Lb7R0^-?8&np$t)SQ7Nh8RX1=T_eHF=_89=ldy@a6psBJ^@5C-t%iL9sYG4
zg_uHe9+yGyG|oBUr_g~jYl25WPkSsB`Y6suC2lpg2ytnXC4a}cX;CRAzU-4m5Ou2x
zW{O_MLC8V)27RCyC@K*n7mP$z+M_6&*A(N5$Blo^gxe}gmK6xd=@cp-Bl09D52*7m
zbQR+4iNx7=VcM$k0v&P2X7O0mu4m4ZXQ;`ZEER+&8p-Ryd<5SEA8^q?C_8BcjUl2g
z8h=b6vy;z(3Fpih=4woR2g;hYdb-)}80p{R-+#$`{w-hr6o~_T3j0e!Bk&V#z;#i<
z*bBKALr3F)qmf#%30zyALYyY>`Idq_?^G#f8=jh!%08ZvF~L*qS^xgn_)CxaYjR$^
zcB+gXr5L=dVqZ2f96$LOpxU7>khKT~1`K^V?28~TN^M6-A*iHzW&OjvgD2BPHeUll
z4uYi(#|Mlg>f)bTt4SwK2hLuc5{L)y{Bo7=i0|=RX}-=U9_LL^pZc%!c-n$;AOn-r
zzrn}NxYY?1Nhz(Nnzbq=1tu)4VG8G5_R%O~l3c~)$e{w1YQ=O)zT<?^nR5Dz<4-=$
zF)D{R5u7J%_G|-*2W7(tod8b)#K<|E0VoVIZYZjNii|*Gs4l3Kvi9R<m!lI?I$4l7
z)1(U-&A&K~NO8KIX$GibR0f~l`BW|}%}$!muJcKYI2zq?oC5^MCI~pM<-^Io9vC5?
z)&w#?1<=%RH@&3jP1>YEh&?7DFeRBNGKLs27>-0HCLK5?zSv8+G}Od2<vIO;Ov2Qo
zGkU-gMA61YC}Ksyi{n!OrOR0U7@Z@su{5IiGKNBk@-NJrtxg>yG$DTS$H%sas#~R6
z@2#78e0oXd{8~ydI0E0RLl}aOW8E&0kQ#`VDNwQ;%LZvPK*fob(o&+@hYP(2RJ`ao
zm9EOZEY5C$0*IKOF_gvZRk)~3Iz9!^lMcQ*tZ;@-kI)y%T~g-IV%~v5V8I<Hf`(^N
z43E^e_E4mJcT@cIVwSnR1QD!AhI)TsU`3-KkXjfMAvvZ9X=K(h*%(z>dRzd?Zk_;B
zEKO>W_dCrjTm!MsSKt$lB`qt14RDy!vHaplsUNF9;_^nGPp*p2SZrrt=ouA(71LHj
zqFk+*vqC6)=fI=1W!ea)pcBioz=zp<ebi;A#We^l!ULJ;7dAGF-g44n(9mc$N>~M!
zd~?`zbgwa#(laI5jQYx}hDJ7rK_15YTNrkd6QM5T!snAtAckqP1=iEH3DYJy7cDxo
z?jxU&T&MXJkI(=N2*o62KC?v<34|{unNHKH@W9hyrUDGjdsP&GMlVJWmwM2gns7c|
z>>(wk&^6#1TF7w)LnpA4H=UH7)K-wyWaZ0o{q^<_S9g1rlGLaLjkdd4zPjsP%6)qA
z(@pz&bJ+X!7!SQylGO^9n%y4w9tIL+gMmq(7m(D<$sZKSY4+A<qWwdF`hw1wAULF7
ziTIZo7Ziy_D3m&$u9WH)foGd#UI0{EDhBc+sK=3^ZVNpC?<Iv!z;m0f+t@W@V-Aak
z8pBp4t3eBIUDWE!^db2Dm+LzdlrTzT+PmvN%9lT>ue(0}<$HPcogCwS4a0!cERtGq
z`-1fygaaN1$slHBKHpzein>QaU$eUONbYzX)O&zEz@E_~jxS~WUnPIVUXw^M&u2Zw
zQ<yjHAUSWn4pYr56$ca|1fKyqc-04W0Z{c&5oiP)l^&PIKWozUVtBS1x^8qXb}g5^
zcG;Mm6qnZekEFj{?$R@A;{aMppsiW`(EizL`{h+1mJNiJq4heXwP2RX11FLcH1Cb@
zBaWs2v*fw4DE&}+%yJ~L<;v+PJ?NYhR`<L|ShHM%4NJjaa#%<$Ng#tSp^36bEqj6H
z=NwGR?woMedRLp(LKJ25e)z~=-J37e<;>y%QV-E<JuI8}!iB4DTwU!}E8mr6$#p@7
zHed}1iQ1siQHgiR{`!Tczyguk3%jwaBo|vb{=vhwYnE>t`(7-!!Fa$!82gwK-?Q8S
zHj@%3QvPaH1hAyQkunee695H(5y5A4^m}k0I>Vm{*CiFf4VhWw5X_N@FvC<rer5a#
z>O$#B3goHjEobHj@B_SGy!vtZKdE!NRAv_K1^G^-7j1ZcH7*v1<zieexoN>#Y#bi}
zs*972#>S4_;w^n$Oz>#L0ttfc-&(bO(SEtqUr}uLgN%@d;jjxn(3-@igq{{MMJoMi
zwSFl>i8&FXDY=T8MYUt5UK5nML%e4gS=@npr`k7H8W(&;sXY)Ofy*Cf5}YD)ROhNI
zR)FT(9YKni2>PJnfPOUJTz~zK-CwD~q^P$0jR2z%zBOU#;&L%8SNr8+=sNC}b+JL&
z@4IY1X6-D`sf#*p^$amvD#rlQfU*15Z5W>4j_$peUXJP>_d|?6AxaHpPbHR|srCV6
z1hEJ1Ahn=M%_G@-%WHX_jsdQOCgrmoWDlFag?8Jx4Qm()4#}(JV+uj0l%Ks-A%~n)
ziomJv2v(Qs)eN!hu!}LuwS2kPFL(C(?^gfwKP>)I6%~z3yVU4~8f_a_Hmz2nZTqGj
zo0jWZl^n}#>7TCv6=hA-mX6YIBTvhOI3`euQ$SHm*LvgAPrn}g5Zo4N9C3ZG0CWTG
zl9m#l8GdFHZ*YAhhY>aNHHwav1F}dCq6Cu2ssL0f#o$rwSsg%0!K-C(&m%F!jYw-9
z547#MA81%&8YRcl^yiU6ZEH(WR!++zCrnfGun!^(IC}Nr>czLO{?l)t{q=8O{Evfs
zp(?8!!S7)V5~x+QT&CsHx6Rl%a%CU%X)E+PrtRw{jki=!>Vkli%AW~rf~4!h6_jf9
z@y%Cb(6oA&^!IDo%N9k~iK}Jlc)a3v#lsB_LEL<lx~$|$Kpuo;_W3?=mHLmnO%E*Y
zL2W=73-o7d_1DSoUHqq(Ze8dp2|*$Z5X(PUfIdnaV4%{MBB`v$s+%<sbNNRr2#2WR
zo)6x9yZGY&S^Uj^{qlc<#jCQCpfIQWE5K1AIGq|7n#Q{(+Otj2jh*(2H}(vmxj0bE
ztVe*T&RU+}6S4%)aEpnD{xjPta5}QuD{V<wA_|#UTi}HdI}pA!|JUYUW=c$@L6N3R
zK$OCc96<IU#+8LHySvYtzBPAWm|d>}CAu1d^F5AX7=|?35%tPyp%qJ|g_2UBL?MI{
zgn~Ff52TWUG0MMR{nbCWe*x{+;8rPlb!_v@Nw1VpR%Qp22UlEl9cJF$d;Z5N)GUHm
zeeAfjblOi}m5nnd>MDHXMWB?p-M4DdiG@q3dXqlVI0i^Ca*i^30ndL$mU*eu0#n)K
zjtwM5MZ-oe#ZSz6X;ik4)~oTw;`P;6ukBa8u>5QCR#FOV2IkR)-LSjcZr8HWpsv9z
zK{?VkNEeKaMw3-ZnYsyG6pE81kUuTI2+Oa8G-Y>Yb=(T3Y+Q;8v`*SYZ9?58{s~-;
zV+QEBFz`qza^fs!fC~C9aBMLq-7Xr{t)R(-kW4%fdG901luVnfg~bY7j+SVQEJbt_
zO4dD@3Rx=a-xKm6#TwLBt{1C6wqN~|{!Oo4`zqiI5W!;{(GT7FE^KIb*Yjx8;#p{)
zd%GOC-HXMjT3`R|jp{w>LayR5!M4~eGeIrctt$Izivo~BrIRj8v`Z`5+yXSiQD4{U
z$;A+}_zEW@l2t34g}L%irErX3oRF^mTtZDu6dBhx0?}3C1(Bl2Vic-3N*W=wR7QXl
zsDzN&%yZ&NviIW9@nMf|+!sGx|N79pVrlkv1V;2Dhk(OK*(z@I9*HoFW*FVxwL@AY
zUgbCm4PXnxfwVbZOun_ODph*g<6_o>O0`N^Fpjm2TF3gK6F_snlsvxB$1p!x(8JZ+
zrBCjdR~lP7$y1)TQdOaW>mn>x5FM=5(8rAnu}iQr;%bGl<F@Q`Dr}M_Vm_-VRgif)
zM3(6qV-h>LSht^pdtNqEE{*#kKuYXG9DPz+rU*Ivh!`jn#>llhzdWCIrJo8>Wp_9}
z%4KxQ#RMNWH=I^Wo>h;|`#i*%D1Uk}mo<*F3`>#exPCAXonb8@@3gLe63R8ivOUZJ
z_hUv8WS8_RiA565>n<oaC^MiN%U=KaR*S-}^UoSk4JcPq^0HHrEdSV+33=|QQW>Mj
zlw=u#Q;uv!t>8(sNRvu-+!I&KwNQZnKL7y#{|Cl&xQ~M<dH?_b07*qoM6N<$g0A`m
A5dZ)H

literal 0
HcmV?d00001

-- 
GitLab