aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKevin <92656833+kevinthegreat1@users.noreply.github.com>2023-09-16 12:33:05 -0400
committerGitHub <noreply@github.com>2023-09-16 12:33:05 -0400
commitf6289ce26020d9be6053b028a4bd15e341ef962d (patch)
treeef9c0a5476371e4a2b767961891ca8fb4f1c2396 /src
parent045e5c5c8693b9c71b32672df404c129995ed867 (diff)
downloadSkyblocker-f6289ce26020d9be6053b028a4bd15e341ef962d.tar.gz
Skyblocker-f6289ce26020d9be6053b028a4bd15e341ef962d.tar.bz2
Skyblocker-f6289ce26020d9be6053b028a4bd15e341ef962d.zip
Update Dungeon Secrets (#306)
Diffstat (limited to 'src')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java13
-rw-r--r--src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/crypts-1.skeleton5
-rw-r--r--src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/double-stair-3.skeleton50
-rw-r--r--src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/four-banner-1.skeletonbin0 -> 60095 bytes
-rw-r--r--src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/lava-skulls-3.skeletonbin0 -> 57243 bytes
-rw-r--r--src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/redstone-skull-3.skeleton2
-rw-r--r--src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/trinity-4.skeleton69
-rw-r--r--src/main/resources/assets/skyblocker/dungeons/catacombs/1x3/slime-5.skeletonbin0 -> 240163 bytes
-rw-r--r--src/main/resources/assets/skyblocker/dungeons/catacombs/1x4/sewer-7.skeletonbin0 -> 351862 bytes
-rw-r--r--src/main/resources/assets/skyblocker/dungeons/catacombs/l-shape/altar-6.skeleton344
-rw-r--r--src/main/resources/assets/skyblocker/dungeons/catacombs/l-shape/draw-bridge-6.skeletonbin0 -> 157956 bytes
-rw-r--r--src/main/resources/assets/skyblocker/dungeons/catacombs/puzzle/teleport-pad-room.skeletonbin61237 -> 60852 bytes
-rw-r--r--src/main/resources/assets/skyblocker/dungeons/dungeonrooms.json54
-rw-r--r--src/main/resources/assets/skyblocker/dungeons/secretlocations.json594
-rw-r--r--src/test/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonRoomsDFU.java6
-rw-r--r--src/test/resources/assets/skyblocker/dungeons/dungeonrooms/catacombs/1x1/Crypts-1.skeletonbin0 -> 70303 bytes
-rw-r--r--src/test/resources/assets/skyblocker/dungeons/dungeonrooms/catacombs/1x1/Double-Stair-3.skeletonbin0 -> 72995 bytes
-rw-r--r--src/test/resources/assets/skyblocker/dungeons/dungeonrooms/catacombs/1x1/Four-Banner-1.skeleton124
-rw-r--r--src/test/resources/assets/skyblocker/dungeons/dungeonrooms/catacombs/1x1/Lava-Skulls-3.skeletonbin0 -> 60553 bytes
-rw-r--r--src/test/resources/assets/skyblocker/dungeons/dungeonrooms/catacombs/1x1/Redstone-Skull-3.skeleton27
-rw-r--r--src/test/resources/assets/skyblocker/dungeons/dungeonrooms/catacombs/1x1/Trinity-4.skeleton31
-rw-r--r--src/test/resources/assets/skyblocker/dungeons/dungeonrooms/catacombs/1x3/Slime-5.skeleton630
-rw-r--r--src/test/resources/assets/skyblocker/dungeons/dungeonrooms/catacombs/1x4/Sewer-7.skeleton956
-rw-r--r--src/test/resources/assets/skyblocker/dungeons/dungeonrooms/catacombs/L-shape/Altar-6.skeleton518
-rw-r--r--src/test/resources/assets/skyblocker/dungeons/dungeonrooms/catacombs/L-shape/Draw-Bridge-6.skeleton377
-rw-r--r--src/test/resources/assets/skyblocker/dungeons/dungeonrooms/catacombs/Puzzle/Teleport-Pad-Room.skeletonbin68062 -> 67506 bytes
26 files changed, 3796 insertions, 4 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java
index 18b63793..ac389d34 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java
@@ -179,8 +179,8 @@ public class DungeonSecrets {
}
dungeonFutures.add(CompletableFuture.runAsync(() -> {
try (BufferedReader roomsReader = MinecraftClient.getInstance().getResourceManager().openAsReader(new Identifier(SkyblockerMod.NAMESPACE, "dungeons/dungeonrooms.json")); BufferedReader waypointsReader = MinecraftClient.getInstance().getResourceManager().openAsReader(new Identifier(SkyblockerMod.NAMESPACE, "dungeons/secretlocations.json"))) {
- SkyblockerMod.GSON.fromJson(roomsReader, JsonObject.class).asMap().forEach((room, jsonElement) -> roomsJson.put(room.toLowerCase(), jsonElement));
- SkyblockerMod.GSON.fromJson(waypointsReader, JsonObject.class).asMap().forEach((room, jsonElement) -> waypointsJson.put(room.toLowerCase(), jsonElement));
+ loadJson(roomsReader, roomsJson);
+ loadJson(waypointsReader, waypointsJson);
LOGGER.debug("[Skyblocker] Loaded dungeon secrets json");
} catch (Exception e) {
LOGGER.error("[Skyblocker] Failed to load dungeon secrets json", e);
@@ -201,6 +201,15 @@ public class DungeonSecrets {
}
}
+ /**
+ * Loads the json from the given {@link BufferedReader} into the given {@link Map}.
+ * @param reader the reader to read the json from
+ * @param map the map to load into
+ */
+ private static void loadJson(BufferedReader reader, Map<String, JsonElement> map) {
+ SkyblockerMod.GSON.fromJson(reader, JsonObject.class).asMap().forEach((room, jsonElement) -> map.put(room.toLowerCase().replaceAll(" ", "-"), jsonElement));
+ }
+
private static ArgumentBuilder<FabricClientCommandSource, RequiredArgumentBuilder<FabricClientCommandSource, Integer>> markSecretsCommand(boolean found) {
return argument("secret", IntegerArgumentType.integer()).executes(context -> {
int secretIndex = IntegerArgumentType.getInteger(context, "secret");
diff --git a/src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/crypts-1.skeleton b/src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/crypts-1.skeleton
new file mode 100644
index 00000000..462ac4f3
--- /dev/null
+++ b/src/main/resources/assets/skyblocker/dungeons/catacombs/1x1/crypts-1.skeleton
@@ -0,0 +1,5 @@
+xG.2Ϲ$ېl76P̆4HCBPOD.wu}?~>}+μ7 d7?Ob|3m1]]c5v]c5v]c5v]c5v]c5v]c5v]c5v]c~wݿWyo*&M1G|o~0?g\Wf~5Ocs]]guv]guv]guv]guv]guv]guv]guv]g v`7 v`7 v`7 v`7 v`7 v`7 v`7 v`7Mvd7Mvd7Mvd7Mvd7Mvd7Mvd7Mvd7Mvb-vb-vb-vb-vb-vb-vb-vb-vfmvfmvfmvfmvfmvfmvfmvfvawvawvawvawvawvawvawvaw]vew]vew]vew]vew]vew]vew]vew]vc=vc=vc=vc=vc=vc=vc=vc=vg}vg}vg}vg}vg}vg}vg}vg=`=`=`=`=`=`=`=`C=dC=dC=dC=dC=dC=dC=dC=b#=b#=b#=b#=b#=b#=b#=b#=fc=fc=fc=fc=fc=fc=fc=f=aO=aO=aO=aO=aO=aO=aO=aOS=eOS=eOS=eOS=eOS=eOS=eOS=eOS}þa߰o7Mb>}þa߰o7 }þa|þa߰o7[-}˾e߲oٷ[-}˾e߲oٷ[-}˾e߲oٷ[-}˾e߲ow;}Ǿc߱w;}Ǿc߱w;}Ǿc߱w;}Ǿc߱{=}Ͼg߳{=}Ͼg߳{=}Ͼg߳{=}Ͼg?~`?~`?~`?~d?ُG#~d?ُG#'}6_ ~d?ُG#~d?O'~b?O'~b?O'~b?O'~b?g3~f?g3~f?g3~f?g3~f_/ w ~~a_/>~a_|_/-/ ~e_ٯW+ګWkW+~e^ٯW+~{+~e_o7~co7~co7~co7~cg{ƞg{ƞg{ƞg{ƞg{ƞg{ƞg{ƞg{ƞ9{Ξ9{Ξ9{Ξ9{Ξ9{Ξ9{Ξ9{Ξ9{^{^{^{^{^{^{^{^%{^%{^%{^%{^%{^%{^%{^%{^W{^W{^W{^W{^W{^W{^W{^W{^5{^5{^5{^5{^5{^5{^5{^5{ް7 {ް7 {ް7 {ް7 {ް7 {ް7 {ް7 {ް7-{޲-{޲-{޲-{޲-{޲-{޲-{޲-{޲w{ޱw{ޱw{ޱw{ޱw{ޱw{ޱw{ޱw{޳={޳={޳={޳={޳={޳={޳={޳=>>>>>>>>#>#>#>#>#>#>#>#>O>O>O>O>O>O>O>O>3>3>3>3>3>3>3>3½p/ ½p/ ½p/ ½p/ ¼0/˷~Wyo*&M1G|o~0?g\Wf~5OcƮkƮkƮkƮkƮkƮkƮkƮkʼ3Me¤)h>Glkj~1翿m1:ή:ή:ή:ή:ή:ή:ή:nnnnnnnn&n&n&n&n&n&n&n&n[n[n[n[n[n[n[n[n6n6n6n6n6n6n6n6;;;;;;;;........{{{{{{{{>>>>>>>>{{{{{{{{!{xjμ7 aՐ;sz0Fod#ވ7x#ވ7x}5ޣ}s?{asd#qGo9b#31s3j٣;vգ1w=f1{'N]_M=aOwž'Ğ' s0'9aNք5aM8΄3L9S{rՔ3WS{~=N97MYS֔5eM]?߼r5eN]?Svʝ~ yco7n|~7΍sùqpnu3aݰncO7ֿok[Ztkֿo[kZڷ־[kZڷ־m{g;κwֽݧ;ݹ;kY}wu}ywwo{Zx=vo{Wָ{|<X`k=X{Oq|1}}pM>x^_=xxd<2hG}?Z{ޣ=ZuhG}֓Ox'}d':O'?OxƳ:ϳuyγgy/}ϳlgZ/zkX{ދŚ/|^/~=X/k_jWZu_}NWy^Y+ze^}_2_W+zczcxozs\go7;͵ys]9oo7{{cX3{fmߟkƚ\fx3ƌ7sgoxf_31g̙͘39cΙs9}5}5gӣ9wΝ;ιs9gsΝs9ιs;9wΝsw\>̅`-X ւ`-kZkZ낵`-|7.X g`-YK{\򖼥q[:r}ݿt,K.K=Kҿ9K?KⒻ.K%siK抹b+u\1Wrs\1Ws\9+֭we+]g⮸+w^W5{^s>5w]sܵ}kk暹5s\3̵f5s{h\3 s907 s\7 wp7 wp7 wec6> c2ﻭsl9[ֿy[tZk_[kols]-gk?[ٲvkg/;pqv8;X;^vog/;ˎcÝ1w1ws1=so{=woo{g{枹g{ngoڳ=k::9x]}ǃ9pv9k:#xu}uߚG:Ѿsy󏾳vdGyd7yd>8r>#=#z9rOܓ=';1O̓='5yϓk䜞'{=qOz➜ד'yb<1Oyf켞g{=sܳk=s3lgYCgyf}לg{枹g5g.g{^~q/^w܅{w^|[_ ;<_'=xa⚽薋_pWyo*&M1G|o~0?g\Wf~5Oc]]c5v]c5v]c5v]c5v]c5v]c5v]c5v]c~w+μ7 d7?Ob|3msή:ή:ή:ή:ή:ή:ή:ήnnnnnnnn&n&n&n&n&n&n&n&n[n[n[n[n[n[n[n[n6n6n6n6n6n6n6n;;;;;;;........{{{{{{{{>>>>>>>{{{{{{{{՗wC=dC=dC=dC=dC=dC=dC=dG{G{G{G{G{G{G{G{=fc=fc=fc=fc=fc=fc=fc;aN9aN9aN9aN9aN9aN9aN9eNu{S}x7 xN?zN|6_ʻN:ysy8S _Dhgs=߸6oko[0?ǿ<z-ys7??8~t?9~r>9~rg={s/{y{W{Wxw_o͞߼k\o^f7{y7}7}xϼ~f?w__UۻYb>z3ͬ77j~3?93kϭ=[wͭ;ܺs54ܵ;ߌ֟[]sΘ3ca Ƃp,ңc#c|n/p~̅{cGwş`.\ 撹d.ݗK}.ݗK,mX=5%wiK=.ݓK=tO.u\>%w]Vw]qWw]qWw]/V}b+b+b+y^=kfkfkf{mkEkfkfkfkaoaoaoaoaoaoaoq7-{޲-{޲-{޲-{޲-{޲-{޲-{޲-{qwwqwwqwwqwwqwwqwwqwwqw=w3=s3=s3=s3=s3=s3=s3̽x=p{`}`}`}`}`}`}`}`G}dG}dG}dG}dG}dG}dG}dG}b'}b'}b'}b'}b'}b'}b'}b'}fg}fg}fg}fg}fg}fg}fg}fſ;}a_}a_}a_}a_}a_{^{Wyo*&M1G|o~0?g\Wf~5Oc}]c5v]c5v]c5v]c5v]c5v]c5v]c5v]c~w+μ7 d7?Ob|3msή:ή:ή:ή:ή:ή:ή:ήnnnnnnnn&n&n&n&n&n&n&n&n[n[n[n[n[n[n[n[n6n6n6n6n6n6n6n;;;;;;;........{{{{{{{{>>>>>>>{{{{{{{{՗C=dC=dC=dC=dC=dC=dC=dGwqGwqGwqGwqGwqGwqGwqG<⎹c{1{1{1{1{1{1{1{lc=YO=aO=aO=aO=aO=aO=aO=aOSԾ>7Շ(iq̞~ɰ?xѰ=~1^G?_= {S }|oo[son[w[{wrox<ys{GǏGO?gώ?;~qxy /{>_0?_^߼|oZo㛿ۙYkgd~~?٣~ڙ83{k^;ڹ3ν5ܹ53:s̭: ,"Lb>\_|}-Gdx f~?<z 悵d-YK5L4\nl8K1̯Ƶt-0u%s\1W̕j[V{n_9g+ubs+=s+>W{n[Vrϭ\+bkКfkfkfk=}^5{^5{^5{^7}oaoaoao5aoaoaon[n[n[n[n[n[n[n[;;;;;;;}{{޳={޳={޳={޳={޳={޳={޳={s޳>>>>>>>>#>#>#>#>#>#>#>#>O>O>O>O>O>O>O>qܳ{=s3=s3=s3=s3=s3=s3=sܳ̾/ ¾/ ¾/ ¾/ ¾/ ¾/ ½p/ ½sUO;T&Lb>`~4?拹6?j~3?̟/SUc5v]c5v]c5v]c5v]c5v]c5v]c5v]c5]U^w潩L4|0'h~2sm~6_/f~7?_o|ή:ή:ή:ή:ή:ή:ή:ήnnnnnnnn&n&n&n&n&n&n&n&n[n[n[n[n[n[n[n[n6n6n6n6n6n6n6n;;;;;;;........{{{{{{{{>>>>>>>{{{{{{{{!wr!wr!wr!wr!wr!wr!wr|wtG{G{G{G{G{G{G{u5fc=fc=fc=fc=fc=fc=fc=fO=aO=aO=aO=aO=aO=aO=aO=eOw7i|i|4){ʞ'|1g1n0>Tӿ {ʾao8u|;w~纼s|;~pGǏ?:~r3}r?s]=;~q_:~u.^yݛg~YkjھkJWsJW𕆯4|+ _-Vz|^ë-NWzx+=^JWzxǫhsx+-^iJWZx+-^iJWZx+-^iJWZxrM\:tx+^JW:tx+ ^4x+ ^iJW4xPW4x+ ^iJW4x+ ^iJW4x+ ^iJW4x+ ^iJW4x+ ^iJW6l^JW:tx+^JW:tx+^JW:tx+^JW:4xWW:tx+^JW:tx+^JW:tx+^JW:Ξux+^JW:tx+^JW:tx+^JW:tx+^JW:tx+ ^iJW4x+ ^iJW4x+ ^iJW4x+ ^iJW4x+ ^iJW4x+ ^iJW4x+ ^iJW4x+ ^}OiJW']4x+ ^iJW4x+ ^iJW4x+ ^iJWN+^[W:tx+^JW:tx+^JW:tx+^JW:ՙ+^JW:tx+^JW:tx+^JW:tx+^JW:C:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<txC:<?}g:<txC:<txC:<txC:<z?~O|1\ <4xhC <4xhC <4xhC }nC <4xhC <4xhC <4xhc[;wߡC;w^} <4xhC <4x C;ߡC;wߡC{;whޡC{;wh1b#;whޡC{;w;γ;whޡC{;whޡC{;whޡC{;wh1o;whޡC{;whޡC{;whޡC{;whޡcʞ?ƴ2aҰwh~2ߛ̏9wL;_/C{;;whޡֱ;CwǽJs;4whxǚ;?9ܡdztwx܋^<C{׏ǫ5xh7ic=<?{cy=z<~?s^C6m<yhXx.]<^-N.]<tyC <4xhࡷCoz;vhڡCkZ;vhڡCkZ;vhڡCkZ;vhڱbۡCoz;vۡCoz;vۡCoz;vۡCoz;vۡCoz;vۡCoz;vۡCoz;vۡCoz;vۡCoz;vۡCoz;vۡCoz;vۡCoǖCs:4whܡCs;4whܡCs;4whܡCs;4whܡCs;4whܡCs;4whܡCs;4whܡCs;4whܡCsǁCw;twݡCw;twݡCw;twݡCw;tws;twݡCw;twݡCw;twݡCw;tw}qo;twݡCw;twݡCw;twݡCw;twݡCw;twݡCw;twݡCw;twݡCw;twݡCw;twݡCw;twݡCw;twݡCwݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwݩSwNݝ;uwݩSwNݝ;uwݩSwNݝ;uwݩSwNZ;vjکSkNZ;vjکSkNZ;vjکSkN}_I}:uשS_N}:uשS_N}:uשS_N}:uSWN]:uuթSWN]:uuթSWN]:uuթSWN]ß̗ uuթSWN]:uu9:uj֩S[Nm:uj֩svG=~1αNm:uj֩S[Nm:uu_]N]:uuթSWN]:uuթSWN]:uuթSWN]:5ujԩSSNM:5ujԩSSNM:5ujԩSSNM:5ujԩSSN=z:tN}L=z:tөsʝrtNz:t9fSN=z:tөSON=z:t}c޾7 e6\Nz;vNWoog/_<z||v7c9sjynͩS76ιSŻ\7jo©s^©S y_:9ũS.N]8uq.5X#FN8q95rjȩS#FN95rjȩS#FN95rjȩS#FN9W΋FN95rjȩS#FN95rjȩS#FN95rjȩS#FN95rjȩS#FN}8qǩS>N}8qǩS>N}8qǩS>N}8qǩS>N}8qǩS>N}8qǩS>N}8qǩS>N}8qǩS>N}8qǩS>N}8qǩS>N}8qǩS>N}8qǩS>N}8qǩS>N}8qǩS>N}8qǩS>N}8qǩS>N}8qǩS>N}8qǩS>N}8qǩS>N}8l}8qǩS>N}8qǩS>N}8qǩS>N}8q8qǩS>N}8qǩS>N}8qǩS>N}8qǩS>N}8qǩS>N}8qǩS>N}8qǩS>N}8qǩU>N}8qǩS>N}8qǩS>N}8qǩS>N}8q㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.ϥt>.㢏>.㢏>.㢏>.㢏>.㢏>.㢏>.}\qE}\qE}\qE}\qE}\qE}\qE}\qEm\qEm\qEm\qEm\qEm\qEm\qEm\qqEm\qEm\qEm\qEm\qEm\qEm\q(츑amFdFfǧW^ ۜ62t?b@x
+(Tqm6nlܸ=ō7.n\ܸqqō7.n\ܘ1qcč7&nLܘ1qcxhLܘ1qcč7&nLܘ1qcčc].n\ܞV.n\ܸqqō7.n\ܸqqō7.n\ܸqqō7.n\ܸ=fƍ76nlظqcƍ76nlظqcƍ76nlظqcƍ76nlܞjqǍ3m>ng|¤f2,_6633m>ngDǍ7>n|qǍ7>n|q|a?~=ii'7Nn8qrɍ'7Nn8qrȍsǍ76nlظq{u.n\}/?=gf2{-1e±Lܘ1qcč7&nLܘ]87.n\ܸqqō7.n\ܸqqō7.n\ܸqqō7.nZlظqcƍ76nlظqcƍ7.n\ܸqqō7.n\ܸqqō7.n\ܸqqō7.n\ܸqqō۵676nlظqcƍ76nlظqcƍ76nlظqcƍ76nlظqcƍ76nlظqcƍ76nlظqcƍ76nlظqcƍ76nlظqō7.n\ܸqqō7.n\ܸqqō7.n\ܸqqō7.n\ܸqqō7.n\ܸqqō7.n\ܸqqō7.n\ܸqq87.n\ܸqqō7.n\ܸqqō7.n\ܸqqō7.n\ܸqqV7.n\ܸqqō7.n\ܸqqō7.n\ܸqqō7.n\ܸqqō7.n\ܸqqō7.n\ܸqqō7.n\ܸqqō7.n\ܸqqō7.n\ܸqqō7.n\ܸqqō7.n\ܸqqō7.n\>hsqō7.n\ܸqqō7.n\ܸqqō7.n\ܸqqō7......................................................................................................................................................................................................................................................................................................ǃyy||||||||||||||||||||||||||||llllllllllllllllllllllllllllllllllllllll~u&cM>>>>>>>>>>>ǚ|||=;||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||gF,ZqqqiqimÜFL{̏'s/M7|||xο?0o>Wco[mmmml{̶g|f;+sm¶؟_˯,6g`````8w __ǹcssǰvr||||q\\\\\\\\\\\\\\\\\LLLLLLLLLLLLL\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\>[W[מ77\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\o::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::x:x:x:x:x:x:x:x:x:x:x:x:x:x:x:x:x:x:x:x:x:x:x:x:x:x:x:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:X:y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9y9H^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^·zz̜̜̜̜̜̜̜̜̜̜̜̜̜̜̜̜̜̜̜̜̜̜̜̜̜̜̜9ϑѯd|}z9999999999999999999999999999999999999999999999999999999999999999999999999z̜̜ggF}֒ 󥿛 zw{e9̉|m1̜g̜g?:'lfdM7̜̜̜̜̜̜X3?ssssI}2uvNvm싑l|n?ܜܜ/la ۙ99_$_~vKqsrs3˟psrs;7'7c}ܜ<wܹώgwi&ώ[.~4?W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'Wgy:::::::::::::::::::::::::::::_fN7W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'S'S'O'O'O'O'O'O'O'O'O'O'O'O'O'O'O'O'O'O'O'O'O'O'O'O'O'O'O'O'O'O{^6W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'W'WmNNNNNNNNNNNNNNNNNNNNN?jQGwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{w9Zgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝmٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{wٻwgޝ;{w}KL=ٻ?r?.{wٻ?1ߛ̏'ޝ;{wٻwXcǺٻwg2hwgޝcۮܝ;swݙ3wgD'zO3wgܝ;swݙ3wgܝ'&kwYvIgSͧO5jvgڝ;kwYvgڝ;kOߧSڬYvgڝ٧>3~E/MwX^fڝ;kwYvg~}}ctO?[ŸnWk}}9sxݾf~yNg<x;w^Oi;wn޹s{/;wv[:wv؇;wvc3۞ܞly{q^>s; _/^؏;w/g_48e}_~e'取?͗;s=[:|u\;rs9ws.3~]x/< g"M7 sv{|;||_x.<c؅g}|_x. KKq{~\;ywK߭K߭K֥ǥwRҽݺ|_ͼy7^ͼt͗ڗڗWWJJJJJJJJJJJJwJJJJJJJJJJJJJJZu_k_k_k_k_k_k_k_k_k_k_k_k_k_M־־־־־־־־־־־־־־~J+Wگ_i~J+Wگ_i~J+Wگ_i~J+Wگ_i~Zkگ_k~Zkگ_k~Zkگ_k~Zkگh~F7oh~F7oh~F7oh~F7o}V[ݷou}V[ݷou}V[ݷou}V;w;wi~N;wi~N;wi~N;wi~^{k~^{k~^{k~^{oA?hA?hA?hA\QG?jQG?jQG?j|j>3/̗0i4ls|c5ߙGb~5 7ohо}C 7ohо}C 7ohо}C 7ohоd'S|a4̈́I0eYfÜ|o~0?~6_?7ojԾ}SM7ojԾ}SM7ojԾ}SM7ojԾ}SM[ڷoiҾ}K-[ڷoiҾ}K-[ڷoiҾ}K-[ڷoiҾ}Kmڷok־}[mڷok־}[mڷok־}[mڷok־}[;whѾ}G;whѾ}G;whѾ}G;whѾ}W]wjվ}W]wjվ}W]wjվ}W]wjվ}O={iӾ}O={iӾ}O={iӾ}O={i׾}_}k׾}_}+mk׾}_}k~@h?~@4h<x@4h<xPC5j<xPC]C5j<xPC5jjjjj~6N8888`?Np̏'?}j>38t^?~x}/W\<?x~<v{|'s1`عx}<vW;VOg'IX:.Of'ls\>|<q'y8/<>x|<uާG >|0` >|<u>?Y:7og{g_/ygVs9ϙy`3C߼|=8zpk\CЃwr}/G=NG =zcy`?σ;v<y~<y:?~<y{σ?g3}3q,=Xz0`> =z0x`Ѓ ߕC/|/¾=^x9zpxi?v<yv<^~mG<ysǹ熙ǹ;3sߙsq\<y;׹s1`qsqG=8z\~S.\h\.]xF/<CC =z0`q]x.|/|/|O/\xV/\ =.<7 =z0`ЃC =z0`ЃC =z0`ЃC =z0`ЃC =z0`ЃC =z0`ЃC =z0`ЃC =z0`ЃC =z0`ЃC =z0`ЃC =z0`ЃC =z01`ЃC =z0`ЃC =z0`ЃC =z0`ЃCW>o =^k3`ЃC =z0`ЃC =z0`ЃC =z0`ЃC =z0`ЃC =z0`ЃC =z0`ЃC =z0`u3`VG=8zpуG=8zpуG=8zpуGo9zpxsуG=8zpуG=8zpуG=8zpуG=8zpуG=8zpуG=8zpуG=8zpsуG=8zpуG=8zpуG=8zpуG=8zpуG=8zpуG=8zpуG=8zpуGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGmy@:4V/̗58888N]GGGGGY]?9gGG;#bbzss=rG{yo\\\I=KDzrr=>XX;Ʊ\\O⤞|8z\Oi?#iSz<O׭8طططϸumZVF-F?9߭shqhqhgggo,,,,,欿3g1g1gmoYYhffffk55)))מzRXXX/·Ň|Q/63`1`;ߊߊߊߊߊkg]|a4ͤ}p_٭.2_o̷;]h~2 ^+^+^+^+^+^+^+^+^+^+^+^+^+^+^+^+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+jjjjjjjjjjjjjjjjjjjjjjjjjjju9abbbbbbbbbbbbbbbbbbbbbbbbbbbbbvݬVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVYX^nV+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V+V7ڬVVo}XXXXXXXXXXXXXXXXXXXXXXXXXXXjZZsݬVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXmdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ymdj&MV6Ym?6MV6Ymdj&MV6Ym>o-6Ymdj&MV6hdj&MV6Ym|7ߐ~Cj<xj&MV6Ymdjcj&MV6YmdPC|>9mryi&MN6O]MN69mri&MNg&M>G>|6l|d?69l>a&gMΚ59krY&gMΚ59j>t[zƞX׶z̧gg4:7Mn&3Mf4yi?=4i2keLOrjlg[gNXgN_ZgNgyQs&C 5j2|i&;Mv4idN&;Mv^:? 3d<y9/0f¤,sa<grq/1ߚƳrS'L3g2d<y&L3g2d<y&L3g2d<y&L3g2dy嚙g2d<y&L3g2d<y&L3g2d<y&L3g2d<y&L3g2d<y&L3g2d<y&L3g2d<y&L3g2d<y&L3yg;w&Lޙ3yg;w&Lޙ3yg;w&Lޙ3yg;w&71ޙ3yg;w&Lޙ3yg;w&Lޙ3yg;w&Lޙ3yg;w&Lޙ3yg;w&Lޙ3yg;w&Lޙ3yg;w&Lޙ3ygNw&Lޙ3yg;w&Lޙ3yg;w&Lޙ3yg;w&Lޙ3ygd:u&L֙3Ygd:u&L֙3Ygd:u&L֙3Ygd:u&L֙3?xYgd:u&L֙3Ygd:u&L֙3Ygd:u&L֙3Ygd9s&LΙ39gr9s&LΙ39gr9s&LΙ39gr9s&LY8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gq9s,Y8gquƺu9s,Y8gq9s,Y8gq9s,Y8gqz9s,Y8gq9s,Y8gq9s,Y8gqup9s,Y8gq9s֩{xӶXg~\_[u,YN],YXg:q?:'_{uXXgbd:u,Y8g=9s,Y8gq9s,Y8gqzj^{:,Y<xf2e,Y8fqOrWc|o˿-_-Y>q$Iߍ%K,.Y/mc&MֹܶsG xdȺb _`~q<,>Yyi_>Yu.t.񗎿t/3g+_}v>uY4&M7Uq_W7[`~4+mXW3g,Xc1b1c,Xc1b1c,Xc1b1c,Xc1b{1c,Xc1b1c,Xc1b1c,Xc1b1c,Xc3g,X8cq3g,X8cq3g,X8cq3g,Xhs3g,X8cq3g,X8cq3g,X8cq3g,Xo9cq3g,X8cq3g,X8cq3g,X8cq3gwڜ8cq3g,X8cq3g,X8cq3g,X8cq3g,X8cq3g,X8cq3g,X8cq3g,Xk3g,X8cq3g,X8cq3g,X8cq35k,XXcb5k,XXcb3g,X8cq3gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9cs36gl؜9csƾ}ža9cs36gl؜9cs36gl؜9cs36gl؜9cs~0Oc?c96sḻc3f96sḻc3f96sḻc3~p?6lc?6lا}mO0_=c}wNXdf"EYd?[b~5mE6l,9#2DZ9/l>|d'O6eqc=vlnܲesijijij-[6{ZίmNWֿ.]6lven_6l~ei~eӯ~1v}m~1v3f4i6k6gfg3fܹ;s=`<y6_/ד>}6^{i;lm?sh3оf3^={6lٗK]Ru}Ygξb:sgs嘫a4i֝y~>W,Y߅k<KL4 㳽yyOg||g7O{d3f,Y6lf̲e3f,Y6lf̲e3f,Y6lf̲e3f,Y6lf̲e3f,Y6lf̲e3f,Y6lf̲e3f,Y6lf̲e3f,Y6lf̲e3f,Y6lf̲e3f,Y6lf̲e3f,Y6lf̲e3f,Y6lf̲ye+W6l^ټye+W6l^ټye+W6l^ټye+W6lV٬Yef*U6lV٬Yef*U6lV٬Yef*U6lV٬Yef*{+W6l^ټye+W6l^ټye+W6l^ټye+W6ڼye+W6l^ټye+W6l^ټye+W6l^ټye+W Yef*U6lV٬Yef*UGMNٜ9es)S6lNٜrp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rp)rpQ\[Vh?n(cu@ PLʪ}FU艐cr)S,NY8eq)S,NY8eq)S,NY8eq)S,NY8eq)S,NY8eq)S,NY8eq)S,NY8e}NjS7Q6,NY8eq)S,NY8eq)S,NY8eq)S,NY~,NY8eq)S,NY8eq)S,NY8eq)S,NY8e}'S,NY8eq)S,NY8e=[>Rx=<NY8eq8eq)S,NYl/WZ'S,NY8e|Nj,FYe1b(Q_~,FYe1b(Q,FYe1b(QO-FYgO,>Yld'뇯b(Q_(Q,6Yld#G,Y,Xd7o,Xa1o>]|bz+W,XOߘb1bG{u
+җ%Kww;{㝽cz;s2b|g>ߙwW*>yg{1b^{{{{{{}޾xo[u~o[u~o[}~zoMMMMs!C,Y8dq!C,Y8dq!C,Y8dq!C,Y8dq!C,Y8dq!C,Y8dq!C,Y8dq!C,Y8dq!C,Y8dq!C,Y8dq!C,Y8dq!C,Y8dӜb"E,Y,Xdb"E,Y,Xdb"E,Y,Xdb"E,Y#G,Y<xd#G,Y<xd#G,Y<xd#G,Y<xdb"E,Y,Xdb"E,Y,Xdb"E,Y,Xdb"E,Y,Xdb"E,Y,Xdb"E,Y,Xdb"E,Y,XdbYdG6,Y<xd#G,Y<xde$I,&YLd1b$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3Oj}d3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Ld3f$I6l&Lyd#G6l<yd#G6??zyd?/xd#Gs#G6l<yd 8_:~h.#G6l<_Xdf"E^G6l<_zW/9ds!C6l9ds!C6l>;s?9v~ |d>'f&|dWm>|iQ?T_w]?iO?kڿhq~1/:f35koLf3~ϛGoor;lٌg?}ߟtԇu6l٬־}gcz[s3e.yk^T+{KM;k߆wr^^^w;{㝽xgo7iw;{㝽^zg~~~~L63mf̴i3fL63mf̴i3fL63mf̴i3fL63mf̴i1fL63mf̴i3fL63mf̴i3fL63mf̴i3fL63mf̴i3_̴i3fL63mf̴i3fL63mf̴i3fL63mf̴i3fL?|G̴i3fL63mf̴i3fL63mf̴i3fL63mf̴i39gL3mf̴i3fL63mf̴i3fL63mf̴i3fL63mf̴)63mf̴i3fL63mf̴i3fL63mf̴i3fL63mf̴i3Kri3fL63mf̴i3fL63mf̴i3fL63mf̴i3foL63mf̴i3fL63mf̴i3fL63mf̴i3fL63mf̴i3fL63mf̴i3fL63mf̴i3lnܴisM67mnܴpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7n:tpM7o>pf)tpM7n:tpM[V67n:tpM7n:tpM7n:tpo}+;yN7n:tpM7n:}waN;v:tNwN繼~|~~KcN;v:Ͻ;v:taNO;_y^{:u8pQ煱_|2>K:,uXh=K`GWK{Kcu8p\khW|eWꙣ8pa;v8py{Wzec=v`?9_jB]jtnuv;zv;v{m~;vovvQGsw6n;?[pE_yyv0koڿ}>R_y~~;oSv;vanɽO{v~K}?O~L'd~JUը/ԟ?;o}o}o}o}oٷ[{u}kowU/o틷[}wwww\;w;w;w;wS x0aÀ< x0aÀ< x0aÀ< x0aÀ{̀< x0aÀ< x0aÀ< x0aÀ< x0aÀ< x0aÀ< x0aÀ< x0aÀ< x0a x0aÀ< x0aÀ< x0aÀ< x0l< x;w;w;w~;wa~;wa~;wa~;w;w;w;w;;w;w;w;w;w;w;w7Nsy=_______<BY{.<xH}dx(wb``xڥZ}kG`4Kc2a0a4&Kc/Ҙ/ɂŃʳ2&ƃ|{Gc?؜~0`csb<Xχ?>|-s?xe<e=~xTgGc>Q_?+Ν3;r{ˤ;^~?Ow_;ΫWj/2k0k0k0kx3kk~?55~vg°ʜyчiiyk}^{U_U_U<oS7op4?B]׬oֆ㷯k,vv79qX777111X7oo#㍌72<<<<<ϓO֓MO6=[也쭧Y;;'IΓOr<d?d?<<<ޚw9<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<8<zsxpxpxpxpxpxpxpxpxpxpxpxpxpxpxpxpxpxpxpxpxpxpxpxpxpxpxpxpxpxpxpxpxpxpxpxpxpxpxpxpxpxp