From 9a5479626b23ccdc82242f4c04fd1067d75691fd Mon Sep 17 00:00:00 2001
From: mohamed Hebbache <mohamed.hebbache@etu.univ-amu.fr>
Date: Fri, 17 Nov 2023 19:48:02 +0100
Subject: [PATCH] update Fire and FireFighter modification

---
 .gradle/8.4/checksums/checksums.lock          | Bin 0 -> 17 bytes
 .../dependencies-accessors.lock               | Bin 0 -> 17 bytes
 .../8.4/dependencies-accessors/gc.properties  |   0
 .../8.4/executionHistory/executionHistory.bin | Bin 0 -> 38258 bytes
 .../executionHistory/executionHistory.lock    | Bin 0 -> 17 bytes
 .gradle/8.4/fileChanges/last-build.bin        | Bin 0 -> 1 bytes
 .gradle/8.4/fileHashes/fileHashes.bin         | Bin 0 -> 21997 bytes
 .gradle/8.4/fileHashes/fileHashes.lock        | Bin 0 -> 17 bytes
 .../8.4/fileHashes/resourceHashesCache.bin    | Bin 0 -> 22611 bytes
 .gradle/8.4/gc.properties                     |   0
 .../buildOutputCleanup.lock                   | Bin 0 -> 17 bytes
 .gradle/buildOutputCleanup/cache.properties   |   2 +
 .gradle/buildOutputCleanup/outputFiles.bin    | Bin 0 -> 18893 bytes
 .gradle/file-system.probe                     | Bin 0 -> 8 bytes
 .gradle/vcs-1/gc.properties                   |   0
 .../java/main/app/SimulatorApplication.class  | Bin 0 -> 3101 bytes
 .../classes/java/main/app/SimulatorMain.class | Bin 0 -> 438 bytes
 .../java/main/controller/Controller.class     | Bin 0 -> 5385 bytes
 .../controller/PersistentToggleGroup.class    | Bin 0 -> 2668 bytes
 build/classes/java/main/model/Board.class     | Bin 0 -> 461 bytes
 .../java/main/model/BoardElement.class        | Bin 0 -> 252 bytes
 .../model/Builder/ConcreteGameBuilder.class   | Bin 0 -> 1281 bytes
 .../Builder/FireFirefighterBuilder.class      | Bin 0 -> 754 bytes
 .../java/main/model/Builder/GameBuilder.class | Bin 0 -> 315 bytes
 .../java/main/model/Builder/GameManage.class  | Bin 0 -> 1072 bytes
 .../java/main/model/EmptyElement.class        | Bin 0 -> 708 bytes
 .../main/model/ExtinguishFire/Cloud.class     | Bin 0 -> 282 bytes
 .../model/ExtinguishFire/ExtinguishFire.class | Bin 0 -> 426 bytes
 .../model/ExtinguishFire/FireFighter.class    | Bin 0 -> 4759 bytes
 .../ExtinguishFire/MotorizedFireFighter.class | Bin 0 -> 327 bytes
 .../java/main/model/Flammable/Fire.class      | Bin 0 -> 3927 bytes
 .../java/main/model/Flammable/Flammable.class | Bin 0 -> 411 bytes
 build/classes/java/main/model/GameBoard.class | Bin 0 -> 6075 bytes
 .../java/main/model/Obstacle/Mountain.class   | Bin 0 -> 279 bytes
 .../java/main/model/Obstacle/Obstacles.class  | Bin 0 -> 140 bytes
 .../java/main/model/Obstacle/Road.class       | Bin 0 -> 267 bytes
 .../main/model/Visitor/CrossMountain.class    | Bin 0 -> 1066 bytes
 .../java/main/model/Visitor/CrossRoad.class   | Bin 0 -> 1054 bytes
 .../java/main/model/Visitor/FireFinder.class  | Bin 0 -> 1057 bytes
 .../java/main/model/Visitor/Visitor.class     | Bin 0 -> 332 bytes
 build/classes/java/main/module-info.class     | Bin 0 -> 339 bytes
 build/classes/java/main/util/Position.class   | Bin 0 -> 1399 bytes
 .../java/main/view/FirefighterGrid.class      | Bin 0 -> 3859 bytes
 build/classes/java/main/view/Grid.class       | Bin 0 -> 384 bytes
 build/resources/main/view/DarkTheme.css       | 142 ++++++++++++++++++
 build/resources/main/view/view.fxml           |  40 +++++
 .../compileJava/previous-compilation-data.bin | Bin 0 -> 22148 bytes
 .../model/ExtinguishFire/ExtinguishFire.java  |   3 +-
 .../model/ExtinguishFire/FireFighter.java     |  38 +----
 src/main/java/model/Flammable/Fire.java       |  31 +++-
 src/main/java/model/Flammable/Flammable.java  |   2 +-
 src/main/java/model/GameBoard.java            |  37 ++---
 52 files changed, 238 insertions(+), 57 deletions(-)
 create mode 100644 .gradle/8.4/checksums/checksums.lock
 create mode 100644 .gradle/8.4/dependencies-accessors/dependencies-accessors.lock
 create mode 100644 .gradle/8.4/dependencies-accessors/gc.properties
 create mode 100644 .gradle/8.4/executionHistory/executionHistory.bin
 create mode 100644 .gradle/8.4/executionHistory/executionHistory.lock
 create mode 100644 .gradle/8.4/fileChanges/last-build.bin
 create mode 100644 .gradle/8.4/fileHashes/fileHashes.bin
 create mode 100644 .gradle/8.4/fileHashes/fileHashes.lock
 create mode 100644 .gradle/8.4/fileHashes/resourceHashesCache.bin
 create mode 100644 .gradle/8.4/gc.properties
 create mode 100644 .gradle/buildOutputCleanup/buildOutputCleanup.lock
 create mode 100644 .gradle/buildOutputCleanup/cache.properties
 create mode 100644 .gradle/buildOutputCleanup/outputFiles.bin
 create mode 100644 .gradle/file-system.probe
 create mode 100644 .gradle/vcs-1/gc.properties
 create mode 100644 build/classes/java/main/app/SimulatorApplication.class
 create mode 100644 build/classes/java/main/app/SimulatorMain.class
 create mode 100644 build/classes/java/main/controller/Controller.class
 create mode 100644 build/classes/java/main/controller/PersistentToggleGroup.class
 create mode 100644 build/classes/java/main/model/Board.class
 create mode 100644 build/classes/java/main/model/BoardElement.class
 create mode 100644 build/classes/java/main/model/Builder/ConcreteGameBuilder.class
 create mode 100644 build/classes/java/main/model/Builder/FireFirefighterBuilder.class
 create mode 100644 build/classes/java/main/model/Builder/GameBuilder.class
 create mode 100644 build/classes/java/main/model/Builder/GameManage.class
 create mode 100644 build/classes/java/main/model/EmptyElement.class
 create mode 100644 build/classes/java/main/model/ExtinguishFire/Cloud.class
 create mode 100644 build/classes/java/main/model/ExtinguishFire/ExtinguishFire.class
 create mode 100644 build/classes/java/main/model/ExtinguishFire/FireFighter.class
 create mode 100644 build/classes/java/main/model/ExtinguishFire/MotorizedFireFighter.class
 create mode 100644 build/classes/java/main/model/Flammable/Fire.class
 create mode 100644 build/classes/java/main/model/Flammable/Flammable.class
 create mode 100644 build/classes/java/main/model/GameBoard.class
 create mode 100644 build/classes/java/main/model/Obstacle/Mountain.class
 create mode 100644 build/classes/java/main/model/Obstacle/Obstacles.class
 create mode 100644 build/classes/java/main/model/Obstacle/Road.class
 create mode 100644 build/classes/java/main/model/Visitor/CrossMountain.class
 create mode 100644 build/classes/java/main/model/Visitor/CrossRoad.class
 create mode 100644 build/classes/java/main/model/Visitor/FireFinder.class
 create mode 100644 build/classes/java/main/model/Visitor/Visitor.class
 create mode 100644 build/classes/java/main/module-info.class
 create mode 100644 build/classes/java/main/util/Position.class
 create mode 100644 build/classes/java/main/view/FirefighterGrid.class
 create mode 100644 build/classes/java/main/view/Grid.class
 create mode 100644 build/resources/main/view/DarkTheme.css
 create mode 100644 build/resources/main/view/view.fxml
 create mode 100644 build/tmp/compileJava/previous-compilation-data.bin

diff --git a/.gradle/8.4/checksums/checksums.lock b/.gradle/8.4/checksums/checksums.lock
new file mode 100644
index 0000000000000000000000000000000000000000..687f4f2689f36141e55132a03a06f37ea20d28c3
GIT binary patch
literal 17
TcmZR6bC+9EZ@soK0~7!NDcl1L

literal 0
HcmV?d00001

diff --git a/.gradle/8.4/dependencies-accessors/dependencies-accessors.lock b/.gradle/8.4/dependencies-accessors/dependencies-accessors.lock
new file mode 100644
index 0000000000000000000000000000000000000000..c150f374e8350fdc4d0b480b32e0bc156ecdb4f0
GIT binary patch
literal 17
TcmZRc{gSDAYFg`g1}FdkHO&N6

literal 0
HcmV?d00001

diff --git a/.gradle/8.4/dependencies-accessors/gc.properties b/.gradle/8.4/dependencies-accessors/gc.properties
new file mode 100644
index 0000000..e69de29
diff --git a/.gradle/8.4/executionHistory/executionHistory.bin b/.gradle/8.4/executionHistory/executionHistory.bin
new file mode 100644
index 0000000000000000000000000000000000000000..cd185bc582a0f489888b574664842f97427b3965
GIT binary patch
literal 38258
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
CHomO@

literal 0
HcmV?d00001

diff --git a/.gradle/8.4/executionHistory/executionHistory.lock b/.gradle/8.4/executionHistory/executionHistory.lock
new file mode 100644
index 0000000000000000000000000000000000000000..b0eb98842eda3fa8e9d6fde7acfb58ee0504e7c4
GIT binary patch
literal 17
UcmZP$`TwJ1B6D^Y0|YDq061m@<NyEw

literal 0
HcmV?d00001

diff --git a/.gradle/8.4/fileChanges/last-build.bin b/.gradle/8.4/fileChanges/last-build.bin
new file mode 100644
index 0000000000000000000000000000000000000000..f76dd238ade08917e6712764a16a22005a50573d
GIT binary patch
literal 1
IcmZPo000310RR91

literal 0
HcmV?d00001

diff --git a/.gradle/8.4/fileHashes/fileHashes.bin b/.gradle/8.4/fileHashes/fileHashes.bin
new file mode 100644
index 0000000000000000000000000000000000000000..a6033345fa086c28fa693303e7b630d6d3d901cb
GIT binary patch
literal 21997
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

literal 0
HcmV?d00001

diff --git a/.gradle/8.4/fileHashes/fileHashes.lock b/.gradle/8.4/fileHashes/fileHashes.lock
new file mode 100644
index 0000000000000000000000000000000000000000..da13ab9353ced83645c5559a785a24c30dd34000
GIT binary patch
literal 17
VcmZSXX1VC#`|)8R0~oMQ0{}BP1kV5f

literal 0
HcmV?d00001

diff --git a/.gradle/8.4/fileHashes/resourceHashesCache.bin b/.gradle/8.4/fileHashes/resourceHashesCache.bin
new file mode 100644
index 0000000000000000000000000000000000000000..140ab407c66bf092f43e885dfedaf6efe6f82fea
GIT binary patch
literal 22611
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
HXpk8IGD$p#

literal 0
HcmV?d00001

diff --git a/.gradle/8.4/gc.properties b/.gradle/8.4/gc.properties
new file mode 100644
index 0000000..e69de29
diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
new file mode 100644
index 0000000000000000000000000000000000000000..72a5e081814c347e779fc9a70999b4a39d950740
GIT binary patch
literal 17
VcmZR!o;x%Ck-On^1~6bu2LLah1T6pn

literal 0
HcmV?d00001

diff --git a/.gradle/buildOutputCleanup/cache.properties b/.gradle/buildOutputCleanup/cache.properties
new file mode 100644
index 0000000..9015471
--- /dev/null
+++ b/.gradle/buildOutputCleanup/cache.properties
@@ -0,0 +1,2 @@
+#Mon Nov 13 20:29:54 CET 2023
+gradle.version=8.4
diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin
new file mode 100644
index 0000000000000000000000000000000000000000..e4dbcd26775b77fdd318f2e906aa0ebb05955632
GIT binary patch
literal 18893
zcmZ=^V2}{_4+RVeAc|m)vPMH-Gz3ONU^E0qLtr!nMnhmU1V%$(Gz3ONU^E0qLtr!n
zMnhmU1V%$(Gz3ONU^E0qLtr!nhD!*9GB7Z3K|CX&!vtdRmoqRJ@Gvkih&Aj|-4w?b
z_5dWxz~C_(I(_heq5X=-3JkK^5OGg`nD~x4Yqa04tPO;UOTxsDab90%`nGO4RGb|q
ze%9}b3!`7(5vX`EO#Jr3oz9ml1f(G19>Fm2r=M4`U3A#C4kGTE2owLXfAz`T;VfSu
z;vVHN@o!7+-n5^y`!rPiF-)98RP@BL8?&MA_i%)Xb4xuETDvl*6smqdOkC!o&b0-b
z*Rw*!J7MCgtA7dc9<TWZ5%=5;6F1Gi^ZcjYg+Ea7=`e9WA+2Dqk1h5PagS8Ec$DbQ
zN{0ePsQ6cyc#ziirnUE3cR|EGTVdjnDP|LtnE8UC;<hmHxG1M1?lC$uq2k(b@t9Dv
zmFp5~q2eoH;;CCU{n6aat^pDESPK&`I?b_u-<R+5Q1Oc}aTv|Ozyx(GM8zmM8Umvs
zFd71*Aut*OqaiRF0;3@?8UmvsFd71*Aut*OqaiRF0;3@?8UmvsFd71*Aut*OqaiRF
z0;3@?8UmvsFd71*Aut*OqaiRF0;3@?8UmvsFd71*Aut*OqaiRF0;3@?8UmvsFd71*
lAuxDCz?gx7fs=uOff0m31RshB$f1Ktgmx|@&t$6V0sy!OFFybP

literal 0
HcmV?d00001

diff --git a/.gradle/file-system.probe b/.gradle/file-system.probe
new file mode 100644
index 0000000000000000000000000000000000000000..e892a491542e10fac2c062d573d9d0cd0dc4280c
GIT binary patch
literal 8
PcmZQzVC=pdowou22+jiA

literal 0
HcmV?d00001

diff --git a/.gradle/vcs-1/gc.properties b/.gradle/vcs-1/gc.properties
new file mode 100644
index 0000000..e69de29
diff --git a/build/classes/java/main/app/SimulatorApplication.class b/build/classes/java/main/app/SimulatorApplication.class
new file mode 100644
index 0000000000000000000000000000000000000000..b20b834ef489ed0cfcf6f12e7993b40632a049e9
GIT binary patch
literal 3101
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
am>H%q%wU+!FbAC57#Zd=%x750APE4xC*%zP

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/app/SimulatorMain.class b/build/classes/java/main/app/SimulatorMain.class
new file mode 100644
index 0000000000000000000000000000000000000000..4530cc2971636d0c78bcf91139a4f699c2f20eb4
GIT binary patch
literal 438
zcmX^0Z`VEs1_lQP2`&aE24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00SE(Q(;PId+^9tLg(9!3U<#DW6-;LP08oWzp+BFBP)oXq6JlFa-(Mh2GL
z#LPTK1~H9jAB35~B}JKe>DHQI><oO241y@SeZlHkobyvs85#I}GV@aXN^_G^i$W5U
za#9%?gnaUo6LZ26i!wocs31#8MrJW1gRl>VN!E-EEQv+wAW19^U}WG5&Mz%WPIb!!
zn+^8@$Ps!V_cACl@G>wlfB+K%BPehf7#a8(7#Q>!7#SED7#LW!wlgqpWME)mVh~_p
zU|<6aGBXG=Ffj0d*{lpg48jZy44j~#f@(H~Yu>@Yj?fH>1O^6H1{MZ36az#UL>U+u
L7#YOC)`$ZD2R>Jh

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/controller/Controller.class b/build/classes/java/main/controller/Controller.class
new file mode 100644
index 0000000000000000000000000000000000000000..181db60987ef9e8df666c370fc44325db0cb5a41
GIT binary patch
literal 5385
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
Fk^q<CVZi_Z

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/controller/PersistentToggleGroup.class b/build/classes/java/main/controller/PersistentToggleGroup.class
new file mode 100644
index 0000000000000000000000000000000000000000..5ccef4da42dee9301d32078f998d43094c421149
GIT binary patch
literal 2668
zcmX^0Z`VEs1_lR)IxYq#24;2!79Ivx1~x_pg{;J~#Iy?i;^fr4RQ=@qypp2)9Q}~|
z^z@um_oDpL0!9Wlo6Nk-5<5l)W)00SE(Q(;PId+^9tLg(9!3TQsE(Y}BK?5WqT<Zr
zlGMBs6zyE;sZfDpMg~<4O&_R@$@w`ssmUdo`FX|q{z=8DMP-ReIjKIG#U<843=9l>
zJPiB{0*nlt`FYM6iFxU%DU1x>8a{;Vv&L#Z$W(|aAXaK#YLPWJgAju-JA()hgD8U-
zBZDGAS1~ehC#Iyp^fNMOX<+jSNFL25P@qXLNU}3X@i0g;$S^YKV6h8Rp9;hnMh2F=
z)QS>t=tpreNHECpFvv3~Ff#C`r<ORTq@<<<mnMO9GcpK416RMaBr``JBxcRcpv0ie
z&Y;4>pvs`e$iN4(86nNcz>!&!T9jClU&P2DhN9aODsIiqpuwQY&Y;D^pbc`n5W)nQ
z5=I90jKpHU)QS?2T3wJQ^%xmMV8-Pn=B4ZVCuOB3msqni7%(zOgN(qD<k%UE5OIMm
zO*)m9l;r1eGMF%!vNM?RFqkt~Ffz!Zn3$PYP+Fqzn_pU->ROhXSHj4^=j$ID>>3~B
z>f`Dd?CQeEAOVZIRFDFFu(FWKf>diE21W)e9tLX$8%74UjKsW@oK!}JBqEX>%s||3
zMx;z6OFh6=6j^gI7&6%LFxWFVFf#BZrlf#f<d&IJl3K*bU<OZVNIJpJh1rTE4l@yy
z>Npsjco>`+To@Sy(^E@=Q$hJHH3gD885!iEF@z&3thpH67~I(zJa`y98N3)71VDkT
zj})7X3~Z@|rHMJkj0~a>7b44AYesP~m@xS8F!+MX8TRD-yyDW_R7M6C=lqmZMh1SL
z%)C^;(%hufq7YEVXJioa$xlwq2}>->1o5GQEF~G4#f%I}gfl)P15Zw3Zc<93N?vNY
ziXkI|A;eK>75d0U4Jcbcau$dMDhi+(%~~^zk%6ZKT=GFu86$%-EP(MuD<cCNL=z)}
zEI#Gdj0|ka;F64yK@X;oIF~Up@CKJ8CTII57C?gq*{cSO46bmm;&CX<PKXlpTmtq!
zS1wYnktd*mk%22XzqBYh)h!d0OQf)t|9YTQ!^j}ul%HQxTvC)+;G0^Kk)Kk`&&H6#
z#gNL7#?Fw=!;ry{$;hAtQVK~znR#XT*{S+I;P~`SElEsEOfJbUs$^u~&PC>(f%qFm
z6T|{YHYir{$<NO&EwBcA1)?mtq$o2l9a#iw8$=@_UqO@;FA1>{zrm2&3B_dR#GIVq
z%#u`V0frEMR)!o<4V%lu5X=xFz>v?#AP(_jT7^DRCb!lM<7Z_k1Su`zVTfUf6<{b~
zWKe=D#S_Imo_TqxMb0^i#l@+`><s0M462}TCzwkZ8Q37%hMl1bst3gzkkEsK0W8?r
z8EP0A<Uq#bR?5i028kmE1qKcVCI%2-W?%rdP8b*&{1_M*+!&Y`7#SECM6|XuFludM
zVAtBkz{|j}lR=P)VIu<r0~3QksJ*}d(k0Bm!XUyR%%H#!z`(%31JTD2$PmQ9Aix9)
zQ>d967+4rs85kHGwYM>d&t$OC-o_xilR=S@!B=M|gE}L_Oa?WboeVmR3<ntW{d5m7
z7+SGNvTR~7){<n|#bC+6u#LfX`Ty(7{~rc9fEnxnDF!wM1_n_Eb_Ov96$WtzEd~h&
zD+XBx2L^etW3(7p7_=A!7(yAs7+4ro7{nOD86v=rc7!+(<Q#@bhA0L`hG+%`23`gh
zhCd7f><k*e7_^xLm_X4Cb$vXj4adO1AfT<ajlppngX>HNcAaeu-U!F=fen^q;AW6w
z;AfBlJ3s*}CIGh#;uKKG3NXYmfXoD0%gn&Y&%n%(01nthh9m|C1~CREhGYh2hAf6`
lhAc2EkD-8}n4y$`fkB9Yi9v#)jG=;slcAEKnxU3K5&+iX@&o_?

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/model/Board.class b/build/classes/java/main/model/Board.class
new file mode 100644
index 0000000000000000000000000000000000000000..a78d2b182c87683650b0972590097ab4611719be
GIT binary patch
literal 461
zcmX^0Z`VEs1_lQPF?I$fMh5QO{FKxjeW(1yq7-%p7Dfhvti-ZJ{hY+SbbbG%tkmQZ
zMh1@b)RN$m#FA7-24xMO(vr*^{eb-9%#zIfJZnuKboJJZ44lE4>3NAIrA4WX3?djh
zLV~Rs890jJW~yjlnt^Uh7$bwIMo6$V7IBWE{Bq~~(!3Hz24)RSPeumr<ouk{+&rk5
zSZP5@Vo7R9zF%rZiF;~ZYEdG{;b6sKj0~(rsl}-!j0{}GC8-5|rMXF|MT`s@Ho;by
zZnDD^Vr1Y7&Mz%WPIb%7No8c<0tcfWC`8y885kLu89;!Yg^_`kfsKKYft`VYfr){G
tg^_`ifeX&(W?^LDVc=x|g+3pY=4TK9^97-_5J;SX32K5cg9z9pQ2@p2aE$-}

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/model/BoardElement.class b/build/classes/java/main/model/BoardElement.class
new file mode 100644
index 0000000000000000000000000000000000000000..b7da37d481527392ebf91688895cc27b0ede2413
GIT binary patch
literal 252
zcmX^0Z`VEs1_lQPUUmj1Mh2nW{FKxjeW(1yq7>Jh)ZEm(5_Sd_Mh1bb#Ii*FoW#6z
zegCAa)Z`LI29EU966gG!{31pM84XPzkb<-d{o>@*yj1;y#LT=BeXy)GBLiDva&l@x
z2_u7!h7ZL2u*~AjlKdilC~XbV4l&;;KR+imG0&Qjfh#jFvm`SyC$lP*k%3u5GmMde
zD>%QjC^^+FGbfdiK@i!QdLRd|F)}bRFf)JvGYcaFD+3z?$o1?D9AKK0fs28Gfsuim
Kfq{XEfd>E-6+pBA

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/model/Builder/ConcreteGameBuilder.class b/build/classes/java/main/model/Builder/ConcreteGameBuilder.class
new file mode 100644
index 0000000000000000000000000000000000000000..66850dd8e50d617a3da2c6c02c18f71cdc9daec6
GIT binary patch
literal 1281
zcmX^0Z`VEs1_lQP6D|fO24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00SP6iGJPId+^9tLg(9!3Vm-29Z(9DS$K%$$_eB7NulyyT+Pl2rG^+*GI-
zBLjC@W>IQdW_m_RY7rv?qbJA+J{|^skbV}B97sTrhd~G=z?PhoUz$=35)$EI5CsW|
z=H{2=7iCtZrnqGmrMf{30;>?`VUPf+U@gi|gy@mtVUPxiaOUQh=9MI7<`uIu$TBiW
zpgI%eJm18;#Pn1y1{nr<kk=I$88|gO!9X*Nok59_K@w9B+)FIZ`6;Q44E#Qsd8vM-
zxk;%-A&E&jsf-LlKKaRsIbn%KnIJw?kfkIevzU=V*$34`EP-Xs$iQBlS_1MXBZHiV
zrzV;fki(&lux4an1qEI)BLg2)3p8jL8F)YvP+l=314nUci8Clz85zWjQ%iiY1ScZ{
zH&_M|Xp9W3NuU^IWRTIo<^)LCSu-+l1?QI*C8xS&g8VLl#Y1|a<iw!Jz`?-8z{sG;
zz{bD;N;nK4z|X(~qCoKurbVHA2`DWMrr8-7K`E1gkwKY(fgu%a4g-U-)^-L)E#|EZ
z>>z>{L<oQgVGtn(A|y95FfcGNs4y@v$T6@pFfcGPurRPNa5Atm@G-D42s5xVNHB0P
z$TDy;s4_4x@GvkkFfb@Hs4=KBFfcGOXfS9(t+Z!gVqjumU|`ph-patMwE=D{DCdAQ
zvNG_3jSzz<gBroWz|NorHkOe=8@plb7={TkurdhaFiZz(m@an11TYMfU|?mC#9^2a
z)G$5lh6!UBCda_aAdkZ^P{c7ZFf!<4H%t=4Fck(?22~t}fnptGm;r+!Gy=RBIKYvk
zu$w_9QfmtXuhtd@cC9T80$N)bgtfLXh-qzMklfB7hlm+AuzD@94UmXcfW`_VgAq9X
Fi~-(K)Dr*z

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/model/Builder/FireFirefighterBuilder.class b/build/classes/java/main/model/Builder/FireFirefighterBuilder.class
new file mode 100644
index 0000000000000000000000000000000000000000..3b2ad97b21e91b398e478584610878b453c607cf
GIT binary patch
literal 754
zcmX^0Z`VEs1_lQPbuI=b24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00Sb_Nbc2F2X`l++x3r_#)vl++@9=ls0nqSTU9_r%;(s2CRmI|DO_;O1fA
zVc=zCU@uNBamy@9Wn_@k@YM7{H2_JYH8%r4g8(~&AP<8ONS`E5m5dC0P&3^!(=$p^
zi$FR>co;+(#26V^lR$1`WRTIoW|wbbUSfKxH9La@BZCU61t2$qa2mu+sCO6{Se)}y
zQW+WeeKPY>{YrC_Qj0<olX6lS8H9ZDlM{2o5{oiHe5fExNk(QdBZC^6KS2hAFsk9!
zj0~(`dl(s5H9S2v!x$M@(=v-viy0XhJsBBzKy0XvVnznxWX#ZJWKc%42}_h%Gcs@m
z=a&{Gr@Cc=94-xV2?#^Y20J0ONDq_%7!(=A8JHMAfQf+-lrk6?86+7P81xw!85kKD
z7+AHoGcaysU|?WkkYZq9U;_&>Ge|QqFz|rctPC;?vJ4Cij0|!N@=(o13``6x3=9lX
zyBXLcw=;11=}K>7;F8(Nz{kX}lR=n~Ask_%7y~QVTn+|y20jK324MzH21y1kunk%e
pQ=m35Fi0^dFerj;m10n0P-I|Y;9wA9P-akJU}j)sPzAeE4FKoyt0DjZ

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/model/Builder/GameBuilder.class b/build/classes/java/main/model/Builder/GameBuilder.class
new file mode 100644
index 0000000000000000000000000000000000000000..6b7721744a4ab2dbde7979ff7263e54e46fac025
GIT binary patch
literal 315
zcmX^0Z`VEs1_lQPes%^XMh3~;{FKxjeW%jQoRrieefPxNR4ALBfrXJlAS<yfQ9ma!
zFJ0e1DJwO(gpq;0IJLwrvnZ93K~BR{(+8)1Yeoh>s8YAg^o)|!B1Q&|;?xr7ocz)h
zMh5ZX)DqwPlKi5~s?-#ad2mJCV42dqlElnBMh4a-kkc3$WHhkZ<(rt7n4W6Q$iNkx
zUs{x$>Xw<4%E%yq<PANL57-zP7#WxuK!A;fk%5(gjRE94b|}pOr8%KA7nJ5^;9+23
OU}WHBU|?Wk-~#|4gHEIX

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/model/Builder/GameManage.class b/build/classes/java/main/model/Builder/GameManage.class
new file mode 100644
index 0000000000000000000000000000000000000000..2720adbd99507a45b7ab9771d0535a07fb653449
GIT binary patch
literal 1072
zcmX^0Z`VEs1_lQPD=r2m24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00SP6iGJPId+^9tLg(9!3U<-29Z(9DS$K%$$_eB7OJ7+*IGhyu|cWMh4cj
z%%ap{Mg~StkRCoB27ZtR9*}5SW_m_RYEdyrLXd|+2qeLloReRg0u~bCVGsogiRR{)
z<QHXDrKY%L7Nxo&X%gpQkN~M*Ey_=X=#k=KkOqlx=H{2?l_X~76>~9gFv#*S$bo#t
z<(ZdRl9`y3S(VDppuor=0&%umPGW9uVp2}3KF9)21|<e%b_Nw522}<%Mg|E`NTgNh
z7bmCYrRo<XX6BXXJLl)*7cnw02f4a1GD!L0Qen--AkUxy3Q<i)23ZZ<>NLaH8MGN0
z6d=xVttiRNOE1kV&Hy<F>?WwEK~B@<VbBA)i^a(&)Rl`ti$Q~tfm6d13^c<S8Cab2
zQ&Jfj_<b_-QvFJElTwR9Kwe{H5c0`SPRt2QEXoA&p@J+W8JWc(KR~R;j6iEf2F6TA
z2HxP3#N=$>!~&>3uHgLAqU2P!%p8zii1^k6g$08m0|x^W0|NsagAgcvFfcF(fubEu
z3o-D3X;COG0i~tEG!p|O11p0810#bW0|Ubb1||k}1_lN#t?dkqTGCq?*tKM~GVp52
zZe<YA5@p%SAgm?Ix|KmpOO$OZgQV6r2APcv3=B*RMhpxLY7CqV3=Dz{EDS;noD9MY
zd<-HC!VIDek_=)D@(kh(stghgnhcT*#taM$9uQj?Oc+cVKtK!ZYDSRFV0VN3q6JEy
z49s9LklR_nERgG2!7Pyb*%%l>2@UG{6AaAYP;h6qk=EM6z`lq<WH*C+<R%8i?F{PS
zEsTuI|G$Dr@q(qaA~!MUY-i9%krG(MzzJ6R734K$u-B9rI2afhWEi*@WEn&mWEi9w
z<QY^M6c`K`<QdEulo;F?)WF`-VqjrlVvuAoW8h(6WRQikEExEpVhjxKP*0mPFffQS
au>E0RV*JG*@rQvCLGdy$GFX7a)e-<=naaQb

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/model/EmptyElement.class b/build/classes/java/main/model/EmptyElement.class
new file mode 100644
index 0000000000000000000000000000000000000000..5069ea14ef0a85701717a0b7537a043f6dcdd4af
GIT binary patch
literal 708
zcmX^0Z`VEs1_lQPc`gPf24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00SP6iGJPId+^9tLg(9!3TUkn*$&{o>@*yj1;y#LT=Bedqj~{31pM)^HEc
z5LZS9DIZ*Ftl1g(7#W0e^HWlD^j&icN-AA*Qgc)DO4u0$;NnjCiA5<;aYhCf=lqmZ
zMh1SL%)C^;(%hufqL9R-oK!{zA)ox@#GJ6iqD&AUD#%ijky*^hAmW2*g*77sM|x@r
z)U7fanz&ub$iSAEoSa%v!pNYb0W~TtvpBOPzepcSTSK%%!p$i^KPNRY&zg~ey$qs^
zkwF}XK1K#EP~c`J=44i-GBR)l=a&{Gr@Cc=yd;PmBzmAgWKd+_Wnf}pWZ-9DU|?Zj
z1VtGGBZD9V1A{&TBLgD?0|Tqpb_T|c3=9lR3_=VH3~XRQE(T!+1_mB5o0UO?L6m`k
zfssLsK^&@C52~4E69fAOG`+k?dRgFlB^V^3dd(OZ8JIwN7}0eKfpv;OWT84i?vi4V
j2HPhCb{)v^+F<uEU^-j^Yy`yNj8G#O8Dv4$F~|V`WRHu*

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/model/ExtinguishFire/Cloud.class b/build/classes/java/main/model/ExtinguishFire/Cloud.class
new file mode 100644
index 0000000000000000000000000000000000000000..9de56c2328937cd36048ec37406dc9240e0c39b7
GIT binary patch
literal 282
zcmX^0Z`VEs1_lQP0WJn624;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00Sb_Nbc2C3Zql++x3*NT$Ny!6t{;taRUqEvn7ocz)hMg|t={FGEi27aH+
zyi~u^+@#c^ki?{%R7M6NpZw&+oUp{AOb{O`$WoG#S<J{F<Ad8sYeojH;QZ2}<W#pz
zkU3mni}XMaWl&^bXJBFg0Y(N!kPjFb88{gj81xxHd<F(qt?dkq8yOfFm>9Si7#P?X
f7#SECm>IYk7#MiKY*q#y23`gR21W)xuqu84)NVW&

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/model/ExtinguishFire/ExtinguishFire.class b/build/classes/java/main/model/ExtinguishFire/ExtinguishFire.class
new file mode 100644
index 0000000000000000000000000000000000000000..a4d622e74ad0dac8a1e1ee24f055fadd19df68df
GIT binary patch
literal 426
zcmX^0Z`VEs1_lQPUUmj1Mh4~F{FKxjeb<VT%)Io{%;F5U%%W5@E;|DYBZELzVp*bo
zPGVlVzJF3yYH|rX0~;fQ5JbCEeqvFIYffrzYF-H=16yf9N@7VWBZIew4@BNQF*g;g
z#@eT}Br``pAip@XBr`wH+6QbZSj;1_IKwxw09nYfs3@`0C$qT3S~HB1fipNWJuk7O
zv?!I4VFno{+u*hvZjlYt!C=QiJ!EZXZHLuW=my$>oyirPUs{x$>Xw<4%E%y$8nAjG
q@3Jv6FfuSRFfy<*FfcH(Ffy<+a4;}3a56A3Ffnj3Ffwq1Sv&w|a)i|Y

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/model/ExtinguishFire/FireFighter.class b/build/classes/java/main/model/ExtinguishFire/FireFighter.class
new file mode 100644
index 0000000000000000000000000000000000000000..02776eb6f209146e6f2de1891a6ecafbc4aa688a
GIT binary patch
literal 4759
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/model/ExtinguishFire/MotorizedFireFighter.class b/build/classes/java/main/model/ExtinguishFire/MotorizedFireFighter.class
new file mode 100644
index 0000000000000000000000000000000000000000..436df44dd36db05fd1c87bf02bf61944fcae213b
GIT binary patch
literal 327
zcmX^0Z`VEs1_lQP0WJn624;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00Sb_Nbc2F=|3l++x3*NT$Ny!6t{;taRUqEvm~{F3~l%&OEB5YH_$J)<PG
zh>?NCIX@+pk%8YQGcVPzG&d==C?qi{CzX*w$R|HJF()jsC=<ko3bK@BWEL|rX!{Ut
zgEb=qS8#r5QF5wVCdgPxY|hXF`HDf2ft`Vg0R$Ks7(w1;U}WHAU|`T^0Pz_ZShcn@
sFm7aEU|?e4VqjokV_;-pU|?q8W?*380kc^dco=vY7#J8C_`s_80csjfga7~l

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/model/Flammable/Fire.class b/build/classes/java/main/model/Flammable/Fire.class
new file mode 100644
index 0000000000000000000000000000000000000000..a63719c958047acc25830722191a24670a97cbad
GIT binary patch
literal 3927
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/model/Flammable/Flammable.class b/build/classes/java/main/model/Flammable/Flammable.class
new file mode 100644
index 0000000000000000000000000000000000000000..bf120cd5de3e083cfef4bb7079bfbbbd2f05fb97
GIT binary patch
literal 411
zcmX^0Z`VEs1_lQPUUmj1Mh3~;{FKxjeYc#%+}y;ZoKyshoq>gsK_Dx!EKxrvF)v-;
zKPf9UxrCj8jgdhJqRA;gu_(ngCp9-UuY{3-t+XH|u_Tp|!CS)zBJZA<n+jHA?NeHk
znWG<&Uz}NznV)Cv12z>b=8;&O;hR{1EaX^JlvwGLSzKbR8OF%K8JwA(msnC-l*-63
zgA9{xaN7;H$Oh_Quw$VfvbM9f!|Ez@1MR@h<O<F&ElN&x%gjk-WZ;7bryj_sY>W(y
l49pCS46F<c42&#{4D1XX42%q%3=9lR3|tJ14BTKA4*-4Kem?*J

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/model/GameBoard.class b/build/classes/java/main/model/GameBoard.class
new file mode 100644
index 0000000000000000000000000000000000000000..e7f7e68c6824b75a0258c2c6ecb4cd1b9dee4da3
GIT binary patch
literal 6075
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
VWq8NHz`(`8$l$~9p5Y@KCjhC|>`(vz

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/model/Obstacle/Mountain.class b/build/classes/java/main/model/Obstacle/Mountain.class
new file mode 100644
index 0000000000000000000000000000000000000000..ab116eed640ff92a1960d9c887bc5a35d19df9b1
GIT binary patch
literal 279
zcmX^0Z`VEs1_lQP0WJn624;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00Sb_Nbc2Jzhdl++x3|D@uQ#N?b*ec$}jypqJsJVpi<=lqmZMh1SL%)C^;
z(%hufqL9R-oK!{zA)ox@#GJ6iqD&AUD#%ijky*^hAnAj{JZnY<uHgLAqU2P!OpqbG
zFpKm+u4GVTU}s=r00Bk@Mv(Iv7#TPj7#Q>!Kzs%UR;}#}j2jsk7?>Ei7#JAX7#JBC
c7?>Hj85kINz-(3q9tK_p1_nk3KCmi&0Ie@O4*&oF

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/model/Obstacle/Obstacles.class b/build/classes/java/main/model/Obstacle/Obstacles.class
new file mode 100644
index 0000000000000000000000000000000000000000..fff48ef4e9967a51eeca54cadce22b98a897ae4c
GIT binary patch
literal 140
zcmX^0Z`VEs1_lQPPId++Mh1!8{FKxjegCB5lEmbkR5+uUoq>gsK_Dx!EKxrvF)v-;
zKPf9UxrCj8jgdhJqQ@yeu_(ngCp9-UuY{3-D>%QjC^^+FGbfdife&V0u^z|-Hbw?U
W24)6E237_TU}RutU|?Wk-~a$X*dwg~

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/model/Obstacle/Road.class b/build/classes/java/main/model/Obstacle/Road.class
new file mode 100644
index 0000000000000000000000000000000000000000..2bfbc469870e9b39d3520e2a95d1bb670839ada4
GIT binary patch
literal 267
zcmX^0Z`VEs1_lQP0WJn624;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00Sb_Nbc2I1WNl++x3|D@uQ#N?b*{h<8B6h;OX=lqmZMh1SL%)C^;(%huf
zqL9R-oK!{zA)ox@#GJ6iqD&AUD#%ijky*^hAnJp~ENeyvuHgLAqU2P!OppPbAPe+B
zE@Mz+U}s=r00Bk@Mv#*k7#TPj7#Q>!Kzs%UR;}#}j2jsk7?>Ei7#JAX7#JBC7?>Hj
Y85kINz-(3q9tK_p1_nk3KCmi&02+EVv;Y7A

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/model/Visitor/CrossMountain.class b/build/classes/java/main/model/Visitor/CrossMountain.class
new file mode 100644
index 0000000000000000000000000000000000000000..ddbfddb8f7cee6c257ddbd45252852a741b3db40
GIT binary patch
literal 1066
zcmX^0Z`VEs1_lQPB`yXg24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00Sb_Nbc2I<`Vl++yku*~AjlKdil=c4@LV&DAIypqJsJaz^yMg~z-1yF^I
z3@pz1DXEMM{63j^seYxoNvTC4iAg!Bj0{3P`N@enVTnbVAU;%(r6eP>n2|x&2h}tb
z>#P|WSj#}}U}TWgfGTv$NzBa!nWOKPS(Iw68O6xJl9pMN%E%ywT?He9Don3yMM-8}
zdTC~H21qa10JqHajFQwMusPfybD#o@3`$Vr@MvOW(8FQ0Z+=OBQD#+Y3dka;kzhMS
za<RxTGH7GB468AW3^FiV{gaAI5|eXM^<fbNwu2)V8eNPGl2CIo6*4kNV3-n=pO^wR
zfu$%vF@=#q6kRu10V4xfaDHh~a;jS<ICfE@Ob?XA7!(=U8JHLt88{gj7}yvXL8*^{
zk%60mfkB^vk%5tcfq_+PI|JiJ1_lNu1|Fy)1_n+BUIqpR9*6=4J_ddU1_nk30R};+
zW-|sx1}2am<~1M^Nhc3jrx-*QsuN_k5Q8w-LIDO5f@TQfFhi6<3~GirK{Lc~m?6O+
j2{l8Cpc&FQ%#db~ftn#p&<q6}X2>zfgUwI?ho2$<6+qex

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/model/Visitor/CrossRoad.class b/build/classes/java/main/model/Visitor/CrossRoad.class
new file mode 100644
index 0000000000000000000000000000000000000000..ee0df02352663a36d691bb3081a31d94c5028c0d
GIT binary patch
literal 1054
zcmX^0Z`VEs1_lQPB`yXg24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00Sb_Nbc2Jzhdl++yku*~AjlKdil=c4@L;-LJ*6m|wKMg~z-NvI-51{UZ1
zlvG9rexJ;|RKL>Pq|~C2#H5^5Mg}3D{N%)(u*9NF5FaYYQj(Eb%*Y_=gK8SwDr-gt
z)-sU&j0}<*P(^MziMhETGxXgui&CvMqZk=j(lU!u85zW|t6*eMh3R#zD9OxAFU>5@
z0O<uA;Fg)5QIc8&HisKz4pe}VK?!Oc9!-o4dN_>s%`eF>%B)IF0a*k!5^RS^E*2R^
z25sz?VKs)4K?Y{4e^PNtVscKZzHfeMUP)qR9@q|!Tqq9_w3rGR86+@F0Yxv^1eT)w
z#1uvbQK+lny1@z<8MuP;ON)|I-7-Nj%Lk7xJy5b@P-I|dU}9io;ACK6U}Iner8ovg
z25trh27Lxb21W)323D=@42&BY7#Nrsc%X_H7&sYt85kINAPN}x82A|&7#JA@7zCl3
z%@`ONm_T}%*MLYQojhQjVh~xVPLSC`48mXw1sFuo&0s+{LlB1<q6}hCGsFp+A%?>Y
o2?j~18B*wGVE9EEhZ)igGEg&Q37VmR!wfkFd9WD@;P6uf0Nh*DvH$=8

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/model/Visitor/FireFinder.class b/build/classes/java/main/model/Visitor/FireFinder.class
new file mode 100644
index 0000000000000000000000000000000000000000..05ddcb141f461b8f1e4f42cb7b2c32083b234b7f
GIT binary patch
literal 1057
zcmX^0Z`VEs1_lQPB`yXg24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00Sb_Nbc28rDKl++yku*~AjlKdilx6Gncx6Hhh)FO5UE=C4XR9UDhMg|t=
z{FGEi27aH+yi~u^+@#c^ki?{%R7M6NpZw&+oUp{AOb{O`$WoG#S<J{F<%4P(!Y*q@
z2G%l=3m6$BHK3~8auRcML56_cWUU#+$iR}8S(M7iAckE9BZDeTuWLm~W?p(}W^o3{
z4zK}knduoNsYPIOxIyMX1sEBWpvK|R#K@qB!)V|9lKi5~s?-#aMNlKbc8KI+kzr)e
z#%>u_V;C7^V7B@v6_+F?=cMZU=9lJ`BxdG;?cm6T@)#K;q2^*LWMq)QFeNBIF$HV_
zOHqDe3L}Fkx^A!nMh33n{L-T2RJTk})bc~T2ud4zpp?a+$iU9P#K6eF$-uzC#=r<l
zbPS9P+zbp1`V5Q=j0_A6tXkU{7&kI7FfcLjKov1Ca5C^RFfi~y6fp2H@G~$lFfs@*
z2tqZRF)%VPf%LGf0g*^LdB8fwAhJ-MAhU%SguxaHFo>X=!HjN(APzG`8N{Gwh!ZqJ
p42KyK43bbYqzIZJjl&FS1{tUsvINagz+r|QgFM&_1#tK&0syIv)t&$V

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/model/Visitor/Visitor.class b/build/classes/java/main/model/Visitor/Visitor.class
new file mode 100644
index 0000000000000000000000000000000000000000..d9ae8e3a8a6375c074840b3b24e35ce02a6d6b1e
GIT binary patch
literal 332
zcmX^0Z`VEs1_lQPUUmj1Mh4N`{FKxj{jkj9%#!>f7|qVW!pI<yl~|UjpOcuEuJ50e
zm6}|_$iP|#Qpd<3so?|B=a!S0o12)FldA8QS(Iw68O6w;3X^lKD9OxAFU>5@0Lg(B
zxMikil%y7c)#>3-=bK-WUzAyungY^=tU(5*!9S_EBr!QBRo^$iG_NEvGY@Q@1cr1_
zeqst(iYqw3v?w{%Ei)&Tk%0&5S3QvT*ccfY8JHPBfR%-jft7)c0pxX726iaT0i`*i
SG#3K{10w@B0|NsS0}lY^R9Hp;

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/module-info.class b/build/classes/java/main/module-info.class
new file mode 100644
index 0000000000000000000000000000000000000000..228b8be064ecf35c69bb788937ce7ff8ab50174e
GIT binary patch
literal 339
zcmX^0Z`VEs1_lQPNp=P%Mh5QO{FKt1RNc(Hw0uSeuHgLAqU2P!%$!t41_2}~y{yEt
zL`DWSU$AOn26jdU?zGIJ)U?d>jFQwMVFpe{22PL~y`;qAR7M64BLh7HJtI9sVFn&X
z27ZuCT7_P6eqKpYeoiqX1Cx=VFatj$12<GAts*x^m_ZPsG`%RXAR{xmScE~Ck%2j}
zpg@E{l#zi8YC=wG5hH_OVnKm^aAt04PGU)Zk#AyV9y@~=BLhFgjUc{rPGWI!0|Nsi
z0}L=TFf%YPFfp(&ure?(*fFqyC0H0Z8W<S37`Pc27<d`@z@z|}WMmKmt6*XfVE~!K
Q2j(+^)i5wffXxyI088pc0RR91

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/util/Position.class b/build/classes/java/main/util/Position.class
new file mode 100644
index 0000000000000000000000000000000000000000..b01c34770ddcee9fb9247441aa31c14fcb6fc662
GIT binary patch
literal 1399
zcmX^0Z`VEs1_lQPTP_AB24;2!79Ivx1~x_pfvm)`ME#t^ymbAb)a3l46h;O%o6Nk-
z5<5l)W)00SP6iGJPId+^9tLg(9!3V<(vr*^{eb-9%#zIfJVplQqWp4321ZYiGCm##
zevlfr<ouk{+&m!$1_nVM1|bGvMh1?O{NR$J%)E3)24xK&6f>+feGpE7D6$4=73E<N
zV-RO#;K)cU&T!68No8aZ!qDmoQYp#9AjKff$iS9bSelqq%*ddEt`5lt|D>$c<PvMm
zC`JZW4Np(aFh&Lzi0S-3nR%&xrMXF|MInhvIUxId@{<#D!V-%zL42qnOG!p%F(U&%
znlBg`1bkCVGV)Ub5{nXZQ%h2diWwP1G_ZIM9Il>>45Av?oyC~X$RLC%#mK-FoL^d$
zoa&YdavLu!4)j2w$H>42i#-9S{QQ#QlA^={h<l3p*%)-W81xwQ*%=IY7z`PV7#ZY2
zdLWTrRGL?knVYH)2^XjqMh4C#m??}58<8EFnOBydovIH}=#iM0l9O7j;*+1BU0Ps`
z<Y;I_B8fmXhEx`$x}+8-7iAWd<QE}pan4CBE=CrBnh}j@2(s-c=?CHqYYqkzMh32;
z{BmnZQsif3VCQFK;ALds@yyFhEdpDWTFlO1$;hCJ2n(nakxhsBjh(@okwFf>Qbq<g
zNI)<cGH@_3F)%PNF$jUO4Fdy%5GZRfFfgz&Ffy<*$S^Q5$TBc6_=55x0|NuU)^-L)
zE$OWc>{>Eg8F)8>waP)2GcYhS$TKi7C@?UClrktVC^CQmKiFtSuoyoB4+9f}5(5JR
zCldoVScri^kU@w+nSl{(lOY2m14t>m)-DDC28In-ZQy|@f!ZL*AjY7AMY{+C!y2Nr
zOEIWIwc9W-fy0ACOM4fC1TOtz5H(Qi85lSi)ELyk?&gL&L?6s&U|`kS!oZHt8LUua
z7#aAnYUU+IGYf+T*r%EdS_}*fd<>wl<pGB-h|~s)F*4{durP2i7&DkMm@$|$Ffed2
OFfv#$STWczNCE)cw;3$}

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/view/FirefighterGrid.class b/build/classes/java/main/view/FirefighterGrid.class
new file mode 100644
index 0000000000000000000000000000000000000000..d2bbe7e11dd4d28c3fba73284af14ce15b59f73f
GIT binary patch
literal 3859
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/view/Grid.class b/build/classes/java/main/view/Grid.class
new file mode 100644
index 0000000000000000000000000000000000000000..cedfc6abc7646d2aeb91d7df5227cbdb1cae0317
GIT binary patch
literal 384
zcmX^0Z`VEs1_lQPA$A5PMh4EZ%+zvy_oB=cb_Nzk27#=^vPAuy#JqHU|D>$c<Pt^(
z_M+5+#LT=BMh0OGAFy<3NoJ0|PiAq6wPqM217~n%dR}5lX;CU8gEhJe8?cVF3VpDi
zfW*uq8y^TWzc{lbGe6Hd#MRo)+74_IZ*gjgOJ;6rUU6oAUNIvByN0Kyrzgk`?&SQO
z(%d}f{8ErRm^Cy#85uZ=^2?zDk{Z#`KDqfRsX6*i`H4j-t~sf>sd*6RY1p`0fgOSD
zD{DJUAw~wS;QZ2}<W#rJoK!{zPEeTWf&9zH$iT?J%m4zcEQ}1S3~UUH4D1XH3``6h
iEQ}1C3|tJLpyOuX0n@xtnw5bMtOlZzpFsf369fPku3owT

literal 0
HcmV?d00001

diff --git a/build/resources/main/view/DarkTheme.css b/build/resources/main/view/DarkTheme.css
new file mode 100644
index 0000000..46b78aa
--- /dev/null
+++ b/build/resources/main/view/DarkTheme.css
@@ -0,0 +1,142 @@
+.background {
+    -fx-background-color: #1d1d1d;
+}
+
+.label {
+    -fx-font-size: 11pt;
+    -fx-font-family: "Segoe UI Semibold";
+    -fx-text-fill: white;
+    -fx-opacity: 0.6;
+}
+
+.label-bright {
+    -fx-font-size: 11pt;
+    -fx-font-family: "Segoe UI Semibold";
+    -fx-text-fill: white;
+    -fx-opacity: 1;
+}
+
+.label-header {
+    -fx-font-size: 32pt;
+    -fx-font-family: "Segoe UI Light";
+    -fx-text-fill: white;
+    -fx-opacity: 1;
+}
+
+.table-view {
+    -fx-base: #1d1d1d;
+    -fx-control-inner-background: #1d1d1d;
+    -fx-background-color: #1d1d1d;
+    -fx-table-cell-border-color: transparent;
+    -fx-table-header-border-color: transparent;
+    -fx-padding: 5;
+}
+
+.table-view .column-header-background {
+    -fx-background-color: transparent;
+}
+
+.table-view .column-header, .table-view .filler {
+    -fx-border-width: 0 0 1 0;
+    -fx-background-color: transparent;
+    -fx-border-color: 
+        transparent
+        transparent
+        derive(-fx-base, 80%) 
+        transparent;
+    -fx-border-insets: 0 10 1 0;
+}
+
+.table-view .column-header .label {
+    -fx-font-size: 20pt;
+    -fx-font-family: "Segoe UI Light";
+    -fx-text-fill: white;
+    -fx-alignment: center-left;
+    -fx-opacity: 1;
+}
+
+.table-view:focused .table-row-cell:filled:focused:selected {
+    -fx-background-color: -fx-focus-color;
+}
+
+.split-pane:horizontal > .split-pane-divider {
+    -fx-border-color: transparent #1d1d1d transparent #1d1d1d;
+    -fx-background-color: transparent, derive(#1d1d1d,20%);
+}
+
+.split-pane {
+    -fx-padding: 1 0 0 0;
+}
+
+.menu-bar {
+    -fx-background-color: derive(#1d1d1d,20%);
+}
+
+.context-menu {
+    -fx-background-color: derive(#1d1d1d,50%);
+}
+
+.menu-bar .label {
+    -fx-font-size: 14pt;
+    -fx-font-family: "Segoe UI Light";
+    -fx-text-fill: white;
+    -fx-opacity: 0.9;
+}
+
+.menu .left-container {
+    -fx-background-color: black;
+}
+
+.text-field {
+    -fx-font-size: 12pt;
+    -fx-font-family: "Segoe UI Semibold";
+}
+
+/* 
+ * Metro style Push Button
+ * Author: Pedro Duque Vieira
+ * http://pixelduke.wordpress.com/2012/10/23/jmetro-windows-8-controls-on-java/
+ */
+.button {
+    -fx-padding: 5 22 5 22;   
+    -fx-border-color: #e2e2e2;
+    -fx-border-width: 2;
+    -fx-background-radius: 0;
+    -fx-background-color: #1d1d1d;
+    -fx-font-family: "Segoe UI", Helvetica, Arial, sans-serif;
+    -fx-font-size: 11pt;
+    -fx-text-fill: #d8d8d8;
+    -fx-background-insets: 0 0 0 0, 0, 1, 2;
+}
+
+.button:hover {
+    -fx-background-color: #3a3a3a;
+}
+
+.button:pressed, .button:default:hover:pressed {
+  -fx-background-color: white;
+  -fx-text-fill: #1d1d1d;
+}
+
+.button:focused {
+    -fx-border-color: white, white;
+    -fx-border-width: 1, 1;
+    -fx-border-style: solid;
+    -fx-border-radius: 0, 0;
+    -fx-border-insets: 1 1 1 1, 0;
+}
+
+.button:disabled, .button:default:disabled {
+    -fx-opacity: 0.4;
+    -fx-background-color: #1d1d1d;
+    -fx-text-fill: white;
+}
+
+.button:default {
+    -fx-background-color: -fx-focus-color;
+    -fx-text-fill: #ffffff;
+}
+
+.button:default:hover {
+    -fx-background-color: derive(-fx-focus-color,30%);
+}
\ No newline at end of file
diff --git a/build/resources/main/view/view.fxml b/build/resources/main/view/view.fxml
new file mode 100644
index 0000000..ac3a91e
--- /dev/null
+++ b/build/resources/main/view/view.fxml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.scene.control.Button?>
+<?import javafx.scene.layout.HBox?>
+<?import javafx.scene.layout.VBox?>
+<?import view.FirefighterGrid?>
+
+<?import javafx.scene.control.ToggleButton?>
+<?import javafx.scene.control.Separator?>
+<?import javafx.scene.control.Label?>
+<HBox styleClass="background" stylesheets="@DarkTheme.css"
+      xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml"
+      fx:controller="controller.Controller">
+  <VBox>
+    <Separator maxHeight="-Infinity" maxWidth="-Infinity"
+               prefHeight="24.0" prefWidth="200.0"/>
+    <Label maxHeight="-Infinity" maxWidth="-Infinity" alignment="CENTER" prefHeight="24.0" prefWidth="200.0"
+           text="Generation number"/>
+    <Label fx:id="generationNumberLabel" alignment="CENTER" contentDisplay="TEXT_ONLY"
+           maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="24.0" prefWidth="200.0"/>
+    <Separator maxHeight="-Infinity" maxWidth="-Infinity"
+               prefHeight="24.0" prefWidth="200.0"/>
+    <Button fx:id="restartButton" maxHeight="-Infinity" maxWidth="-Infinity"
+            mnemonicParsing="false" onAction="#restartButtonAction" prefHeight="24.0" prefWidth="200.0"
+            text="Restart"/>
+    <Button fx:id="oneStepButton" maxHeight="-Infinity" maxWidth="-Infinity"
+            mnemonicParsing="false" onAction="#oneStepButtonAction" prefHeight="24.0" prefWidth="200.0"
+            text="One step"/>
+    <ToggleButton fx:id="playToggleButton" maxHeight="-Infinity" maxWidth="-Infinity"
+                  mnemonicParsing="false" onAction="#playToggleButtonAction" prefHeight="24.0"
+                  prefWidth="200.0" styleClass="button" text="Play"/>
+    <ToggleButton fx:id="pauseToggleButton" maxHeight="-Infinity" maxWidth="-Infinity"
+                  mnemonicParsing="false" onAction="#pauseToggleButtonAction" prefHeight="24.0"
+                  prefWidth="200.0" styleClass="button" text="Pause"/>
+  </VBox>
+  <FirefighterGrid fx:id="grid" width="600.0" height="600.0"
+                   xmlns="http://javafx.com/javafx"
+                   xmlns:fx="http://javafx.com/fxml">
+  </FirefighterGrid>
+</HBox>
diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin
new file mode 100644
index 0000000000000000000000000000000000000000..6a2c8311aad2bec86286b0f270caab2751d19e4b
GIT binary patch
literal 22148
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
JjEtaD3jvs#vfTgx

literal 0
HcmV?d00001

diff --git a/src/main/java/model/ExtinguishFire/ExtinguishFire.java b/src/main/java/model/ExtinguishFire/ExtinguishFire.java
index 4e5e787..006a184 100644
--- a/src/main/java/model/ExtinguishFire/ExtinguishFire.java
+++ b/src/main/java/model/ExtinguishFire/ExtinguishFire.java
@@ -6,10 +6,9 @@ import util.Position;
 
 import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.List;
 
 public interface ExtinguishFire extends BoardElement {
 
-    void update(GameBoard gameBoard , Position position);
+    void update(GameBoard gameBoard , Position position, HashMap<Position, ArrayList<BoardElement>> newElementPosition, ArrayList<Position> extinguishPosition);
 
 }
diff --git a/src/main/java/model/ExtinguishFire/FireFighter.java b/src/main/java/model/ExtinguishFire/FireFighter.java
index f575cc4..060a5de 100644
--- a/src/main/java/model/ExtinguishFire/FireFighter.java
+++ b/src/main/java/model/ExtinguishFire/FireFighter.java
@@ -66,14 +66,10 @@ public class FireFighter implements ExtinguishFire {
     }
 
     @Override
-    public void update(GameBoard gameBoard, Position position) {
+    public void update(GameBoard gameBoard, Position position, HashMap<Position, ArrayList<BoardElement>> newElementPosition, ArrayList<Position> extinguishPosition) {
 
-            HashMap<Position, ArrayList<BoardElement>> elementPositionCopie = new HashMap<>();
-            for (Map.Entry<Position, ArrayList<BoardElement>> entry : elementPosition.entrySet()){
-                elementPositionCopie.put(entry.getKey(),entry.getValue());
-            }
             List<Position> firePositions = new ArrayList<>();
-            for (Map.Entry<Position, ArrayList<BoardElement>> entry : elementPositionCopie.entrySet()) {
+            for (Map.Entry<Position, ArrayList<BoardElement>> entry : elementPosition.entrySet()) {
                 for (BoardElement element : entry.getValue()) {
                     if (element.accept(new FireFinder())) {
                      firePositions.add(entry.getKey());
@@ -81,40 +77,22 @@ public class FireFighter implements ExtinguishFire {
                 }
             }
             Position newFirefighterPosition = gameBoard.neighborClosestToFire(position);
-            //elementPosition.get(position).remove(this);
-            if(elementPosition.containsKey(newFirefighterPosition)){
-                elementPosition.get(newFirefighterPosition).add(this);
+            if(newElementPosition.containsKey(newFirefighterPosition)){
+                newElementPosition.get(newFirefighterPosition).add(this);
             }
             else{
                 ArrayList<BoardElement> boardElements = new ArrayList<>();
                 boardElements.add(this);
-                elementPosition.put(newFirefighterPosition,boardElements);
+                newElementPosition.put(newFirefighterPosition,boardElements);
             }
-            gameBoard.extinguish(newFirefighterPosition);
+            extinguishPosition.add(newFirefighterPosition);
             List<Position> neighborFirePositions = gameBoard.neighbors(newFirefighterPosition).stream()
                     .filter(firePositions::contains).toList();
             for(Position firePosition : neighborFirePositions) {
-                gameBoard.extinguish(firePosition);
+                extinguishPosition.add(firePosition);
             }
 
         }
-    /*private List<Position> updateFirefighters() {
-        List<Position> result = new ArrayList<>();
-        List<Position> firefighterNewPositions = new ArrayList<>();
-        for (Position firefighterPosition : firefighterPositions) {
-            Position newFirefighterPosition = neighborClosestToFire(firefighterPosition);
-            firefighterNewPositions.add(newFirefighterPosition);
-            extinguish(newFirefighterPosition);
-            result.add(firefighterPosition);
-            result.add(newFirefighterPosition);
-            List<Position> neighborFirePositions = neighbors(newFirefighterPosition).stream()
-                    .filter(firePositions::contains).toList();
-            for(Position firePosition : neighborFirePositions)
-                extinguish(firePosition);
-            result.addAll(neighborFirePositions);
-        }
-        firefighterPositions = firefighterNewPositions;
-        return result;
-    }*/
+
 }
 
diff --git a/src/main/java/model/Flammable/Fire.java b/src/main/java/model/Flammable/Fire.java
index e3bee19..a37e887 100644
--- a/src/main/java/model/Flammable/Fire.java
+++ b/src/main/java/model/Flammable/Fire.java
@@ -64,19 +64,29 @@ public class Fire implements Flammable{
     }
 
     @Override   // TODO: 15/11/2023
-    public void update(GameBoard gameBoard , Position position) {
-
+    public void update(GameBoard gameBoard , Position position,HashMap<Position, ArrayList<BoardElement>> newElementPosition, ArrayList<Position> extinguishPosition) {
+        if(extinguishPosition.contains(position)){
+            return ;
+        }
         if (gameBoard.stepNumber() % 2 == 0) {
-            List<Position> newFirePositions = new ArrayList<>();
-            newFirePositions.addAll(gameBoard.neighbors(position));
-            for(Position newPosition : newFirePositions){
+            List<Position> newPositions = new ArrayList<>();
+            newPositions.addAll(gameBoard.neighbors(position));
+            if(newElementPosition.containsKey(position))
+                newElementPosition.get(position).add(this);
+            else {
+                newElementPosition.put(position,(new ArrayList<>()));
+                newElementPosition.get(position).add(this);
+            }
+            for(Position newPosition : newPositions){
+                //if(extinguishPosition.contains(newPosition))
+                    //continue;
                 if(GameBoard.elementPosition.containsKey(newPosition)) {
                     for(BoardElement boardElement : GameBoard.elementPosition.get(newPosition)){
                         if(boardElement.accept(new FireFinder()) && boardElement.accept(new CrossRoad()) && boardElement.accept(new CrossMountain())){
                             break;
                         }
                         else if(!boardElement.accept( new FireFinder())&& !boardElement.accept(new CrossRoad()) && !boardElement.accept(new CrossMountain())){
-                            GameBoard.elementPosition.get(newPosition).add(this);
+                            newElementPosition.get(newPosition).add(this);
                         }
                     }
 
@@ -84,11 +94,18 @@ public class Fire implements Flammable{
                 else{
                     ArrayList<BoardElement> boardElements = new ArrayList<>();
                     boardElements.add(this);
-                    GameBoard.elementPosition.put(newPosition,boardElements);
+                    newElementPosition.put(newPosition,boardElements);
                     System.out.println(GameBoard.elementPosition.get(position).get(0).getColor());
                 }
 
             }
+        }else{
+            if(newElementPosition.containsKey(position))
+                newElementPosition.get(position).add(this);
+            else {
+                newElementPosition.put(position,(new ArrayList<>()));
+                newElementPosition.get(position).add(this);
+            }
         }
 
     }
diff --git a/src/main/java/model/Flammable/Flammable.java b/src/main/java/model/Flammable/Flammable.java
index b21f82b..325c6d3 100644
--- a/src/main/java/model/Flammable/Flammable.java
+++ b/src/main/java/model/Flammable/Flammable.java
@@ -10,5 +10,5 @@ import java.util.List;
 
 public interface Flammable extends BoardElement{
 
-    void update(GameBoard gameBoard, Position position);
+    void update(GameBoard gameBoard, Position position,HashMap<Position, ArrayList<BoardElement>> newElementPosition, ArrayList<Position> extinguishPosition);
 }
diff --git a/src/main/java/model/GameBoard.java b/src/main/java/model/GameBoard.java
index eacfba7..5b4773c 100644
--- a/src/main/java/model/GameBoard.java
+++ b/src/main/java/model/GameBoard.java
@@ -40,29 +40,35 @@ public class GameBoard implements Board{
     }
     @Override
     public void updateToNextGeneration() {
-        HashMap<Position, ArrayList<BoardElement>> elementPositionCopie = new HashMap<>();
+        HashMap<Position, ArrayList<BoardElement>> newElementPosition = new HashMap<>();
+        ArrayList<Position> extinguishPosition = new ArrayList<>();
         for (Map.Entry<Position, ArrayList<BoardElement>> entry : elementPosition.entrySet()){
-            elementPositionCopie.put(entry.getKey(),entry.getValue());
-        }
-        for (Map.Entry<Position, ArrayList<BoardElement>> entry : elementPositionCopie.entrySet()){
             for(BoardElement element : entry.getValue()){
 
                 if (!element.accept(new FireFinder())){
                     ExtinguishFire element1 = (ExtinguishFire) element;
-                    element1.update(this,entry.getKey());
+                    element1.update(this,entry.getKey(),newElementPosition,extinguishPosition);
                 }
             }
         }
-        /*for (Map.Entry<Position, ArrayList<BoardElement>> entryCopie : elementPositionCopie.entrySet()){
-            for(BoardElement element : entryCopie.getValue()){
-
+        for (Map.Entry<Position, ArrayList<BoardElement>> entry : elementPosition.entrySet()){
+            for(BoardElement element : entry.getValue()){
                 if (element.accept(new FireFinder())){
                     Flammable element1 = (Flammable) element;
-                    element1.update(this,entryCopie.getKey());
+                    element1.update(this,entry.getKey(),newElementPosition,extinguishPosition);
                 }
             }
-        }*/
+        }
+        elementPosition.clear();
+        extinguishPosition.clear();
+        for (Map.Entry<Position, ArrayList<BoardElement>> entry : newElementPosition.entrySet()){
 
+            if(elementPosition.containsKey(entry.getKey())){
+                elementPosition.get(entry.getKey()).addAll(entry.getValue());
+            }else{
+                elementPosition.put(entry.getKey(),entry.getValue());
+            }
+        }
         step++;
 
 
@@ -112,16 +118,13 @@ public class GameBoard implements Board{
     }
 
     public  Position neighborClosestToFire(Position position) {
-        HashMap<Position, ArrayList<BoardElement>> elementPositionCopie = new HashMap<>();
-        for (Map.Entry<Position, ArrayList<BoardElement>> entry : elementPosition.entrySet()){
-            elementPositionCopie.put(entry.getKey(),entry.getValue());
-        }
+
         FireFinder fireFinder = new FireFinder();
         Set<Position> firePositions = new HashSet<>();
         Set<Position> seen = new HashSet<>();
         HashMap<Position, Position> firstMove = new HashMap<>();
         Queue<Position> toVisit = new LinkedList<>(neighbors(position));
-        for (Map.Entry<Position, ArrayList<BoardElement>> entry : elementPositionCopie.entrySet()){
+        for (Map.Entry<Position, ArrayList<BoardElement>> entry : elementPosition.entrySet()){
             for(BoardElement element : entry.getValue()){
                 if (element.accept(fireFinder)){
                     firePositions.add(entry.getKey());
@@ -144,7 +147,7 @@ public class GameBoard implements Board{
         return position;
     }
 
-    public void extinguish(Position position) {
+    /*public void extinguish(Position position) {
         FireFinder fireFinder = new FireFinder();
         HashMap<Position, ArrayList<BoardElement>> elementPositionCopie = new HashMap<>();
         for (Map.Entry<Position, ArrayList<BoardElement>> entry : this.elementPosition.entrySet()){
@@ -160,6 +163,6 @@ public class GameBoard implements Board{
                     this.elementPosition.remove(position);
                 }
             }
-        }
+        }*/
     }
 
-- 
GitLab