From 1b0c434a9fa12ebdeadc2ace8e3f7b6f1a39651f Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Sat, 13 Jul 2024 15:15:57 +0300 Subject: [PATCH] Shiny Diamonds (#25750) * shiny * add * reresprite * rereresprite * Add files via upload * Update ore.yml --- .../Locale/en-US/materials/materials.ftl | 2 + .../Locale/en-US/salvage/salvage-magnet.ftl | 1 + .../Entities/Objects/Materials/materials.yml | 13 ++ .../Entities/Objects/Materials/ore.yml | 31 ++++ .../Entities/Structures/Machines/lathe.yml | 1 + .../Entities/Structures/Walls/asteroid.yml | 155 +++++++++++++++++- .../Entities/World/Debris/asteroids.yml | 3 + .../Prototypes/Procedural/Magnet/asteroid.yml | 1 + .../Procedural/biome_ore_templates.yml | 14 ++ .../Prototypes/Procedural/salvage_loot.yml | 7 + .../Prototypes/Reagents/Materials/ores.yml | 9 + Resources/Prototypes/Recipes/Lathes/sheet.yml | 7 + Resources/Prototypes/Stacks/Materials/ore.yml | 7 + Resources/Prototypes/ore.yml | 6 + .../materials.rsi/diamond-inhand-left.png | Bin 223 -> 236 bytes .../materials.rsi/diamond-inhand-right.png | Bin 231 -> 244 bytes .../Materials/materials.rsi/diamond.png | Bin 297 -> 255 bytes .../Materials/materials.rsi/diamond_2.png | Bin 0 -> 345 bytes .../Materials/materials.rsi/diamond_3.png | Bin 0 -> 419 bytes .../Objects/Materials/materials.rsi/meta.json | 6 + .../Objects/Materials/ore.rsi/diamond.png | Bin 0 -> 390 bytes .../Objects/Materials/ore.rsi/meta.json | 5 +- .../Structures/Walls/rock.rsi/meta.json | 18 +- .../Walls/rock.rsi/rock_diamond.png | Bin 1307 -> 1916 bytes 24 files changed, 283 insertions(+), 3 deletions(-) create mode 100644 Resources/Textures/Objects/Materials/materials.rsi/diamond_2.png create mode 100644 Resources/Textures/Objects/Materials/materials.rsi/diamond_3.png create mode 100644 Resources/Textures/Objects/Materials/ore.rsi/diamond.png diff --git a/Resources/Locale/en-US/materials/materials.ftl b/Resources/Locale/en-US/materials/materials.ftl index a354423d2b..0fc716bda5 100644 --- a/Resources/Locale/en-US/materials/materials.ftl +++ b/Resources/Locale/en-US/materials/materials.ftl @@ -25,6 +25,7 @@ materials-meat = meat materials-web = silk materials-bones = bone materials-coal = coal +materials-diamond = diamond materials-gunpowder = gunpowder # Ores @@ -36,3 +37,4 @@ materials-raw-plasma = raw plasma materials-raw-uranium = raw uranium materials-raw-bananium = raw bananium materials-raw-salt = raw salt +materials-raw-diamond = raw diamond diff --git a/Resources/Locale/en-US/salvage/salvage-magnet.ftl b/Resources/Locale/en-US/salvage/salvage-magnet.ftl index 7ce2a486de..c60bafcc13 100644 --- a/Resources/Locale/en-US/salvage/salvage-magnet.ftl +++ b/Resources/Locale/en-US/salvage/salvage-magnet.ftl @@ -13,6 +13,7 @@ salvage-magnet-resources = {$resource -> [OreQuartz] Quartz [OreSalt] Salt [OreGold] Gold + [OreDiamond] Diamond [OreSilver] Silver [OrePlasma] Plasma [OreUranium] Uranium diff --git a/Resources/Prototypes/Entities/Objects/Materials/materials.yml b/Resources/Prototypes/Entities/Objects/Materials/materials.yml index c4de4bb18f..a3fc4a2774 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/materials.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/materials.yml @@ -350,8 +350,21 @@ components: - type: Stack stackType: Diamond + baseLayer: base + layerStates: + - diamond + - diamond_2 + - diamond_3 - type: Sprite state: diamond + layers: + - state: diamond + map: ["base"] + - type: StaticPrice + price: 0 + - type: StackPrice + price: 500 + - type: Appearance - type: Item heldPrefix: diamond - type: Extractable diff --git a/Resources/Prototypes/Entities/Objects/Materials/ore.yml b/Resources/Prototypes/Entities/Objects/Materials/ore.yml index bf7dbfad5a..136d20cc81 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/ore.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/ore.yml @@ -66,6 +66,37 @@ - type: Stack count: 1 +- type: entity + parent: OreBase + id: DiamondOre + name: diamond ore + suffix: Full + components: + - type: Stack + stackType: DiamondOre + - type: Sprite + state: diamond + - type: Material + - type: PhysicalComposition + materialComposition: + RawDiamond: 500 + - type: Extractable + grindableSolutionName: diamondore + - type: SolutionContainerManager + solutions: + diamondore: + reagents: + - ReagentId: Carbon + Quantity: 20 + +- type: entity + parent: DiamondOre + id: DiamondOre1 + suffix: Single + components: + - type: Stack + count: 1 + - type: entity parent: OreBase id: SteelOre diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index 67cf6f767d..66f4f684e9 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -1175,6 +1175,7 @@ - IngotGold30 - IngotSilver30 - MaterialBananium10 + - MaterialDiamond - type: entity parent: OreProcessor diff --git a/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml b/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml index e14bf26e0d..c0a30e7669 100644 --- a/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml +++ b/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml @@ -93,6 +93,28 @@ state: rock_asteroid_west - state: rock_gold +- type: entity + id: AsteroidRockDiamond + parent: AsteroidRock + description: An ore vein rich with diamonds. + suffix: Diamond + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreDiamond + - type: Sprite + layers: + - state: rock_asteroid + - map: [ "enum.EdgeLayer.South" ] + state: rock_asteroid_south + - map: [ "enum.EdgeLayer.East" ] + state: rock_asteroid_east + - map: [ "enum.EdgeLayer.North" ] + state: rock_asteroid_north + - map: [ "enum.EdgeLayer.West" ] + state: rock_asteroid_west + - state: rock_diamond + - type: entity id: AsteroidRockPlasma parent: AsteroidRock @@ -693,6 +715,28 @@ state: rock_west - state: rock_gold +- type: entity + id: WallRockDiamond + parent: WallRock + description: An ore vein rich with diamonds. + suffix: Diamond + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreDiamond + - type: Sprite + layers: + - state: rock + - map: [ "enum.EdgeLayer.South" ] + state: rock_south + - map: [ "enum.EdgeLayer.East" ] + state: rock_east + - map: [ "enum.EdgeLayer.North" ] + state: rock_north + - map: [ "enum.EdgeLayer.West" ] + state: rock_west + - state: rock_diamond + - type: entity id: WallRockPlasma parent: WallRock @@ -993,6 +1037,28 @@ state: rock_wall_west - state: rock_gold +- type: entity + id: WallRockBasaltDiamond + parent: WallRockBasalt + description: An ore vein rich with diamonds. + suffix: Diamond + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreDiamond + - type: Sprite + layers: + - state: rock_wall + - map: [ "enum.EdgeLayer.South" ] + state: rock_wall_south + - map: [ "enum.EdgeLayer.East" ] + state: rock_wall_east + - map: [ "enum.EdgeLayer.North" ] + state: rock_wall_north + - map: [ "enum.EdgeLayer.West" ] + state: rock_wall_west + - state: rock_diamond + - type: entity id: WallRockBasaltPlasma parent: WallRockBasalt @@ -1236,6 +1302,28 @@ state: rock_snow_west - state: rock_gold +- type: entity + id: WallRockSnowDiamond + parent: WallRockSnow + description: An ore vein rich with diamonds. + suffix: Diamond + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreDiamond + - type: Sprite + layers: + - state: rock_snow + - map: [ "enum.EdgeLayer.South" ] + state: rock_snow_south + - map: [ "enum.EdgeLayer.East" ] + state: rock_snow_east + - map: [ "enum.EdgeLayer.North" ] + state: rock_snow_north + - map: [ "enum.EdgeLayer.West" ] + state: rock_snow_west + - state: rock_diamond + - type: entity id: WallRockSnowPlasma parent: WallRockSnow @@ -1479,6 +1567,28 @@ state: rock_sand_west - state: rock_gold +- type: entity + id: WallRockSandDiamond + parent: WallRockSand + description: An ore vein rich with diamonds. + suffix: Diamond + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreDiamond + - type: Sprite + layers: + - state: rock_sand + - map: [ "enum.EdgeLayer.South" ] + state: rock_sand_south + - map: [ "enum.EdgeLayer.East" ] + state: rock_sand_east + - map: [ "enum.EdgeLayer.North" ] + state: rock_sand_north + - map: [ "enum.EdgeLayer.West" ] + state: rock_sand_west + - state: rock_diamond + - type: entity id: WallRockSandPlasma parent: WallRockSand @@ -1589,7 +1699,6 @@ state: rock_sand_west - state: rock_uranium - - type: entity id: WallRockSandBananium parent: WallRockSand @@ -1722,6 +1831,28 @@ state: rock_chromite_west - state: rock_gold +- type: entity + id: WallRockChromiteDiamond + parent: WallRockChromite + description: An ore vein rich with diamonds. + suffix: Diamond + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreDiamond + - type: Sprite + layers: + - state: rock_chromite + - map: [ "enum.EdgeLayer.South" ] + state: rock_chromite_south + - map: [ "enum.EdgeLayer.East" ] + state: rock_chromite_east + - map: [ "enum.EdgeLayer.North" ] + state: rock_chromite_north + - map: [ "enum.EdgeLayer.West" ] + state: rock_chromite_west + - state: rock_diamond + - type: entity id: WallRockChromitePlasma parent: WallRockChromite @@ -1965,6 +2096,28 @@ state: rock_andesite_west - state: rock_gold +- type: entity + id: WallRockAndesiteDiamond + parent: WallRockAndesite + description: An ore vein rich with diamonds. + suffix: Diamond + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreDiamond + - type: Sprite + layers: + - state: rock_andesite + - map: [ "enum.EdgeLayer.South" ] + state: rock_andesite_south + - map: [ "enum.EdgeLayer.East" ] + state: rock_andesite_east + - map: [ "enum.EdgeLayer.North" ] + state: rock_andesite_north + - map: [ "enum.EdgeLayer.West" ] + state: rock_andesite_west + - state: rock_diamond + - type: entity id: WallRockAndesitePlasma parent: WallRockAndesite diff --git a/Resources/Prototypes/Entities/World/Debris/asteroids.yml b/Resources/Prototypes/Entities/World/Debris/asteroids.yml index 061288d010..2817b083be 100644 --- a/Resources/Prototypes/Entities/World/Debris/asteroids.yml +++ b/Resources/Prototypes/Entities/World/Debris/asteroids.yml @@ -32,6 +32,9 @@ - id: WallRockGold prob: 0.05 orGroup: rock + - id: WallRockDiamond + prob: 0.005 + orGroup: rock - id: WallRockSilver prob: 0.05 orGroup: rock diff --git a/Resources/Prototypes/Procedural/Magnet/asteroid.yml b/Resources/Prototypes/Procedural/Magnet/asteroid.yml index c20b80af55..c380dfbc7c 100644 --- a/Resources/Prototypes/Procedural/Magnet/asteroid.yml +++ b/Resources/Prototypes/Procedural/Magnet/asteroid.yml @@ -6,6 +6,7 @@ OreCoal: 1.0 OreSalt: 1.0 OreGold: 0.25 + OreDiamond: 0.05 OreSilver: 0.25 OrePlasma: 0.15 OreUranium: 0.15 diff --git a/Resources/Prototypes/Procedural/biome_ore_templates.yml b/Resources/Prototypes/Procedural/biome_ore_templates.yml index 4a60427e30..a6e5fac2d8 100644 --- a/Resources/Prototypes/Procedural/biome_ore_templates.yml +++ b/Resources/Prototypes/Procedural/biome_ore_templates.yml @@ -130,6 +130,20 @@ maxGroupSize: 10 radius: 4 +- type: biomeMarkerLayer + id: OreDiamond + entityMask: + AsteroidRock: AsteroidRockDiamond + WallRock: WallRockDiamond + WallRockBasalt: WallRockBasaltDiamond + WallRockChromite: WallRockChromiteDiamond + WallRockSand: WallRockSandDiamond + WallRockSnow: WallRockSnowDiamond + maxCount: 6 + minGroupSize: 1 + maxGroupSize: 2 + radius: 4 + # Artifact Fragment - type: biomeMarkerLayer id: OreArtifactFragment diff --git a/Resources/Prototypes/Procedural/salvage_loot.yml b/Resources/Prototypes/Procedural/salvage_loot.yml index e8783760dd..da99da7c75 100644 --- a/Resources/Prototypes/Procedural/salvage_loot.yml +++ b/Resources/Prototypes/Procedural/salvage_loot.yml @@ -178,6 +178,13 @@ - !type:BiomeMarkerLoot proto: OreBananium +- type: salvageLoot + id: OreDiamond + guaranteed: true + loots: + - !type:BiomeMarkerLoot + proto: OreDiamond + - type: salvageLoot id: OreArtifactFragment guaranteed: true diff --git a/Resources/Prototypes/Reagents/Materials/ores.yml b/Resources/Prototypes/Reagents/Materials/ores.yml index 18f1d9ebb3..1555ab9e23 100644 --- a/Resources/Prototypes/Reagents/Materials/ores.yml +++ b/Resources/Prototypes/Reagents/Materials/ores.yml @@ -24,6 +24,15 @@ color: "#FFD700" price: 0.2 +- type: material + id: RawDiamond + stackEntity: DiamondOre1 + name: materials-raw-diamond + unit: materials-unit-piece + icon: { sprite: Objects/Materials/ore.rsi, state: diamond } + color: "#C9D8F2" + price: 0.5 + - type: material id: RawSilver stackEntity: SilverOre1 diff --git a/Resources/Prototypes/Recipes/Lathes/sheet.yml b/Resources/Prototypes/Recipes/Lathes/sheet.yml index 053715a181..3efaac95a7 100644 --- a/Resources/Prototypes/Recipes/Lathes/sheet.yml +++ b/Resources/Prototypes/Recipes/Lathes/sheet.yml @@ -127,6 +127,13 @@ materials: RawBananium: 3000 +- type: latheRecipe + id: MaterialDiamond + result: MaterialDiamond1 + completetime: 3 + materials: + RawDiamond: 1000 + - type: latheRecipe id: SheetUranium1 result: SheetUranium1 diff --git a/Resources/Prototypes/Stacks/Materials/ore.yml b/Resources/Prototypes/Stacks/Materials/ore.yml index 51254b5a7a..3aaa04601a 100644 --- a/Resources/Prototypes/Stacks/Materials/ore.yml +++ b/Resources/Prototypes/Stacks/Materials/ore.yml @@ -4,6 +4,13 @@ icon: { sprite: /Textures/Objects/Materials/ore.rsi, state: gold } spawn: GoldOre1 maxCount: 30 + +- type: stack + id: DiamondOre + name: rough diamond + icon: { sprite: /Textures/Objects/Materials/ore.rsi, state: diamond } + spawn: DiamondOre1 + maxCount: 30 - type: stack id: SteelOre diff --git a/Resources/Prototypes/ore.yml b/Resources/Prototypes/ore.yml index 84d1c66736..146f04b49c 100644 --- a/Resources/Prototypes/ore.yml +++ b/Resources/Prototypes/ore.yml @@ -58,6 +58,12 @@ minOreYield: 1 maxOreYield: 3 +- type: ore + id: OreDiamond + oreEntity: DiamondOre1 + minOreYield: 1 + maxOreYield: 2 + - type: ore id: OreQuartzCrab oreEntity: MobSpawnCrabQuartz diff --git a/Resources/Textures/Objects/Materials/materials.rsi/diamond-inhand-left.png b/Resources/Textures/Objects/Materials/materials.rsi/diamond-inhand-left.png index c9b55e9daa52ea2f352f43917ffa03611e0c5512..9eae45d039abc1b118d047edae3ca52f3b28bb1f 100644 GIT binary patch delta 59 zcmcc5_=a(U3KwH>kh>GZx^prwCn}2ZTki6(^2$hD_K{2WaO4v0iEeGe?YVjOf1)Nc O0D-5gpUXO@geCxoViiyT delta 48 zcmaFEc%N~C%0xq9ep@RKE3b^iWgod@4@)jFo*3LFoS&QbXX>LG1|aZs^>bP0l+XkK DuM!c9 diff --git a/Resources/Textures/Objects/Materials/materials.rsi/diamond-inhand-right.png b/Resources/Textures/Objects/Materials/materials.rsi/diamond-inhand-right.png index 295c2c4eca1dddeb5fb91200177af77b78a76710..3353eb6f7caea4fa57c518ff3ecf7cf12666714b 100644 GIT binary patch delta 198 zcmaFP_=RzT3KwH>kh>GZx^prwCn}27%jgKX6`nSk64_`t$2CGx_imuV5|LvZ4?QX` z{tw;Oy}bD0DRo8$2#9mredSv8x9n$Eq`pjOdwMf)mY(L^|0lNZTK)FvzvySq*%8x9 zrmJ~cc^+Qtd|+#8=^2|_soQLC_kCg6l_vLA=;^0?L1Sj9Squ!(!W)e*7=GF)A0WKd u_`;<(>{n8bzUC{8E3e3uG-+TMTV zR(fX6Tcg|aa^0(#VvW;xyX^cEeB=z&ECz-H*IeH4Y%$#PhW(1mTb?Z@zZp#zKPqM0 k)pbMiMc@B&h6D9Gn3pWeUD_Nmi4mm9)78&qol`;+04q0CTL1t6 diff --git a/Resources/Textures/Objects/Materials/materials.rsi/diamond.png b/Resources/Textures/Objects/Materials/materials.rsi/diamond.png index 5eb8aabf8796f2a3b5ffce29119ea1b73dbdbb9b..8b39437d0ac358f85f04f69f9a743c0325c6dbc9 100644 GIT binary patch delta 239 zcmV+v2VHk$7F-7iz zT59IzT#MrJ6M&|NsAn|Nr~{|9}7g|C#^)&;S2_|NsB_|Nj^K|L<^4gdeDmrzFTP znBl;G5CD@C)eo!&inn>XIEGZrNlvJjxYH0A5FpU1pOTZ)qN5}8v;Z{M6MdNaCi9S$K>qUP^%Twzu?oMZ=a4G?J8i*bPP;Q4t31j!H_&b>4K~m zhqGi$x`cGJk6Xm)0~uj)acvt|max1qU`%0jGY(;OP@T*gz$zhbw1APZgz*;>LyK^% W=;V3o>MMY5V(@hJb6Mw<&;$V4^l+vC diff --git a/Resources/Textures/Objects/Materials/materials.rsi/diamond_2.png b/Resources/Textures/Objects/Materials/materials.rsi/diamond_2.png new file mode 100644 index 0000000000000000000000000000000000000000..410d83f1c29f1e958fb38d3c0594d059846ffe0e GIT binary patch literal 345 zcmV-f0jBPx$6G=otR9J=Wlrc`jFcgNr07481b?b)8#)fYY#Kcv&1-Hm;Ah|&V3tL&cv_k6s zGuTE}sFY_y>45(wvJ>n3{GMYdDJl8yseZb!k=n6u9;)hgF9MC!uAr`g#g6yyKnKjB z8LgbnrVCF8^vQf2ci&b_5E$&@<_b6m*1%JkycPx$T}ebiR9J=Wls!(vKoo?(MF^#!h@hZD$pyeCz!nu(am5w5h3`Q{1@;XhXwoHZ znvfz5)lhg%R>t<)`B92^Bx}9veV*BQ?=AG`(c{!%whc_A)VC)#COU|KL`oMBhQO%e z`y9xC8_0Yj&UPUWELoX60775^q0g!Ft^x{Vb_{@tvtG=ze-T>>s5rs>7`OzMz&r3* z+7LKGrn?Aeo9i`j>yS_EGiXr*wF1hyo|Ht)$sHI2E8qvX243xakPlvXQ&5-dCGbUF zY!4N2a~Ni}2%B7J?1B(@w&aC~phUiFC)7F+8xz^Ua0Cq5IIys(5(|%-Gs3*(VKO2MgDRD+0!h&1O&fMX zBBd{q+@eaPbS7yg>08o=r1GA*gdL6C6>&839zA+&i(e?myS|8_8-D-* N002ovPDHLkV1hl2wF>|M literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Materials/materials.rsi/meta.json b/Resources/Textures/Objects/Materials/materials.rsi/meta.json index 78f497c0cd..3ae12dc14c 100644 --- a/Resources/Textures/Objects/Materials/materials.rsi/meta.json +++ b/Resources/Textures/Objects/Materials/materials.rsi/meta.json @@ -78,6 +78,12 @@ { "name": "diamond" }, + { + "name": "diamond_2" + }, + { + "name": "diamond_3" + }, { "name": "diamond-inhand-left", "directions": 4 diff --git a/Resources/Textures/Objects/Materials/ore.rsi/diamond.png b/Resources/Textures/Objects/Materials/ore.rsi/diamond.png new file mode 100644 index 0000000000000000000000000000000000000000..b2a3c788d34c3190e6ff143d2b0cc324597bad94 GIT binary patch literal 390 zcmV;10eSw3P)Px$KuJVFR9J=Wl(9<0KoExih!1epam8)g%X$!NjkqZ+?Cllod<9=5*XJb!3wK2X zOD(eHL8=gtq_7{G+jTt1Og){h-5(|$7t;P6ifNlOA8?n z08s(T&Aa4z{;TGmj{z-&)I!*9F@SSGxVi0`oly`;MMNDD@ie2OvkT&BW@E+@x_@{f zQ#W)qUMq+J93P%wGMxbcCezus`1%1z_GZSeg1WK9_Qw!wU{#2uhKJPb!l3C0pyZ|(wP3GpU2GIZ9Ke6)0cT606jQbG zQRE{KAT|iZ_@G97B0gzCOpGRgkw7Q`%SZ6l2Oq$|gAhqffCr;S6MPb5jF`ZKsjL#K zk#Cfb3YCwP%k_G_?%nR*+}_MDxomE)z2EH2?0?MO&VOdXVzF4_!(I`w zev8E~n>stS))>?M7E6Wj>dBJ@pGsTq+zIXU)8!X&k|Iv(HRq&=I4Kb)8Kysxyet=sIk%a_htLt10Dw?fk9v(kytiZ3cu@~3`_&6fL@>-=o%{x ze*J+nIv?A*yMN`Qnwp{=K{6nyKf}EkSPHBL4g|!tc3PqiTMl{a#horGctC_x)P;^Mccm?e|>(ue^|AZ*A?c zf8Koi_NWE2p`#;cVGW|%`~yH&ZG9Clr*549_5lxo!3h1H`!K56>60Z{RYe>jR!gH9KA(@G;OzNPR%r761%oL^Z0-ACIc} z{}N&5XSuzLfF-DA=OA#3kTM_2ya1s1-vJ@Ii@pplDeG_C(0bD;O23Gc@Lpm2L%R&^ z>FMF!_I7QB5T!qnSSH>}hu>0;e64w8$SD68B7gE}d-1{@>2#pP8smTC^y!>`_@jud zY;E=RCA$LD4AcFVxbpsqeyyc$wEvx}SG69z>3&}v)Z8wb?zdPf2;G-iru!`xi^XCv zy5r+b_gmtI?)Z4q{T54wVCwvUlKb~$_43{X1revZkO>M$MdYh)ku{eu7nF!>f3d{X zKYt82^Xo*M#UjpfcU$MT5Vm!9YwdvI;2$;6NN0S$N#qO6(ixv08L{!ZZT@l*r&Ywc z^!tD3jc><|mY!Ki?UkGd_O=8s;aI#P6pMD0zIoN#qSr*BPI0 z3S-U>&>5d^DS%3z9}uPA&JU;%zopa|6@Q3&Px&>bIdy5C}{ z5R8e>*X`FGA8)!pRN@eyU&($;ITD-r{BrYGYJ7fN{QQukb1G$gzUh98#bPOE;(r>S zuiGEm{D5>%59{08rO+AmVWB%dzgT}Lk1&bVqdv-vqR#*?K0a$k{fodS?sfq%IjS?E zQsxKvDu7(^@v9y_aMPPnzXaG0%yhRyPn(M(K7Z9H4;&2?pC5uh7y10d3ShMO_{V`G z*M1r8JG`gPtpz6DU}8Nmk&LI!?SHDS_LbNo{X>X2vYVwN3ZYbf$Q`(q&mXuC5OGq# zJXEu@9hLb#z;56;a6XY()*sYUKzbyRSXTCr=kf^SDrn$?pBMdsdcfIk;EKCFh3be0 zLU80IGd^EO=4+oH5OiIkp#G>GDTPziX?)Z4q{T7SGVt+9h-SP32 z=8w%ilR}8oGHaoYh-KpbDxM(XRBh?(lv0k4WsFbE0~URFcSau(j!TS|2Jf!GSjQjw z8Q{vQP%G_D0PX`ff!?TVVb2^Ygf0rd%Q#e_&jhx9(_6n1weI#zMpjIFg?|*krBl;UwQ^{L zE<%42)$BC?#f%m6k`ws+)}$4v3NSvGdqe@W6foAAgF#fAzwsIVIeU%));xCaEU?kt zKW6(I(BF${^V3gq`&w7xKF?P7Ujx$a{@$_D5W?|40QN29>amM5z?)O=9V27C?d*RD zwG+H}uFY1oGvCCs_rcBq}O z`{iCt&}HCtcRQ5%5y$6up)$D@*n_(I*h5CqBO9i3(GRt(oC1m~wF?fKdtyPz}00000NkvXXu0mjfAd}HG literal 1307 zcmeAS@N?(olHy`uVBq!ia0vp^2|(Py!3HG1+{xJmq&N#aB8wRq_>O=u<5X=vX$A(C zvz{)FAr*7p&OPWI;wW=GUD3cNXrkAIv(0isO?=N(KP-`3Rb28ig`>11DCm>EfXS8@ z0RoaC0vC7gdanCfOybGWGXYK^1*-m+`wV}TeLs1wI{#Vi{p#O;n>Os;@q6aa+WY6; zoI5w&QcYt;21A4i!V>*DHOyyPq~y?guCr2bj6*2FYMJ`I;Jh@JD)y+&=;f)D*iuiw<< z*tmC(PW-m*()Qc0{SamAiJ0|ty-57?f9L!boKv5v|1^B&=~$CG-QazfEgvL0H*e)M z$Y9L*Bx>y=?ek-!{~_~f)1J&ecg~@eGnzrV=Ipn7{g>K`_HAV3xBEY}TKwA)pXB5v zOf98VB3#b_O+kfmzYiY+{^po^;%)(osU)h_wC-PDQ|B6+w94=U%P6m zp7}gcbSMoejrjQcsQJUUJF@qst-d{Lz5Mp0=4J^8(u=IP)}<`|5w%O;X?Uzm&DnS2 z-0a_TKLvkw)p>P8erj&=zmLILJPxO?vL>8uh|bRb6q&94M$1?G{w&5;Cr6&O>rOq- z&7GjMWNQA|hU>Dj7ebG3`Q$A9A31>g2Cq z7kbYc?LX4+y1V;RYKmAH8;@ndi4EY+#ap@ZC_`FSS?xMuXvp+m_iie2xhh88!e@!5Q|3pU8Ml%fTc&hBN6< zY%bR{;rHjmTD&#N%s@u2cIKZ|Yzp6>SGS&0-|;Nmlwqg+eeDptgQoX0IGo;{zwY!* zIObEYdg7CRe{{Ocp18XG8oK9#*+c1Zs zCoNne;CXL;{^b4Vo#x6f_ILaHq*M9azK&3iBEK44-F0vGH8~ANvg=4*z60a%#o&xh-ZP$=0XY zHGX_3TfUWv<>Bi`+W&kWPnv4Bq;dA(F^(@tY?vJ_x`KxT% z#SS;zrr3*J|MzDxmq5DRfhGTEo@4(Z+VHbs!mDIEh1tJ9U#wZz*5t~3068r@|H+tO zcOK~U$~s_td