From 1e0d9a52cd80006f8e30f5a50e92821c252af8c9 Mon Sep 17 00:00:00 2001 From: yyc12345 Date: Fri, 23 Apr 2021 12:48:16 +0800 Subject: [PATCH] fix crop block display error --- .../yyc12345/teyvatcraft/RegisterManager.java | 60 +++++++++++------- .../yyc12345/teyvatcraft/items/SeedItem.java | 12 ++++ .../assets/teyvatcraft/lang/en_us.json | 16 ++++- .../assets/teyvatcraft/lang/zh_cn.json | 16 ++++- .../textures/block/onion_stage3.png | Bin 433 -> 395 bytes .../textures/block/raddish_stage3.png | Bin 433 -> 393 bytes .../textures/block/rice_stage3.png | Bin 313 -> 284 bytes .../textures/block/rice_stage4.png | Bin 382 -> 332 bytes .../textures/block/rice_stage5.png | Bin 465 -> 406 bytes .../textures/block/rice_stage6.png | Bin 468 -> 412 bytes .../textures/block/rice_stage7.png | Bin 499 -> 475 bytes .../teyvatcraft/textures/item/rice_seed.png | Bin 292 -> 224 bytes 12 files changed, 78 insertions(+), 26 deletions(-) create mode 100644 src/main/java/net/yyc12345/teyvatcraft/items/SeedItem.java diff --git a/src/main/java/net/yyc12345/teyvatcraft/RegisterManager.java b/src/main/java/net/yyc12345/teyvatcraft/RegisterManager.java index 25ee098..7e2f988 100644 --- a/src/main/java/net/yyc12345/teyvatcraft/RegisterManager.java +++ b/src/main/java/net/yyc12345/teyvatcraft/RegisterManager.java @@ -10,6 +10,7 @@ import net.fabricmc.fabric.api.object.builder.v1.block.FabricMaterialBuilder; import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; import net.fabricmc.fabric.api.biome.v1.BiomeModifications; import net.fabricmc.fabric.api.biome.v1.BiomeSelectors; +import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap; import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder; import net.minecraft.util.Identifier; @@ -22,6 +23,7 @@ import net.minecraft.block.Block; import net.minecraft.block.Material; import net.minecraft.block.MaterialColor; import net.minecraft.block.OreBlock; +import net.minecraft.client.render.RenderLayer; import net.minecraft.item.AliasedBlockItem; import net.minecraft.item.BlockItem; import net.minecraft.item.Item; @@ -33,6 +35,7 @@ import net.minecraft.world.gen.feature.Feature; import net.minecraft.world.gen.feature.OreFeatureConfig; import net.yyc12345.teyvatcraft.blocks.*; +import net.yyc12345.teyvatcraft.items.SeedItem; import net.yyc12345.teyvatcraft.items.gnosis.*; public class RegisterManager { @@ -102,15 +105,18 @@ public class RegisterManager { public static final Item ENHANCEMENT_ORE = new Item(new FabricItemSettings().group(ITEM_GROUP)); // ==================== crops - - public static final Block RICE_block = new TeyvatCropBlock(FabricBlockSettings.of(Material.PLANT).noCollision().ticksRandomly().breakInstantly().sounds(BlockSoundGroup.CROP)); - public static final Block TOMATO = new TeyvatCropBlock(FabricBlockSettings.of(Material.PLANT).noCollision().ticksRandomly().breakInstantly().sounds(BlockSoundGroup.CROP)); - public static final Block ONION = new TeyvatCropBlock(FabricBlockSettings.of(Material.PLANT).noCollision().ticksRandomly().breakInstantly().sounds(BlockSoundGroup.CROP)); - public static final Block CABBAGE = new TeyvatCropBlock(FabricBlockSettings.of(Material.PLANT).noCollision().ticksRandomly().breakInstantly().sounds(BlockSoundGroup.CROP)); - public static final Block RADDISH = new TeyvatCropBlock(FabricBlockSettings.of(Material.PLANT).noCollision().ticksRandomly().breakInstantly().sounds(BlockSoundGroup.CROP)); - - public static final Item RICE_SEED = new AliasedBlockItem(RICE_block, new FabricItemSettings().group(ITEM_GROUP)); + public static final Block RICE_block = new TeyvatCropBlock(FabricBlockSettings.of(Material.PLANT).noCollision().ticksRandomly().breakInstantly().sounds(BlockSoundGroup.CROP).nonOpaque()); + public static final Block TOMATO_block = new TeyvatCropBlock(FabricBlockSettings.of(Material.PLANT).noCollision().ticksRandomly().breakInstantly().sounds(BlockSoundGroup.CROP)); + public static final Block ONION_block = new TeyvatCropBlock(FabricBlockSettings.of(Material.PLANT).noCollision().ticksRandomly().breakInstantly().sounds(BlockSoundGroup.CROP)); + public static final Block CABBAGE_block = new TeyvatCropBlock(FabricBlockSettings.of(Material.PLANT).noCollision().ticksRandomly().breakInstantly().sounds(BlockSoundGroup.CROP)); + public static final Block RADDISH_block = new TeyvatCropBlock(FabricBlockSettings.of(Material.PLANT).noCollision().ticksRandomly().breakInstantly().sounds(BlockSoundGroup.CROP)); + public static final Item RICE_item = new Item(new FabricItemSettings().group(ITEM_GROUP)); + public static final Item TOMATO_item = new SeedItem(TOMATO_block, new FabricItemSettings().group(ITEM_GROUP)); + public static final Item ONION_item = new SeedItem(ONION_block, new FabricItemSettings().group(ITEM_GROUP)); + public static final Item CABBAGE_item = new SeedItem(CABBAGE_block, new FabricItemSettings().group(ITEM_GROUP)); + public static final Item RADDISH_item = new SeedItem(RADDISH_block, new FabricItemSettings().group(ITEM_GROUP)); + public static final Item RICE_SEED_item = new SeedItem(RICE_block, new FabricItemSettings().group(ITEM_GROUP)); // ==================== ore gen private static ConfiguredFeature OREGEN_MAGICAL_CRYSTAL_CHUNK_ORE = Feature.ORE @@ -201,25 +207,31 @@ public class RegisterManager { Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "starsilver_ore"), new BlockItem(STARSILVER_ORE, new Item.Settings().group(ITEM_GROUP))); - // crops - Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "rice_seed"), RICE_SEED); - Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "rice"), RICE_item); + ((TeyvatCropBlock)RICE_block).setSeedsItem(RICE_SEED_item); + ((TeyvatCropBlock)TOMATO_block).setSeedsItem(TOMATO_item); + ((TeyvatCropBlock)ONION_block).setSeedsItem(ONION_item); + ((TeyvatCropBlock)CABBAGE_block).setSeedsItem(CABBAGE_item); + ((TeyvatCropBlock)RADDISH_block).setSeedsItem(RADDISH_item); + + BlockRenderLayerMap.INSTANCE.putBlock(RICE_block, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(TOMATO_block, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(ONION_block, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(CABBAGE_block, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(RADDISH_block, RenderLayer.getCutoutMipped()); + + Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "rice"), RICE_item); + Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "tomato"), TOMATO_item); + Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "onion"), ONION_item); + Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "cabbage"), CABBAGE_item); + Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "raddish"), RADDISH_item); + Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "rice_seed"), RICE_SEED_item); - ((TeyvatCropBlock)RICE_block).setSeedsItem(RICE_SEED); Registry.register(Registry.BLOCK, new Identifier("teyvatcraft", "rice"), RICE_block); - Registry.register(Registry.BLOCK, new Identifier("teyvatcraft", "tomato"), TOMATO); - Registry.register(Registry.BLOCK, new Identifier("teyvatcraft", "onion"), ONION); - Registry.register(Registry.BLOCK, new Identifier("teyvatcraft", "cabbage"), CABBAGE); - Registry.register(Registry.BLOCK, new Identifier("teyvatcraft", "raddish"), RADDISH); - Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "tomato"), - new BlockItem(TOMATO, new Item.Settings().group(ITEM_GROUP))); - Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "onion"), - new BlockItem(ONION, new Item.Settings().group(ITEM_GROUP))); - Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "cabbage"), - new BlockItem(CABBAGE, new Item.Settings().group(ITEM_GROUP))); - Registry.register(Registry.ITEM, new Identifier("teyvatcraft", "raddish"), - new BlockItem(RADDISH, new Item.Settings().group(ITEM_GROUP))); + Registry.register(Registry.BLOCK, new Identifier("teyvatcraft", "tomato"), TOMATO_block); + Registry.register(Registry.BLOCK, new Identifier("teyvatcraft", "onion"), ONION_block); + Registry.register(Registry.BLOCK, new Identifier("teyvatcraft", "cabbage"), CABBAGE_block); + Registry.register(Registry.BLOCK, new Identifier("teyvatcraft", "raddish"), RADDISH_block); // ore gen RegisterOreGeneration("oregen_magical_crystal_ore", OREGEN_MAGICAL_CRYSTAL_CHUNK_ORE); diff --git a/src/main/java/net/yyc12345/teyvatcraft/items/SeedItem.java b/src/main/java/net/yyc12345/teyvatcraft/items/SeedItem.java new file mode 100644 index 0000000..1b16a21 --- /dev/null +++ b/src/main/java/net/yyc12345/teyvatcraft/items/SeedItem.java @@ -0,0 +1,12 @@ +package net.yyc12345.teyvatcraft.items; + +import net.minecraft.block.Block; +import net.minecraft.item.AliasedBlockItem; +import net.yyc12345.teyvatcraft.blocks.TeyvatCropBlock; + +public class SeedItem extends AliasedBlockItem { + public SeedItem(Block block, Settings settings) { + super(block, settings); + ((TeyvatCropBlock) block).setSeedsItem(this); + } +} diff --git a/src/main/resources/assets/teyvatcraft/lang/en_us.json b/src/main/resources/assets/teyvatcraft/lang/en_us.json index 003019e..8f20a55 100644 --- a/src/main/resources/assets/teyvatcraft/lang/en_us.json +++ b/src/main/resources/assets/teyvatcraft/lang/en_us.json @@ -23,5 +23,19 @@ "block.teyvatcraft.crystal_chunk_ore": "Crystal Chunk Ore", "block.teyvatcraft.white_iron_chunk_ore": "White Iron Chunk Ore", "block.teyvatcraft.iron_chunk_ore": "Iron Chunk Ore", - "block.teyvatcraft.starsilver_ore": "Starsilver Ore" + "block.teyvatcraft.starsilver_ore": "Starsilver Ore", + + "block.teyvatcraft.rice": "Rice", + "block.teyvatcraft.tomato": "Tomato", + "block.teyvatcraft.onion": "Onion", + "block.teyvatcraft.cabbage": "Cabbage", + "block.teyvatcraft.raddish": "Raddish", + "block.teyvatcraft.rice_seed": "Rice Seed", + + "item.teyvatcraft.rice": "Rice", + "item.teyvatcraft.tomato": "Tomato", + "item.teyvatcraft.onion": "Onion", + "item.teyvatcraft.cabbage": "Cabbage", + "item.teyvatcraft.raddish": "Raddish", + "item.teyvatcraft.rice_seed": "Rice Seed" } \ No newline at end of file diff --git a/src/main/resources/assets/teyvatcraft/lang/zh_cn.json b/src/main/resources/assets/teyvatcraft/lang/zh_cn.json index cbc8853..7b5876c 100644 --- a/src/main/resources/assets/teyvatcraft/lang/zh_cn.json +++ b/src/main/resources/assets/teyvatcraft/lang/zh_cn.json @@ -23,5 +23,19 @@ "block.teyvatcraft.crystal_chunk_ore": "水晶块原矿", "block.teyvatcraft.white_iron_chunk_ore": "白铁块原矿", "block.teyvatcraft.iron_chunk_ore": "铁块原矿", - "block.teyvatcraft.starsilver_ore": "星银矿石原矿" + "block.teyvatcraft.starsilver_ore": "星银矿石原矿", + + "block.teyvatcraft.rice": "Rice", + "block.teyvatcraft.tomato": "Tomato", + "block.teyvatcraft.onion": "Onion", + "block.teyvatcraft.cabbage": "Cabbage", + "block.teyvatcraft.raddish": "Raddish", + "block.teyvatcraft.rice_seed": "Rice Seed", + + "item.teyvatcraft.rice": "Rice", + "item.teyvatcraft.tomato": "Tomato", + "item.teyvatcraft.onion": "Onion", + "item.teyvatcraft.cabbage": "Cabbage", + "item.teyvatcraft.raddish": "Raddish", + "item.teyvatcraft.rice_seed": "Rice Seed" } \ No newline at end of file diff --git a/src/main/resources/assets/teyvatcraft/textures/block/onion_stage3.png b/src/main/resources/assets/teyvatcraft/textures/block/onion_stage3.png index b2472d389c554c4e98e7a639e43fff072f204da8..4586baf656717acbb55cb19635af39821e18d071 100644 GIT binary patch delta 350 zcmV-k0iph}1B(NYB#}WCe?3V=K~y+T-I6g*!$1&4|Hh<3+yKc9AQVHJhAt(24iIqx zxJ5d+0LlTh)|UQH?49fu@ifQh z`?Wkf?G@aAPTUk(jf70|vm~3u$0}XsS zymJO@#0K51inv^Mlxih}tWx4}%syVp*WsP0OjR!|t0G+7AwCaGrMxt) zIXU>f+n)naS6StBK?4@WS^TYg`O8@Z!GuF3t^`Y36^R wd3lXA@>>6xXi{X#!dwvE%F7H*)Z}3D3)*?I!CrXSQUCw|07*qoM6N<$f_$8%$p8QV delta 386 zcmV-|0e$|91F-{;BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks%m=MoC0LR5(wq zld(<$K@f)LAXLUTFriUY4(+JyEVWf@5`6%C3@Us83Tm}A@dd1?G=S0A5PbtfVnjIa zo87tG9v%8^E;} zZ8*;k=t8k|!$x%W>Eb{!WUqh-kboG)h%p)9Gl|8G;0~<2*|rm1LzD^d*^NNJ5}3x4 z*eSLNA#Vo)FdhHsZX)0BQBaWY4%y$>i8^waE@&przz1T3XrT5eU9F_0wocHG`av>& gk$fypm-9t_0dx%xfR;Fhga7~l07*qoM6N<$f)H%8_5c6? diff --git a/src/main/resources/assets/teyvatcraft/textures/block/raddish_stage3.png b/src/main/resources/assets/teyvatcraft/textures/block/raddish_stage3.png index 80d050aca04c05b198da965041fc703ddb680585..9cda13226ecd197e9100538526e103992e5177c8 100644 GIT binary patch delta 348 zcmV-i0i*u01BnBWB#}WCe>+J;K~y+T-IC2s!$1&)XJc|g=>W?Yz*Zm?&;j>UKm$+- z9DJpMoP0q@KBoYb#KOQOG94f!L@*}bTC=Ppivk$Q+MPG^-u!q){*N7B95wzl=hsQc zKe-$?e1A^7OHvps$eeBmhyaj)7-TBa8HP_Miudk7XV*RW`#@Br-io%J zsCE7V0YvCVlQ{lnx{ZE{-EbRk{(#uSM&B&1bg<&MOM<4tR}G|5{uti83}bQNOqH>Zy- zTD!z%%NEXNb(y~{Od}!+V&tos?|{inrI7|2r}shyM z(ySXo)%OHoKK(LQMLzSI*HE1f-rtyIwlECsXRUFXrV<2!L{Vg7J%@6GBuShn634L@ gL!Rf(tJaFF0HjF~OcOF&^#A|>07*qoM6N<$g3k%9_W%F@ diff --git a/src/main/resources/assets/teyvatcraft/textures/block/rice_stage3.png b/src/main/resources/assets/teyvatcraft/textures/block/rice_stage3.png index b2a1e912cfe2163f9649bce9e4012ffe7ee285f3..b38718decc3c334855173e119cee0e35eb12bfae 100644 GIT binary patch delta 230 zcmV`)d2yngtKf#cR&hW~-jpdy$6Zh+W1 z1BM@J!eBPcR*>fJS)yRU-<*s|HcHi9&x19TUH028te$WG;aCke*L z0OUfLAs~xD0PF>jZRmMs;I))TTov0n@T6{$;dlCv5w00000NkvXX Hu0mjfw~%LY diff --git a/src/main/resources/assets/teyvatcraft/textures/block/rice_stage4.png b/src/main/resources/assets/teyvatcraft/textures/block/rice_stage4.png index 867c64aa07c74064d2937b52d2937e2bf049a27f..789f582cfaaaa40269da992331cf96c12da8d141 100644 GIT binary patch delta 288 zcmV+*0pI@q0?Y!CB#}WBe*peTL_t(IPh(&h1$aZiyG-~$*+B%>yiSsQ13)&5p4A5% z!qLG-ghAMBBSJF^%#Wh-Vhpd>F+gkzdd>(F|55P^&c+rVOfbRM4_`5G+5K=k~X8(PJh$xVSFwGzU4g-*lRt#Uj0w92_00uy=M7IP4 zn8Fyj7-Dh+;LZi{K^O)=2@1rAxdLSPuc^O~)GT@dN=yG?baXZ=KbQvbd&_OXY>*g; iFIXlIR|ld0{|5k@5RC7DfO0$l00000OVS5GzxtE!yu$|8bblHD>&atGJr4$?E3PF zVXx3e65(9+=hTot9AlCo@Swp0+7ULNM00000NkvXX Hu0mjfI6ag> delta 418 zcmV;T0bTx<1JMJJBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks%m=W=TXrR5(v# z{0{^S6aXeDjTQKmi$Gbp0Zs#m(F_83T|f+g8-Q-(md-a|nzNG~jBx?50U*s=E!e;U z$iRtFi^2IFFT?lppHLAj02B)#AbM8+Kf^l7{~R4`P?7)t=g;JTvTy^q7hXSn#lUgv zEsAaL?wLYa5Wu)z3d%x%0C+k8N&XLf1{P#E#SfuD!0aQG!N4GP&H!u?2*A`bfi!|J z$aWB5%VuNnS;KDC39|U4@1i&=Rm2iuIfJyKK8(0t&SRfF_$OVo8Walq+=7L)S z@**hEVX?;K_4NZ-GbqGi0AyoP$04{YqW6A-yAT zNrEv5?E3PFVXx3EK@3>+{~K5W29`|u0Cok)&;_$N!Se4qA23)kd;!}E()jlg zBo8uyBtZfo0P+{QVaTpP_9hI#(*Z~!Ect=}*jAtzC@gRRwrn;A0FkxC61gZF!~g&Q M07*qoM6N<$f)XODssI20 diff --git a/src/main/resources/assets/teyvatcraft/textures/block/rice_stage6.png b/src/main/resources/assets/teyvatcraft/textures/block/rice_stage6.png index 8c6320a9e3ca59772bd560c83ad1e0bc2544f9e1..74016d496ec7f4af9031e0adb94ee037b27afa5e 100644 GIT binary patch delta 367 zcmV-#0g(RG1DpepB#}WCe@;n6K~y+TV_={a_z#$IO1PVluhO-+Z!5S{TSkC~89ZGL-R zriO*8SOazG)Q|9JGm_ZK0Ky>6Aj3hlkkV-|o9PbY9fp`i5VbH(Fek&j0I~#xL25yO zkCzMV0uW#VIhhy$WlI+zwZ)x>;jRNGB#_M@|HDES#D_&GNX*Y&4Q>Z=fPw-Oo)U}P zyug77b0$a!EMWU~ZG#&CbMd(^mmpq%X#j;Va=?MaK?Wj=p<4j*3IKpQ$#&VQi5CC> N002ovPDHLkV1j-1nqB|^ delta 422 zcmV;X0a^Z>1JnbMBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks%m=X-PyuR5(wi zlDkU-K@i60uJ8pWVr3~3Z3Gn`t(7QP_y=f;R2IhSDm$-Cl}Zb3jAAbcT8LFT9|S$H z3u0*{qM~SX-uJPytmhpF{$QEi*_m&5XUB^Z6)}xv@_f9KSQ3#Fr(6B7)7esd#Uvi^FnJh*zpb zPO*=58Y_T6208o?0}x1t>$d{xLm9WOIDdOYIqps-K(GxGBKE`GQ_%*`}^hg;8PCNep2!hvLn z!}bqdaqhRhHvb!Fl3rP#fI~143ktnGyaDiW<-eeP0fJhS7O;_UGTyHpiM2Kjd`k-> zoCCL@D5mYiV1AJzdQG5(t)HD5kFdy~^%l{x1^^Xy3kN@vU0?cupw^UcR&gUc8lsaI Q00000NkvXXu0mh|f-4HT5dZ)H diff --git a/src/main/resources/assets/teyvatcraft/textures/block/rice_stage7.png b/src/main/resources/assets/teyvatcraft/textures/block/rice_stage7.png index c472dfdbb884d2813108f46c400034d51b6f00e2..f60eea0cd97ac732baf903965b3a1815ccb46c0a 100644 GIT binary patch delta 431 zcmV;g0Z{()1KR_TB#}WCe~n2*K~y+TjZ(2n15ps%JA#Es4y+SF6crm0C4#MJVIyc` zw6;noB!V9xnAHA)(L%u@RZJ@=id^AgAQI7NV|5Y)ZO+WfJYV2~E`+?>H#;-CZ$)}U zbeW8L-Pw5;9{|S{{D(vd5asK|KLz6ml>o)#slG0P!s)Q)^E*@8e@dge72A?=aC8yK z;lY{#O%IJqcD5?T)u!f0lE+;FBy^Ys2rlZaFWJbQXr6?~&#aUkerLu81%%GryOSUR zK()JvE)^EC_g45UZ{cUhSyORn&n@m{)Hak6DKD-6cF(2Sgt;s2`wnJd!B80#p*zk<3BU@AHWB)SJrd9|UD|^(L$qzO zn7d(HCyq{a4`7{Os3SOB765}Y7YpZ`vuu=Lf!9Bv*w^->aR?QFumdX8*-k8&h%Y~` z(&DlJQ^%rgFD)wph%3Rlz63~+Tc4kl+oy&Rz%b1W0K{b_CHQp!BtV-v&+G~X{g=8D ZeFO8!-XHkEUHAY1002ovPDHLkV1n delta 453 zcmV;$0XqKM1M>rrBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks%m=h)G02R5(w4 zl08cUK@f)5MJz-Tu#SQ#Dpo2I!B(`eun-I553sNl67&}+30V3QjDlDQT4>S+BH~A3 zFkpyiw6Qt}f;M{3+|6=?m!U5I%5r7$Ae!h?R+f+1$^>13*oK< zZ3;>OlE)G~;!rZDL*mbWY)^_^D{RQxic@e@s+j!2YG@fVH8^5YGgl_NQWyVl>^M9L z(1KkIf(=2as5X8~YV$-6wIKfKctmOU^` vHvEba7&m}AaShZP`}ef}e|&2hZZ9F5 z1hVb=)wy8B_`HFv2gM5@r-}0mf#u=eKngUFtM(&#hhQQ`_dm!xDDR(c`2YF!5#qc= glK%-hXV5AD07Y<1>+gjQ+yDRo07*qoM6N<$f|D9hsQ>@~ delta 244 zcmVbGB6t( zKrsO1wCh*rg4y`IfecVjyZ~~VIKL2>4f6(apsfXZ=Kzv-zyN9xRseF*`du|p9>hEE upKkd7`SlT~2$~nr0U`f`z>v>O3=9Bm`bRuCA2HJa0000